From a61ef6cd3d755ca213486707412c3dfeaa710b81 Mon Sep 17 00:00:00 2001 From: Justin Traglia Date: Mon, 26 Jan 2026 10:18:14 -0600 Subject: [PATCH 1/4] Remove KZG functions --- specrefs/functions.yml | 1233 ---------------------------------------- 1 file changed, 1233 deletions(-) diff --git a/specrefs/functions.yml b/specrefs/functions.yml index fdd5e43c4f60..96193f0e131c 100644 --- a/specrefs/functions.yml +++ b/specrefs/functions.yml @@ -1,22 +1,3 @@ -- name: _fft_field - sources: [] - spec: | - - def _fft_field( - vals: Sequence[BLSFieldElement], roots_of_unity: Sequence[BLSFieldElement] - ) -> Sequence[BLSFieldElement]: - if len(vals) == 1: - return vals - L = _fft_field(vals[::2], roots_of_unity[::2]) - R = _fft_field(vals[1::2], roots_of_unity[::2]) - o = [BLSFieldElement(0) for _ in vals] - for i, (x, y) in enumerate(zip(L, R)): - y_times_root = y * roots_of_unity[i] - o[i] = x + y_times_root - o[i + len(L)] = x - y_times_root - return o - - - name: add_flag sources: [] spec: | @@ -29,21 +10,6 @@ return flags | flag -- name: add_polynomialcoeff - sources: [] - spec: | - - def add_polynomialcoeff(a: PolynomialCoeff, b: PolynomialCoeff) -> PolynomialCoeff: - """ - Sum the coefficient form polynomials ``a`` and ``b``. - """ - a, b = (a, b) if len(a) >= len(b) else (b, a) - length_a, length_b = len(a), len(b) - return PolynomialCoeff( - [a[i] + (b[i] if i < length_b else BLSFieldElement(0)) for i in range(length_a)] - ) - - - name: add_validator_to_registry#phase0 sources: - file: packages/state-transition/src/block/processDeposit.ts @@ -209,48 +175,6 @@ increase_balance(state, validator_index, deposit.amount) -- name: bit_reversal_permutation - sources: [] - spec: | - - def bit_reversal_permutation(sequence: Sequence[T]) -> Sequence[T]: - """ - Return a copy with bit-reversed permutation. The permutation is an involution (inverts itself). - - The input and output are a sequence of generic type ``T`` objects. - """ - return [sequence[reverse_bits(i, len(sequence))] for i in range(len(sequence))] - - -- name: blob_to_kzg_commitment - sources: [] - spec: | - - def blob_to_kzg_commitment(blob: Blob) -> KZGCommitment: - """ - Public method. - """ - assert len(blob) == BYTES_PER_BLOB - return g1_lincomb(bit_reversal_permutation(KZG_SETUP_G1_LAGRANGE), blob_to_polynomial(blob)) - - -- name: blob_to_polynomial - sources: [] - spec: | - - def blob_to_polynomial(blob: Blob) -> Polynomial: - """ - Convert a blob to list of BLS field scalars. - """ - polynomial = Polynomial() - for i in range(FIELD_ELEMENTS_PER_BLOB): - value = bytes_to_bls_field( - blob[i * BYTES_PER_FIELD_ELEMENT : (i + 1) * BYTES_PER_FIELD_ELEMENT] - ) - polynomial[i] = value - return polynomial - - - name: block_to_light_client_header#altair sources: - file: packages/beacon-node/src/chain/lightClient/index.ts @@ -379,52 +303,6 @@ ) -- name: bls_field_to_bytes - sources: [] - spec: | - - def bls_field_to_bytes(x: BLSFieldElement) -> Bytes32: - return int.to_bytes(int(x), 32, KZG_ENDIANNESS) - - -- name: bytes_to_bls_field - sources: [] - spec: | - - def bytes_to_bls_field(b: Bytes32) -> BLSFieldElement: - """ - Convert untrusted bytes to a trusted and validated BLS scalar field element. - This function does not accept inputs greater than the BLS modulus. - """ - field_element = int.from_bytes(b, KZG_ENDIANNESS) - assert field_element < BLS_MODULUS - return BLSFieldElement(field_element) - - -- name: bytes_to_kzg_commitment - sources: [] - spec: | - - def bytes_to_kzg_commitment(b: Bytes48) -> KZGCommitment: - """ - Convert untrusted bytes into a trusted and validated KZGCommitment. - """ - validate_kzg_g1(b) - return KZGCommitment(b) - - -- name: bytes_to_kzg_proof - sources: [] - spec: | - - def bytes_to_kzg_proof(b: Bytes48) -> KZGProof: - """ - Convert untrusted bytes into a trusted and validated KZGProof. - """ - validate_kzg_g1(b) - return KZGProof(b) - - - name: bytes_to_uint64 sources: [] spec: | @@ -447,22 +325,6 @@ return Gwei((committee_weight * committee_percent) // 100) -- name: cell_to_coset_evals - sources: [] - spec: | - - def cell_to_coset_evals(cell: Cell) -> CosetEvals: - """ - Convert an untrusted ``Cell`` into a trusted ``CosetEvals``. - """ - evals = CosetEvals() - for i in range(FIELD_ELEMENTS_PER_CELL): - start = i * BYTES_PER_FIELD_ELEMENT - end = (i + 1) * BYTES_PER_FIELD_ELEMENT - evals[i] = bytes_to_bls_field(cell[start:end]) - return evals - - - name: check_if_validator_active sources: - file: packages/state-transition/src/util/validator.ts @@ -538,108 +400,6 @@ return selected -- name: compute_blob_kzg_proof - sources: [] - spec: | - - def compute_blob_kzg_proof(blob: Blob, commitment_bytes: Bytes48) -> KZGProof: - """ - Given a blob, return the KZG proof that is used to verify it against the commitment. - This method does not verify that the commitment is correct with respect to `blob`. - Public method. - """ - assert len(blob) == BYTES_PER_BLOB - assert len(commitment_bytes) == BYTES_PER_COMMITMENT - commitment = bytes_to_kzg_commitment(commitment_bytes) - polynomial = blob_to_polynomial(blob) - evaluation_challenge = compute_challenge(blob, commitment) - proof, _ = compute_kzg_proof_impl(polynomial, evaluation_challenge) - return proof - - -- name: compute_cells - sources: [] - spec: | - - def compute_cells(blob: Blob) -> Vector[Cell, CELLS_PER_EXT_BLOB]: - """ - Given a blob, extend it and return all the cells of the extended blob. - - Public method. - """ - assert len(blob) == BYTES_PER_BLOB - - polynomial = blob_to_polynomial(blob) - polynomial_coeff = polynomial_eval_to_coeff(polynomial) - - cells = [] - for i in range(CELLS_PER_EXT_BLOB): - coset = coset_for_cell(CellIndex(i)) - ys = CosetEvals([evaluate_polynomialcoeff(polynomial_coeff, z) for z in coset]) - cells.append(coset_evals_to_cell(CosetEvals(ys))) - return cells - - -- name: compute_cells_and_kzg_proofs - sources: [] - spec: | - - def compute_cells_and_kzg_proofs( - blob: Blob, - ) -> Tuple[Vector[Cell, CELLS_PER_EXT_BLOB], Vector[KZGProof, CELLS_PER_EXT_BLOB]]: - """ - Compute all the cell proofs for an extended blob. This is an inefficient O(n^2) algorithm, - for performant implementation the FK20 algorithm that runs in O(n log n) should be - used instead. - - Public method. - """ - assert len(blob) == BYTES_PER_BLOB - - polynomial = blob_to_polynomial(blob) - polynomial_coeff = polynomial_eval_to_coeff(polynomial) - return compute_cells_and_kzg_proofs_polynomialcoeff(polynomial_coeff) - - -- name: compute_cells_and_kzg_proofs_polynomialcoeff - sources: [] - spec: | - - def compute_cells_and_kzg_proofs_polynomialcoeff( - polynomial_coeff: PolynomialCoeff, - ) -> Tuple[Vector[Cell, CELLS_PER_EXT_BLOB], Vector[KZGProof, CELLS_PER_EXT_BLOB]]: - """ - Helper function which computes cells/proofs for a polynomial in coefficient form. - """ - cells, proofs = [], [] - for i in range(CELLS_PER_EXT_BLOB): - coset = coset_for_cell(CellIndex(i)) - proof, ys = compute_kzg_proof_multi_impl(polynomial_coeff, coset) - cells.append(coset_evals_to_cell(CosetEvals(ys))) - proofs.append(proof) - return cells, proofs - - -- name: compute_challenge - sources: [] - spec: | - - def compute_challenge(blob: Blob, commitment: KZGCommitment) -> BLSFieldElement: - """ - Return the Fiat-Shamir challenge required by the rest of the protocol. - """ - - # Append the degree of the polynomial as a domain separator - degree_poly = int.to_bytes(FIELD_ELEMENTS_PER_BLOB, 16, KZG_ENDIANNESS) - data = FIAT_SHAMIR_PROTOCOL_DOMAIN + degree_poly - - data += blob - data += commitment - - # Transcript has been prepared: time to create the challenge - return hash_to_bls_field(data) - - - name: compute_columns_for_custody_group sources: - file: packages/beacon-node/src/util/dataColumns.ts @@ -992,93 +752,6 @@ return GENESIS_FORK_VERSION -- name: compute_kzg_proof - sources: [] - spec: | - - def compute_kzg_proof(blob: Blob, z_bytes: Bytes32) -> Tuple[KZGProof, Bytes32]: - """ - Compute KZG proof at point `z` for the polynomial represented by `blob`. - Do this by computing the quotient polynomial in evaluation form: q(x) = (p(x) - p(z)) / (x - z). - Public method. - """ - assert len(blob) == BYTES_PER_BLOB - assert len(z_bytes) == BYTES_PER_FIELD_ELEMENT - polynomial = blob_to_polynomial(blob) - proof, y = compute_kzg_proof_impl(polynomial, bytes_to_bls_field(z_bytes)) - return proof, int(y).to_bytes(BYTES_PER_FIELD_ELEMENT, KZG_ENDIANNESS) - - -- name: compute_kzg_proof_impl - sources: [] - spec: | - - def compute_kzg_proof_impl( - polynomial: Polynomial, z: BLSFieldElement - ) -> Tuple[KZGProof, BLSFieldElement]: - """ - Helper function for `compute_kzg_proof()` and `compute_blob_kzg_proof()`. - """ - roots_of_unity_brp = bit_reversal_permutation(compute_roots_of_unity(FIELD_ELEMENTS_PER_BLOB)) - - # For all x_i, compute p(x_i) - p(z) - y = evaluate_polynomial_in_evaluation_form(polynomial, z) - polynomial_shifted = [p - y for p in polynomial] - - # For all x_i, compute (x_i - z) - denominator_poly = [x - z for x in roots_of_unity_brp] - - # Compute the quotient polynomial directly in evaluation form - quotient_polynomial = [BLSFieldElement(0)] * FIELD_ELEMENTS_PER_BLOB - for i, (a, b) in enumerate(zip(polynomial_shifted, denominator_poly)): - if b == BLSFieldElement(0): - # The denominator is zero hence `z` is a root of unity: we must handle it as a special case - quotient_polynomial[i] = compute_quotient_eval_within_domain( - roots_of_unity_brp[i], polynomial, y - ) - else: - # Compute: q(x_i) = (p(x_i) - p(z)) / (x_i - z). - quotient_polynomial[i] = a / b - - return KZGProof( - g1_lincomb(bit_reversal_permutation(KZG_SETUP_G1_LAGRANGE), quotient_polynomial) - ), y - - -- name: compute_kzg_proof_multi_impl - sources: [] - spec: | - - def compute_kzg_proof_multi_impl( - polynomial_coeff: PolynomialCoeff, zs: Coset - ) -> Tuple[KZGProof, CosetEvals]: - """ - Compute a KZG multi-evaluation proof for a set of `k` points. - - This is done by committing to the following quotient polynomial: - Q(X) = f(X) - I(X) / Z(X) - Where: - - I(X) is the degree `k-1` polynomial that agrees with f(x) at all `k` points - - Z(X) is the degree `k` polynomial that evaluates to zero on all `k` points - - We further note that since the degree of I(X) is less than the degree of Z(X), - the computation can be simplified in monomial form to Q(X) = f(X) / Z(X). - """ - - # For all points, compute the evaluation of those points - ys = CosetEvals([evaluate_polynomialcoeff(polynomial_coeff, z) for z in zs]) - - # Compute Z(X) - denominator_poly = vanishing_polynomialcoeff(zs) - - # Compute the quotient polynomial directly in monomial form - quotient_polynomial = divide_polynomialcoeff(polynomial_coeff, denominator_poly) - - return KZGProof( - g1_lincomb(KZG_SETUP_G1_MONOMIAL[: len(quotient_polynomial)], quotient_polynomial) - ), ys - - - name: compute_matrix sources: - file: packages/beacon-node/src/util/dataColumns.ts @@ -1156,22 +829,6 @@ ) -- name: compute_powers - sources: [] - spec: | - - def compute_powers(x: BLSFieldElement, n: uint64) -> Sequence[BLSFieldElement]: - """ - Return ``x`` to power of [0, n-1], if n > 0. When n==0, an empty array is returned. - """ - current_power = BLSFieldElement(1) - powers = [] - for _ in range(n): - powers.append(current_power) - current_power = current_power * x - return powers - - - name: compute_proposer_index#phase0 sources: - file: packages/state-transition/src/util/seed.ts @@ -1286,49 +943,6 @@ update_checkpoints(store, state.current_justified_checkpoint, state.finalized_checkpoint) -- name: compute_quotient_eval_within_domain - sources: [] - spec: | - - def compute_quotient_eval_within_domain( - z: BLSFieldElement, polynomial: Polynomial, y: BLSFieldElement - ) -> BLSFieldElement: - """ - Given `y == p(z)` for a polynomial `p(x)`, compute `q(z)`: the KZG quotient polynomial evaluated at `z` for the - special case where `z` is in roots of unity. - - For more details, read https://dankradfeist.de/ethereum/2021/06/18/pcs-multiproofs.html section "Dividing - when one of the points is zero". The code below computes q(x_m) for the roots of unity special case. - """ - roots_of_unity_brp = bit_reversal_permutation(compute_roots_of_unity(FIELD_ELEMENTS_PER_BLOB)) - result = BLSFieldElement(0) - for i, omega_i in enumerate(roots_of_unity_brp): - if omega_i == z: # skip the evaluation point in the sum - continue - - f_i = polynomial[i] - y - numerator = f_i * omega_i - denominator = z * (z - omega_i) - result += numerator / denominator - - return result - - -- name: compute_roots_of_unity - sources: [] - spec: | - - def compute_roots_of_unity(order: uint64) -> Sequence[BLSFieldElement]: - """ - Return roots of unity of ``order``. - """ - assert (BLS_MODULUS - 1) % int(order) == 0 - root_of_unity = BLSFieldElement( - pow(PRIMITIVE_ROOT_OF_UNITY, (BLS_MODULUS - 1) // int(order), BLS_MODULUS) - ) - return compute_powers(root_of_unity, order) - - - name: compute_shuffled_index sources: - file: packages/state-transition/src/util/seed.ts @@ -1553,39 +1167,6 @@ return uint64(state.genesis_time + slots_since_genesis * SECONDS_PER_SLOT) -- name: compute_verify_cell_kzg_proof_batch_challenge - sources: [] - spec: | - - def compute_verify_cell_kzg_proof_batch_challenge( - commitments: Sequence[KZGCommitment], - commitment_indices: Sequence[CommitmentIndex], - cell_indices: Sequence[CellIndex], - cosets_evals: Sequence[CosetEvals], - proofs: Sequence[KZGProof], - ) -> BLSFieldElement: - """ - Compute a random challenge ``r`` used in the universal verification equation. To compute the - challenge, ``RANDOM_CHALLENGE_KZG_CELL_BATCH_DOMAIN`` and all data that can influence the - verification is hashed together to deterministically generate a "random" field element via - the Fiat-Shamir heuristic. - """ - hashinput = RANDOM_CHALLENGE_KZG_CELL_BATCH_DOMAIN - hashinput += int.to_bytes(FIELD_ELEMENTS_PER_BLOB, 8, KZG_ENDIANNESS) - hashinput += int.to_bytes(FIELD_ELEMENTS_PER_CELL, 8, KZG_ENDIANNESS) - hashinput += int.to_bytes(len(commitments), 8, KZG_ENDIANNESS) - hashinput += int.to_bytes(len(cell_indices), 8, KZG_ENDIANNESS) - for commitment in commitments: - hashinput += commitment - for k, coset_evals in enumerate(cosets_evals): - hashinput += int.to_bytes(commitment_indices[k], 8, KZG_ENDIANNESS) - hashinput += int.to_bytes(cell_indices[k], 8, KZG_ENDIANNESS) - for coset_eval in coset_evals: - hashinput += bls_field_to_bytes(coset_eval) - hashinput += proofs[k] - return hash_to_bls_field(hashinput) - - - name: compute_weak_subjectivity_period#phase0 sources: - file: packages/state-transition/src/util/weakSubjectivity.ts @@ -1641,137 +1222,6 @@ return MIN_VALIDATOR_WITHDRAWABILITY_DELAY + epochs_for_validator_set_churn -- name: construct_vanishing_polynomial - sources: [] - spec: | - - def construct_vanishing_polynomial( - missing_cell_indices: Sequence[CellIndex], - ) -> Sequence[BLSFieldElement]: - """ - Given the cells indices that are missing from the data, compute the polynomial that vanishes at every point that - corresponds to a missing field element. - - This method assumes that all of the cells cannot be missing. In this case the vanishing polynomial - could be computed as Z(x) = x^n - 1, where `n` is FIELD_ELEMENTS_PER_EXT_BLOB. - - We never encounter this case however because this method is used solely for recovery and recovery only - works if at least half of the cells are available. - """ - # Get the small domain - roots_of_unity_reduced = compute_roots_of_unity(CELLS_PER_EXT_BLOB) - - # Compute polynomial that vanishes at all the missing cells (over the small domain) - short_zero_poly = vanishing_polynomialcoeff( - [ - roots_of_unity_reduced[reverse_bits(missing_cell_index, CELLS_PER_EXT_BLOB)] - for missing_cell_index in missing_cell_indices - ] - ) - - # Extend vanishing polynomial to full domain using the closed form of the vanishing polynomial over a coset - zero_poly_coeff = [BLSFieldElement(0)] * FIELD_ELEMENTS_PER_EXT_BLOB - for i, coeff in enumerate(short_zero_poly): - zero_poly_coeff[i * FIELD_ELEMENTS_PER_CELL] = coeff - - return zero_poly_coeff - - -- name: coset_evals_to_cell - sources: [] - spec: | - - def coset_evals_to_cell(coset_evals: CosetEvals) -> Cell: - """ - Convert a trusted ``CosetEval`` into an untrusted ``Cell``. - """ - cell = [] - for i in range(FIELD_ELEMENTS_PER_CELL): - cell += bls_field_to_bytes(coset_evals[i]) - return Cell(cell) - - -- name: coset_fft_field - sources: [] - spec: | - - def coset_fft_field( - vals: Sequence[BLSFieldElement], roots_of_unity: Sequence[BLSFieldElement], inv: bool = False - ) -> Sequence[BLSFieldElement]: - """ - Computes an FFT/IFFT over a coset of the roots of unity. - This is useful for when one wants to divide by a polynomial which - vanishes on one or more elements in the domain. - """ - vals = [v for v in vals] # copy - - def shift_vals( - vals: Sequence[BLSFieldElement], factor: BLSFieldElement - ) -> Sequence[BLSFieldElement]: - """ - Multiply each entry in `vals` by succeeding powers of `factor` - i.e., [vals[0] * factor^0, vals[1] * factor^1, ..., vals[n] * factor^n] - """ - updated_vals: List[BLSFieldElement] = [] - shift = BLSFieldElement(1) - for i in range(len(vals)): - updated_vals.append(vals[i] * shift) - shift = shift * factor - return updated_vals - - # This is the coset generator; it is used to compute a FFT/IFFT over a coset of - # the roots of unity. - shift_factor = BLSFieldElement(PRIMITIVE_ROOT_OF_UNITY) - if inv: - vals = fft_field(vals, roots_of_unity, inv) - return shift_vals(vals, shift_factor.inverse()) - else: - vals = shift_vals(vals, shift_factor) - return fft_field(vals, roots_of_unity, inv) - - -- name: coset_for_cell - sources: [] - spec: | - - def coset_for_cell(cell_index: CellIndex) -> Coset: - """ - Get the coset for a given ``cell_index``. - Precisely, consider the group of roots of unity of order FIELD_ELEMENTS_PER_CELL * CELLS_PER_EXT_BLOB. - Let G = {1, g, g^2, ...} denote its subgroup of order FIELD_ELEMENTS_PER_CELL. - Then, the coset is defined as h * G = {h, hg, hg^2, ...}. - This function, returns the coset. - """ - assert cell_index < CELLS_PER_EXT_BLOB - roots_of_unity_brp = bit_reversal_permutation( - compute_roots_of_unity(FIELD_ELEMENTS_PER_EXT_BLOB) - ) - return Coset( - roots_of_unity_brp[ - FIELD_ELEMENTS_PER_CELL * cell_index : FIELD_ELEMENTS_PER_CELL * (cell_index + 1) - ] - ) - - -- name: coset_shift_for_cell - sources: [] - spec: | - - def coset_shift_for_cell(cell_index: CellIndex) -> BLSFieldElement: - """ - Get the shift that determines the coset for a given ``cell_index``. - Precisely, consider the group of roots of unity of order FIELD_ELEMENTS_PER_CELL * CELLS_PER_EXT_BLOB. - Let G = {1, g, g^2, ...} denote its subgroup of order FIELD_ELEMENTS_PER_CELL. - Then, the coset is defined as h * G = {h, hg, hg^2, ...} for an element h. - This function returns h. - """ - assert cell_index < CELLS_PER_EXT_BLOB - roots_of_unity_brp = bit_reversal_permutation( - compute_roots_of_unity(FIELD_ELEMENTS_PER_EXT_BLOB) - ) - return roots_of_unity_brp[FIELD_ELEMENTS_PER_CELL * cell_index] - - - name: create_light_client_bootstrap sources: [] spec: | @@ -1921,29 +1371,6 @@ state.balances[index] = 0 if delta > state.balances[index] else state.balances[index] - delta -- name: divide_polynomialcoeff - sources: [] - spec: | - - def divide_polynomialcoeff(a: PolynomialCoeff, b: PolynomialCoeff) -> PolynomialCoeff: - """ - Long polynomial division for two coefficient form polynomials ``a`` and ``b``. - """ - a = PolynomialCoeff(a[:]) # copy - o = PolynomialCoeff([]) - apos = len(a) - 1 - bpos = len(b) - 1 - diff = apos - bpos - while diff >= 0: - quot = a[apos] / b[bpos] - o.insert(0, quot) - for i in range(bpos, -1, -1): - a[diff + i] = a[diff + i] - b[i] * quot - apos -= 1 - diff -= 1 - return o - - - name: eth_aggregate_pubkeys sources: [] spec: | @@ -1982,76 +1409,6 @@ return bls.FastAggregateVerify(pubkeys, message, signature) -- name: evaluate_polynomial_in_evaluation_form - sources: [] - spec: | - - def evaluate_polynomial_in_evaluation_form( - polynomial: Polynomial, z: BLSFieldElement - ) -> BLSFieldElement: - """ - Evaluate a polynomial (in evaluation form) at an arbitrary point ``z``. - - When ``z`` is in the domain, the evaluation can be found by indexing the polynomial at the - position that ``z`` is in the domain. - - When ``z`` is not in the domain, the barycentric formula is used: - f(z) = (z**WIDTH - 1) / WIDTH * sum_(i=0)^WIDTH (f(DOMAIN[i]) * DOMAIN[i]) / (z - DOMAIN[i]) - """ - width = len(polynomial) - assert width == FIELD_ELEMENTS_PER_BLOB - inverse_width = BLSFieldElement(width).inverse() - - roots_of_unity_brp = bit_reversal_permutation(compute_roots_of_unity(FIELD_ELEMENTS_PER_BLOB)) - - # If we are asked to evaluate within the domain, we already know the answer - if z in roots_of_unity_brp: - eval_index = roots_of_unity_brp.index(z) - return polynomial[eval_index] - - result = BLSFieldElement(0) - for i in range(width): - a = polynomial[i] * roots_of_unity_brp[i] - b = z - roots_of_unity_brp[i] - result += a / b - r = z.pow(BLSFieldElement(width)) - BLSFieldElement(1) - result = result * r * inverse_width - return result - - -- name: evaluate_polynomialcoeff - sources: [] - spec: | - - def evaluate_polynomialcoeff( - polynomial_coeff: PolynomialCoeff, z: BLSFieldElement - ) -> BLSFieldElement: - """ - Evaluate a coefficient form polynomial at ``z`` using Horner's schema. - """ - y = BLSFieldElement(0) - for coef in polynomial_coeff[::-1]: - y = y * z + coef - return y - - -- name: fft_field - sources: [] - spec: | - - def fft_field( - vals: Sequence[BLSFieldElement], roots_of_unity: Sequence[BLSFieldElement], inv: bool = False - ) -> Sequence[BLSFieldElement]: - if inv: - # Inverse FFT - invlen = BLSFieldElement(len(vals)).pow(BLSFieldElement(BLS_MODULUS - 2)) - return [ - x * invlen - for x in _fft_field(vals, list(roots_of_unity[0:1]) + list(roots_of_unity[:0:-1])) - ] - else: - # Regular FFT - return _fft_field(vals, roots_of_unity) - - - name: filter_block_tree sources: - file: packages/fork-choice/src/protoArray/protoArray.ts @@ -2126,29 +1483,6 @@ return FINALIZED_ROOT_GINDEX -- name: g1_lincomb - sources: [] - spec: | - - def g1_lincomb( - points: Sequence[KZGCommitment], scalars: Sequence[BLSFieldElement] - ) -> KZGCommitment: - """ - BLS multiscalar multiplication in G1. This can be naively implemented using double-and-add. - """ - assert len(points) == len(scalars) - - if len(points) == 0: - return bls.G1_to_bytes48(bls.Z1()) - - points_g1 = [] - for point in points: - points_g1.append(bls.bytes48_to_G1(point)) - - result = bls.multi_exp(points_g1, scalars) - return KZGCommitment(bls.G1_to_bytes48(result)) - - - name: get_activation_exit_churn_limit sources: - file: packages/state-transition/src/util/validator.ts @@ -5128,19 +4462,6 @@ return flags & flag == flag -- name: hash_to_bls_field - sources: [] - spec: | - - def hash_to_bls_field(data: bytes) -> BLSFieldElement: - """ - Hash ``data`` and convert the output to a BLS scalar field element. - The output is not uniform over the BLS field. - """ - hashed_data = hash(data) - return BLSFieldElement(int.from_bytes(hashed_data, KZG_ENDIANNESS) % BLS_MODULUS) - - - name: increase_balance sources: - file: packages/state-transition/src/util/balance.ts @@ -5320,32 +4641,6 @@ return x -- name: interpolate_polynomialcoeff - sources: [] - spec: | - - def interpolate_polynomialcoeff( - xs: Sequence[BLSFieldElement], ys: Sequence[BLSFieldElement] - ) -> PolynomialCoeff: - """ - Lagrange interpolation: Finds the lowest degree polynomial that takes the value ``ys[i]`` at ``x[i]`` for all i. - Outputs a coefficient form polynomial. Leading coefficients may be zero. - """ - assert len(xs) == len(ys) - - r = PolynomialCoeff([BLSFieldElement(0)]) - for i in range(len(xs)): - summand = PolynomialCoeff([ys[i]]) - for j in range(len(ys)): - if j != i: - weight_adjustment = (xs[i] - xs[j]).inverse() - summand = multiply_polynomialcoeff( - summand, PolynomialCoeff([-weight_adjustment * xs[j], weight_adjustment]) - ) - r = add_polynomialcoeff(r, summand) - return r - - - name: is_active_validator sources: - file: packages/state-transition/src/util/validator.ts @@ -5863,17 +5158,6 @@ return sum(store.ptc_vote[root]) > PAYLOAD_TIMELY_THRESHOLD -- name: is_power_of_two - sources: [] - spec: | - - def is_power_of_two(value: int) -> bool: - """ - Check if ``value`` is a power of two integer. - """ - return (value > 0) and (value & (value - 1) == 0) - - - name: is_proposer sources: [] spec: | @@ -6307,30 +5591,6 @@ return max(max_compressed_len(MAX_PAYLOAD_SIZE) + 1024, 1024 * 1024) -- name: multi_exp - sources: [] - spec: | - - def multi_exp(_points: Sequence[TPoint], _integers: Sequence[uint64]) -> Sequence[TPoint]: ... - - -- name: multiply_polynomialcoeff - sources: [] - spec: | - - def multiply_polynomialcoeff(a: PolynomialCoeff, b: PolynomialCoeff) -> PolynomialCoeff: - """ - Multiplies the coefficient form polynomials ``a`` and ``b``. - """ - assert len(a) + len(b) <= FIELD_ELEMENTS_PER_EXT_BLOB - - r = PolynomialCoeff([BLSFieldElement(0)]) - for power, coef in enumerate(a): - summand = PolynomialCoeff([BLSFieldElement(0)] * power + [coef * x for x in b]) - r = add_polynomialcoeff(r, summand) - return r - - - name: next_sync_committee_gindex_at_slot#altair sources: [] spec: | @@ -6943,20 +6203,6 @@ ) -- name: polynomial_eval_to_coeff - sources: [] - spec: | - - def polynomial_eval_to_coeff(polynomial: Polynomial) -> PolynomialCoeff: - """ - Interpolates a polynomial (given in evaluation form) to a polynomial in coefficient form. - """ - roots_of_unity = compute_roots_of_unity(FIELD_ELEMENTS_PER_BLOB) - return PolynomialCoeff( - fft_field(bit_reversal_permutation(polynomial), roots_of_unity, inv=True) - ) - - - name: prepare_execution_payload#bellatrix sources: - file: packages/beacon-node/src/chain/produceBlock/produceBlockBody.ts @@ -9780,49 +9026,6 @@ ) -- name: recover_cells_and_kzg_proofs - sources: [] - spec: | - - def recover_cells_and_kzg_proofs( - cell_indices: Sequence[CellIndex], cells: Sequence[Cell] - ) -> Tuple[Vector[Cell, CELLS_PER_EXT_BLOB], Vector[KZGProof, CELLS_PER_EXT_BLOB]]: - """ - Given at least 50% of cells for a blob, recover all the cells/proofs. - This algorithm uses FFTs to recover cells faster than using Lagrange - implementation, as can be seen here: - https://ethresear.ch/t/reed-solomon-erasure-code-recovery-in-n-log-2-n-time-with-ffts/3039 - - A faster version thanks to Qi Zhou can be found here: - https://github.com/ethereum/research/blob/51b530a53bd4147d123ab3e390a9d08605c2cdb8/polynomial_reconstruction/polynomial_reconstruction_danksharding.py - - Public method. - """ - # Check we have the same number of cells and indices - assert len(cell_indices) == len(cells) - # Check we have enough cells to be able to perform the reconstruction - assert CELLS_PER_EXT_BLOB // 2 <= len(cell_indices) <= CELLS_PER_EXT_BLOB - # Check for duplicates - assert len(cell_indices) == len(set(cell_indices)) - # Check that indices are in ascending order - assert cell_indices == sorted(cell_indices) - # Check that the cell indices are within bounds - for cell_index in cell_indices: - assert cell_index < CELLS_PER_EXT_BLOB - # Check that each cell is the correct length - for cell in cells: - assert len(cell) == BYTES_PER_CELL - - # Convert cells to coset evaluations - cosets_evals = [cell_to_coset_evals(cell) for cell in cells] - - # Given the coset evaluations, recover the polynomial in coefficient form - polynomial_coeff = recover_polynomialcoeff(cell_indices, cosets_evals) - - # Recompute all cells/proofs - return compute_cells_and_kzg_proofs_polynomialcoeff(polynomial_coeff) - - - name: recover_matrix sources: - file: packages/beacon-node/src/util/blobs.ts @@ -9855,92 +9058,6 @@ return matrix -- name: recover_polynomialcoeff - sources: [] - spec: | - - def recover_polynomialcoeff( - cell_indices: Sequence[CellIndex], cosets_evals: Sequence[CosetEvals] - ) -> PolynomialCoeff: - """ - Recover the polynomial in coefficient form that when evaluated at the roots of unity will give the extended blob. - """ - # Get the extended domain. This will be referred to as the FFT domain. - roots_of_unity_extended = compute_roots_of_unity(FIELD_ELEMENTS_PER_EXT_BLOB) - - # Flatten the cosets evaluations. - # If a cell is missing, then its evaluation is zero. - # We let E(x) be a polynomial of degree FIELD_ELEMENTS_PER_EXT_BLOB - 1 - # that interpolates the evaluations including the zeros for missing ones. - extended_evaluation_rbo = [BLSFieldElement(0)] * FIELD_ELEMENTS_PER_EXT_BLOB - for cell_index, cell in zip(cell_indices, cosets_evals): - start = cell_index * FIELD_ELEMENTS_PER_CELL - end = (cell_index + 1) * FIELD_ELEMENTS_PER_CELL - extended_evaluation_rbo[start:end] = cell - extended_evaluation = bit_reversal_permutation(extended_evaluation_rbo) - - # Compute the vanishing polynomial Z(x) in coefficient form. - # Z(x) is the polynomial which vanishes on all of the evaluations which are missing. - missing_cell_indices = [ - CellIndex(cell_index) - for cell_index in range(CELLS_PER_EXT_BLOB) - if cell_index not in cell_indices - ] - zero_poly_coeff = construct_vanishing_polynomial(missing_cell_indices) - - # Convert Z(x) to evaluation form over the FFT domain - zero_poly_eval = fft_field(zero_poly_coeff, roots_of_unity_extended) - - # Compute (E*Z)(x) = E(x) * Z(x) in evaluation form over the FFT domain - # Note: over the FFT domain, the polynomials (E*Z)(x) and (P*Z)(x) agree, where - # P(x) is the polynomial we want to reconstruct (degree FIELD_ELEMENTS_PER_BLOB - 1). - extended_evaluation_times_zero = [a * b for a, b in zip(zero_poly_eval, extended_evaluation)] - - # We know that (E*Z)(x) and (P*Z)(x) agree over the FFT domain, - # and we know that (P*Z)(x) has degree at most FIELD_ELEMENTS_PER_EXT_BLOB - 1. - # Thus, an inverse FFT of the evaluations of (E*Z)(x) (= evaluations of (P*Z)(x)) - # yields the coefficient form of (P*Z)(x). - extended_evaluation_times_zero_coeffs = fft_field( - extended_evaluation_times_zero, roots_of_unity_extended, inv=True - ) - - # Next step is to divide the polynomial (P*Z)(x) by polynomial Z(x) to get P(x). - # We do this in evaluation form over a coset of the FFT domain to avoid division by 0. - - # Convert (P*Z)(x) to evaluation form over a coset of the FFT domain - extended_evaluations_over_coset = coset_fft_field( - extended_evaluation_times_zero_coeffs, roots_of_unity_extended - ) - - # Convert Z(x) to evaluation form over a coset of the FFT domain - zero_poly_over_coset = coset_fft_field(zero_poly_coeff, roots_of_unity_extended) - - # Compute P(x) = (P*Z)(x) / Z(x) in evaluation form over a coset of the FFT domain - reconstructed_poly_over_coset = [ - a / b for a, b in zip(extended_evaluations_over_coset, zero_poly_over_coset) - ] - - # Convert P(x) to coefficient form - reconstructed_poly_coeff = coset_fft_field( - reconstructed_poly_over_coset, roots_of_unity_extended, inv=True - ) - - return PolynomialCoeff(reconstructed_poly_coeff[:FIELD_ELEMENTS_PER_BLOB]) - - -- name: reverse_bits - sources: [] - spec: | - - def reverse_bits(n: int, order: int) -> int: - """ - Reverse the bit order of an integer ``n``. - """ - assert is_power_of_two(order) - # Convert n to binary with the same number of bits as "order" - 1, then reverse its bit order - return int(("{:0" + str(order.bit_length() - 1) + "b}").format(n)[::-1], 2) - - - name: saturating_sub sources: [] spec: | @@ -11155,20 +10272,6 @@ return post -- name: validate_kzg_g1 - sources: [] - spec: | - - def validate_kzg_g1(b: Bytes48) -> None: - """ - Perform BLS validation required by the types `KZGProof` and `KZGCommitment`. - """ - if b == G1_POINT_AT_INFINITY: - return - - assert bls.KeyValidate(b) - - - name: validate_light_client_update sources: - file: packages/light-client/src/spec/validateLightClientUpdate.ts @@ -11408,78 +10511,6 @@ assert target.epoch in [current_epoch, previous_epoch] -- name: vanishing_polynomialcoeff - sources: [] - spec: | - - def vanishing_polynomialcoeff(xs: Sequence[BLSFieldElement]) -> PolynomialCoeff: - """ - Compute the vanishing polynomial on ``xs`` (in coefficient form). - """ - p = PolynomialCoeff([BLSFieldElement(1)]) - for x in xs: - p = multiply_polynomialcoeff(p, PolynomialCoeff([-x, BLSFieldElement(1)])) - return p - - -- name: verify_blob_kzg_proof - sources: [] - spec: | - - def verify_blob_kzg_proof(blob: Blob, commitment_bytes: Bytes48, proof_bytes: Bytes48) -> bool: - """ - Given a blob and a KZG proof, verify that the blob data corresponds to the provided commitment. - - Public method. - """ - assert len(blob) == BYTES_PER_BLOB - assert len(commitment_bytes) == BYTES_PER_COMMITMENT - assert len(proof_bytes) == BYTES_PER_PROOF - - commitment = bytes_to_kzg_commitment(commitment_bytes) - - polynomial = blob_to_polynomial(blob) - evaluation_challenge = compute_challenge(blob, commitment) - - # Evaluate polynomial at `evaluation_challenge` - y = evaluate_polynomial_in_evaluation_form(polynomial, evaluation_challenge) - - # Verify proof - proof = bytes_to_kzg_proof(proof_bytes) - return verify_kzg_proof_impl(commitment, evaluation_challenge, y, proof) - - -- name: verify_blob_kzg_proof_batch - sources: [] - spec: | - - def verify_blob_kzg_proof_batch( - blobs: Sequence[Blob], commitments_bytes: Sequence[Bytes48], proofs_bytes: Sequence[Bytes48] - ) -> bool: - """ - Given a list of blobs and blob KZG proofs, verify that they correspond to the provided commitments. - Will return True if there are zero blobs/commitments/proofs. - Public method. - """ - - assert len(blobs) == len(commitments_bytes) == len(proofs_bytes) - - commitments, evaluation_challenges, ys, proofs = [], [], [], [] - for blob, commitment_bytes, proof_bytes in zip(blobs, commitments_bytes, proofs_bytes): - assert len(blob) == BYTES_PER_BLOB - assert len(commitment_bytes) == BYTES_PER_COMMITMENT - assert len(proof_bytes) == BYTES_PER_PROOF - commitment = bytes_to_kzg_commitment(commitment_bytes) - commitments.append(commitment) - polynomial = blob_to_polynomial(blob) - evaluation_challenge = compute_challenge(blob, commitment) - evaluation_challenges.append(evaluation_challenge) - ys.append(evaluate_polynomial_in_evaluation_form(polynomial, evaluation_challenge)) - proofs.append(bytes_to_kzg_proof(proof_bytes)) - - return verify_kzg_proof_batch(commitments, evaluation_challenges, ys, proofs) - - - name: verify_blob_sidecar_inclusion_proof sources: - file: packages/beacon-node/src/chain/validation/blobSidecar.ts @@ -11513,170 +10544,6 @@ return bls.Verify(proposer.pubkey, signing_root, signed_block.signature) -- name: verify_cell_kzg_proof_batch - sources: [] - spec: | - - def verify_cell_kzg_proof_batch( - commitments_bytes: Sequence[Bytes48], - cell_indices: Sequence[CellIndex], - cells: Sequence[Cell], - proofs_bytes: Sequence[Bytes48], - ) -> bool: - """ - Verify that a set of cells belong to their corresponding commitments. - - Given four lists representing tuples of (``commitment``, ``cell_index``, ``cell``, ``proof``), - the function verifies ``proof`` which shows that ``cell`` are the evaluations of the polynomial - associated with ``commitment``, evaluated over the domain specified by ``cell_index``. - - This function implements the universal verification equation that has been introduced here: - https://ethresear.ch/t/a-universal-verification-equation-for-data-availability-sampling/13240 - - Public method. - """ - - assert len(commitments_bytes) == len(cells) == len(proofs_bytes) == len(cell_indices) - for commitment_bytes in commitments_bytes: - assert len(commitment_bytes) == BYTES_PER_COMMITMENT - for cell_index in cell_indices: - assert cell_index < CELLS_PER_EXT_BLOB - for cell in cells: - assert len(cell) == BYTES_PER_CELL - for proof_bytes in proofs_bytes: - assert len(proof_bytes) == BYTES_PER_PROOF - - # Create the list of deduplicated commitments we are dealing with - deduplicated_commitments = [ - bytes_to_kzg_commitment(commitment_bytes) - for index, commitment_bytes in enumerate(commitments_bytes) - if commitments_bytes.index(commitment_bytes) == index - ] - # Create indices list mapping initial commitments (that may contain duplicates) to the deduplicated commitments - commitment_indices = [ - CommitmentIndex(deduplicated_commitments.index(commitment_bytes)) - for commitment_bytes in commitments_bytes - ] - - cosets_evals = [cell_to_coset_evals(cell) for cell in cells] - proofs = [bytes_to_kzg_proof(proof_bytes) for proof_bytes in proofs_bytes] - - # Do the actual verification - return verify_cell_kzg_proof_batch_impl( - deduplicated_commitments, commitment_indices, cell_indices, cosets_evals, proofs - ) - - -- name: verify_cell_kzg_proof_batch_impl - sources: [] - spec: | - - def verify_cell_kzg_proof_batch_impl( - commitments: Sequence[KZGCommitment], - commitment_indices: Sequence[CommitmentIndex], - cell_indices: Sequence[CellIndex], - cosets_evals: Sequence[CosetEvals], - proofs: Sequence[KZGProof], - ) -> bool: - """ - Helper: Verify that a set of cells belong to their corresponding commitment. - - Given a list of ``commitments`` (which contains no duplicates) and four lists representing - tuples of (``commitment_index``, ``cell_index``, ``evals``, ``proof``), the function - verifies ``proof`` which shows that ``evals`` are the evaluations of the polynomial associated - with ``commitments[commitment_index]``, evaluated over the domain specified by ``cell_index``. - - This function is the internal implementation of ``verify_cell_kzg_proof_batch``. - """ - assert len(commitment_indices) == len(cell_indices) == len(cosets_evals) == len(proofs) - assert len(commitments) == len(set(commitments)) - for commitment_index in commitment_indices: - assert commitment_index < len(commitments) - - # The verification equation that we will check is pairing (LL, LR) = pairing (RL, [1]), where - # LL = sum_k r^k proofs[k], - # LR = [s^n] - # RL = RLC - RLI + RLP, where - # RLC = sum_i weights[i] commitments[i] - # RLI = [sum_k r^k interpolation_poly_k(s)] - # RLP = sum_k (r^k * h_k^n) proofs[k] - # - # Here, the variables have the following meaning: - # - k < len(cell_indices) is an index iterating over all cells in the input - # - r is a random coefficient, derived from hashing all data provided by the prover - # - s is the secret embedded in the KZG setup - # - n = FIELD_ELEMENTS_PER_CELL is the size of the evaluation domain - # - i ranges over all provided commitments - # - weights[i] is a weight computed for commitment i - # - It depends on r and on which cells are associated with commitment i - # - interpolation_poly_k is the interpolation polynomial for the kth cell - # - h_k is the coset shift specifying the evaluation domain of the kth cell - - # Preparation - num_cells = len(cell_indices) - n = FIELD_ELEMENTS_PER_CELL - num_commitments = len(commitments) - - # Step 1: Compute a challenge r and its powers r^0, ..., r^{num_cells-1} - r = compute_verify_cell_kzg_proof_batch_challenge( - commitments, commitment_indices, cell_indices, cosets_evals, proofs - ) - r_powers = compute_powers(r, num_cells) - - # Step 2: Compute LL = sum_k r^k proofs[k] - ll = bls.bytes48_to_G1(g1_lincomb(proofs, r_powers)) - - # Step 3: Compute LR = [s^n] - lr = bls.bytes96_to_G2(KZG_SETUP_G2_MONOMIAL[n]) - - # Step 4: Compute RL = RLC - RLI + RLP - # Step 4.1: Compute RLC = sum_i weights[i] commitments[i] - # Step 4.1a: Compute weights[i]: the sum of all r^k for which cell k is associated with commitment i. - # Note: we do that by iterating over all k and updating the correct weights[i] accordingly - weights = [BLSFieldElement(0)] * num_commitments - for k in range(num_cells): - i = commitment_indices[k] - weights[i] += r_powers[k] - # Step 4.1b: Linearly combine the weights with the commitments to get RLC - rlc = bls.bytes48_to_G1(g1_lincomb(commitments, weights)) - - # Step 4.2: Compute RLI = [sum_k r^k interpolation_poly_k(s)] - # Note: an efficient implementation would use the IDFT based method explained in the blog post - sum_interp_polys_coeff = PolynomialCoeff([BLSFieldElement(0)] * n) - for k in range(num_cells): - interp_poly_coeff = interpolate_polynomialcoeff( - coset_for_cell(cell_indices[k]), cosets_evals[k] - ) - interp_poly_scaled_coeff = multiply_polynomialcoeff( - PolynomialCoeff([r_powers[k]]), interp_poly_coeff - ) - sum_interp_polys_coeff = add_polynomialcoeff( - sum_interp_polys_coeff, interp_poly_scaled_coeff - ) - rli = bls.bytes48_to_G1(g1_lincomb(KZG_SETUP_G1_MONOMIAL[:n], sum_interp_polys_coeff)) - - # Step 4.3: Compute RLP = sum_k (r^k * h_k^n) proofs[k] - weighted_r_powers = [] - for k in range(num_cells): - h_k = coset_shift_for_cell(cell_indices[k]) - h_k_pow = h_k.pow(BLSFieldElement(n)) - wrp = r_powers[k] * h_k_pow - weighted_r_powers.append(wrp) - rlp = bls.bytes48_to_G1(g1_lincomb(proofs, weighted_r_powers)) - - # Step 4.4: Compute RL = RLC - RLI + RLP - rl = bls.add(rlc, bls.neg(rli)) - rl = bls.add(rl, rlp) - - # Step 5: Check pairing (LL, LR) = pairing (RL, [1]) - return bls.pairing_check( - [ - [ll, lr], - [rl, bls.neg(bls.bytes96_to_G2(KZG_SETUP_G2_MONOMIAL[0]))], - ] - ) - - - name: verify_data_column_sidecar#fulu sources: - file: packages/beacon-node/src/chain/validation/dataColumnSidecar.ts @@ -11813,106 +10680,6 @@ return bls.Verify(builder.pubkey, signing_root, signed_envelope.signature) -- name: verify_kzg_proof - sources: [] - spec: | - - def verify_kzg_proof( - commitment_bytes: Bytes48, z_bytes: Bytes32, y_bytes: Bytes32, proof_bytes: Bytes48 - ) -> bool: - """ - Verify KZG proof that ``p(z) == y`` where ``p(z)`` is the polynomial represented by ``polynomial_kzg``. - Receives inputs as bytes. - Public method. - """ - assert len(commitment_bytes) == BYTES_PER_COMMITMENT - assert len(z_bytes) == BYTES_PER_FIELD_ELEMENT - assert len(y_bytes) == BYTES_PER_FIELD_ELEMENT - assert len(proof_bytes) == BYTES_PER_PROOF - - return verify_kzg_proof_impl( - bytes_to_kzg_commitment(commitment_bytes), - bytes_to_bls_field(z_bytes), - bytes_to_bls_field(y_bytes), - bytes_to_kzg_proof(proof_bytes), - ) - - -- name: verify_kzg_proof_batch - sources: [] - spec: | - - def verify_kzg_proof_batch( - commitments: Sequence[KZGCommitment], - zs: Sequence[BLSFieldElement], - ys: Sequence[BLSFieldElement], - proofs: Sequence[KZGProof], - ) -> bool: - """ - Verify multiple KZG proofs efficiently. - """ - - assert len(commitments) == len(zs) == len(ys) == len(proofs) - - # Compute a random challenge. Note that it does not have to be computed from a hash, - # r just has to be random. - degree_poly = int.to_bytes(FIELD_ELEMENTS_PER_BLOB, 8, KZG_ENDIANNESS) - num_commitments = int.to_bytes(len(commitments), 8, KZG_ENDIANNESS) - data = RANDOM_CHALLENGE_KZG_BATCH_DOMAIN + degree_poly + num_commitments - - # Append all inputs to the transcript before we hash - for commitment, z, y, proof in zip(commitments, zs, ys, proofs): - data += commitment + bls_field_to_bytes(z) + bls_field_to_bytes(y) + proof - - r = hash_to_bls_field(data) - r_powers = compute_powers(r, len(commitments)) - - # Verify: e(sum r^i proof_i, [s]) == - # e(sum r^i (commitment_i - [y_i]) + sum r^i z_i proof_i, [1]) - proof_lincomb = g1_lincomb(proofs, r_powers) - proof_z_lincomb = g1_lincomb(proofs, [z * r_power for z, r_power in zip(zs, r_powers)]) - C_minus_ys = [ - bls.add(bls.bytes48_to_G1(commitment), bls.multiply(bls.G1(), -y)) - for commitment, y in zip(commitments, ys) - ] - C_minus_y_as_KZGCommitments = [KZGCommitment(bls.G1_to_bytes48(x)) for x in C_minus_ys] - C_minus_y_lincomb = g1_lincomb(C_minus_y_as_KZGCommitments, r_powers) - - return bls.pairing_check( - [ - [ - bls.bytes48_to_G1(proof_lincomb), - bls.neg(bls.bytes96_to_G2(KZG_SETUP_G2_MONOMIAL[1])), - ], - [ - bls.add(bls.bytes48_to_G1(C_minus_y_lincomb), bls.bytes48_to_G1(proof_z_lincomb)), - bls.G2(), - ], - ] - ) - - -- name: verify_kzg_proof_impl - sources: [] - spec: | - - def verify_kzg_proof_impl( - commitment: KZGCommitment, z: BLSFieldElement, y: BLSFieldElement, proof: KZGProof - ) -> bool: - """ - Verify KZG proof that ``p(z) == y`` where ``p(z)`` is the polynomial represented by ``polynomial_kzg``. - """ - # Verify: P - y = Q * (X - z) - X_minus_z = bls.add( - bls.bytes96_to_G2(KZG_SETUP_G2_MONOMIAL[1]), - bls.multiply(bls.G2(), -z), - ) - P_minus_y = bls.add(bls.bytes48_to_G1(commitment), bls.multiply(bls.G1(), -y)) - return bls.pairing_check( - [[P_minus_y, bls.neg(bls.G2())], [bls.bytes48_to_G1(proof), X_minus_z]] - ) - - - name: voting_period_start_time sources: [] spec: | From da91b2917d9b9b7a9a7762b681233c4b57ca2e8d Mon Sep 17 00:00:00 2001 From: Justin Traglia Date: Mon, 26 Jan 2026 10:20:47 -0600 Subject: [PATCH 2/4] Fix search query for get_committee_assignment --- specrefs/functions.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/specrefs/functions.yml b/specrefs/functions.yml index 96193f0e131c..cd652db59e5d 100644 --- a/specrefs/functions.yml +++ b/specrefs/functions.yml @@ -2145,7 +2145,7 @@ - name: get_committee_assignment sources: - file: packages/state-transition/src/cache/epochCache.ts - search: "getCommitteeAssignment(epoch: Epoch, validatorIndex: ValidatorIndex)" + search: getCommitteeAssignments( spec: | def get_committee_assignment( From c232469001b803ef735a6da2d2c21323a46bd155 Mon Sep 17 00:00:00 2001 From: Justin Traglia Date: Mon, 26 Jan 2026 10:22:21 -0600 Subject: [PATCH 3/4] Enable optional features & add fork tags to specref items --- specrefs/.ethspecify.yml | 4 + specrefs/configs.yml | 158 ++++++------ specrefs/constants.yml | 146 +++++------ specrefs/containers.yml | 110 ++++---- specrefs/dataclasses.yml | 4 +- specrefs/functions.yml | 540 +++++++++++++++++++-------------------- specrefs/presets.yml | 148 +++++------ specrefs/types.yml | 72 +++--- 8 files changed, 593 insertions(+), 589 deletions(-) diff --git a/specrefs/.ethspecify.yml b/specrefs/.ethspecify.yml index e4fa651a1202..722dc77caba7 100644 --- a/specrefs/.ethspecify.yml +++ b/specrefs/.ethspecify.yml @@ -2,6 +2,10 @@ version: v1.6.1 style: full specrefs: + auto_add_missing_entries: true + auto_standardize_names: true + require_exceptions_have_fork: true + files: - configs.yml - constants.yml diff --git a/specrefs/configs.yml b/specrefs/configs.yml index c9f0a716e950..ecae780343a5 100644 --- a/specrefs/configs.yml +++ b/specrefs/configs.yml @@ -1,4 +1,4 @@ -- name: AGGREGATE_DUE_BPS +- name: AGGREGATE_DUE_BPS#phase0 sources: - file: packages/config/src/chainConfig/configs/mainnet.ts search: "AGGREGATE_DUE_BPS:" @@ -7,7 +7,7 @@ AGGREGATE_DUE_BPS: uint64 = 6667 -- name: AGGREGATE_DUE_BPS_GLOAS +- name: AGGREGATE_DUE_BPS_GLOAS#gloas sources: - file: packages/config/src/chainConfig/configs/mainnet.ts search: "AGGREGATE_DUE_BPS_GLOAS:" @@ -16,7 +16,7 @@ AGGREGATE_DUE_BPS_GLOAS: uint64 = 5000 -- name: ALTAIR_FORK_EPOCH +- name: ALTAIR_FORK_EPOCH#altair sources: - file: packages/config/src/chainConfig/configs/mainnet.ts search: "ALTAIR_FORK_EPOCH:" @@ -25,7 +25,7 @@ ALTAIR_FORK_EPOCH: Epoch = 74240 -- name: ALTAIR_FORK_VERSION +- name: ALTAIR_FORK_VERSION#altair sources: - file: packages/config/src/chainConfig/configs/mainnet.ts search: "ALTAIR_FORK_VERSION:" @@ -34,7 +34,7 @@ ALTAIR_FORK_VERSION: Version = '0x01000000' -- name: ATTESTATION_DUE_BPS +- name: ATTESTATION_DUE_BPS#phase0 sources: - file: packages/config/src/chainConfig/configs/mainnet.ts search: '^\s+ATTESTATION_DUE_BPS:' @@ -44,7 +44,7 @@ ATTESTATION_DUE_BPS: uint64 = 3333 -- name: ATTESTATION_DUE_BPS_GLOAS +- name: ATTESTATION_DUE_BPS_GLOAS#gloas sources: - file: packages/config/src/chainConfig/configs/mainnet.ts search: "ATTESTATION_DUE_BPS_GLOAS:" @@ -53,7 +53,7 @@ ATTESTATION_DUE_BPS_GLOAS: uint64 = 2500 -- name: ATTESTATION_PROPAGATION_SLOT_RANGE +- name: ATTESTATION_PROPAGATION_SLOT_RANGE#phase0 sources: - file: packages/config/src/chainConfig/configs/mainnet.ts search: "ATTESTATION_PROPAGATION_SLOT_RANGE:" @@ -62,7 +62,7 @@ ATTESTATION_PROPAGATION_SLOT_RANGE = 32 -- name: ATTESTATION_SUBNET_COUNT +- name: ATTESTATION_SUBNET_COUNT#phase0 sources: - file: packages/params/src/index.ts search: export const ATTESTATION_SUBNET_COUNT = @@ -71,7 +71,7 @@ ATTESTATION_SUBNET_COUNT = 64 -- name: ATTESTATION_SUBNET_EXTRA_BITS +- name: ATTESTATION_SUBNET_EXTRA_BITS#phase0 sources: - file: packages/params/src/index.ts search: export const ATTESTATION_SUBNET_EXTRA_BITS = @@ -80,7 +80,7 @@ ATTESTATION_SUBNET_EXTRA_BITS = 0 -- name: ATTESTATION_SUBNET_PREFIX_BITS +- name: ATTESTATION_SUBNET_PREFIX_BITS#phase0 sources: - file: packages/params/src/index.ts search: export const ATTESTATION_SUBNET_PREFIX_BITS = @@ -89,7 +89,7 @@ ATTESTATION_SUBNET_PREFIX_BITS: int = 6 -- name: BALANCE_PER_ADDITIONAL_CUSTODY_GROUP +- name: BALANCE_PER_ADDITIONAL_CUSTODY_GROUP#fulu sources: - file: packages/config/src/chainConfig/configs/mainnet.ts search: "BALANCE_PER_ADDITIONAL_CUSTODY_GROUP:" @@ -98,7 +98,7 @@ BALANCE_PER_ADDITIONAL_CUSTODY_GROUP: Gwei = 32000000000 -- name: BELLATRIX_FORK_EPOCH +- name: BELLATRIX_FORK_EPOCH#bellatrix sources: - file: packages/config/src/chainConfig/configs/mainnet.ts search: "BELLATRIX_FORK_EPOCH:" @@ -107,7 +107,7 @@ BELLATRIX_FORK_EPOCH: Epoch = 144896 -- name: BELLATRIX_FORK_VERSION +- name: BELLATRIX_FORK_VERSION#bellatrix sources: - file: packages/config/src/chainConfig/configs/mainnet.ts search: "BELLATRIX_FORK_VERSION:" @@ -116,7 +116,7 @@ BELLATRIX_FORK_VERSION: Version = '0x02000000' -- name: BLOB_SCHEDULE +- name: BLOB_SCHEDULE#fulu sources: - file: packages/config/src/chainConfig/configs/mainnet.ts search: "BLOB_SCHEDULE:" @@ -134,7 +134,7 @@ ) -- name: BLOB_SIDECAR_SUBNET_COUNT +- name: BLOB_SIDECAR_SUBNET_COUNT#deneb sources: - file: packages/config/src/chainConfig/configs/mainnet.ts search: "BLOB_SIDECAR_SUBNET_COUNT:" @@ -143,7 +143,7 @@ BLOB_SIDECAR_SUBNET_COUNT = 6 -- name: BLOB_SIDECAR_SUBNET_COUNT_ELECTRA +- name: BLOB_SIDECAR_SUBNET_COUNT_ELECTRA#electra sources: - file: packages/config/src/chainConfig/configs/mainnet.ts search: "BLOB_SIDECAR_SUBNET_COUNT_ELECTRA:" @@ -152,7 +152,7 @@ BLOB_SIDECAR_SUBNET_COUNT_ELECTRA = 9 -- name: CAPELLA_FORK_EPOCH +- name: CAPELLA_FORK_EPOCH#capella sources: - file: packages/config/src/chainConfig/configs/mainnet.ts search: "CAPELLA_FORK_EPOCH:" @@ -161,7 +161,7 @@ CAPELLA_FORK_EPOCH: Epoch = 194048 -- name: CAPELLA_FORK_VERSION +- name: CAPELLA_FORK_VERSION#capella sources: - file: packages/config/src/chainConfig/configs/mainnet.ts search: "CAPELLA_FORK_VERSION:" @@ -170,7 +170,7 @@ CAPELLA_FORK_VERSION: Version = '0x03000000' -- name: CHURN_LIMIT_QUOTIENT +- name: CHURN_LIMIT_QUOTIENT#phase0 sources: - file: packages/config/src/chainConfig/configs/mainnet.ts search: "CHURN_LIMIT_QUOTIENT:" @@ -179,7 +179,7 @@ CHURN_LIMIT_QUOTIENT: uint64 = 65536 -- name: CONTRIBUTION_DUE_BPS +- name: CONTRIBUTION_DUE_BPS#altair sources: - file: packages/config/src/chainConfig/configs/mainnet.ts search: "CONTRIBUTION_DUE_BPS:" @@ -188,7 +188,7 @@ CONTRIBUTION_DUE_BPS: uint64 = 6667 -- name: CONTRIBUTION_DUE_BPS_GLOAS +- name: CONTRIBUTION_DUE_BPS_GLOAS#gloas sources: - file: packages/config/src/chainConfig/configs/mainnet.ts search: "CONTRIBUTION_DUE_BPS_GLOAS:" @@ -197,7 +197,7 @@ CONTRIBUTION_DUE_BPS_GLOAS: uint64 = 5000 -- name: CUSTODY_REQUIREMENT +- name: CUSTODY_REQUIREMENT#fulu sources: - file: packages/config/src/chainConfig/configs/mainnet.ts search: '^\s+CUSTODY_REQUIREMENT:' @@ -207,7 +207,7 @@ CUSTODY_REQUIREMENT = 4 -- name: DATA_COLUMN_SIDECAR_SUBNET_COUNT +- name: DATA_COLUMN_SIDECAR_SUBNET_COUNT#fulu sources: - file: packages/config/src/chainConfig/configs/mainnet.ts search: "DATA_COLUMN_SIDECAR_SUBNET_COUNT:" @@ -216,7 +216,7 @@ DATA_COLUMN_SIDECAR_SUBNET_COUNT = 128 -- name: DENEB_FORK_EPOCH +- name: DENEB_FORK_EPOCH#deneb sources: - file: packages/config/src/chainConfig/configs/mainnet.ts search: "DENEB_FORK_EPOCH:" @@ -225,7 +225,7 @@ DENEB_FORK_EPOCH: Epoch = 269568 -- name: DENEB_FORK_VERSION +- name: DENEB_FORK_VERSION#deneb sources: - file: packages/config/src/chainConfig/configs/mainnet.ts search: "DENEB_FORK_VERSION:" @@ -234,7 +234,7 @@ DENEB_FORK_VERSION: Version = '0x04000000' -- name: EJECTION_BALANCE +- name: EJECTION_BALANCE#phase0 sources: - file: packages/config/src/chainConfig/configs/mainnet.ts search: "EJECTION_BALANCE:" @@ -243,7 +243,7 @@ EJECTION_BALANCE: Gwei = 16000000000 -- name: ELECTRA_FORK_EPOCH +- name: ELECTRA_FORK_EPOCH#electra sources: - file: packages/config/src/chainConfig/configs/mainnet.ts search: "ELECTRA_FORK_EPOCH:" @@ -252,7 +252,7 @@ ELECTRA_FORK_EPOCH: Epoch = 364032 -- name: ELECTRA_FORK_VERSION +- name: ELECTRA_FORK_VERSION#electra sources: - file: packages/config/src/chainConfig/configs/mainnet.ts search: "ELECTRA_FORK_VERSION:" @@ -261,7 +261,7 @@ ELECTRA_FORK_VERSION: Version = '0x05000000' -- name: EPOCHS_PER_SUBNET_SUBSCRIPTION +- name: EPOCHS_PER_SUBNET_SUBSCRIPTION#phase0 sources: - file: packages/config/src/chainConfig/configs/mainnet.ts search: "EPOCHS_PER_SUBNET_SUBSCRIPTION:" @@ -270,7 +270,7 @@ EPOCHS_PER_SUBNET_SUBSCRIPTION = 256 -- name: ETH1_FOLLOW_DISTANCE +- name: ETH1_FOLLOW_DISTANCE#phase0 sources: - file: packages/config/src/chainConfig/configs/mainnet.ts search: "ETH1_FOLLOW_DISTANCE:" @@ -279,7 +279,7 @@ ETH1_FOLLOW_DISTANCE: uint64 = 2048 -- name: FULU_FORK_EPOCH +- name: FULU_FORK_EPOCH#fulu sources: - file: packages/config/src/chainConfig/configs/mainnet.ts search: "FULU_FORK_EPOCH:" @@ -288,7 +288,7 @@ FULU_FORK_EPOCH: Epoch = 411392 -- name: FULU_FORK_VERSION +- name: FULU_FORK_VERSION#fulu sources: - file: packages/config/src/chainConfig/configs/mainnet.ts search: "FULU_FORK_VERSION:" @@ -297,7 +297,7 @@ FULU_FORK_VERSION: Version = '0x06000000' -- name: GENESIS_DELAY +- name: GENESIS_DELAY#phase0 sources: - file: packages/config/src/chainConfig/configs/mainnet.ts search: "GENESIS_DELAY:" @@ -306,7 +306,7 @@ GENESIS_DELAY: uint64 = 604800 -- name: GENESIS_FORK_VERSION +- name: GENESIS_FORK_VERSION#phase0 sources: - file: packages/config/src/chainConfig/configs/mainnet.ts search: "GENESIS_FORK_VERSION:" @@ -315,7 +315,7 @@ GENESIS_FORK_VERSION: Version = '0x00000000' -- name: GLOAS_FORK_EPOCH +- name: GLOAS_FORK_EPOCH#gloas sources: - file: packages/config/src/chainConfig/configs/mainnet.ts search: "GLOAS_FORK_EPOCH:" @@ -324,7 +324,7 @@ GLOAS_FORK_EPOCH: Epoch = 18446744073709551615 -- name: GLOAS_FORK_VERSION +- name: GLOAS_FORK_VERSION#gloas sources: - file: packages/config/src/chainConfig/configs/mainnet.ts search: "GLOAS_FORK_VERSION:" @@ -333,7 +333,7 @@ GLOAS_FORK_VERSION: Version = '0x07000000' -- name: INACTIVITY_SCORE_BIAS +- name: INACTIVITY_SCORE_BIAS#altair sources: - file: packages/config/src/chainConfig/configs/mainnet.ts search: "INACTIVITY_SCORE_BIAS:" @@ -342,7 +342,7 @@ INACTIVITY_SCORE_BIAS: uint64 = 4 -- name: INACTIVITY_SCORE_RECOVERY_RATE +- name: INACTIVITY_SCORE_RECOVERY_RATE#altair sources: - file: packages/config/src/chainConfig/configs/mainnet.ts search: "INACTIVITY_SCORE_RECOVERY_RATE:" @@ -351,7 +351,7 @@ INACTIVITY_SCORE_RECOVERY_RATE: uint64 = 16 -- name: MAXIMUM_GOSSIP_CLOCK_DISPARITY +- name: MAXIMUM_GOSSIP_CLOCK_DISPARITY#phase0 sources: - file: packages/config/src/chainConfig/configs/mainnet.ts search: "MAXIMUM_GOSSIP_CLOCK_DISPARITY:" @@ -360,7 +360,7 @@ MAXIMUM_GOSSIP_CLOCK_DISPARITY = 500 -- name: MAX_BLOBS_PER_BLOCK +- name: MAX_BLOBS_PER_BLOCK#deneb sources: - file: packages/config/src/chainConfig/configs/mainnet.ts search: '^ MAX_BLOBS_PER_BLOCK:' @@ -370,7 +370,7 @@ MAX_BLOBS_PER_BLOCK: uint64 = 6 -- name: MAX_BLOBS_PER_BLOCK_ELECTRA +- name: MAX_BLOBS_PER_BLOCK_ELECTRA#electra sources: - file: packages/config/src/chainConfig/configs/mainnet.ts search: "MAX_BLOBS_PER_BLOCK_ELECTRA:" @@ -379,7 +379,7 @@ MAX_BLOBS_PER_BLOCK_ELECTRA: uint64 = 9 -- name: MAX_PAYLOAD_SIZE +- name: MAX_PAYLOAD_SIZE#phase0 sources: - file: packages/config/src/chainConfig/configs/mainnet.ts search: "MAX_PAYLOAD_SIZE:" @@ -388,7 +388,7 @@ MAX_PAYLOAD_SIZE = 10485760 -- name: MAX_PER_EPOCH_ACTIVATION_CHURN_LIMIT +- name: MAX_PER_EPOCH_ACTIVATION_CHURN_LIMIT#deneb sources: - file: packages/config/src/chainConfig/configs/mainnet.ts search: "MAX_PER_EPOCH_ACTIVATION_CHURN_LIMIT:" @@ -397,7 +397,7 @@ MAX_PER_EPOCH_ACTIVATION_CHURN_LIMIT: uint64 = 8 -- name: MAX_PER_EPOCH_ACTIVATION_EXIT_CHURN_LIMIT +- name: MAX_PER_EPOCH_ACTIVATION_EXIT_CHURN_LIMIT#electra sources: - file: packages/config/src/chainConfig/configs/mainnet.ts search: "MAX_PER_EPOCH_ACTIVATION_EXIT_CHURN_LIMIT:" @@ -406,7 +406,7 @@ MAX_PER_EPOCH_ACTIVATION_EXIT_CHURN_LIMIT: Gwei = 256000000000 -- name: MAX_REQUEST_BLOB_SIDECARS +- name: MAX_REQUEST_BLOB_SIDECARS#deneb sources: - file: packages/config/src/chainConfig/configs/mainnet.ts search: "MAX_REQUEST_BLOB_SIDECARS:" @@ -415,7 +415,7 @@ MAX_REQUEST_BLOB_SIDECARS = 768 -- name: MAX_REQUEST_BLOB_SIDECARS_ELECTRA +- name: MAX_REQUEST_BLOB_SIDECARS_ELECTRA#electra sources: - file: packages/config/src/chainConfig/configs/mainnet.ts search: "MAX_REQUEST_BLOB_SIDECARS_ELECTRA:" @@ -424,7 +424,7 @@ MAX_REQUEST_BLOB_SIDECARS_ELECTRA = 1152 -- name: MAX_REQUEST_BLOCKS +- name: MAX_REQUEST_BLOCKS#phase0 sources: - file: packages/config/src/chainConfig/configs/mainnet.ts search: "MAX_REQUEST_BLOCKS:" @@ -433,7 +433,7 @@ MAX_REQUEST_BLOCKS = 1024 -- name: MAX_REQUEST_BLOCKS_DENEB +- name: MAX_REQUEST_BLOCKS_DENEB#deneb sources: - file: packages/config/src/chainConfig/configs/mainnet.ts search: "MAX_REQUEST_BLOCKS_DENEB:" @@ -442,7 +442,7 @@ MAX_REQUEST_BLOCKS_DENEB = 128 -- name: MAX_REQUEST_DATA_COLUMN_SIDECARS +- name: MAX_REQUEST_DATA_COLUMN_SIDECARS#fulu sources: - file: packages/config/src/chainConfig/configs/mainnet.ts search: "MAX_REQUEST_DATA_COLUMN_SIDECARS:" @@ -451,7 +451,7 @@ MAX_REQUEST_DATA_COLUMN_SIDECARS = 16384 -- name: MAX_REQUEST_PAYLOADS +- name: MAX_REQUEST_PAYLOADS#gloas sources: - file: packages/config/src/chainConfig/configs/mainnet.ts search: "MAX_REQUEST_PAYLOADS:" @@ -460,7 +460,7 @@ MAX_REQUEST_PAYLOADS = 128 -- name: MESSAGE_DOMAIN_INVALID_SNAPPY +- name: MESSAGE_DOMAIN_INVALID_SNAPPY#phase0 sources: - file: packages/config/src/chainConfig/configs/mainnet.ts search: "MESSAGE_DOMAIN_INVALID_SNAPPY:" @@ -469,7 +469,7 @@ MESSAGE_DOMAIN_INVALID_SNAPPY: DomainType = '0x00000000' -- name: MESSAGE_DOMAIN_VALID_SNAPPY +- name: MESSAGE_DOMAIN_VALID_SNAPPY#phase0 sources: - file: packages/config/src/chainConfig/configs/mainnet.ts search: "MESSAGE_DOMAIN_VALID_SNAPPY:" @@ -478,7 +478,7 @@ MESSAGE_DOMAIN_VALID_SNAPPY: DomainType = '0x01000000' -- name: MIN_EPOCHS_FOR_BLOB_SIDECARS_REQUESTS +- name: MIN_EPOCHS_FOR_BLOB_SIDECARS_REQUESTS#deneb sources: - file: packages/config/src/chainConfig/configs/mainnet.ts search: "MIN_EPOCHS_FOR_BLOB_SIDECARS_REQUESTS:" @@ -487,7 +487,7 @@ MIN_EPOCHS_FOR_BLOB_SIDECARS_REQUESTS = 4096 -- name: MIN_EPOCHS_FOR_BLOCK_REQUESTS +- name: MIN_EPOCHS_FOR_BLOCK_REQUESTS#phase0 sources: - file: packages/config/src/chainConfig/configs/mainnet.ts search: "MIN_EPOCHS_FOR_BLOCK_REQUESTS:" @@ -496,7 +496,7 @@ MIN_EPOCHS_FOR_BLOCK_REQUESTS = 33024 -- name: MIN_EPOCHS_FOR_DATA_COLUMN_SIDECARS_REQUESTS +- name: MIN_EPOCHS_FOR_DATA_COLUMN_SIDECARS_REQUESTS#fulu sources: - file: packages/config/src/chainConfig/configs/mainnet.ts search: "MIN_EPOCHS_FOR_DATA_COLUMN_SIDECARS_REQUESTS:" @@ -505,7 +505,7 @@ MIN_EPOCHS_FOR_DATA_COLUMN_SIDECARS_REQUESTS = 4096 -- name: MIN_GENESIS_ACTIVE_VALIDATOR_COUNT +- name: MIN_GENESIS_ACTIVE_VALIDATOR_COUNT#phase0 sources: - file: packages/config/src/chainConfig/configs/mainnet.ts search: "MIN_GENESIS_ACTIVE_VALIDATOR_COUNT:" @@ -514,7 +514,7 @@ MIN_GENESIS_ACTIVE_VALIDATOR_COUNT: uint64 = 16384 -- name: MIN_GENESIS_TIME +- name: MIN_GENESIS_TIME#phase0 sources: - file: packages/config/src/chainConfig/configs/mainnet.ts search: "MIN_GENESIS_TIME:" @@ -523,7 +523,7 @@ MIN_GENESIS_TIME: uint64 = 1606824000 -- name: MIN_PER_EPOCH_CHURN_LIMIT +- name: MIN_PER_EPOCH_CHURN_LIMIT#phase0 sources: - file: packages/config/src/chainConfig/configs/mainnet.ts search: "MIN_PER_EPOCH_CHURN_LIMIT:" @@ -532,7 +532,7 @@ MIN_PER_EPOCH_CHURN_LIMIT: uint64 = 4 -- name: MIN_PER_EPOCH_CHURN_LIMIT_ELECTRA +- name: MIN_PER_EPOCH_CHURN_LIMIT_ELECTRA#electra sources: - file: packages/config/src/chainConfig/configs/mainnet.ts search: "MIN_PER_EPOCH_CHURN_LIMIT_ELECTRA:" @@ -541,7 +541,7 @@ MIN_PER_EPOCH_CHURN_LIMIT_ELECTRA: Gwei = 128000000000 -- name: MIN_VALIDATOR_WITHDRAWABILITY_DELAY +- name: MIN_VALIDATOR_WITHDRAWABILITY_DELAY#phase0 sources: - file: packages/config/src/chainConfig/configs/mainnet.ts search: "MIN_VALIDATOR_WITHDRAWABILITY_DELAY:" @@ -550,7 +550,7 @@ MIN_VALIDATOR_WITHDRAWABILITY_DELAY: uint64 = 256 -- name: NUMBER_OF_CUSTODY_GROUPS +- name: NUMBER_OF_CUSTODY_GROUPS#fulu sources: - file: packages/config/src/chainConfig/configs/mainnet.ts search: "NUMBER_OF_CUSTODY_GROUPS:" @@ -559,7 +559,7 @@ NUMBER_OF_CUSTODY_GROUPS = 128 -- name: PAYLOAD_ATTESTATION_DUE_BPS +- name: PAYLOAD_ATTESTATION_DUE_BPS#gloas sources: - file: packages/config/src/chainConfig/configs/mainnet.ts search: "PAYLOAD_ATTESTATION_DUE_BPS:" @@ -568,7 +568,7 @@ PAYLOAD_ATTESTATION_DUE_BPS: uint64 = 7500 -- name: PROPOSER_REORG_CUTOFF_BPS +- name: PROPOSER_REORG_CUTOFF_BPS#phase0 sources: - file: packages/config/src/chainConfig/configs/mainnet.ts search: "PROPOSER_REORG_CUTOFF_BPS:" @@ -577,7 +577,7 @@ PROPOSER_REORG_CUTOFF_BPS: uint64 = 1667 -- name: PROPOSER_SCORE_BOOST +- name: PROPOSER_SCORE_BOOST#phase0 sources: - file: packages/config/src/chainConfig/configs/mainnet.ts search: "PROPOSER_SCORE_BOOST:" @@ -586,7 +586,7 @@ PROPOSER_SCORE_BOOST: uint64 = 40 -- name: REORG_HEAD_WEIGHT_THRESHOLD +- name: REORG_HEAD_WEIGHT_THRESHOLD#phase0 sources: - file: packages/config/src/chainConfig/configs/mainnet.ts search: "REORG_HEAD_WEIGHT_THRESHOLD:" @@ -595,7 +595,7 @@ REORG_HEAD_WEIGHT_THRESHOLD: uint64 = 20 -- name: REORG_MAX_EPOCHS_SINCE_FINALIZATION +- name: REORG_MAX_EPOCHS_SINCE_FINALIZATION#phase0 sources: - file: packages/config/src/chainConfig/configs/mainnet.ts search: "REORG_MAX_EPOCHS_SINCE_FINALIZATION:" @@ -604,7 +604,7 @@ REORG_MAX_EPOCHS_SINCE_FINALIZATION: Epoch = 2 -- name: REORG_PARENT_WEIGHT_THRESHOLD +- name: REORG_PARENT_WEIGHT_THRESHOLD#phase0 sources: - file: packages/config/src/chainConfig/configs/mainnet.ts search: "REORG_PARENT_WEIGHT_THRESHOLD:" @@ -613,7 +613,7 @@ REORG_PARENT_WEIGHT_THRESHOLD: uint64 = 160 -- name: SAMPLES_PER_SLOT +- name: SAMPLES_PER_SLOT#fulu sources: - file: packages/config/src/chainConfig/configs/mainnet.ts search: "SAMPLES_PER_SLOT:" @@ -622,7 +622,7 @@ SAMPLES_PER_SLOT = 8 -- name: SECONDS_PER_ETH1_BLOCK +- name: SECONDS_PER_ETH1_BLOCK#phase0 sources: - file: packages/config/src/chainConfig/configs/mainnet.ts search: "SECONDS_PER_ETH1_BLOCK:" @@ -631,7 +631,7 @@ SECONDS_PER_ETH1_BLOCK: uint64 = 14 -- name: SECONDS_PER_SLOT +- name: SECONDS_PER_SLOT#phase0 sources: - file: packages/config/src/chainConfig/configs/mainnet.ts search: "SECONDS_PER_SLOT:" @@ -640,7 +640,7 @@ SECONDS_PER_SLOT: uint64 = 12 -- name: SHARD_COMMITTEE_PERIOD +- name: SHARD_COMMITTEE_PERIOD#phase0 sources: - file: packages/config/src/chainConfig/configs/mainnet.ts search: "SHARD_COMMITTEE_PERIOD:" @@ -649,7 +649,7 @@ SHARD_COMMITTEE_PERIOD: uint64 = 256 -- name: SLOT_DURATION_MS +- name: SLOT_DURATION_MS#phase0 sources: - file: packages/config/src/chainConfig/configs/mainnet.ts search: "SLOT_DURATION_MS:" @@ -658,7 +658,7 @@ SLOT_DURATION_MS: uint64 = 12000 -- name: SUBNETS_PER_NODE +- name: SUBNETS_PER_NODE#phase0 sources: - file: packages/config/src/chainConfig/configs/mainnet.ts search: "SUBNETS_PER_NODE:" @@ -667,7 +667,7 @@ SUBNETS_PER_NODE = 2 -- name: SYNC_MESSAGE_DUE_BPS +- name: SYNC_MESSAGE_DUE_BPS#altair sources: - file: packages/config/src/chainConfig/configs/mainnet.ts search: "SYNC_MESSAGE_DUE_BPS:" @@ -676,7 +676,7 @@ SYNC_MESSAGE_DUE_BPS: uint64 = 3333 -- name: SYNC_MESSAGE_DUE_BPS_GLOAS +- name: SYNC_MESSAGE_DUE_BPS_GLOAS#gloas sources: - file: packages/config/src/chainConfig/configs/mainnet.ts search: "SYNC_MESSAGE_DUE_BPS_GLOAS:" @@ -685,7 +685,7 @@ SYNC_MESSAGE_DUE_BPS_GLOAS: uint64 = 2500 -- name: TERMINAL_BLOCK_HASH +- name: TERMINAL_BLOCK_HASH#bellatrix sources: - file: packages/config/src/chainConfig/configs/mainnet.ts search: "TERMINAL_BLOCK_HASH:" @@ -694,7 +694,7 @@ TERMINAL_BLOCK_HASH: Hash32 = '0x0000000000000000000000000000000000000000000000000000000000000000' -- name: TERMINAL_BLOCK_HASH_ACTIVATION_EPOCH +- name: TERMINAL_BLOCK_HASH_ACTIVATION_EPOCH#bellatrix sources: - file: packages/config/src/chainConfig/configs/mainnet.ts search: "TERMINAL_BLOCK_HASH_ACTIVATION_EPOCH:" @@ -703,7 +703,7 @@ TERMINAL_BLOCK_HASH_ACTIVATION_EPOCH = 18446744073709551615 -- name: TERMINAL_TOTAL_DIFFICULTY +- name: TERMINAL_TOTAL_DIFFICULTY#bellatrix sources: - file: packages/config/src/chainConfig/configs/mainnet.ts search: "TERMINAL_TOTAL_DIFFICULTY:" @@ -712,7 +712,7 @@ TERMINAL_TOTAL_DIFFICULTY = 58750000000000000000000 -- name: VALIDATOR_CUSTODY_REQUIREMENT +- name: VALIDATOR_CUSTODY_REQUIREMENT#fulu sources: - file: packages/config/src/chainConfig/configs/mainnet.ts search: "VALIDATOR_CUSTODY_REQUIREMENT:" diff --git a/specrefs/constants.yml b/specrefs/constants.yml index 88c66f9c75fa..4c09d9ba3881 100644 --- a/specrefs/constants.yml +++ b/specrefs/constants.yml @@ -1,4 +1,4 @@ -- name: BASE_REWARDS_PER_EPOCH +- name: BASE_REWARDS_PER_EPOCH#phase0 sources: - file: packages/params/src/index.ts search: export const BASE_REWARDS_PER_EPOCH = @@ -7,7 +7,7 @@ BASE_REWARDS_PER_EPOCH: uint64 = 4 -- name: BASIS_POINTS +- name: BASIS_POINTS#phase0 sources: - file: packages/params/src/index.ts search: export const BASIS_POINTS = @@ -16,14 +16,14 @@ BASIS_POINTS: uint64 = 10000 -- name: BLS_MODULUS +- name: BLS_MODULUS#deneb sources: [] spec: | BLS_MODULUS = 52435875175126190479447740508185965837690552500527637822603658699938581184513 -- name: BLS_WITHDRAWAL_PREFIX +- name: BLS_WITHDRAWAL_PREFIX#phase0 sources: - file: packages/params/src/index.ts search: export const BLS_WITHDRAWAL_PREFIX = @@ -32,7 +32,7 @@ BLS_WITHDRAWAL_PREFIX: Bytes1 = '0x00' -- name: BUILDER_PAYMENT_THRESHOLD_DENOMINATOR +- name: BUILDER_PAYMENT_THRESHOLD_DENOMINATOR#gloas sources: - file: packages/params/src/index.ts search: export const BUILDER_PAYMENT_THRESHOLD_DENOMINATOR = @@ -41,7 +41,7 @@ BUILDER_PAYMENT_THRESHOLD_DENOMINATOR: uint64 = 10 -- name: BUILDER_PAYMENT_THRESHOLD_NUMERATOR +- name: BUILDER_PAYMENT_THRESHOLD_NUMERATOR#gloas sources: - file: packages/params/src/index.ts search: export const BUILDER_PAYMENT_THRESHOLD_NUMERATOR = @@ -50,7 +50,7 @@ BUILDER_PAYMENT_THRESHOLD_NUMERATOR: uint64 = 6 -- name: BUILDER_WITHDRAWAL_PREFIX +- name: BUILDER_WITHDRAWAL_PREFIX#gloas sources: - file: packages/params/src/index.ts search: export const BUILDER_WITHDRAWAL_PREFIX = @@ -59,14 +59,14 @@ BUILDER_WITHDRAWAL_PREFIX: Bytes1 = '0x03' -- name: BYTES_PER_COMMITMENT +- name: BYTES_PER_COMMITMENT#deneb sources: [] spec: | BYTES_PER_COMMITMENT: uint64 = 48 -- name: BYTES_PER_FIELD_ELEMENT +- name: BYTES_PER_FIELD_ELEMENT#deneb sources: - file: packages/params/src/index.ts search: export const BYTES_PER_FIELD_ELEMENT = @@ -75,14 +75,14 @@ BYTES_PER_FIELD_ELEMENT: uint64 = 32 -- name: BYTES_PER_PROOF +- name: BYTES_PER_PROOF#deneb sources: [] spec: | BYTES_PER_PROOF: uint64 = 48 -- name: COMPOUNDING_WITHDRAWAL_PREFIX +- name: COMPOUNDING_WITHDRAWAL_PREFIX#electra sources: - file: packages/params/src/index.ts search: export const COMPOUNDING_WITHDRAWAL_PREFIX = @@ -91,7 +91,7 @@ COMPOUNDING_WITHDRAWAL_PREFIX: Bytes1 = '0x02' -- name: CONSOLIDATION_REQUEST_TYPE +- name: CONSOLIDATION_REQUEST_TYPE#electra sources: - file: packages/params/src/index.ts search: export const CONSOLIDATION_REQUEST_TYPE = @@ -100,7 +100,7 @@ CONSOLIDATION_REQUEST_TYPE: Bytes1 = '0x02' -- name: DEPOSIT_CONTRACT_TREE_DEPTH +- name: DEPOSIT_CONTRACT_TREE_DEPTH#phase0 sources: - file: packages/params/src/index.ts search: export const DEPOSIT_CONTRACT_TREE_DEPTH = @@ -109,7 +109,7 @@ DEPOSIT_CONTRACT_TREE_DEPTH: uint64 = 2**5 -- name: DEPOSIT_REQUEST_TYPE +- name: DEPOSIT_REQUEST_TYPE#electra sources: - file: packages/params/src/index.ts search: export const DEPOSIT_REQUEST_TYPE = @@ -118,7 +118,7 @@ DEPOSIT_REQUEST_TYPE: Bytes1 = '0x00' -- name: DOMAIN_AGGREGATE_AND_PROOF +- name: DOMAIN_AGGREGATE_AND_PROOF#phase0 sources: - file: packages/params/src/index.ts search: export const DOMAIN_AGGREGATE_AND_PROOF = @@ -127,7 +127,7 @@ DOMAIN_AGGREGATE_AND_PROOF: DomainType = '0x06000000' -- name: DOMAIN_APPLICATION_MASK +- name: DOMAIN_APPLICATION_MASK#phase0 sources: - file: packages/params/src/index.ts search: export const DOMAIN_APPLICATION_MASK = @@ -136,7 +136,7 @@ DOMAIN_APPLICATION_MASK: DomainType = '0x00000001' -- name: DOMAIN_BEACON_ATTESTER +- name: DOMAIN_BEACON_ATTESTER#phase0 sources: - file: packages/params/src/index.ts search: export const DOMAIN_BEACON_ATTESTER = @@ -145,7 +145,7 @@ DOMAIN_BEACON_ATTESTER: DomainType = '0x01000000' -- name: DOMAIN_BEACON_BUILDER +- name: DOMAIN_BEACON_BUILDER#gloas sources: - file: packages/params/src/index.ts search: export const DOMAIN_BEACON_BUILDER = @@ -154,7 +154,7 @@ DOMAIN_BEACON_BUILDER: DomainType = '0x1B000000' -- name: DOMAIN_BEACON_PROPOSER +- name: DOMAIN_BEACON_PROPOSER#phase0 sources: - file: packages/params/src/index.ts search: export const DOMAIN_BEACON_PROPOSER = @@ -163,7 +163,7 @@ DOMAIN_BEACON_PROPOSER: DomainType = '0x00000000' -- name: DOMAIN_BLS_TO_EXECUTION_CHANGE +- name: DOMAIN_BLS_TO_EXECUTION_CHANGE#capella sources: - file: packages/params/src/index.ts search: export const DOMAIN_BLS_TO_EXECUTION_CHANGE = @@ -172,7 +172,7 @@ DOMAIN_BLS_TO_EXECUTION_CHANGE: DomainType = '0x0A000000' -- name: DOMAIN_CONTRIBUTION_AND_PROOF +- name: DOMAIN_CONTRIBUTION_AND_PROOF#altair sources: - file: packages/params/src/index.ts search: export const DOMAIN_CONTRIBUTION_AND_PROOF = @@ -181,7 +181,7 @@ DOMAIN_CONTRIBUTION_AND_PROOF: DomainType = '0x09000000' -- name: DOMAIN_DEPOSIT +- name: DOMAIN_DEPOSIT#phase0 sources: - file: packages/params/src/index.ts search: export const DOMAIN_DEPOSIT = @@ -190,7 +190,7 @@ DOMAIN_DEPOSIT: DomainType = '0x03000000' -- name: DOMAIN_PTC_ATTESTER +- name: DOMAIN_PTC_ATTESTER#gloas sources: - file: packages/params/src/index.ts search: export const DOMAIN_PTC_ATTESTER = @@ -199,7 +199,7 @@ DOMAIN_PTC_ATTESTER: DomainType = '0x0C000000' -- name: DOMAIN_RANDAO +- name: DOMAIN_RANDAO#phase0 sources: - file: packages/params/src/index.ts search: export const DOMAIN_RANDAO = @@ -208,7 +208,7 @@ DOMAIN_RANDAO: DomainType = '0x02000000' -- name: DOMAIN_SELECTION_PROOF +- name: DOMAIN_SELECTION_PROOF#phase0 sources: - file: packages/params/src/index.ts search: export const DOMAIN_SELECTION_PROOF = @@ -217,7 +217,7 @@ DOMAIN_SELECTION_PROOF: DomainType = '0x05000000' -- name: DOMAIN_SYNC_COMMITTEE +- name: DOMAIN_SYNC_COMMITTEE#altair sources: - file: packages/params/src/index.ts search: export const DOMAIN_SYNC_COMMITTEE = @@ -226,7 +226,7 @@ DOMAIN_SYNC_COMMITTEE: DomainType = '0x07000000' -- name: DOMAIN_SYNC_COMMITTEE_SELECTION_PROOF +- name: DOMAIN_SYNC_COMMITTEE_SELECTION_PROOF#altair sources: - file: packages/params/src/index.ts search: export const DOMAIN_SYNC_COMMITTEE_SELECTION_PROOF = @@ -235,7 +235,7 @@ DOMAIN_SYNC_COMMITTEE_SELECTION_PROOF: DomainType = '0x08000000' -- name: DOMAIN_VOLUNTARY_EXIT +- name: DOMAIN_VOLUNTARY_EXIT#phase0 sources: - file: packages/params/src/index.ts search: export const DOMAIN_VOLUNTARY_EXIT = @@ -244,14 +244,14 @@ DOMAIN_VOLUNTARY_EXIT: DomainType = '0x04000000' -- name: ENDIANNESS +- name: ENDIANNESS#phase0 sources: [] spec: | ENDIANNESS = 'little' -- name: ETH1_ADDRESS_WITHDRAWAL_PREFIX +- name: ETH1_ADDRESS_WITHDRAWAL_PREFIX#phase0 sources: - file: packages/params/src/index.ts search: export const ETH1_ADDRESS_WITHDRAWAL_PREFIX = @@ -260,14 +260,14 @@ ETH1_ADDRESS_WITHDRAWAL_PREFIX: Bytes1 = '0x01' -- name: ETH_TO_GWEI +- name: ETH_TO_GWEI#phase0 sources: [] spec: | ETH_TO_GWEI: uint64 = 10**9 -- name: FAR_FUTURE_EPOCH +- name: FAR_FUTURE_EPOCH#phase0 sources: - file: packages/params/src/index.ts search: export const FAR_FUTURE_EPOCH = @@ -276,14 +276,14 @@ FAR_FUTURE_EPOCH: Epoch = 2**64 - 1 -- name: FIAT_SHAMIR_PROTOCOL_DOMAIN +- name: FIAT_SHAMIR_PROTOCOL_DOMAIN#deneb sources: [] spec: | FIAT_SHAMIR_PROTOCOL_DOMAIN = b'FSBLOBVERIFY_V1_' -- name: FULL_EXIT_REQUEST_AMOUNT +- name: FULL_EXIT_REQUEST_AMOUNT#electra sources: - file: packages/params/src/index.ts search: export const FULL_EXIT_REQUEST_AMOUNT = @@ -292,14 +292,14 @@ FULL_EXIT_REQUEST_AMOUNT: uint64 = 0 -- name: G1_POINT_AT_INFINITY +- name: G1_POINT_AT_INFINITY#deneb sources: [] spec: | G1_POINT_AT_INFINITY: Bytes48 = b'\xc0' + b'\x00' * 47 -- name: G2_POINT_AT_INFINITY +- name: G2_POINT_AT_INFINITY#altair sources: - file: packages/state-transition/src/constants/constants.ts search: export const G2_POINT_AT_INFINITY = @@ -308,7 +308,7 @@ G2_POINT_AT_INFINITY: BLSSignature = b'\xc0' + b'\x00' * 95 -- name: GENESIS_EPOCH +- name: GENESIS_EPOCH#phase0 sources: - file: packages/params/src/index.ts search: export const GENESIS_EPOCH = @@ -317,7 +317,7 @@ GENESIS_EPOCH: Epoch = 0 -- name: GENESIS_SLOT +- name: GENESIS_SLOT#phase0 sources: - file: packages/params/src/index.ts search: export const GENESIS_SLOT = @@ -326,7 +326,7 @@ GENESIS_SLOT: Slot = 0 -- name: INTERVALS_PER_SLOT +- name: INTERVALS_PER_SLOT#phase0 sources: - file: packages/params/src/index.ts search: export const INTERVALS_PER_SLOT = @@ -335,7 +335,7 @@ INTERVALS_PER_SLOT: uint64 = 3 -- name: JUSTIFICATION_BITS_LENGTH +- name: JUSTIFICATION_BITS_LENGTH#phase0 sources: - file: packages/params/src/index.ts search: export const JUSTIFICATION_BITS_LENGTH = @@ -344,28 +344,28 @@ JUSTIFICATION_BITS_LENGTH: uint64 = 4 -- name: KZG_ENDIANNESS +- name: KZG_ENDIANNESS#deneb sources: [] spec: | KZG_ENDIANNESS = 'big' -- name: KZG_SETUP_G2_LENGTH +- name: KZG_SETUP_G2_LENGTH#deneb sources: [] spec: | KZG_SETUP_G2_LENGTH = 65 -- name: KZG_SETUP_G2_MONOMIAL +- name: KZG_SETUP_G2_MONOMIAL#deneb sources: [] spec: | KZG_SETUP_G2_MONOMIAL: Vector[G2Point, KZG_SETUP_G2_LENGTH] = ['0x93e02b6052719f607dacd3a088274f65596bd0d09920b61ab5da61bbdc7f5049334cf11213945d57e5ac7d055d042b7e024aa2b2f08f0a91260805272dc51051c6e47ad4fa403b02b4510b647ae3d1770bac0326a805bbefd48056c8c121bdb8', '0xb5bfd7dd8cdeb128843bc287230af38926187075cbfbefa81009a2ce615ac53d2914e5870cb452d2afaaab24f3499f72185cbfee53492714734429b7b38608e23926c911cceceac9a36851477ba4c60b087041de621000edc98edada20c1def2', '0xb5337ba0ce5d37224290916e268e2060e5c14f3f9fc9e1ec3af5a958e7a0303122500ce18f1a4640bf66525bd10e763501fe986d86649d8d45143c08c3209db3411802c226e9fe9a55716ac4a0c14f9dcef9e70b2bb309553880dc5025eab3cc', '0xb3c1dcdc1f62046c786f0b82242ef283e7ed8f5626f72542aa2c7a40f14d9094dd1ebdbd7457ffdcdac45fd7da7e16c51200b06d791e5e43e257e45efdf0bd5b06cd2333beca2a3a84354eb48662d83aef5ecf4e67658c851c10b13d8d87c874', '0x954d91c7688983382609fca9e211e461f488a5971fd4e40d7e2892037268eacdfd495cfa0a7ed6eb0eb11ac3ae6f651716757e7526abe1e06c64649d80996fd3105c20c4c94bc2b22d97045356fe9d791f21ea6428ac48db6f9e68e30d875280', '0x88a6b6bb26c51cf9812260795523973bb90ce80f6820b6c9048ab366f0fb96e48437a7f7cb62aedf64b11eb4dfefebb0147608793133d32003cb1f2dc47b13b5ff45f1bb1b2408ea45770a08dbfaec60961acb8119c47b139a13b8641e2c9487', '0x85cd7be9728bd925d12f47fb04b32d9fad7cab88788b559f053e69ca18e463113ecc8bbb6dbfb024835f901b3a957d3108d6770fb26d4c8be0a9a619f6e3a4bf15cbfd48e61593490885f6cee30e4300c5f9cf5e1c08e60a2d5b023ee94fcad0', '0x80477dba360f04399821a48ca388c0fa81102dd15687fea792ee8c1114e00d1bc4839ad37ac58900a118d863723acfbe08126ea883be87f50e4eabe3b5e72f5d9e041db8d9b186409fd4df4a7dde38c0e0a3b1ae29b098e5697e7f110b6b27e4', '0xb7a6aec08715a9f8672a2b8c367e407be37e59514ac19dd4f0942a68007bba3923df22da48702c63c0d6b3efd3c2d04e0fe042d8b5a54d562f9f33afc4865dcbcc16e99029e25925580e87920c399e710d438ac1ce3a6dc9b0d76c064a01f6f7', '0xac1b001edcea02c8258aeffbf9203114c1c874ad88dae1184fadd7d94cd09053649efd0ca413400e6e9b5fa4eac33261000af88b6bd0d2abf877a4f0355d2fb4d6007adb181695201c5432e50b850b51b3969f893bddf82126c5a71b042b7686', '0x90043fda4de53fb364fab2c04be5296c215599105ecff0c12e4917c549257125775c29f2507124d15f56e30447f367db0596c33237242c02d83dfd058735f1e3c1ff99069af55773b6d51d32a68bf75763f59ec4ee7267932ae426522b8aaab6', '0xa8660ce853e9dc08271bf882e29cd53397d63b739584dda5263da4c7cc1878d0cf6f3e403557885f557e184700575fee016ee8542dec22c97befe1d10f414d22e84560741cdb3e74c30dda9b42eeaaf53e27822de2ee06e24e912bf764a9a533', '0x8fe3921a96d0d065e8aa8fce9aa42c8e1461ca0470688c137be89396dd05103606dab6cdd2a4591efd6addf72026c12e065da7be276dee27a7e30afa2bd81c18f1516e7f068f324d0bad9570b95f6bd02c727cd2343e26db0887c3e4e26dceda', '0x8ae1ad97dcb9c192c9a3933541b40447d1dc4eebf380151440bbaae1e120cc5cdf1bcea55180b128d8e180e3af623815191d063cc0d7a47d55fb7687b9d87040bf7bc1a7546b07c61db5ccf1841372d7c2fe4a5431ffff829f3c2eb590b0b710', '0x8c2fa96870a88150f7876c931e2d3cc2adeaaaf5c73ef5fa1cf9dfa0991ae4819f9321af7e916e5057d87338e630a2f21242c29d76963cf26035b548d2a63d8ad7bd6efefa01c1df502cbdfdfe0334fb21ceb9f686887440f713bf17a89b8081', '0xb9aa98e2f02bb616e22ee5dd74c7d1049321ac9214d093a738159850a1dbcc7138cb8d26ce09d8296368fd5b291d74fa17ac7cc1b80840fdd4ee35e111501e3fa8485b508baecda7c1ab7bd703872b7d64a2a40b3210b6a70e8a6ffe0e5127e3', '0x9292db67f8771cdc86854a3f614a73805bf3012b48f1541e704ea4015d2b6b9c9aaed36419769c87c49f9e3165f03edb159c23b3a49c4390951f78e1d9b0ad997129b17cdb57ea1a6638794c0cca7d239f229e589c5ae4f9fe6979f7f8cba1d7', '0x91cd9e86550f230d128664f7312591fee6a84c34f5fc7aed557bcf986a409a6de722c4330453a305f06911d2728626e611acfdf81284f77f60a3a1595053a9479964fd713117e27c0222cc679674b03bc8001501aaf9b506196c56de29429b46', '0xa9516b73f605cc31b89c68b7675dc451e6364595243d235339437f556cf22d745d4250c1376182273be2d99e02c10eee047410a43eff634d051aeb784e76cb3605d8e079b9eb6ad1957dfdf77e1cd32ce4a573c9dfcc207ca65af6eb187f6c3d', '0xa9667271f7d191935cc8ad59ef3ec50229945faea85bfdfb0d582090f524436b348aaa0183b16a6231c00332fdac2826125b8c857a2ed9ec66821cfe02b3a2279be2412441bc2e369b255eb98614e4be8490799c4df22f18d47d24ec70bba5f7', '0xa4371144d2aa44d70d3cb9789096d3aa411149a6f800cb46f506461ee8363c8724667974252f28aea61b6030c05930ac039c1ee64bb4bd56532a685cae182bf2ab935eee34718cffcb46cae214c77aaca11dbb1320faf23c47247db1da04d8dc', '0x89a7eb441892260b7e81168c386899cd84ffc4a2c5cad2eae0d1ab9e8b5524662e6f660fe3f8bfe4c92f60b060811bc605b14c5631d16709266886d7885a5eb5930097127ec6fb2ebbaf2df65909cf48f253b3d5e22ae48d3e9a2fd2b01f447e', '0x9648c42ca97665b5eccb49580d8532df05eb5a68db07f391a2340769b55119eaf4c52fe4f650c09250fa78a76c3a1e271799b8333cc2628e3d4b4a6a3e03da1f771ecf6516dd63236574a7864ff07e319a6f11f153406280d63af9e2b5713283', '0x9663bf6dd446ea7a90658ee458578d4196dc0b175ef7fcfa75f44d41670850774c2e46c5a6be132a2c072a3c0180a24f0305d1acac49d2d79878e5cda80c57feda3d01a6af12e78b5874e2a4b3717f11c97503b41a4474e2e95b179113726199', '0xb212aeb4814e0915b432711b317923ed2b09e076aaf558c3ae8ef83f9e15a83f9ea3f47805b2750ab9e8106cb4dc6ad003522c84b03dc02829978a097899c773f6fb31f7fe6b8f2d836d96580f216fec20158f1590c3e0d7850622e15194db05', '0x925f005059bf07e9ceccbe66c711b048e236ade775720d0fe479aebe6e23e8af281225ad18e62458dc1b03b42ad4ca290d4aa176260604a7aad0d9791337006fbdebe23746f8060d42876f45e4c83c3643931392fde1cd13ff8bddf8111ef974', '0x9553edb22b4330c568e156a59ef03b26f5c326424f830fe3e8c0b602f08c124730ffc40bc745bec1a22417adb22a1a960243a10565c2be3066bfdb841d1cd14c624cd06e0008f4beb83f972ce6182a303bee3fcbcabc6cfe48ec5ae4b7941bfc', '0x935f5a404f0a78bdcce709899eda0631169b366a669e9b58eacbbd86d7b5016d044b8dfc59ce7ed8de743ae16c2343b50e2f925e88ba6319e33c3fc76b314043abad7813677b4615c8a97eb83cc79de4fedf6ccbcfa4d4cbf759a5a84e4d9742', '0xa5b014ab936eb4be113204490e8b61cd38d71da0dec7215125bcd131bf3ab22d0a32ce645bca93e7b3637cf0c2db3d6601a0ddd330dc46f9fae82abe864ffc12d656c88eb50c20782e5bb6f75d18760666f43943abb644b881639083e122f557', '0x935b7298ae52862fa22bf03bfc1795b34c70b181679ae27de08a9f5b4b884f824ef1b276b7600efa0d2f1d79e4a470d51692fd565c5cf8343dd80e5d3336968fc21c09ba9348590f6206d4424eb229e767547daefa98bc3aa9f421158dee3f2a', '0x9830f92446e708a8f6b091cc3c38b653505414f8b6507504010a96ffda3bcf763d5331eb749301e2a1437f00e2415efb01b799ad4c03f4b02de077569626255ac1165f96ea408915d4cf7955047620da573e5c439671d1fa5c833fb11de7afe6', '0x840dcc44f673fff3e387af2bb41e89640f2a70bcd2b92544876daa92143f67c7512faf5f90a04b7191de01f3e2b1bde00622a20dc62ca23bbbfaa6ad220613deff43908382642d4d6a86999f662efd64b1df448b68c847cfa87630a3ffd2ec76', '0x92950c895ed54f7f876b2fda17ecc9c41b7accfbdd42c210cc5b475e0737a7279f558148531b5c916e310604a1de25a80940c94fe5389ae5d6a5e9c371be67bceea1877f5401725a6595bcf77ece60905151b6dfcb68b75ed2e708c73632f4fd', '0x8010246bf8e94c25fd029b346b5fbadb404ef6f44a58fd9dd75acf62433d8cc6db66974f139a76e0c26dddc1f329a88214dbb63276516cf325c7869e855d07e0852d622c332ac55609ba1ec9258c45746a2aeb1af0800141ee011da80af175d4', '0xb0f1bad257ebd187bdc3f37b23f33c6a5d6a8e1f2de586080d6ada19087b0e2bf23b79c1b6da1ee82271323f5bdf3e1b018586b54a5b92ab6a1a16bb3315190a3584a05e6c37d5ca1e05d702b9869e27f513472bcdd00f4d0502a107773097da', '0x9636d24f1ede773ce919f309448dd7ce023f424afd6b4b69cb98c2a988d849a283646dc3e469879daa1b1edae91ae41f009887518e7eb5578f88469321117303cd3ac2d7aee4d9cb5f82ab9ae3458e796dfe7c24284b05815acfcaa270ff22e2', '0xb373feb5d7012fd60578d7d00834c5c81df2a23d42794fed91aa9535a4771fde0341c4da882261785e0caca40bf83405143085e7f17e55b64f6c5c809680c20b050409bf3702c574769127c854d27388b144b05624a0e24a1cbcc4d08467005b', '0xb15680648949ce69f82526e9b67d9b55ce5c537dc6ab7f3089091a9a19a6b90df7656794f6edc87fb387d21573ffc847062623685931c2790a508cbc8c6b231dd2c34f4d37d4706237b1407673605a604bcf6a50cc0b1a2db20485e22b02c17e', '0x8817e46672d40c8f748081567b038a3165f87994788ec77ee8daea8587f5540df3422f9e120e94339be67f186f50952504cb44f61e30a5241f1827e501b2de53c4c64473bcc79ab887dd277f282fbfe47997a930dd140ac08b03efac88d81075', '0xa6e4ef6c1d1098f95aae119905f87eb49b909d17f9c41bcfe51127aa25fee20782ea884a7fdf7d5e9c245b5a5b32230b07e0dbf7c6743bf52ee20e2acc0b269422bd6cf3c07115df4aa85b11b2c16630a07c974492d9cdd0ec325a3fabd95044', '0x8634aa7c3d00e7f17150009698ce440d8e1b0f13042b624a722ace68ead870c3d2212fbee549a2c190e384d7d6ac37ce14ab962c299ea1218ef1b1489c98906c91323b94c587f1d205a6edd5e9d05b42d591c26494a6f6a029a2aadb5f8b6f67', '0x821a58092900bdb73decf48e13e7a5012a3f88b06288a97b855ef51306406e7d867d613d9ec738ebacfa6db344b677d21509d93f3b55c2ebf3a2f2a6356f875150554c6fff52e62e3e46f7859be971bf7dd9d5b3e1d799749c8a97c2e04325df', '0x8dba356577a3a388f782e90edb1a7f3619759f4de314ad5d95c7cc6e197211446819c4955f99c5fc67f79450d2934e3c09adefc91b724887e005c5190362245eec48ce117d0a94d6fa6db12eda4ba8dde608fbbd0051f54dcf3bb057adfb2493', '0xa32a690dc95c23ed9fb46443d9b7d4c2e27053a7fcc216d2b0020a8cf279729c46114d2cda5772fd60a97016a07d6c5a0a7eb085a18307d34194596f5b541cdf01b2ceb31d62d6b55515acfd2b9eec92b27d082fbc4dc59fc63b551eccdb8468', '0xa040f7f4be67eaf0a1d658a3175d65df21a7dbde99bfa893469b9b43b9d150fc2e333148b1cb88cfd0447d88fa1a501d126987e9fdccb2852ecf1ba907c2ca3d6f97b055e354a9789854a64ecc8c2e928382cf09dda9abde42bbdf92280cdd96', '0x864baff97fa60164f91f334e0c9be00a152a416556b462f96d7c43b59fe1ebaff42f0471d0bf264976f8aa6431176eb905bd875024cf4f76c13a70bede51dc3e47e10b9d5652d30d2663b3af3f08d5d11b9709a0321aba371d2ef13174dcfcaf', '0x95a46f32c994133ecc22db49bad2c36a281d6b574c83cfee6680b8c8100466ca034b815cfaedfbf54f4e75188e661df901abd089524e1e0eb0bf48d48caa9dd97482d2e8c1253e7e8ac250a32fd066d5b5cb08a8641bdd64ecfa48289dca83a3', '0xa2cce2be4d12144138cb91066e0cd0542c80b478bf467867ebef9ddaf3bd64e918294043500bf5a9f45ee089a8d6ace917108d9ce9e4f41e7e860cbce19ac52e791db3b6dde1c4b0367377b581f999f340e1d6814d724edc94cb07f9c4730774', '0xb145f203eee1ac0a1a1731113ffa7a8b0b694ef2312dabc4d431660f5e0645ef5838e3e624cfe1228cfa248d48b5760501f93e6ab13d3159fc241427116c4b90359599a4cb0a86d0bb9190aa7fabff482c812db966fd2ce0a1b48cb8ac8b3bca', '0xadabe5d215c608696e03861cbd5f7401869c756b3a5aadc55f41745ad9478145d44393fec8bb6dfc4ad9236dc62b9ada0f7ca57fe2bae1b71565dbf9536d33a68b8e2090b233422313cc96afc7f1f7e0907dc7787806671541d6de8ce47c4cd0', '0xae7845fa6b06db53201c1080e01e629781817f421f28956589c6df3091ec33754f8a4bd4647a6bb1c141ac22731e3c1014865d13f3ed538dcb0f7b7576435133d9d03be655f8fbb4c9f7d83e06d1210aedd45128c2b0c9bab45a9ddde1c862a5', '0x9159eaa826a24adfa7adf6e8d2832120ebb6eccbeb3d0459ffdc338548813a2d239d22b26451fda98cc0c204d8e1ac69150b5498e0be3045300e789bcb4e210d5cd431da4bdd915a21f407ea296c20c96608ded0b70d07188e96e6c1a7b9b86b', '0xa9fc6281e2d54b46458ef564ffaed6944bff71e389d0acc11fa35d3fcd8e10c1066e0dde5b9b6516f691bb478e81c6b20865281104dcb640e29dc116daae2e884f1fe6730d639dbe0e19a532be4fb337bf52ae8408446deb393d224eee7cfa50', '0x84291a42f991bfb36358eedead3699d9176a38f6f63757742fdbb7f631f2c70178b1aedef4912fed7b6cf27e88ddc7eb0e2a6aa4b999f3eb4b662b93f386c8d78e9ac9929e21f4c5e63b12991fcde93aa64a735b75b535e730ff8dd2abb16e04', '0xa1b7fcacae181495d91765dfddf26581e8e39421579c9cbd0dd27a40ea4c54af3444a36bf85a11dda2114246eaddbdd619397424bb1eb41b5a15004b902a590ede5742cd850cf312555be24d2df8becf48f5afba5a8cd087cb7be0a521728386', '0x92feaaf540dbd84719a4889a87cdd125b7e995a6782911931fef26da9afcfbe6f86aaf5328fe1f77631491ce6239c5470f44c7791506c6ef1626803a5794e76d2be0af92f7052c29ac6264b7b9b51f267ad820afc6f881460521428496c6a5f1', '0xa525c925bfae1b89320a5054acc1fa11820f73d0cf28d273092b305467b2831fab53b6daf75fb926f332782d50e2522a19edcd85be5eb72f1497193c952d8cd0bcc5d43b39363b206eae4cb1e61668bde28a3fb2fc1e0d3d113f6dfadb799717', '0x98752bb6f5a44213f40eda6aa4ff124057c1b13b6529ab42fe575b9afa66e59b9c0ed563fb20dff62130c436c3e905ee17dd8433ba02c445b1d67182ab6504a90bbe12c26a754bbf734665c622f76c62fe2e11dd43ce04fd2b91a8463679058b', '0xa9aa9a84729f7c44219ff9e00e651e50ddea3735ef2a73fdf8ed8cd271961d8ed7af5cd724b713a89a097a3fe65a3c0202f69458a8b4c157c62a85668b12fc0d3957774bc9b35f86c184dd03bfefd5c325da717d74192cc9751c2073fe9d170e', '0xb221c1fd335a4362eff504cd95145f122bf93ea02ae162a3fb39c75583fc13a932d26050e164da97cff3e91f9a7f6ff80302c19dd1916f24acf6b93b62f36e9665a8785413b0c7d930c7f1668549910f849bca319b00e59dd01e5dec8d2edacc', '0xa71e2b1e0b16d754b848f05eda90f67bedab37709550171551050c94efba0bfc282f72aeaaa1f0330041461f5e6aa4d11537237e955e1609a469d38ed17f5c2a35a1752f546db89bfeff9eab78ec944266f1cb94c1db3334ab48df716ce408ef', '0xb990ae72768779ba0b2e66df4dd29b3dbd00f901c23b2b4a53419226ef9232acedeb498b0d0687c463e3f1eead58b20b09efcefa566fbfdfe1c6e48d32367936142d0a734143e5e63cdf86be7457723535b787a9cfcfa32fe1d61ad5a2617220', '0x8d27e7fbff77d5b9b9bbc864d5231fecf817238a6433db668d5a62a2c1ee1e5694fdd90c3293c06cc0cb15f7cbeab44d0d42be632cb9ff41fc3f6628b4b62897797d7b56126d65b694dcf3e298e3561ac8813fbd7296593ced33850426df42db', '0xa92039a08b5502d5b211a7744099c9f93fa8c90cedcb1d05e92f01886219dd464eb5fb0337496ad96ed09c987da4e5f019035c5b01cc09b2a18b8a8dd419bc5895388a07e26958f6bd26751929c25f89b8eb4a299d822e2d26fec9ef350e0d3c', '0x92dcc5a1c8c3e1b28b1524e3dd6dbecd63017c9201da9dbe077f1b82adc08c50169f56fc7b5a3b28ec6b89254de3e2fd12838a761053437883c3e01ba616670cea843754548ef84bcc397de2369adcca2ab54cd73c55dc68d87aec3fc2fe4f10'] -- name: MAX_CONCURRENT_REQUESTS +- name: MAX_CONCURRENT_REQUESTS#phase0 sources: - file: packages/params/src/index.ts search: export const MAX_CONCURRENT_REQUESTS = @@ -374,7 +374,7 @@ MAX_CONCURRENT_REQUESTS = 2 -- name: MAX_REQUEST_LIGHT_CLIENT_UPDATES +- name: MAX_REQUEST_LIGHT_CLIENT_UPDATES#altair sources: - file: packages/params/src/index.ts search: export const MAX_REQUEST_LIGHT_CLIENT_UPDATES = @@ -383,7 +383,7 @@ MAX_REQUEST_LIGHT_CLIENT_UPDATES = 2**7 -- name: NODE_ID_BITS +- name: NODE_ID_BITS#phase0 sources: - file: packages/params/src/index.ts search: export const NODE_ID_BITS = @@ -392,7 +392,7 @@ NODE_ID_BITS = 256 -- name: PARTICIPATION_FLAG_WEIGHTS +- name: PARTICIPATION_FLAG_WEIGHTS#altair sources: - file: packages/params/src/index.ts search: export const PARTICIPATION_FLAG_WEIGHTS = @@ -401,35 +401,35 @@ PARTICIPATION_FLAG_WEIGHTS = [TIMELY_SOURCE_WEIGHT, TIMELY_TARGET_WEIGHT, TIMELY_HEAD_WEIGHT] -- name: PAYLOAD_STATUS_EMPTY +- name: PAYLOAD_STATUS_EMPTY#gloas sources: [] spec: | PAYLOAD_STATUS_EMPTY: PayloadStatus = 1 -- name: PAYLOAD_STATUS_FULL +- name: PAYLOAD_STATUS_FULL#gloas sources: [] spec: | PAYLOAD_STATUS_FULL: PayloadStatus = 2 -- name: PAYLOAD_STATUS_PENDING +- name: PAYLOAD_STATUS_PENDING#gloas sources: [] spec: | PAYLOAD_STATUS_PENDING: PayloadStatus = 0 -- name: PRIMITIVE_ROOT_OF_UNITY +- name: PRIMITIVE_ROOT_OF_UNITY#deneb sources: [] spec: | PRIMITIVE_ROOT_OF_UNITY = 7 -- name: PROPOSER_WEIGHT +- name: PROPOSER_WEIGHT#altair sources: - file: packages/params/src/index.ts search: export const PROPOSER_WEIGHT = @@ -438,28 +438,28 @@ PROPOSER_WEIGHT: uint64 = 8 -- name: RANDOM_CHALLENGE_KZG_BATCH_DOMAIN +- name: RANDOM_CHALLENGE_KZG_BATCH_DOMAIN#deneb sources: [] spec: | RANDOM_CHALLENGE_KZG_BATCH_DOMAIN = b'RCKZGBATCH___V1_' -- name: RANDOM_CHALLENGE_KZG_CELL_BATCH_DOMAIN +- name: RANDOM_CHALLENGE_KZG_CELL_BATCH_DOMAIN#fulu sources: [] spec: | RANDOM_CHALLENGE_KZG_CELL_BATCH_DOMAIN = b'RCKZGCBATCH__V1_' -- name: SAFETY_DECAY +- name: SAFETY_DECAY#phase0 sources: [] spec: | SAFETY_DECAY: uint64 = 10 -- name: SAFE_SLOTS_TO_IMPORT_OPTIMISTICALLY +- name: SAFE_SLOTS_TO_IMPORT_OPTIMISTICALLY#bellatrix sources: - file: packages/params/src/index.ts search: export const SAFE_SLOTS_TO_IMPORT_OPTIMISTICALLY = @@ -468,7 +468,7 @@ SAFE_SLOTS_TO_IMPORT_OPTIMISTICALLY = 128 -- name: SYNC_COMMITTEE_SUBNET_COUNT +- name: SYNC_COMMITTEE_SUBNET_COUNT#altair sources: - file: packages/params/src/index.ts search: export const SYNC_COMMITTEE_SUBNET_COUNT = @@ -477,7 +477,7 @@ SYNC_COMMITTEE_SUBNET_COUNT = 4 -- name: SYNC_REWARD_WEIGHT +- name: SYNC_REWARD_WEIGHT#altair sources: - file: packages/params/src/index.ts search: export const SYNC_REWARD_WEIGHT = @@ -486,7 +486,7 @@ SYNC_REWARD_WEIGHT: uint64 = 2 -- name: TARGET_AGGREGATORS_PER_COMMITTEE +- name: TARGET_AGGREGATORS_PER_COMMITTEE#phase0 sources: - file: packages/params/src/index.ts search: export const TARGET_AGGREGATORS_PER_COMMITTEE = @@ -495,7 +495,7 @@ TARGET_AGGREGATORS_PER_COMMITTEE = 2**4 -- name: TARGET_AGGREGATORS_PER_SYNC_SUBCOMMITTEE +- name: TARGET_AGGREGATORS_PER_SYNC_SUBCOMMITTEE#altair sources: - file: packages/params/src/index.ts search: export const TARGET_AGGREGATORS_PER_SYNC_SUBCOMMITTEE = @@ -504,7 +504,7 @@ TARGET_AGGREGATORS_PER_SYNC_SUBCOMMITTEE = 2**4 -- name: TIMELY_HEAD_FLAG_INDEX +- name: TIMELY_HEAD_FLAG_INDEX#altair sources: - file: packages/params/src/index.ts search: export const TIMELY_HEAD_FLAG_INDEX = @@ -513,7 +513,7 @@ TIMELY_HEAD_FLAG_INDEX = 2 -- name: TIMELY_HEAD_WEIGHT +- name: TIMELY_HEAD_WEIGHT#altair sources: - file: packages/params/src/index.ts search: export const TIMELY_HEAD_WEIGHT = @@ -522,7 +522,7 @@ TIMELY_HEAD_WEIGHT: uint64 = 14 -- name: TIMELY_SOURCE_FLAG_INDEX +- name: TIMELY_SOURCE_FLAG_INDEX#altair sources: - file: packages/params/src/index.ts search: export const TIMELY_SOURCE_FLAG_INDEX = @@ -531,7 +531,7 @@ TIMELY_SOURCE_FLAG_INDEX = 0 -- name: TIMELY_SOURCE_WEIGHT +- name: TIMELY_SOURCE_WEIGHT#altair sources: - file: packages/params/src/index.ts search: export const TIMELY_SOURCE_WEIGHT = @@ -540,7 +540,7 @@ TIMELY_SOURCE_WEIGHT: uint64 = 14 -- name: TIMELY_TARGET_FLAG_INDEX +- name: TIMELY_TARGET_FLAG_INDEX#altair sources: - file: packages/params/src/index.ts search: export const TIMELY_TARGET_FLAG_INDEX = @@ -549,7 +549,7 @@ TIMELY_TARGET_FLAG_INDEX = 1 -- name: TIMELY_TARGET_WEIGHT +- name: TIMELY_TARGET_WEIGHT#altair sources: - file: packages/params/src/index.ts search: export const TIMELY_TARGET_WEIGHT = @@ -558,28 +558,28 @@ TIMELY_TARGET_WEIGHT: uint64 = 26 -- name: UINT256_MAX +- name: UINT256_MAX#fulu sources: [] spec: | UINT256_MAX: uint256 = 2**256 - 1 -- name: UINT64_MAX +- name: UINT64_MAX#phase0 sources: [] spec: | UINT64_MAX: uint64 = 2**64 - 1 -- name: UINT64_MAX_SQRT +- name: UINT64_MAX_SQRT#phase0 sources: [] spec: | UINT64_MAX_SQRT: uint64 = 4294967295 -- name: UNSET_DEPOSIT_REQUESTS_START_INDEX +- name: UNSET_DEPOSIT_REQUESTS_START_INDEX#electra sources: - file: packages/params/src/index.ts search: export const UNSET_DEPOSIT_REQUESTS_START_INDEX = @@ -588,7 +588,7 @@ UNSET_DEPOSIT_REQUESTS_START_INDEX: uint64 = 2**64 - 1 -- name: VERSIONED_HASH_VERSION_KZG +- name: VERSIONED_HASH_VERSION_KZG#deneb sources: - file: packages/params/src/index.ts search: export const VERSIONED_HASH_VERSION_KZG = @@ -597,7 +597,7 @@ VERSIONED_HASH_VERSION_KZG: Bytes1 = '0x01' -- name: WEIGHT_DENOMINATOR +- name: WEIGHT_DENOMINATOR#altair sources: - file: packages/params/src/index.ts search: export const WEIGHT_DENOMINATOR = @@ -606,7 +606,7 @@ WEIGHT_DENOMINATOR: uint64 = 64 -- name: WITHDRAWAL_REQUEST_TYPE +- name: WITHDRAWAL_REQUEST_TYPE#electra sources: - file: packages/params/src/index.ts search: export const WITHDRAWAL_REQUEST_TYPE = diff --git a/specrefs/containers.yml b/specrefs/containers.yml index c3f3a946351c..19d04a354f44 100644 --- a/specrefs/containers.yml +++ b/specrefs/containers.yml @@ -50,7 +50,7 @@ committee_bits: Bitvector[MAX_COMMITTEES_PER_SLOT] -- name: AttestationData +- name: AttestationData#phase0 sources: - file: packages/types/src/phase0/sszTypes.ts search: export const AttestationData = @@ -88,7 +88,7 @@ attestation_2: IndexedAttestation -- name: BLSToExecutionChange +- name: BLSToExecutionChange#capella sources: - file: packages/types/src/capella/sszTypes.ts search: export const BLSToExecutionChange = @@ -100,7 +100,7 @@ to_execution_address: ExecutionAddress -- name: BeaconBlock +- name: BeaconBlock#phase0 sources: - file: packages/types/src/phase0/sszTypes.ts search: export const BeaconBlock = @@ -268,7 +268,7 @@ payload_attestations: List[PayloadAttestation, MAX_PAYLOAD_ATTESTATIONS] -- name: BeaconBlockHeader +- name: BeaconBlockHeader#phase0 sources: - file: packages/types/src/phase0/sszTypes.ts search: export const BeaconBlockHeader = @@ -627,7 +627,7 @@ latest_withdrawals_root: Root -- name: BlobIdentifier +- name: BlobIdentifier#deneb sources: - file: packages/types/src/deneb/sszTypes.ts search: export const BlobIdentifier = @@ -638,7 +638,7 @@ index: BlobIndex -- name: BlobSidecar +- name: BlobSidecar#deneb sources: - file: packages/types/src/deneb/sszTypes.ts search: export const BlobSidecar = @@ -653,7 +653,7 @@ kzg_commitment_inclusion_proof: Vector[Bytes32, KZG_COMMITMENT_INCLUSION_PROOF_DEPTH] -- name: BuilderPendingPayment +- name: BuilderPendingPayment#gloas sources: - file: packages/types/src/gloas/sszTypes.ts search: export const BuilderPendingPayment = @@ -664,7 +664,7 @@ withdrawal: BuilderPendingWithdrawal -- name: BuilderPendingWithdrawal +- name: BuilderPendingWithdrawal#gloas sources: - file: packages/types/src/gloas/sszTypes.ts search: export const BuilderPendingWithdrawal = @@ -677,7 +677,7 @@ withdrawable_epoch: Epoch -- name: Checkpoint +- name: Checkpoint#phase0 sources: - file: packages/types/src/phase0/sszTypes.ts search: export const Checkpoint = @@ -688,7 +688,7 @@ root: Root -- name: ConsolidationRequest +- name: ConsolidationRequest#electra sources: - file: packages/types/src/electra/sszTypes.ts search: export const ConsolidationRequest = @@ -700,7 +700,7 @@ target_pubkey: BLSPubkey -- name: ContributionAndProof +- name: ContributionAndProof#altair sources: - file: packages/types/src/altair/sszTypes.ts search: export const ContributionAndProof = @@ -748,7 +748,7 @@ beacon_block_root: Root -- name: DataColumnsByRootIdentifier +- name: DataColumnsByRootIdentifier#fulu sources: - file: packages/types/src/fulu/sszTypes.ts search: export const DataColumnsByRootIdentifier = @@ -759,7 +759,7 @@ columns: List[ColumnIndex, NUMBER_OF_COLUMNS] -- name: Deposit +- name: Deposit#phase0 sources: - file: packages/types/src/phase0/sszTypes.ts search: export const Deposit = @@ -770,7 +770,7 @@ data: DepositData -- name: DepositData +- name: DepositData#phase0 sources: - file: packages/types/src/phase0/sszTypes.ts search: export const DepositData = @@ -783,7 +783,7 @@ signature: BLSSignature -- name: DepositMessage +- name: DepositMessage#phase0 sources: - file: packages/types/src/phase0/sszTypes.ts search: export const DepositMessage = @@ -795,7 +795,7 @@ amount: Gwei -- name: DepositRequest +- name: DepositRequest#electra sources: - file: packages/types/src/electra/sszTypes.ts search: export const DepositRequest = @@ -809,7 +809,7 @@ index: uint64 -- name: Eth1Block +- name: Eth1Block#phase0 sources: - file: packages/types/src/phase0/sszTypes.ts search: export const Eth1Block = @@ -821,7 +821,7 @@ deposit_count: uint64 -- name: Eth1Data +- name: Eth1Data#phase0 sources: - file: packages/types/src/phase0/sszTypes.ts search: export const Eth1Data = @@ -909,7 +909,7 @@ excess_blob_gas: uint64 -- name: ExecutionPayloadBid +- name: ExecutionPayloadBid#gloas sources: - file: packages/types/src/gloas/sszTypes.ts search: export const ExecutionPayloadBid = @@ -929,7 +929,7 @@ blob_kzg_commitments_root: Root -- name: ExecutionPayloadEnvelope +- name: ExecutionPayloadEnvelope#gloas sources: - file: packages/types/src/gloas/sszTypes.ts search: export const ExecutionPayloadEnvelope = @@ -1021,7 +1021,7 @@ excess_blob_gas: uint64 -- name: ExecutionRequests +- name: ExecutionRequests#electra sources: - file: packages/types/src/electra/sszTypes.ts search: export const ExecutionRequests = @@ -1036,7 +1036,7 @@ consolidations: List[ConsolidationRequest, MAX_CONSOLIDATION_REQUESTS_PER_PAYLOAD] -- name: Fork +- name: Fork#phase0 sources: - file: packages/types/src/phase0/sszTypes.ts search: export const Fork = @@ -1048,7 +1048,7 @@ epoch: Epoch -- name: ForkChoiceNode +- name: ForkChoiceNode#gloas sources: [] spec: | @@ -1057,7 +1057,7 @@ payload_status: PayloadStatus # One of PAYLOAD_STATUS_* values -- name: ForkData +- name: ForkData#phase0 sources: - file: packages/types/src/phase0/sszTypes.ts search: export const ForkData = @@ -1068,7 +1068,7 @@ genesis_validators_root: Root -- name: HistoricalBatch +- name: HistoricalBatch#phase0 sources: - file: packages/types/src/phase0/sszTypes.ts search: export const HistoricalBatch = @@ -1079,7 +1079,7 @@ state_roots: Vector[Root, SLOTS_PER_HISTORICAL_ROOT] -- name: HistoricalSummary +- name: HistoricalSummary#capella sources: - file: packages/types/src/capella/sszTypes.ts search: export const HistoricalSummary = @@ -1115,7 +1115,7 @@ signature: BLSSignature -- name: IndexedPayloadAttestation +- name: IndexedPayloadAttestation#gloas sources: - file: packages/types/src/gloas/sszTypes.ts search: export const IndexedPayloadAttestation = @@ -1279,7 +1279,7 @@ signature_slot: Slot -- name: MatrixEntry +- name: MatrixEntry#fulu sources: - file: packages/types/src/fulu/sszTypes.ts search: export const MatrixEntry = @@ -1292,7 +1292,7 @@ row_index: RowIndex -- name: PayloadAttestation +- name: PayloadAttestation#gloas sources: - file: packages/types/src/gloas/sszTypes.ts search: export const PayloadAttestation = @@ -1304,7 +1304,7 @@ signature: BLSSignature -- name: PayloadAttestationData +- name: PayloadAttestationData#gloas sources: - file: packages/types/src/gloas/sszTypes.ts search: export const PayloadAttestationData = @@ -1317,7 +1317,7 @@ blob_data_available: boolean -- name: PayloadAttestationMessage +- name: PayloadAttestationMessage#gloas sources: - file: packages/types/src/gloas/sszTypes.ts search: export const PayloadAttestationMessage = @@ -1329,7 +1329,7 @@ signature: BLSSignature -- name: PendingAttestation +- name: PendingAttestation#phase0 sources: - file: packages/types/src/phase0/sszTypes.ts search: export const PendingAttestation = @@ -1342,7 +1342,7 @@ proposer_index: ValidatorIndex -- name: PendingConsolidation +- name: PendingConsolidation#electra sources: - file: packages/types/src/electra/sszTypes.ts search: export const PendingConsolidation = @@ -1353,7 +1353,7 @@ target_index: ValidatorIndex -- name: PendingDeposit +- name: PendingDeposit#electra sources: - file: packages/types/src/electra/sszTypes.ts search: export const PendingDeposit = @@ -1367,7 +1367,7 @@ slot: Slot -- name: PendingPartialWithdrawal +- name: PendingPartialWithdrawal#electra sources: - file: packages/types/src/electra/sszTypes.ts search: export const PendingPartialWithdrawal = @@ -1379,7 +1379,7 @@ withdrawable_epoch: Epoch -- name: PowBlock +- name: PowBlock#bellatrix sources: - file: packages/types/src/bellatrix/sszTypes.ts search: export const PowBlock = @@ -1391,7 +1391,7 @@ total_difficulty: uint256 -- name: ProposerSlashing +- name: ProposerSlashing#phase0 sources: - file: packages/types/src/phase0/sszTypes.ts search: export const ProposerSlashing = @@ -1425,7 +1425,7 @@ signature: BLSSignature -- name: SignedBLSToExecutionChange +- name: SignedBLSToExecutionChange#capella sources: - file: packages/types/src/capella/sszTypes.ts search: export const SignedBLSToExecutionChange = @@ -1436,7 +1436,7 @@ signature: BLSSignature -- name: SignedBeaconBlock +- name: SignedBeaconBlock#phase0 sources: - file: packages/types/src/phase0/sszTypes.ts search: export const SignedBeaconBlock = @@ -1447,7 +1447,7 @@ signature: BLSSignature -- name: SignedBeaconBlockHeader +- name: SignedBeaconBlockHeader#phase0 sources: - file: packages/types/src/phase0/sszTypes.ts search: export const SignedBeaconBlockHeader = @@ -1458,7 +1458,7 @@ signature: BLSSignature -- name: SignedContributionAndProof +- name: SignedContributionAndProof#altair sources: - file: packages/types/src/altair/sszTypes.ts search: export const SignedContributionAndProof = @@ -1469,7 +1469,7 @@ signature: BLSSignature -- name: SignedExecutionPayloadBid +- name: SignedExecutionPayloadBid#gloas sources: - file: packages/types/src/gloas/sszTypes.ts search: export const SignedExecutionPayloadBid = @@ -1480,7 +1480,7 @@ signature: BLSSignature -- name: SignedExecutionPayloadEnvelope +- name: SignedExecutionPayloadEnvelope#gloas sources: - file: packages/types/src/gloas/sszTypes.ts search: export const SignedExecutionPayloadEnvelope = @@ -1491,7 +1491,7 @@ signature: BLSSignature -- name: SignedVoluntaryExit +- name: SignedVoluntaryExit#phase0 sources: - file: packages/types/src/phase0/sszTypes.ts search: export const SignedVoluntaryExit = @@ -1502,7 +1502,7 @@ signature: BLSSignature -- name: SigningData +- name: SigningData#phase0 sources: - file: packages/types/src/phase0/sszTypes.ts search: export const SigningData = @@ -1513,7 +1513,7 @@ domain: Domain -- name: SingleAttestation +- name: SingleAttestation#electra sources: - file: packages/types/src/electra/sszTypes.ts search: export const SingleAttestation = @@ -1526,7 +1526,7 @@ signature: BLSSignature -- name: SyncAggregate +- name: SyncAggregate#altair sources: - file: packages/types/src/altair/sszTypes.ts search: export const SyncAggregate = @@ -1537,7 +1537,7 @@ sync_committee_signature: BLSSignature -- name: SyncAggregatorSelectionData +- name: SyncAggregatorSelectionData#altair sources: - file: packages/types/src/altair/sszTypes.ts search: export const SyncAggregatorSelectionData = @@ -1548,7 +1548,7 @@ subcommittee_index: uint64 -- name: SyncCommittee +- name: SyncCommittee#altair sources: - file: packages/types/src/altair/sszTypes.ts search: export const SyncCommittee = @@ -1559,7 +1559,7 @@ aggregate_pubkey: BLSPubkey -- name: SyncCommitteeContribution +- name: SyncCommitteeContribution#altair sources: - file: packages/types/src/altair/sszTypes.ts search: export const SyncCommitteeContribution = @@ -1573,7 +1573,7 @@ signature: BLSSignature -- name: SyncCommitteeMessage +- name: SyncCommitteeMessage#altair sources: - file: packages/types/src/altair/sszTypes.ts search: export const SyncCommitteeMessage = @@ -1586,7 +1586,7 @@ signature: BLSSignature -- name: Validator +- name: Validator#phase0 sources: - file: packages/types/src/phase0/sszTypes.ts search: export const Validator = @@ -1603,7 +1603,7 @@ withdrawable_epoch: Epoch -- name: VoluntaryExit +- name: VoluntaryExit#phase0 sources: - file: packages/types/src/phase0/sszTypes.ts search: export const VoluntaryExit = @@ -1614,7 +1614,7 @@ validator_index: ValidatorIndex -- name: Withdrawal +- name: Withdrawal#capella sources: - file: packages/types/src/capella/sszTypes.ts search: export const Withdrawal = @@ -1627,7 +1627,7 @@ amount: Gwei -- name: WithdrawalRequest +- name: WithdrawalRequest#electra sources: - file: packages/types/src/electra/sszTypes.ts search: export const WithdrawalRequest = diff --git a/specrefs/dataclasses.yml b/specrefs/dataclasses.yml index 4a9435a266dd..34dabd4e20e5 100644 --- a/specrefs/dataclasses.yml +++ b/specrefs/dataclasses.yml @@ -1,4 +1,4 @@ -- name: BlobParameters +- name: BlobParameters#fulu sources: - file: packages/config/src/forkConfig/types.ts search: export type BlobParameters = @@ -203,7 +203,7 @@ execution_requests: ExecutionRequests -- name: OptimisticStore +- name: OptimisticStore#bellatrix sources: [] spec: | diff --git a/specrefs/functions.yml b/specrefs/functions.yml index cd652db59e5d..ae3fcae6bb29 100644 --- a/specrefs/functions.yml +++ b/specrefs/functions.yml @@ -1,4 +1,4 @@ -- name: add_flag +- name: add_flag#altair sources: [] spec: | @@ -128,7 +128,7 @@ ) -- name: apply_light_client_update +- name: apply_light_client_update#altair sources: [] spec: | @@ -151,7 +151,7 @@ store.optimistic_header = store.finalized_header -- name: apply_pending_deposit +- name: apply_pending_deposit#electra sources: - file: packages/state-transition/src/epoch/processPendingDeposits.ts search: function applyPendingDeposit( @@ -303,7 +303,7 @@ ) -- name: bytes_to_uint64 +- name: bytes_to_uint64#phase0 sources: [] spec: | @@ -314,7 +314,7 @@ return uint64(int.from_bytes(data, ENDIANNESS)) -- name: calculate_committee_fraction +- name: calculate_committee_fraction#phase0 sources: - file: packages/fork-choice/src/forkChoice/forkChoice.ts search: export function getCommitteeFraction( @@ -325,7 +325,7 @@ return Gwei((committee_weight * committee_percent) // 100) -- name: check_if_validator_active +- name: check_if_validator_active#phase0 sources: - file: packages/state-transition/src/util/validator.ts search: export function isActiveValidator( @@ -336,7 +336,7 @@ return is_active_validator(validator, get_current_epoch(state)) -- name: compute_activation_exit_epoch +- name: compute_activation_exit_epoch#phase0 sources: - file: packages/state-transition/src/util/epoch.ts search: export function computeActivationExitEpoch( @@ -349,7 +349,7 @@ return Epoch(epoch + 1 + MAX_SEED_LOOKAHEAD) -- name: compute_balance_weighted_acceptance +- name: compute_balance_weighted_acceptance#gloas sources: [] spec: | @@ -368,7 +368,7 @@ return effective_balance * MAX_RANDOM_VALUE >= MAX_EFFECTIVE_BALANCE_ELECTRA * random_value -- name: compute_balance_weighted_selection +- name: compute_balance_weighted_selection#gloas sources: [] spec: | @@ -400,7 +400,7 @@ return selected -- name: compute_columns_for_custody_group +- name: compute_columns_for_custody_group#fulu sources: - file: packages/beacon-node/src/util/dataColumns.ts search: export function computeColumnsForCustodyGroup( @@ -414,7 +414,7 @@ ] -- name: compute_committee +- name: compute_committee#phase0 sources: - file: packages/state-transition/src/util/epochShuffling.ts search: function buildCommitteesFromShuffling( @@ -434,7 +434,7 @@ ] -- name: compute_consolidation_epoch_and_update_churn +- name: compute_consolidation_epoch_and_update_churn#electra sources: - file: packages/state-transition/src/util/epoch.ts search: export function computeConsolidationEpochAndUpdateChurn( @@ -469,7 +469,7 @@ return state.earliest_consolidation_epoch -- name: compute_domain +- name: compute_domain#phase0 sources: - file: packages/state-transition/src/util/domain.ts search: export function computeDomain( @@ -489,7 +489,7 @@ return Domain(domain_type + fork_data_root[:28]) -- name: compute_epoch_at_slot +- name: compute_epoch_at_slot#phase0 sources: - file: packages/state-transition/src/util/epoch.ts search: export function computeEpochAtSlot( @@ -502,7 +502,7 @@ return Epoch(slot // SLOTS_PER_EPOCH) -- name: compute_exit_epoch_and_update_churn +- name: compute_exit_epoch_and_update_churn#electra sources: - file: packages/state-transition/src/util/epoch.ts search: export function computeExitEpochAndUpdateChurn( @@ -533,7 +533,7 @@ return state.earliest_exit_epoch -- name: compute_fork_data_root +- name: compute_fork_data_root#phase0 sources: - file: packages/state-transition/src/util/domain.ts search: export function computeForkDataRoot( @@ -752,7 +752,7 @@ return GENESIS_FORK_VERSION -- name: compute_matrix +- name: compute_matrix#fulu sources: - file: packages/beacon-node/src/util/dataColumns.ts search: export async function getCellsAndProofs( @@ -780,14 +780,14 @@ return matrix -- name: compute_merkle_proof +- name: compute_merkle_proof#altair sources: [] spec: | def compute_merkle_proof(object: SSZObject, index: GeneralizedIndex) -> Sequence[Bytes32]: ... -- name: compute_new_state_root +- name: compute_new_state_root#phase0 sources: - file: packages/beacon-node/src/chain/produceBlock/computeNewStateRoot.ts search: export function computeNewStateRoot( @@ -800,7 +800,7 @@ return hash_tree_root(temp_state) -- name: compute_on_chain_aggregate +- name: compute_on_chain_aggregate#electra sources: [] spec: | @@ -920,7 +920,7 @@ ] -- name: compute_pulled_up_tip +- name: compute_pulled_up_tip#phase0 sources: - file: packages/fork-choice/src/forkChoice/forkChoice.ts search: // same logic to compute_pulled_up_tip in the spec @@ -943,7 +943,7 @@ update_checkpoints(store, state.current_justified_checkpoint, state.finalized_checkpoint) -- name: compute_shuffled_index +- name: compute_shuffled_index#phase0 sources: - file: packages/state-transition/src/util/seed.ts search: export function computeShuffledIndex( @@ -971,7 +971,7 @@ return index -- name: compute_signed_block_header +- name: compute_signed_block_header#deneb sources: - file: packages/state-transition/src/util/blockRoot.ts search: export function signedBlockToSignedHeader( @@ -989,7 +989,7 @@ return SignedBeaconBlockHeader(message=block_header, signature=signed_block.signature) -- name: compute_signing_root +- name: compute_signing_root#phase0 sources: - file: packages/state-transition/src/util/signingRoot.ts search: export function computeSigningRoot( @@ -1007,7 +1007,7 @@ ) -- name: compute_slots_since_epoch_start +- name: compute_slots_since_epoch_start#phase0 sources: - file: packages/state-transition/src/util/slot.ts search: export function computeSlotsSinceEpochStart( @@ -1017,7 +1017,7 @@ return slot - compute_start_slot_at_epoch(compute_epoch_at_slot(slot)) -- name: compute_start_slot_at_epoch +- name: compute_start_slot_at_epoch#phase0 sources: - file: packages/state-transition/src/util/epoch.ts search: export function computeStartSlotAtEpoch( @@ -1030,7 +1030,7 @@ return Slot(epoch * SLOTS_PER_EPOCH) -- name: compute_subnet_for_attestation +- name: compute_subnet_for_attestation#phase0 sources: - file: packages/beacon-node/src/chain/validation/attestation.ts search: export function computeSubnetForSlot( @@ -1069,7 +1069,7 @@ return SubnetID(blob_index % BLOB_SIDECAR_SUBNET_COUNT_ELECTRA) -- name: compute_subnet_for_data_column_sidecar +- name: compute_subnet_for_data_column_sidecar#fulu sources: - file: packages/beacon-node/src/chain/validation/dataColumnSidecar.ts search: export function computeSubnetForDataColumnSidecar( @@ -1079,7 +1079,7 @@ return SubnetID(column_index % DATA_COLUMN_SIDECAR_SUBNET_COUNT) -- name: compute_subnets_for_sync_committee +- name: compute_subnets_for_sync_committee#altair sources: [] spec: | @@ -1106,7 +1106,7 @@ ) -- name: compute_subscribed_subnet +- name: compute_subscribed_subnet#phase0 sources: - file: packages/beacon-node/src/network/subnets/util.ts search: export function computeSubscribedSubnetByIndex( @@ -1126,7 +1126,7 @@ return SubnetID((permutated_prefix + index) % ATTESTATION_SUBNET_COUNT) -- name: compute_subscribed_subnets +- name: compute_subscribed_subnets#phase0 sources: - file: packages/beacon-node/src/network/subnets/util.ts search: export function computeSubscribedSubnet( @@ -1136,7 +1136,7 @@ return [compute_subscribed_subnet(node_id, epoch, index) for index in range(SUBNETS_PER_NODE)] -- name: compute_sync_committee_period +- name: compute_sync_committee_period#altair sources: - file: packages/state-transition/src/util/epoch.ts search: export function computeSyncPeriodAtEpoch( @@ -1146,7 +1146,7 @@ return epoch // EPOCHS_PER_SYNC_COMMITTEE_PERIOD -- name: compute_sync_committee_period_at_slot +- name: compute_sync_committee_period_at_slot#altair sources: - file: packages/state-transition/src/util/epoch.ts search: export function computeSyncPeriodAtSlot( @@ -1156,7 +1156,7 @@ return compute_sync_committee_period(compute_epoch_at_slot(slot)) -- name: compute_time_at_slot +- name: compute_time_at_slot#phase0 sources: - file: packages/state-transition/src/util/slot.ts search: export function computeTimeAtSlot( @@ -1222,7 +1222,7 @@ return MIN_VALIDATOR_WITHDRAWABILITY_DELAY + epochs_for_validator_set_churn -- name: create_light_client_bootstrap +- name: create_light_client_bootstrap#altair sources: [] spec: | @@ -1245,7 +1245,7 @@ ) -- name: create_light_client_finality_update +- name: create_light_client_finality_update#altair sources: [] spec: | @@ -1259,7 +1259,7 @@ ) -- name: create_light_client_optimistic_update +- name: create_light_client_optimistic_update#altair sources: [] spec: | @@ -1271,7 +1271,7 @@ ) -- name: create_light_client_update +- name: create_light_client_update#altair sources: [] spec: | @@ -1358,7 +1358,7 @@ return CURRENT_SYNC_COMMITTEE_GINDEX -- name: decrease_balance +- name: decrease_balance#phase0 sources: - file: packages/state-transition/src/util/balance.ts search: export function decreaseBalance( @@ -1371,7 +1371,7 @@ state.balances[index] = 0 if delta > state.balances[index] else state.balances[index] - delta -- name: eth_aggregate_pubkeys +- name: eth_aggregate_pubkeys#altair sources: [] spec: | @@ -1394,7 +1394,7 @@ return result -- name: eth_fast_aggregate_verify +- name: eth_fast_aggregate_verify#altair sources: [] spec: | @@ -1409,7 +1409,7 @@ return bls.FastAggregateVerify(pubkeys, message, signature) -- name: filter_block_tree +- name: filter_block_tree#phase0 sources: - file: packages/fork-choice/src/protoArray/protoArray.ts search: '^\s+nodeIsViableForHead\(node:' @@ -1483,7 +1483,7 @@ return FINALIZED_ROOT_GINDEX -- name: get_activation_exit_churn_limit +- name: get_activation_exit_churn_limit#electra sources: - file: packages/state-transition/src/util/validator.ts search: export function getActivationExitChurnLimit( @@ -1496,7 +1496,7 @@ return min(MAX_PER_EPOCH_ACTIVATION_EXIT_CHURN_LIMIT, get_balance_churn_limit(state)) -- name: get_active_validator_indices +- name: get_active_validator_indices#phase0 sources: - file: packages/state-transition/src/util/validator.ts search: export function getActiveValidatorIndices( @@ -1511,7 +1511,7 @@ ] -- name: get_aggregate_and_proof +- name: get_aggregate_and_proof#phase0 sources: - file: packages/validator/src/services/validatorStore.ts search: async signAggregateAndProof( @@ -1527,7 +1527,7 @@ ) -- name: get_aggregate_and_proof_signature +- name: get_aggregate_and_proof_signature#phase0 sources: - file: packages/validator/src/services/validatorStore.ts search: async signAggregateAndProof( @@ -1567,7 +1567,7 @@ return get_slot_component_duration_ms(AGGREGATE_DUE_BPS) -- name: get_aggregate_signature +- name: get_aggregate_signature#phase0 sources: [] spec: | @@ -1614,7 +1614,7 @@ ) -- name: get_attestation_component_deltas +- name: get_attestation_component_deltas#phase0 sources: [] spec: | @@ -1644,7 +1644,7 @@ return rewards, penalties -- name: get_attestation_deltas +- name: get_attestation_deltas#phase0 sources: - file: packages/state-transition/src/epoch/getAttestationDeltas.ts search: export function getAttestationDeltas( @@ -1831,7 +1831,7 @@ return participation_flag_indices -- name: get_attestation_signature +- name: get_attestation_signature#phase0 sources: - file: packages/validator/src/services/validatorStore.ts search: async signAttestation( @@ -1845,7 +1845,7 @@ return bls.Sign(privkey, signing_root) -- name: get_attesting_balance +- name: get_attesting_balance#phase0 sources: [] spec: | @@ -1898,7 +1898,7 @@ return output -- name: get_balance_churn_limit +- name: get_balance_churn_limit#electra sources: - file: packages/state-transition/src/util/validator.ts search: export function getBalanceChurnLimit( @@ -1941,7 +1941,7 @@ return Gwei(increments * get_base_reward_per_increment(state)) -- name: get_base_reward_per_increment +- name: get_base_reward_per_increment#altair sources: - file: packages/state-transition/src/util/syncCommittee.ts search: export function computeBaseRewardPerIncrement( @@ -1955,7 +1955,7 @@ ) -- name: get_beacon_committee +- name: get_beacon_committee#phase0 sources: - file: packages/state-transition/src/cache/epochCache.ts search: "getBeaconCommittee(slot: Slot, index: CommitteeIndex)" @@ -2006,7 +2006,7 @@ return state.proposer_lookahead[state.slot % SLOTS_PER_EPOCH] -- name: get_beacon_proposer_indices +- name: get_beacon_proposer_indices#fulu sources: [] spec: | @@ -2021,7 +2021,7 @@ return compute_proposer_indices(state, epoch, seed, indices) -- name: get_blob_parameters +- name: get_blob_parameters#fulu sources: - file: packages/config/src/forkConfig/index.ts search: "getBlobParameters(epoch: Epoch): BlobParameters {" @@ -2037,7 +2037,7 @@ return BlobParameters(ELECTRA_FORK_EPOCH, MAX_BLOBS_PER_BLOCK_ELECTRA) -- name: get_blob_sidecars +- name: get_blob_sidecars#deneb sources: - file: packages/beacon-node/src/util/blobs.ts search: export function getBlobSidecars( @@ -2064,7 +2064,7 @@ ] -- name: get_block_root +- name: get_block_root#phase0 sources: - file: packages/state-transition/src/util/blockRoot.ts search: export function getBlockRoot( @@ -2077,7 +2077,7 @@ return get_block_root_at_slot(state, compute_start_slot_at_epoch(epoch)) -- name: get_block_root_at_slot +- name: get_block_root_at_slot#phase0 sources: - file: packages/state-transition/src/util/blockRoot.ts search: export function getBlockRootAtSlot( @@ -2091,7 +2091,7 @@ return state.block_roots[slot % SLOTS_PER_HISTORICAL_ROOT] -- name: get_block_signature +- name: get_block_signature#phase0 sources: - file: packages/validator/src/services/validatorStore.ts search: async signBlock( @@ -2103,7 +2103,7 @@ return bls.Sign(privkey, signing_root) -- name: get_builder_payment_quorum_threshold +- name: get_builder_payment_quorum_threshold#gloas sources: - file: packages/state-transition/src/util/gloas.ts search: export function getBuilderPaymentQuorumThreshold( @@ -2142,7 +2142,7 @@ return get_ancestor(store, root, epoch_first_slot).root -- name: get_committee_assignment +- name: get_committee_assignment#phase0 sources: - file: packages/state-transition/src/cache/epochCache.ts search: getCommitteeAssignments( @@ -2172,7 +2172,7 @@ return None -- name: get_committee_count_per_slot +- name: get_committee_count_per_slot#phase0 sources: - file: packages/state-transition/src/util/epochShuffling.ts search: export function computeCommitteeCount( @@ -2193,7 +2193,7 @@ ) -- name: get_committee_indices +- name: get_committee_indices#electra sources: [] spec: | @@ -2201,7 +2201,7 @@ return [CommitteeIndex(index) for index, bit in enumerate(committee_bits) if bit] -- name: get_consolidation_churn_limit +- name: get_consolidation_churn_limit#electra sources: - file: packages/state-transition/src/util/validator.ts search: export function getConsolidationChurnLimit( @@ -2211,7 +2211,7 @@ return get_balance_churn_limit(state) - get_activation_exit_churn_limit(state) -- name: get_contribution_and_proof +- name: get_contribution_and_proof#altair sources: - file: packages/validator/src/services/validatorStore.ts search: async signContributionAndProof( @@ -2236,7 +2236,7 @@ ) -- name: get_contribution_and_proof_signature +- name: get_contribution_and_proof_signature#altair sources: - file: packages/validator/src/services/validatorStore.ts search: async signContributionAndProof( @@ -2276,7 +2276,7 @@ return get_slot_component_duration_ms(CONTRIBUTION_DUE_BPS) -- name: get_current_epoch +- name: get_current_epoch#phase0 sources: - file: packages/state-transition/src/util/epoch.ts search: export function getCurrentEpoch( @@ -2289,7 +2289,7 @@ return compute_epoch_at_slot(state.slot) -- name: get_current_slot +- name: get_current_slot#phase0 sources: - file: packages/state-transition/src/util/slot.ts search: export function getCurrentSlot( @@ -2299,7 +2299,7 @@ return Slot(GENESIS_SLOT + get_slots_since_genesis(store)) -- name: get_current_store_epoch +- name: get_current_store_epoch#phase0 sources: [] spec: | @@ -2307,7 +2307,7 @@ return compute_epoch_at_slot(get_current_slot(store)) -- name: get_custody_groups +- name: get_custody_groups#fulu sources: - file: packages/beacon-node/src/util/dataColumns.ts search: export function getCustodyGroups( @@ -2525,7 +2525,7 @@ ) -- name: get_domain +- name: get_domain#phase0 sources: - file: packages/config/src/genesisConfig/index.ts search: "getDomain(domainSlot: Slot, domainType: DomainType, messageSlot?: Slot)" @@ -2542,7 +2542,7 @@ return compute_domain(domain_type, fork_version, state.genesis_validators_root) -- name: get_eligible_validator_indices +- name: get_eligible_validator_indices#phase0 sources: [] spec: | @@ -2556,7 +2556,7 @@ ] -- name: get_epoch_signature +- name: get_epoch_signature#phase0 sources: - file: packages/validator/src/services/validatorStore.ts search: async signRandao( @@ -2568,7 +2568,7 @@ return bls.Sign(privkey, signing_root) -- name: get_eth1_pending_deposit_count +- name: get_eth1_pending_deposit_count#electra sources: [] spec: | @@ -2662,7 +2662,7 @@ ) -- name: get_execution_payload +- name: get_execution_payload#bellatrix sources: [] spec: | @@ -2676,7 +2676,7 @@ return execution_engine.get_payload(payload_id).execution_payload -- name: get_execution_payload_bid_signature +- name: get_execution_payload_bid_signature#gloas sources: [] spec: | @@ -2688,7 +2688,7 @@ return bls.Sign(privkey, signing_root) -- name: get_execution_payload_envelope_signature +- name: get_execution_payload_envelope_signature#gloas sources: [] spec: | @@ -2700,7 +2700,7 @@ return bls.Sign(privkey, signing_root) -- name: get_execution_requests +- name: get_execution_requests#electra sources: [] spec: | @@ -2748,7 +2748,7 @@ ) -- name: get_execution_requests_list +- name: get_execution_requests_list#electra sources: - file: packages/beacon-node/src/execution/engine/types.ts search: export function serializeExecutionRequests( @@ -3005,7 +3005,7 @@ ) -- name: get_filtered_block_tree +- name: get_filtered_block_tree#phase0 sources: [] spec: | @@ -3020,7 +3020,7 @@ return blocks -- name: get_finality_delay +- name: get_finality_delay#phase0 sources: - file: packages/state-transition/src/util/finality.ts search: export function getFinalityDelay( @@ -3030,7 +3030,7 @@ return get_previous_epoch(state) - state.finalized_checkpoint.epoch -- name: get_flag_index_deltas +- name: get_flag_index_deltas#altair sources: - file: packages/state-transition/src/epoch/getRewardsAndPenalties.ts search: // same logic to getFlagIndexDeltas @@ -3171,7 +3171,7 @@ ) -- name: get_head_deltas +- name: get_head_deltas#phase0 sources: [] spec: | @@ -3269,7 +3269,7 @@ return rewards, penalties -- name: get_inclusion_delay_deltas +- name: get_inclusion_delay_deltas#phase0 sources: [] spec: | @@ -3297,7 +3297,7 @@ return rewards, penalties -- name: get_index_for_new_validator +- name: get_index_for_new_validator#altair sources: - file: packages/state-transition/src/block/processDeposit.ts search: export function addValidatorToRegistry( @@ -3307,7 +3307,7 @@ return ValidatorIndex(len(state.validators)) -- name: get_indexed_attestation +- name: get_indexed_attestation#phase0 sources: - file: packages/state-transition/src/cache/epochCache.ts search: "getIndexedAttestation(fork: ForkSeq, attestation: Attestation)" @@ -3326,7 +3326,7 @@ ) -- name: get_indexed_payload_attestation +- name: get_indexed_payload_attestation#gloas sources: - file: packages/state-transition/src/cache/epochCache.ts search: '^\s+getIndexedPayloadAttestation\(' @@ -3455,7 +3455,7 @@ return Root() -- name: get_matching_head_attestations +- name: get_matching_head_attestations#phase0 sources: [] spec: | @@ -3469,7 +3469,7 @@ ] -- name: get_matching_source_attestations +- name: get_matching_source_attestations#phase0 sources: [] spec: | @@ -3484,7 +3484,7 @@ ) -- name: get_matching_target_attestations +- name: get_matching_target_attestations#phase0 sources: [] spec: | @@ -3498,7 +3498,7 @@ ] -- name: get_max_effective_balance +- name: get_max_effective_balance#electra sources: - file: packages/state-transition/src/util/validator.ts search: export function getMaxEffectiveBalance( @@ -3514,7 +3514,7 @@ return MIN_ACTIVATION_BALANCE -- name: get_next_sync_committee +- name: get_next_sync_committee#altair sources: - file: packages/state-transition/src/util/syncCommittee.ts search: export function getNextSyncCommittee( @@ -3613,7 +3613,7 @@ ) -- name: get_node_children +- name: get_node_children#gloas sources: [] spec: | @@ -3636,7 +3636,7 @@ ] -- name: get_parent_payload_status +- name: get_parent_payload_status#gloas sources: [] spec: | @@ -3647,7 +3647,7 @@ return PAYLOAD_STATUS_FULL if parent_block_hash == message_block_hash else PAYLOAD_STATUS_EMPTY -- name: get_payload_attestation_due_ms +- name: get_payload_attestation_due_ms#gloas sources: [] spec: | @@ -3655,7 +3655,7 @@ return get_slot_component_duration_ms(PAYLOAD_ATTESTATION_DUE_BPS) -- name: get_payload_attestation_message_signature +- name: get_payload_attestation_message_signature#gloas sources: [] spec: | @@ -3667,7 +3667,7 @@ return bls.Sign(privkey, signing_root) -- name: get_payload_status_tiebreaker +- name: get_payload_status_tiebreaker#gloas sources: [] spec: | @@ -3725,7 +3725,7 @@ ) -- name: get_pow_block_at_terminal_total_difficulty +- name: get_pow_block_at_terminal_total_difficulty#bellatrix sources: [] spec: | @@ -3747,7 +3747,7 @@ return None -- name: get_previous_epoch +- name: get_previous_epoch#phase0 sources: - file: packages/state-transition/src/util/epoch.ts search: export function getPreviousEpoch( @@ -3761,7 +3761,7 @@ return GENESIS_EPOCH if current_epoch == GENESIS_EPOCH else Epoch(current_epoch - 1) -- name: get_proposer_head +- name: get_proposer_head#phase0 sources: - file: packages/fork-choice/src/forkChoice/forkChoice.ts search: "* Same as https://github.com/ethereum/consensus-specs/blob/v1.4.0-beta.4/specs/phase0/fork-choice.md#get_proposer_head" @@ -3817,7 +3817,7 @@ return head_root -- name: get_proposer_reorg_cutoff_ms +- name: get_proposer_reorg_cutoff_ms#phase0 sources: - file: packages/config/src/forkConfig/index.ts search: "getProposerReorgCutoffMs(_fork: ForkName): number {" @@ -3827,7 +3827,7 @@ return get_slot_component_duration_ms(PROPOSER_REORG_CUTOFF_BPS) -- name: get_proposer_reward +- name: get_proposer_reward#phase0 sources: [] spec: | @@ -3835,7 +3835,7 @@ return Gwei(get_base_reward(state, attesting_index) // PROPOSER_REWARD_QUOTIENT) -- name: get_proposer_score +- name: get_proposer_score#phase0 sources: [] spec: | @@ -3845,7 +3845,7 @@ return (committee_weight * PROPOSER_SCORE_BOOST) // 100 -- name: get_ptc +- name: get_ptc#gloas sources: - file: packages/state-transition/src/cache/epochCache.ts search: '^\s+getPayloadTimelinessCommittee\(' @@ -3869,7 +3869,7 @@ ) -- name: get_ptc_assignment +- name: get_ptc_assignment#gloas sources: [] spec: | @@ -3891,7 +3891,7 @@ return None -- name: get_randao_mix +- name: get_randao_mix#phase0 sources: - file: packages/state-transition/src/util/seed.ts search: export function getRandaoMix( @@ -3904,7 +3904,7 @@ return state.randao_mixes[epoch % EPOCHS_PER_HISTORICAL_VECTOR] -- name: get_safety_threshold +- name: get_safety_threshold#altair sources: - file: packages/light-client/src/spec/utils.ts search: export function getSafetyThreshold( @@ -3920,7 +3920,7 @@ ) -- name: get_seed +- name: get_seed#phase0 sources: - file: packages/state-transition/src/util/seed.ts search: export function getSeed( @@ -3936,7 +3936,7 @@ return hash(domain_type + uint_to_bytes(epoch) + mix) -- name: get_slot_component_duration_ms +- name: get_slot_component_duration_ms#phase0 sources: - file: packages/config/src/forkConfig/index.ts search: "getSlotComponentDurationMs(basisPoints: number): number {" @@ -3949,7 +3949,7 @@ return basis_points * SLOT_DURATION_MS // BASIS_POINTS -- name: get_slot_signature +- name: get_slot_signature#phase0 sources: - file: packages/validator/src/services/validatorStore.ts search: async signAttestationSelectionProof( @@ -3961,7 +3961,7 @@ return bls.Sign(privkey, signing_root) -- name: get_slots_since_genesis +- name: get_slots_since_genesis#phase0 sources: - file: packages/state-transition/src/util/slot.ts search: export function getSlotsSinceGenesis( @@ -3971,7 +3971,7 @@ return (store.time - store.genesis_time) // SECONDS_PER_SLOT -- name: get_source_deltas +- name: get_source_deltas#phase0 sources: [] spec: | @@ -3985,7 +3985,7 @@ return get_attestation_component_deltas(state, matching_source_attestations) -- name: get_subtree_index +- name: get_subtree_index#altair sources: [] spec: | @@ -3993,7 +3993,7 @@ return uint64(generalized_index % 2 ** (floorlog2(generalized_index))) -- name: get_sync_committee_message +- name: get_sync_committee_message#altair sources: - file: packages/validator/src/services/validatorStore.ts search: async signSyncCommitteeSignature( @@ -4015,7 +4015,7 @@ ) -- name: get_sync_committee_selection_proof +- name: get_sync_committee_selection_proof#altair sources: - file: packages/validator/src/services/validatorStore.ts search: async signSyncCommitteeSelectionProof( @@ -4056,7 +4056,7 @@ return get_slot_component_duration_ms(SYNC_MESSAGE_DUE_BPS) -- name: get_sync_subcommittee_pubkeys +- name: get_sync_subcommittee_pubkeys#altair sources: [] spec: | @@ -4079,7 +4079,7 @@ return sync_committee.pubkeys[i : i + sync_subcommittee_size] -- name: get_target_deltas +- name: get_target_deltas#phase0 sources: [] spec: | @@ -4093,7 +4093,7 @@ return get_attestation_component_deltas(state, matching_target_attestations) -- name: get_terminal_pow_block +- name: get_terminal_pow_block#bellatrix sources: [] spec: | @@ -4108,7 +4108,7 @@ return get_pow_block_at_terminal_total_difficulty(pow_chain) -- name: get_total_active_balance +- name: get_total_active_balance#phase0 sources: [] spec: | @@ -4122,7 +4122,7 @@ ) -- name: get_total_balance +- name: get_total_balance#phase0 sources: - file: packages/state-transition/src/util/balance.ts search: export function getTotalBalance( @@ -4142,7 +4142,7 @@ ) -- name: get_unslashed_attesting_indices +- name: get_unslashed_attesting_indices#phase0 sources: [] spec: | @@ -4155,7 +4155,7 @@ return set(filter(lambda index: not state.validators[index].slashed, output)) -- name: get_unslashed_participating_indices +- name: get_unslashed_participating_indices#altair sources: [] spec: | @@ -4177,7 +4177,7 @@ return set(filter(lambda index: not state.validators[index].slashed, participating_indices)) -- name: get_validator_activation_churn_limit +- name: get_validator_activation_churn_limit#deneb sources: - file: packages/state-transition/src/util/validator.ts search: export function getActivationChurnLimit( @@ -4190,7 +4190,7 @@ return min(MAX_PER_EPOCH_ACTIVATION_CHURN_LIMIT, get_validator_churn_limit(state)) -- name: get_validator_churn_limit +- name: get_validator_churn_limit#phase0 sources: - file: packages/state-transition/src/util/validator.ts search: export function getChurnLimit( @@ -4258,7 +4258,7 @@ return validator -- name: get_validators_custody_requirement +- name: get_validators_custody_requirement#fulu sources: - file: packages/beacon-node/src/util/dataColumns.ts search: export function getValidatorsCustodyRequirement( @@ -4274,7 +4274,7 @@ return min(max(count, VALIDATOR_CUSTODY_REQUIREMENT), NUMBER_OF_CUSTODY_GROUPS) -- name: get_voting_source +- name: get_voting_source#phase0 sources: [] spec: | @@ -4378,7 +4378,7 @@ return Gwei(0) -- name: has_builder_withdrawal_credential +- name: has_builder_withdrawal_credential#gloas sources: - file: packages/state-transition/src/util/gloas.ts search: export function hasBuilderWithdrawalCredential( @@ -4419,7 +4419,7 @@ return False -- name: has_eth1_withdrawal_credential +- name: has_eth1_withdrawal_credential#capella sources: - file: packages/state-transition/src/util/capella.ts search: export function hasEth1WithdrawalCredential( @@ -4432,7 +4432,7 @@ return validator.withdrawal_credentials[:1] == ETH1_ADDRESS_WITHDRAWAL_PREFIX -- name: has_execution_withdrawal_credential +- name: has_execution_withdrawal_credential#electra sources: - file: packages/state-transition/src/util/electra.ts search: export function hasExecutionWithdrawalCredential( @@ -4448,7 +4448,7 @@ ) -- name: has_flag +- name: has_flag#altair sources: - file: packages/state-transition/src/util/attesterStatus.ts search: "/** Same to https://github.com/ethereum/eth2.0-specs/blob/v1.1.0-alpha.5/specs/altair/beacon-chain.md#has_flag */" @@ -4462,7 +4462,7 @@ return flags & flag == flag -- name: increase_balance +- name: increase_balance#phase0 sources: - file: packages/state-transition/src/util/balance.ts search: export function increaseBalance( @@ -4475,7 +4475,7 @@ state.balances[index] += delta -- name: initialize_beacon_state_from_eth1 +- name: initialize_beacon_state_from_eth1#phase0 sources: - file: packages/state-transition/src/util/genesis.ts search: export function initializeBeaconStateFromEth1( @@ -4521,7 +4521,7 @@ return state -- name: initialize_light_client_store +- name: initialize_light_client_store#altair sources: - file: packages/light-client/src/spec/store.ts search: export class LightClientStore @@ -4551,7 +4551,7 @@ ) -- name: initialize_proposer_lookahead +- name: initialize_proposer_lookahead#fulu sources: - file: packages/state-transition/src/util/fulu.ts search: export function initializeProposerLookahead( @@ -4621,7 +4621,7 @@ validator.withdrawable_epoch = Epoch(validator.exit_epoch + MIN_VALIDATOR_WITHDRAWABILITY_DELAY) -- name: integer_squareroot +- name: integer_squareroot#phase0 sources: - file: packages/utils/src/math.ts search: export function intSqrt( @@ -4641,7 +4641,7 @@ return x -- name: is_active_validator +- name: is_active_validator#phase0 sources: - file: packages/state-transition/src/util/validator.ts search: export function isActiveValidator( @@ -4654,7 +4654,7 @@ return validator.activation_epoch <= epoch < validator.exit_epoch -- name: is_aggregator +- name: is_aggregator#phase0 sources: - file: packages/state-transition/src/util/aggregator.ts search: export function isAggregatorFromCommitteeLength( @@ -4668,7 +4668,7 @@ return bytes_to_uint64(hash(slot_signature)[0:8]) % modulo == 0 -- name: is_assigned_to_sync_committee +- name: is_assigned_to_sync_committee#altair sources: [] spec: | @@ -4688,7 +4688,7 @@ return pubkey in state.next_sync_committee.pubkeys -- name: is_attestation_same_slot +- name: is_attestation_same_slot#gloas sources: - file: packages/state-transition/src/util/gloas.ts search: export function isAttestationSameSlot( @@ -4708,7 +4708,7 @@ return blockroot == slot_blockroot and blockroot != prev_blockroot -- name: is_better_update +- name: is_better_update#altair sources: - file: packages/light-client/src/spec/isBetterUpdate.ts search: export function isBetterUpdate( @@ -4767,7 +4767,7 @@ return new_update.signature_slot < old_update.signature_slot -- name: is_builder_payment_withdrawable +- name: is_builder_payment_withdrawable#gloas sources: - file: packages/state-transition/src/util/gloas.ts search: export function isBuilderPaymentWithdrawable( @@ -4784,7 +4784,7 @@ return builder.withdrawable_epoch >= current_epoch or not builder.slashed -- name: is_builder_withdrawal_credential +- name: is_builder_withdrawal_credential#gloas sources: - file: packages/state-transition/src/util/gloas.ts search: export function hasBuilderWithdrawalCredential( @@ -4794,7 +4794,7 @@ return withdrawal_credentials[:1] == BUILDER_WITHDRAWAL_PREFIX -- name: is_candidate_block +- name: is_candidate_block#phase0 sources: [] spec: | @@ -4805,7 +4805,7 @@ ) -- name: is_compounding_withdrawal_credential +- name: is_compounding_withdrawal_credential#electra sources: - file: packages/state-transition/src/util/electra.ts search: export function hasCompoundingWithdrawalCredential( @@ -4853,7 +4853,7 @@ ) -- name: is_eligible_for_activation +- name: is_eligible_for_activation#phase0 sources: - file: packages/state-transition/src/cache/epochTransitionCache.ts search: "// def is_eligible_for_activation(state: BeaconState, validator: Validator) -> bool:" @@ -4904,7 +4904,7 @@ ) -- name: is_execution_block +- name: is_execution_block#bellatrix sources: [] spec: | @@ -4912,7 +4912,7 @@ return block.body.execution_payload != ExecutionPayload() -- name: is_execution_enabled +- name: is_execution_enabled#bellatrix sources: - file: packages/state-transition/src/util/execution.ts search: export function isExecutionEnabled( @@ -4922,7 +4922,7 @@ return is_merge_transition_block(state, body) or is_merge_transition_complete(state) -- name: is_ffg_competitive +- name: is_ffg_competitive#phase0 sources: - file: packages/fork-choice/src/forkChoice/forkChoice.ts search: "// https://github.com/ethereum/consensus-specs/blob/v1.4.0-beta.4/specs/phase0/fork-choice.md#is_ffg_competitive" @@ -4934,7 +4934,7 @@ ) -- name: is_finality_update +- name: is_finality_update#altair sources: - file: packages/light-client/src/spec/utils.ts search: export function isFinalityUpdate( @@ -4944,7 +4944,7 @@ return update.finality_branch != FinalityBranch() -- name: is_finalization_ok +- name: is_finalization_ok#phase0 sources: - file: packages/fork-choice/src/forkChoice/forkChoice.ts search: "// https://github.com/ethereum/consensus-specs/blob/v1.4.0-beta.4/specs/phase0/fork-choice.md#is_finalization_ok" @@ -4986,7 +4986,7 @@ ) -- name: is_head_late +- name: is_head_late#phase0 sources: - file: packages/fork-choice/src/forkChoice/forkChoice.ts search: "// https://github.com/ethereum/consensus-specs/blob/v1.4.0-beta.4/specs/phase0/fork-choice.md#is_head_late" @@ -4996,7 +4996,7 @@ return not store.block_timeliness[head_root] -- name: is_head_weak +- name: is_head_weak#phase0 sources: - file: packages/fork-choice/src/forkChoice/forkChoice.ts search: "// https://github.com/ethereum/consensus-specs/blob/v1.4.0-beta.4/specs/phase0/fork-choice.md#is_head_weak" @@ -5009,7 +5009,7 @@ return head_weight < reorg_threshold -- name: is_in_inactivity_leak +- name: is_in_inactivity_leak#phase0 sources: - file: packages/state-transition/src/util/finality.ts search: export function isInInactivityLeak( @@ -5019,7 +5019,7 @@ return get_finality_delay(state) > MIN_EPOCHS_TO_INACTIVITY_PENALTY -- name: is_merge_transition_block +- name: is_merge_transition_block#bellatrix sources: [] spec: | @@ -5027,7 +5027,7 @@ return not is_merge_transition_complete(state) and body.execution_payload != ExecutionPayload() -- name: is_merge_transition_complete +- name: is_merge_transition_complete#bellatrix sources: - file: packages/state-transition/src/util/execution.ts search: export function isMergeTransitionComplete( @@ -5037,7 +5037,7 @@ return state.latest_execution_payload_header != ExecutionPayloadHeader() -- name: is_next_sync_committee_known +- name: is_next_sync_committee_known#altair sources: [] spec: | @@ -5045,7 +5045,7 @@ return store.next_sync_committee != SyncCommittee() -- name: is_optimistic +- name: is_optimistic#bellatrix sources: [] spec: | @@ -5053,7 +5053,7 @@ return hash_tree_root(block) in opt_store.optimistic_roots -- name: is_optimistic_candidate_block +- name: is_optimistic_candidate_block#bellatrix sources: [] spec: | @@ -5069,7 +5069,7 @@ return False -- name: is_parent_block_full +- name: is_parent_block_full#gloas sources: - file: packages/state-transition/src/util/gloas.ts search: export function isParentBlockFull( @@ -5079,7 +5079,7 @@ return state.latest_execution_payload_bid.block_hash == state.latest_block_hash -- name: is_parent_node_full +- name: is_parent_node_full#gloas sources: [] spec: | @@ -5087,7 +5087,7 @@ return get_parent_payload_status(store, block) == PAYLOAD_STATUS_FULL -- name: is_parent_strong +- name: is_parent_strong#phase0 sources: - file: packages/fork-choice/src/forkChoice/forkChoice.ts search: "// https://github.com/ethereum/consensus-specs/blob/dev/specs/phase0/fork-choice.md#is_parent_strong" @@ -5138,7 +5138,7 @@ ) -- name: is_payload_timely +- name: is_payload_timely#gloas sources: [] spec: | @@ -5158,7 +5158,7 @@ return sum(store.ptc_vote[root]) > PAYLOAD_TIMELY_THRESHOLD -- name: is_proposer +- name: is_proposer#phase0 sources: [] spec: | @@ -5166,7 +5166,7 @@ return get_beacon_proposer_index(state) == validator_index -- name: is_proposing_on_time +- name: is_proposing_on_time#phase0 sources: - file: packages/fork-choice/src/forkChoice/forkChoice.ts search: "* https://github.com/ethereum/consensus-specs/blob/v1.5.0/specs/phase0/fork-choice.md#is_proposing_on_time" @@ -5180,7 +5180,7 @@ return time_into_slot_ms <= proposer_reorg_cutoff_ms -- name: is_shuffling_stable +- name: is_shuffling_stable#phase0 sources: - file: packages/fork-choice/src/forkChoice/forkChoice.ts search: "// https://github.com/ethereum/consensus-specs/blob/v1.4.0-beta.4/specs/phase0/fork-choice.md#is_shuffling_stable" @@ -5190,7 +5190,7 @@ return slot % SLOTS_PER_EPOCH != 0 -- name: is_slashable_attestation_data +- name: is_slashable_attestation_data#phase0 sources: - file: packages/state-transition/src/util/attestation.ts search: export function isSlashableAttestationData( @@ -5209,7 +5209,7 @@ ) -- name: is_slashable_validator +- name: is_slashable_validator#phase0 sources: - file: packages/state-transition/src/util/validator.ts search: export function isSlashableValidator( @@ -5224,7 +5224,7 @@ ) -- name: is_supporting_vote +- name: is_supporting_vote#gloas sources: [] spec: | @@ -5252,7 +5252,7 @@ ) -- name: is_sync_committee_aggregator +- name: is_sync_committee_aggregator#altair sources: - file: packages/state-transition/src/util/aggregator.ts search: export function isSyncCommitteeAggregator( @@ -5268,7 +5268,7 @@ return bytes_to_uint64(hash(signature)[0:8]) % modulo == 0 -- name: is_sync_committee_update +- name: is_sync_committee_update#altair sources: - file: packages/light-client/src/spec/utils.ts search: export function isSyncCommitteeUpdate( @@ -5278,7 +5278,7 @@ return update.next_sync_committee_branch != NextSyncCommitteeBranch() -- name: is_valid_deposit_signature +- name: is_valid_deposit_signature#electra sources: - file: packages/state-transition/src/block/processDeposit.ts search: export function isValidDepositSignature( @@ -5298,7 +5298,7 @@ return bls.Verify(pubkey, signing_root, signature) -- name: is_valid_genesis_state +- name: is_valid_genesis_state#phase0 sources: - file: packages/state-transition/src/util/genesis.ts search: export function isValidGenesisState( @@ -5312,7 +5312,7 @@ return True -- name: is_valid_indexed_attestation +- name: is_valid_indexed_attestation#phase0 sources: - file: packages/state-transition/src/block/isValidIndexedAttestation.ts search: export function isValidIndexedAttestation( @@ -5335,7 +5335,7 @@ return bls.FastAggregateVerify(pubkeys, signing_root, indexed_attestation.signature) -- name: is_valid_indexed_payload_attestation +- name: is_valid_indexed_payload_attestation#gloas sources: - file: packages/state-transition/src/block/isValidIndexedPayloadAttestation.ts search: export function isValidIndexedPayloadAttestation( @@ -5425,7 +5425,7 @@ ) -- name: is_valid_merkle_branch +- name: is_valid_merkle_branch#phase0 sources: - file: packages/light-client/src/utils/verifyMerkleBranch.ts search: export function isValidMerkleBranch( @@ -5446,7 +5446,7 @@ return value == root -- name: is_valid_normalized_merkle_branch +- name: is_valid_normalized_merkle_branch#altair sources: [] spec: | @@ -5462,7 +5462,7 @@ return is_valid_merkle_branch(leaf, branch[num_extra:], depth, index, root) -- name: is_valid_switch_to_compounding_request +- name: is_valid_switch_to_compounding_request#electra sources: [] spec: | @@ -5501,7 +5501,7 @@ return True -- name: is_valid_terminal_pow_block +- name: is_valid_terminal_pow_block#bellatrix sources: [] spec: | @@ -5550,7 +5550,7 @@ return current_epoch <= ws_state_epoch + ws_period -- name: kzg_commitment_to_versioned_hash +- name: kzg_commitment_to_versioned_hash#deneb sources: - file: packages/beacon-node/src/util/blobs.ts search: export function kzgCommitmentToVersionedHash( @@ -5560,7 +5560,7 @@ return VERSIONED_HASH_VERSION_KZG + hash(kzg_commitment)[1:] -- name: latest_verified_ancestor +- name: latest_verified_ancestor#bellatrix sources: [] spec: | @@ -5572,7 +5572,7 @@ block = opt_store.blocks[block.parent_root] -- name: max_compressed_len +- name: max_compressed_len#phase0 sources: [] spec: | @@ -5582,7 +5582,7 @@ return uint64(32 + n + n / 6) -- name: max_message_size +- name: max_message_size#phase0 sources: [] spec: | @@ -5612,7 +5612,7 @@ return NEXT_SYNC_COMMITTEE_GINDEX -- name: normalize_merkle_branch +- name: normalize_merkle_branch#electra sources: - file: packages/light-client/src/utils/normalizeMerkleBranch.ts search: export function normalizeMerkleBranch( @@ -5626,7 +5626,7 @@ return [Bytes32()] * num_extra + [*branch] -- name: notify_ptc_messages +- name: notify_ptc_messages#gloas sources: [] spec: | @@ -5655,7 +5655,7 @@ ) -- name: on_attestation +- name: on_attestation#phase0 sources: - file: packages/fork-choice/src/forkChoice/forkChoice.ts search: '^\s+onAttestation\(' @@ -5682,7 +5682,7 @@ update_latest_messages(store, indexed_attestation.attesting_indices, attestation) -- name: on_attester_slashing +- name: on_attester_slashing#phase0 sources: - file: packages/fork-choice/src/forkChoice/forkChoice.ts search: '^\s+onAttesterSlashing\(' @@ -6094,7 +6094,7 @@ compute_pulled_up_tip(store, block_root) -- name: on_execution_payload +- name: on_execution_payload#gloas sources: [] spec: | @@ -6120,7 +6120,7 @@ store.execution_payload_states[envelope.beacon_block_root] = state -- name: on_payload_attestation_message +- name: on_payload_attestation_message#gloas sources: [] spec: | @@ -6160,7 +6160,7 @@ ptc_vote[ptc_index] = data.payload_present -- name: on_tick +- name: on_tick#phase0 sources: - file: packages/fork-choice/src/forkChoice/forkChoice.ts search: '^\s+private onTick\(' @@ -6177,7 +6177,7 @@ on_tick_per_slot(store, time) -- name: on_tick_per_slot +- name: on_tick_per_slot#phase0 sources: - file: packages/fork-choice/src/forkChoice/forkChoice.ts search: '^\s+private onTick\(' @@ -6662,7 +6662,7 @@ state.builder_pending_payments[data.slot % SLOTS_PER_EPOCH] = payment -- name: process_attester_slashing +- name: process_attester_slashing#phase0 sources: - file: packages/state-transition/src/block/processAttesterSlashing.ts search: export function processAttesterSlashing( @@ -6789,7 +6789,7 @@ process_sync_aggregate(state, block.body.sync_aggregate) -- name: process_block_header +- name: process_block_header#phase0 sources: - file: packages/state-transition/src/block/processBlockHeader.ts search: export function processBlockHeader( @@ -6818,7 +6818,7 @@ assert not proposer.slashed -- name: process_bls_to_execution_change +- name: process_bls_to_execution_change#capella sources: - file: packages/state-transition/src/block/processBlsToExecutionChange.ts search: export function processBlsToExecutionChange( @@ -6848,7 +6848,7 @@ ) -- name: process_builder_pending_payments +- name: process_builder_pending_payments#gloas sources: - file: packages/state-transition/src/epoch/processBuilderPendingPayments.ts search: export function processBuilderPendingPayments( @@ -6872,7 +6872,7 @@ state.builder_pending_payments = old_payments + new_payments -- name: process_consolidation_request +- name: process_consolidation_request#electra sources: - file: packages/state-transition/src/block/processConsolidationRequest.ts search: export function processConsolidationRequest( @@ -7012,7 +7012,7 @@ ) -- name: process_deposit_request +- name: process_deposit_request#electra sources: - file: packages/state-transition/src/block/processDepositRequest.ts search: export function processDepositRequest( @@ -7227,7 +7227,7 @@ process_proposer_lookahead(state) -- name: process_eth1_data +- name: process_eth1_data#phase0 sources: - file: packages/state-transition/src/block/processEth1Data.ts search: export function processEth1Data @@ -7242,7 +7242,7 @@ state.eth1_data = body.eth1_data -- name: process_eth1_data_reset +- name: process_eth1_data_reset#phase0 sources: - file: packages/state-transition/src/epoch/processEth1DataReset.ts search: export function processEth1DataReset( @@ -7617,7 +7617,7 @@ assert envelope.state_root == hash_tree_root(state) -- name: process_execution_payload_bid +- name: process_execution_payload_bid#gloas sources: - file: packages/state-transition/src/block/processExecutionPayloadBid.ts search: export function processExecutionPayloadBid( @@ -7685,7 +7685,7 @@ state.latest_execution_payload_bid = bid -- name: process_historical_roots_update +- name: process_historical_roots_update#phase0 sources: - file: packages/state-transition/src/epoch/processHistoricalRootsUpdate.ts search: export function processHistoricalRootsUpdate( @@ -7701,7 +7701,7 @@ state.historical_roots.append(hash_tree_root(historical_batch)) -- name: process_historical_summaries_update +- name: process_historical_summaries_update#capella sources: - file: packages/state-transition/src/epoch/processHistoricalSummariesUpdate.ts search: export function processHistoricalSummariesUpdate( @@ -7718,7 +7718,7 @@ state.historical_summaries.append(historical_summary) -- name: process_inactivity_updates +- name: process_inactivity_updates#altair sources: - file: packages/state-transition/src/epoch/processInactivityUpdates.ts search: export function processInactivityUpdates( @@ -7790,7 +7790,7 @@ ) -- name: process_light_client_finality_update +- name: process_light_client_finality_update#altair sources: [] spec: | @@ -7812,7 +7812,7 @@ process_light_client_update(store, update, current_slot, genesis_validators_root) -- name: process_light_client_optimistic_update +- name: process_light_client_optimistic_update#altair sources: [] spec: | @@ -7834,7 +7834,7 @@ process_light_client_update(store, update, current_slot, genesis_validators_root) -- name: process_light_client_store_force_update +- name: process_light_client_store_force_update#altair sources: [] spec: | @@ -7856,7 +7856,7 @@ store.best_valid_update = None -- name: process_light_client_update +- name: process_light_client_update#altair sources: - file: packages/light-client/src/spec/processLightClientUpdate.ts search: export function processLightClientUpdate( @@ -8033,7 +8033,7 @@ for_ops(body.payload_attestations, process_payload_attestation) -- name: process_participation_flag_updates +- name: process_participation_flag_updates#altair sources: - file: packages/state-transition/src/epoch/processParticipationFlagUpdates.ts search: export function processParticipationFlagUpdates( @@ -8046,7 +8046,7 @@ ] -- name: process_participation_record_updates +- name: process_participation_record_updates#phase0 sources: - file: packages/state-transition/src/epoch/processParticipationRecordUpdates.ts search: export function processParticipationRecordUpdates( @@ -8058,7 +8058,7 @@ state.current_epoch_attestations = [] -- name: process_payload_attestation +- name: process_payload_attestation#gloas sources: - file: packages/state-transition/src/block/processPayloadAttestation.ts search: export function processPayloadAttestation( @@ -8080,7 +8080,7 @@ assert is_valid_indexed_payload_attestation(state, indexed_payload_attestation) -- name: process_pending_consolidations +- name: process_pending_consolidations#electra sources: - file: packages/state-transition/src/epoch/processPendingConsolidations.ts search: export function processPendingConsolidations( @@ -8110,7 +8110,7 @@ state.pending_consolidations = state.pending_consolidations[next_pending_consolidation:] -- name: process_pending_deposits +- name: process_pending_deposits#electra sources: - file: packages/state-transition/src/epoch/processPendingDeposits.ts search: export function processPendingDeposits( @@ -8183,7 +8183,7 @@ state.deposit_balance_to_consume = Gwei(0) -- name: process_proposer_lookahead +- name: process_proposer_lookahead#fulu sources: - file: packages/state-transition/src/epoch/processProposerLookahead.ts search: export function processProposerLookahead( @@ -8270,7 +8270,7 @@ slash_validator(state, header_1.proposer_index) -- name: process_randao +- name: process_randao#phase0 sources: - file: packages/state-transition/src/block/processRandao.ts search: export function processRandao( @@ -8287,7 +8287,7 @@ state.randao_mixes[epoch % EPOCHS_PER_HISTORICAL_VECTOR] = mix -- name: process_randao_mixes_reset +- name: process_randao_mixes_reset#phase0 sources: - file: packages/state-transition/src/epoch/processRandaoMixesReset.ts search: export function processRandaoMixesReset( @@ -8542,7 +8542,7 @@ decrease_balance(state, ValidatorIndex(index), penalty) -- name: process_slashings_reset +- name: process_slashings_reset#phase0 sources: - file: packages/state-transition/src/epoch/processSlashingsReset.ts search: export function processSlashingsReset( @@ -8591,7 +8591,7 @@ state.execution_payload_availability[(state.slot + 1) % SLOTS_PER_HISTORICAL_ROOT] = 0b0 -- name: process_slots +- name: process_slots#phase0 sources: - file: packages/state-transition/src/stateTransition.ts search: export function processSlots( @@ -8607,7 +8607,7 @@ state.slot = Slot(state.slot + 1) -- name: process_sync_aggregate +- name: process_sync_aggregate#altair sources: - file: packages/state-transition/src/block/processSyncCommittee.ts search: export function processSyncAggregate( @@ -8676,7 +8676,7 @@ decrease_balance(state, participant_index, participant_reward) -- name: process_sync_committee_contributions +- name: process_sync_committee_contributions#altair sources: - file: packages/beacon-node/src/chain/opPools/syncContributionAndProofPool.ts search: "* This is for producing blocks, the same to process_sync_committee_contributions in the spec." @@ -8702,7 +8702,7 @@ block.body.sync_aggregate = sync_aggregate -- name: process_sync_committee_updates +- name: process_sync_committee_updates#altair sources: - file: packages/state-transition/src/epoch/processSyncCommitteeUpdates.ts search: export function processSyncCommitteeUpdates( @@ -8798,7 +8798,7 @@ initiate_validator_exit(state, voluntary_exit.validator_index) -- name: process_withdrawal_request +- name: process_withdrawal_request#electra sources: - file: packages/state-transition/src/block/processWithdrawalRequest.ts search: export function processWithdrawalRequest( @@ -9001,7 +9001,7 @@ state.next_withdrawal_validator_index = next_validator_index -- name: queue_excess_active_balance +- name: queue_excess_active_balance#electra sources: - file: packages/state-transition/src/util/electra.ts search: export function queueExcessActiveBalance( @@ -9026,7 +9026,7 @@ ) -- name: recover_matrix +- name: recover_matrix#fulu sources: - file: packages/beacon-node/src/util/blobs.ts search: export async function dataColumnMatrixRecovery( @@ -9058,7 +9058,7 @@ return matrix -- name: saturating_sub +- name: saturating_sub#phase0 sources: [] spec: | @@ -9069,7 +9069,7 @@ return a - b if a > b else 0 -- name: seconds_to_milliseconds +- name: seconds_to_milliseconds#phase0 sources: [] spec: | @@ -9083,7 +9083,7 @@ return seconds * 1000 -- name: set_or_append_list +- name: set_or_append_list#altair sources: [] spec: | @@ -9094,7 +9094,7 @@ list[index] = value -- name: should_extend_payload +- name: should_extend_payload#gloas sources: [] spec: | @@ -9108,7 +9108,7 @@ ) -- name: should_override_forkchoice_update +- name: should_override_forkchoice_update#bellatrix sources: - file: packages/fork-choice/src/forkChoice/forkChoice.ts search: "// See https://github.com/ethereum/consensus-specs/blob/v1.5.0/specs/bellatrix/fork-choice.md#should_override_forkchoice_update" @@ -9312,7 +9312,7 @@ increase_balance(state, whistleblower_index, Gwei(whistleblower_reward - proposer_reward)) -- name: state_transition +- name: state_transition#phase0 sources: - file: packages/state-transition/src/stateTransition.ts search: export function stateTransition( @@ -9334,7 +9334,7 @@ assert block.state_root == hash_tree_root(state) -- name: store_target_checkpoint_state +- name: store_target_checkpoint_state#phase0 sources: [] spec: | @@ -9347,7 +9347,7 @@ store.checkpoint_states[target] = base_state -- name: switch_to_compounding_validator +- name: switch_to_compounding_validator#electra sources: - file: packages/state-transition/src/util/electra.ts search: export function switchToCompoundingValidator( @@ -9361,7 +9361,7 @@ queue_excess_active_balance(state, index) -- name: translate_participation +- name: translate_participation#altair sources: - file: packages/state-transition/src/slot/upgradeStateToAltair.ts search: function translateParticipation( @@ -9385,7 +9385,7 @@ epoch_participation[index] = add_flag(epoch_participation[index], flag_index) -- name: update_checkpoints +- name: update_checkpoints#phase0 sources: - file: packages/fork-choice/src/forkChoice/forkChoice.ts search: '^\s+private updateCheckpoints\(' @@ -9446,7 +9446,7 @@ ) -- name: update_unrealized_checkpoints +- name: update_unrealized_checkpoints#phase0 sources: - file: packages/fork-choice/src/forkChoice/forkChoice.ts search: '^\s+private updateUnrealizedCheckpoints\(' @@ -9470,7 +9470,7 @@ store.unrealized_finalized_checkpoint = unrealized_finalized_checkpoint -- name: upgrade_lc_bootstrap_to_capella +- name: upgrade_lc_bootstrap_to_capella#capella sources: - file: packages/light-client/src/spec/utils.ts search: export function upgradeLightClientHeader( @@ -9484,7 +9484,7 @@ ) -- name: upgrade_lc_bootstrap_to_deneb +- name: upgrade_lc_bootstrap_to_deneb#deneb sources: - file: packages/light-client/src/spec/utils.ts search: export function upgradeLightClientHeader( @@ -9498,7 +9498,7 @@ ) -- name: upgrade_lc_bootstrap_to_electra +- name: upgrade_lc_bootstrap_to_electra#electra sources: - file: packages/light-client/src/spec/utils.ts search: export function upgradeLightClientHeader( @@ -9514,7 +9514,7 @@ ) -- name: upgrade_lc_finality_update_to_capella +- name: upgrade_lc_finality_update_to_capella#capella sources: - file: packages/light-client/src/spec/utils.ts search: export function upgradeLightClientFinalityUpdate( @@ -9532,7 +9532,7 @@ ) -- name: upgrade_lc_finality_update_to_deneb +- name: upgrade_lc_finality_update_to_deneb#deneb sources: - file: packages/light-client/src/spec/utils.ts search: export function upgradeLightClientFinalityUpdate( @@ -9550,7 +9550,7 @@ ) -- name: upgrade_lc_finality_update_to_electra +- name: upgrade_lc_finality_update_to_electra#electra sources: - file: packages/light-client/src/spec/utils.ts search: export function upgradeLightClientFinalityUpdate( @@ -9568,7 +9568,7 @@ ) -- name: upgrade_lc_header_to_capella +- name: upgrade_lc_header_to_capella#capella sources: - file: packages/light-client/src/spec/utils.ts search: export function upgradeLightClientHeader( @@ -9582,7 +9582,7 @@ ) -- name: upgrade_lc_header_to_deneb +- name: upgrade_lc_header_to_deneb#deneb sources: - file: packages/light-client/src/spec/utils.ts search: export function upgradeLightClientHeader( @@ -9616,7 +9616,7 @@ ) -- name: upgrade_lc_header_to_electra +- name: upgrade_lc_header_to_electra#electra sources: - file: packages/light-client/src/spec/utils.ts search: export function upgradeLightClientHeader( @@ -9630,7 +9630,7 @@ ) -- name: upgrade_lc_optimistic_update_to_capella +- name: upgrade_lc_optimistic_update_to_capella#capella sources: - file: packages/light-client/src/spec/utils.ts search: export function upgradeLightClientOptimisticUpdate( @@ -9646,7 +9646,7 @@ ) -- name: upgrade_lc_optimistic_update_to_deneb +- name: upgrade_lc_optimistic_update_to_deneb#deneb sources: - file: packages/light-client/src/spec/utils.ts search: export function upgradeLightClientOptimisticUpdate( @@ -9662,7 +9662,7 @@ ) -- name: upgrade_lc_optimistic_update_to_electra +- name: upgrade_lc_optimistic_update_to_electra#electra sources: - file: packages/light-client/src/spec/utils.ts search: export function upgradeLightClientOptimisticUpdate( @@ -9678,7 +9678,7 @@ ) -- name: upgrade_lc_store_to_capella +- name: upgrade_lc_store_to_capella#capella sources: - file: packages/light-client/src/spec/utils.ts search: export function upgradeLightClientStore( @@ -9700,7 +9700,7 @@ ) -- name: upgrade_lc_store_to_deneb +- name: upgrade_lc_store_to_deneb#deneb sources: - file: packages/light-client/src/spec/utils.ts search: export function upgradeLightClientStore( @@ -9722,7 +9722,7 @@ ) -- name: upgrade_lc_store_to_electra +- name: upgrade_lc_store_to_electra#electra sources: - file: packages/light-client/src/spec/utils.ts search: export function upgradeLightClientStore( @@ -9744,7 +9744,7 @@ ) -- name: upgrade_lc_update_to_capella +- name: upgrade_lc_update_to_capella#capella sources: - file: packages/light-client/src/spec/utils.ts search: export function upgradeLightClientUpdate( @@ -9762,7 +9762,7 @@ ) -- name: upgrade_lc_update_to_deneb +- name: upgrade_lc_update_to_deneb#deneb sources: - file: packages/light-client/src/spec/utils.ts search: export function upgradeLightClientUpdate( @@ -9780,7 +9780,7 @@ ) -- name: upgrade_lc_update_to_electra +- name: upgrade_lc_update_to_electra#electra sources: - file: packages/light-client/src/spec/utils.ts search: export function upgradeLightClientUpdate( @@ -9800,7 +9800,7 @@ ) -- name: upgrade_to_altair +- name: upgrade_to_altair#altair sources: - file: packages/state-transition/src/slot/upgradeStateToAltair.ts search: export function upgradeStateToAltair( @@ -9850,7 +9850,7 @@ return post -- name: upgrade_to_bellatrix +- name: upgrade_to_bellatrix#bellatrix sources: - file: packages/state-transition/src/slot/upgradeStateToBellatrix.ts search: export function upgradeStateToBellatrix( @@ -9895,7 +9895,7 @@ return post -- name: upgrade_to_capella +- name: upgrade_to_capella#capella sources: - file: packages/state-transition/src/slot/upgradeStateToCapella.ts search: export function upgradeStateToCapella( @@ -9962,7 +9962,7 @@ return post -- name: upgrade_to_deneb +- name: upgrade_to_deneb#deneb sources: - file: packages/state-transition/src/slot/upgradeStateToDeneb.ts search: export function upgradeStateToDeneb( @@ -10031,7 +10031,7 @@ return post -- name: upgrade_to_electra +- name: upgrade_to_electra#electra sources: - file: packages/state-transition/src/slot/upgradeStateToElectra.ts search: export function upgradeStateToElectra( @@ -10141,7 +10141,7 @@ return post -- name: upgrade_to_fulu +- name: upgrade_to_fulu#fulu sources: - file: packages/state-transition/src/slot/upgradeStateToFulu.ts search: export function upgradeStateToFulu( @@ -10199,7 +10199,7 @@ return post -- name: upgrade_to_gloas +- name: upgrade_to_gloas#gloas sources: - file: packages/state-transition/src/slot/upgradeStateToGloas.ts search: export function upgradeStateToGloas( @@ -10272,7 +10272,7 @@ return post -- name: validate_light_client_update +- name: validate_light_client_update#altair sources: - file: packages/light-client/src/spec/validateLightClientUpdate.ts search: export function validateLightClientUpdate( @@ -10496,7 +10496,7 @@ assert get_current_slot(store) >= attestation.data.slot + 1 -- name: validate_target_epoch_against_current_time +- name: validate_target_epoch_against_current_time#phase0 sources: [] spec: | @@ -10511,7 +10511,7 @@ assert target.epoch in [current_epoch, previous_epoch] -- name: verify_blob_sidecar_inclusion_proof +- name: verify_blob_sidecar_inclusion_proof#deneb sources: - file: packages/beacon-node/src/chain/validation/blobSidecar.ts search: export function validateBlobSidecarInclusionProof( @@ -10530,7 +10530,7 @@ ) -- name: verify_block_signature +- name: verify_block_signature#phase0 sources: - file: packages/state-transition/src/signatureSets/proposer.ts search: export function verifyProposerSignature( @@ -10607,7 +10607,7 @@ return True -- name: verify_data_column_sidecar_inclusion_proof +- name: verify_data_column_sidecar_inclusion_proof#fulu sources: - file: packages/beacon-node/src/chain/validation/dataColumnSidecar.ts search: export function verifyDataColumnSidecarInclusionProof( @@ -10626,7 +10626,7 @@ ) -- name: verify_data_column_sidecar_kzg_proofs +- name: verify_data_column_sidecar_kzg_proofs#fulu sources: - file: packages/beacon-node/src/chain/validation/dataColumnSidecar.ts search: export async function verifyDataColumnSidecarKzgProofs( @@ -10648,7 +10648,7 @@ ) -- name: verify_execution_payload_bid_signature +- name: verify_execution_payload_bid_signature#gloas sources: - file: packages/state-transition/src/block/processExecutionPayloadBid.ts search: function verifyExecutionPayloadBidSignature( @@ -10664,7 +10664,7 @@ return bls.Verify(builder.pubkey, signing_root, signed_bid.signature) -- name: verify_execution_payload_envelope_signature +- name: verify_execution_payload_envelope_signature#gloas sources: - file: packages/state-transition/src/block/processExecutionPayloadEnvelope.ts search: function verifyExecutionPayloadEnvelopeSignature( @@ -10680,7 +10680,7 @@ return bls.Verify(builder.pubkey, signing_root, signed_envelope.signature) -- name: voting_period_start_time +- name: voting_period_start_time#phase0 sources: [] spec: | @@ -10691,7 +10691,7 @@ return compute_time_at_slot(state, eth1_voting_period_start_slot) -- name: weigh_justification_and_finalization +- name: weigh_justification_and_finalization#phase0 sources: - file: packages/state-transition/src/epoch/processJustificationAndFinalization.ts search: export function weighJustificationAndFinalization( @@ -10739,7 +10739,7 @@ state.finalized_checkpoint = old_current_justified_checkpoint -- name: xor +- name: xor#phase0 sources: - file: packages/utils/src/bytes/browser.ts search: export function xor( diff --git a/specrefs/presets.yml b/specrefs/presets.yml index 816b82efd891..7bf8a3dfa834 100644 --- a/specrefs/presets.yml +++ b/specrefs/presets.yml @@ -1,4 +1,4 @@ -- name: BASE_REWARD_FACTOR +- name: BASE_REWARD_FACTOR#phase0 sources: - file: packages/params/src/presets/mainnet.ts search: "BASE_REWARD_FACTOR:" @@ -7,7 +7,7 @@ BASE_REWARD_FACTOR: uint64 = 64 -- name: BUILDER_PENDING_WITHDRAWALS_LIMIT +- name: BUILDER_PENDING_WITHDRAWALS_LIMIT#gloas sources: - file: packages/params/src/presets/mainnet.ts search: "BUILDER_PENDING_WITHDRAWALS_LIMIT:" @@ -16,7 +16,7 @@ BUILDER_PENDING_WITHDRAWALS_LIMIT: uint64 = 1048576 -- name: BYTES_PER_LOGS_BLOOM +- name: BYTES_PER_LOGS_BLOOM#bellatrix sources: - file: packages/params/src/presets/mainnet.ts search: "BYTES_PER_LOGS_BLOOM:" @@ -25,7 +25,7 @@ BYTES_PER_LOGS_BLOOM: uint64 = 256 -- name: CELLS_PER_EXT_BLOB +- name: CELLS_PER_EXT_BLOB#fulu sources: - file: packages/params/src/presets/mainnet.ts search: "CELLS_PER_EXT_BLOB:" @@ -34,7 +34,7 @@ CELLS_PER_EXT_BLOB = 128 -- name: EFFECTIVE_BALANCE_INCREMENT +- name: EFFECTIVE_BALANCE_INCREMENT#phase0 sources: - file: packages/params/src/presets/mainnet.ts search: "EFFECTIVE_BALANCE_INCREMENT:" @@ -43,7 +43,7 @@ EFFECTIVE_BALANCE_INCREMENT: Gwei = 1000000000 -- name: EPOCHS_PER_ETH1_VOTING_PERIOD +- name: EPOCHS_PER_ETH1_VOTING_PERIOD#phase0 sources: - file: packages/params/src/presets/mainnet.ts search: "EPOCHS_PER_ETH1_VOTING_PERIOD:" @@ -52,7 +52,7 @@ EPOCHS_PER_ETH1_VOTING_PERIOD: uint64 = 64 -- name: EPOCHS_PER_HISTORICAL_VECTOR +- name: EPOCHS_PER_HISTORICAL_VECTOR#phase0 sources: - file: packages/params/src/presets/mainnet.ts search: "EPOCHS_PER_HISTORICAL_VECTOR:" @@ -61,7 +61,7 @@ EPOCHS_PER_HISTORICAL_VECTOR: uint64 = 65536 -- name: EPOCHS_PER_SLASHINGS_VECTOR +- name: EPOCHS_PER_SLASHINGS_VECTOR#phase0 sources: - file: packages/params/src/presets/mainnet.ts search: "EPOCHS_PER_SLASHINGS_VECTOR:" @@ -70,7 +70,7 @@ EPOCHS_PER_SLASHINGS_VECTOR: uint64 = 8192 -- name: EPOCHS_PER_SYNC_COMMITTEE_PERIOD +- name: EPOCHS_PER_SYNC_COMMITTEE_PERIOD#altair sources: - file: packages/params/src/presets/mainnet.ts search: "EPOCHS_PER_SYNC_COMMITTEE_PERIOD:" @@ -79,7 +79,7 @@ EPOCHS_PER_SYNC_COMMITTEE_PERIOD: uint64 = 256 -- name: FIELD_ELEMENTS_PER_BLOB +- name: FIELD_ELEMENTS_PER_BLOB#deneb sources: - file: packages/params/src/presets/mainnet.ts search: "FIELD_ELEMENTS_PER_BLOB:" @@ -88,7 +88,7 @@ FIELD_ELEMENTS_PER_BLOB: uint64 = 4096 -- name: FIELD_ELEMENTS_PER_CELL +- name: FIELD_ELEMENTS_PER_CELL#fulu sources: - file: packages/params/src/presets/mainnet.ts search: "FIELD_ELEMENTS_PER_CELL:" @@ -97,7 +97,7 @@ FIELD_ELEMENTS_PER_CELL: uint64 = 64 -- name: FIELD_ELEMENTS_PER_EXT_BLOB +- name: FIELD_ELEMENTS_PER_EXT_BLOB#fulu sources: - file: packages/params/src/presets/mainnet.ts search: "FIELD_ELEMENTS_PER_EXT_BLOB:" @@ -106,7 +106,7 @@ FIELD_ELEMENTS_PER_EXT_BLOB = 8192 -- name: HISTORICAL_ROOTS_LIMIT +- name: HISTORICAL_ROOTS_LIMIT#phase0 sources: - file: packages/params/src/presets/mainnet.ts search: "HISTORICAL_ROOTS_LIMIT:" @@ -115,7 +115,7 @@ HISTORICAL_ROOTS_LIMIT: uint64 = 16777216 -- name: HYSTERESIS_DOWNWARD_MULTIPLIER +- name: HYSTERESIS_DOWNWARD_MULTIPLIER#phase0 sources: - file: packages/params/src/presets/mainnet.ts search: "HYSTERESIS_DOWNWARD_MULTIPLIER:" @@ -124,7 +124,7 @@ HYSTERESIS_DOWNWARD_MULTIPLIER: uint64 = 1 -- name: HYSTERESIS_QUOTIENT +- name: HYSTERESIS_QUOTIENT#phase0 sources: - file: packages/params/src/presets/mainnet.ts search: "HYSTERESIS_QUOTIENT:" @@ -133,7 +133,7 @@ HYSTERESIS_QUOTIENT: uint64 = 4 -- name: HYSTERESIS_UPWARD_MULTIPLIER +- name: HYSTERESIS_UPWARD_MULTIPLIER#phase0 sources: - file: packages/params/src/presets/mainnet.ts search: "HYSTERESIS_UPWARD_MULTIPLIER:" @@ -142,7 +142,7 @@ HYSTERESIS_UPWARD_MULTIPLIER: uint64 = 5 -- name: INACTIVITY_PENALTY_QUOTIENT +- name: INACTIVITY_PENALTY_QUOTIENT#phase0 sources: - file: packages/params/src/presets/mainnet.ts search: "INACTIVITY_PENALTY_QUOTIENT:" @@ -151,7 +151,7 @@ INACTIVITY_PENALTY_QUOTIENT: uint64 = 67108864 -- name: INACTIVITY_PENALTY_QUOTIENT_ALTAIR +- name: INACTIVITY_PENALTY_QUOTIENT_ALTAIR#altair sources: - file: packages/params/src/presets/mainnet.ts search: "INACTIVITY_PENALTY_QUOTIENT_ALTAIR:" @@ -160,7 +160,7 @@ INACTIVITY_PENALTY_QUOTIENT_ALTAIR: uint64 = 50331648 -- name: INACTIVITY_PENALTY_QUOTIENT_BELLATRIX +- name: INACTIVITY_PENALTY_QUOTIENT_BELLATRIX#bellatrix sources: - file: packages/params/src/presets/mainnet.ts search: "INACTIVITY_PENALTY_QUOTIENT_BELLATRIX:" @@ -169,7 +169,7 @@ INACTIVITY_PENALTY_QUOTIENT_BELLATRIX: uint64 = 16777216 -- name: KZG_COMMITMENTS_INCLUSION_PROOF_DEPTH +- name: KZG_COMMITMENTS_INCLUSION_PROOF_DEPTH#fulu sources: - file: packages/params/src/presets/mainnet.ts search: "KZG_COMMITMENTS_INCLUSION_PROOF_DEPTH:" @@ -178,7 +178,7 @@ KZG_COMMITMENTS_INCLUSION_PROOF_DEPTH: uint64 = 4 -- name: KZG_COMMITMENT_INCLUSION_PROOF_DEPTH +- name: KZG_COMMITMENT_INCLUSION_PROOF_DEPTH#deneb sources: - file: packages/params/src/presets/mainnet.ts search: "KZG_COMMITMENT_INCLUSION_PROOF_DEPTH:" @@ -187,7 +187,7 @@ KZG_COMMITMENT_INCLUSION_PROOF_DEPTH: uint64 = 17 -- name: MAX_ATTESTATIONS +- name: MAX_ATTESTATIONS#phase0 sources: - file: packages/params/src/presets/mainnet.ts search: "MAX_ATTESTATIONS:" @@ -196,7 +196,7 @@ MAX_ATTESTATIONS = 128 -- name: MAX_ATTESTATIONS_ELECTRA +- name: MAX_ATTESTATIONS_ELECTRA#electra sources: - file: packages/params/src/presets/mainnet.ts search: "MAX_ATTESTATIONS_ELECTRA:" @@ -205,7 +205,7 @@ MAX_ATTESTATIONS_ELECTRA = 8 -- name: MAX_ATTESTER_SLASHINGS +- name: MAX_ATTESTER_SLASHINGS#phase0 sources: - file: packages/params/src/presets/mainnet.ts search: "MAX_ATTESTER_SLASHINGS:" @@ -214,7 +214,7 @@ MAX_ATTESTER_SLASHINGS = 2 -- name: MAX_ATTESTER_SLASHINGS_ELECTRA +- name: MAX_ATTESTER_SLASHINGS_ELECTRA#electra sources: - file: packages/params/src/presets/mainnet.ts search: "MAX_ATTESTER_SLASHINGS_ELECTRA:" @@ -223,7 +223,7 @@ MAX_ATTESTER_SLASHINGS_ELECTRA = 1 -- name: MAX_BLOB_COMMITMENTS_PER_BLOCK +- name: MAX_BLOB_COMMITMENTS_PER_BLOCK#deneb sources: - file: packages/params/src/presets/mainnet.ts search: "MAX_BLOB_COMMITMENTS_PER_BLOCK:" @@ -232,7 +232,7 @@ MAX_BLOB_COMMITMENTS_PER_BLOCK: uint64 = 4096 -- name: MAX_BLS_TO_EXECUTION_CHANGES +- name: MAX_BLS_TO_EXECUTION_CHANGES#capella sources: - file: packages/params/src/presets/mainnet.ts search: "MAX_BLS_TO_EXECUTION_CHANGES:" @@ -241,7 +241,7 @@ MAX_BLS_TO_EXECUTION_CHANGES = 16 -- name: MAX_BYTES_PER_TRANSACTION +- name: MAX_BYTES_PER_TRANSACTION#bellatrix sources: - file: packages/params/src/presets/mainnet.ts search: "MAX_BYTES_PER_TRANSACTION:" @@ -250,7 +250,7 @@ MAX_BYTES_PER_TRANSACTION: uint64 = 1073741824 -- name: MAX_COMMITTEES_PER_SLOT +- name: MAX_COMMITTEES_PER_SLOT#phase0 sources: - file: packages/params/src/presets/mainnet.ts search: "MAX_COMMITTEES_PER_SLOT:" @@ -259,7 +259,7 @@ MAX_COMMITTEES_PER_SLOT: uint64 = 64 -- name: MAX_CONSOLIDATION_REQUESTS_PER_PAYLOAD +- name: MAX_CONSOLIDATION_REQUESTS_PER_PAYLOAD#electra sources: - file: packages/params/src/presets/mainnet.ts search: "MAX_CONSOLIDATION_REQUESTS_PER_PAYLOAD:" @@ -268,7 +268,7 @@ MAX_CONSOLIDATION_REQUESTS_PER_PAYLOAD: uint64 = 2 -- name: MAX_DEPOSITS +- name: MAX_DEPOSITS#phase0 sources: - file: packages/params/src/presets/mainnet.ts search: "MAX_DEPOSITS:" @@ -277,7 +277,7 @@ MAX_DEPOSITS = 16 -- name: MAX_DEPOSIT_REQUESTS_PER_PAYLOAD +- name: MAX_DEPOSIT_REQUESTS_PER_PAYLOAD#electra sources: - file: packages/params/src/presets/mainnet.ts search: "MAX_DEPOSIT_REQUESTS_PER_PAYLOAD:" @@ -286,7 +286,7 @@ MAX_DEPOSIT_REQUESTS_PER_PAYLOAD: uint64 = 8192 -- name: MAX_EFFECTIVE_BALANCE +- name: MAX_EFFECTIVE_BALANCE#phase0 sources: - file: packages/params/src/presets/mainnet.ts search: "MAX_EFFECTIVE_BALANCE:" @@ -295,7 +295,7 @@ MAX_EFFECTIVE_BALANCE: Gwei = 32000000000 -- name: MAX_EFFECTIVE_BALANCE_ELECTRA +- name: MAX_EFFECTIVE_BALANCE_ELECTRA#electra sources: - file: packages/params/src/presets/mainnet.ts search: "MAX_EFFECTIVE_BALANCE_ELECTRA:" @@ -304,7 +304,7 @@ MAX_EFFECTIVE_BALANCE_ELECTRA: Gwei = 2048000000000 -- name: MAX_EXTRA_DATA_BYTES +- name: MAX_EXTRA_DATA_BYTES#bellatrix sources: - file: packages/params/src/presets/mainnet.ts search: "MAX_EXTRA_DATA_BYTES:" @@ -313,7 +313,7 @@ MAX_EXTRA_DATA_BYTES = 32 -- name: MAX_PAYLOAD_ATTESTATIONS +- name: MAX_PAYLOAD_ATTESTATIONS#gloas sources: - file: packages/params/src/presets/mainnet.ts search: "MAX_PAYLOAD_ATTESTATIONS:" @@ -322,7 +322,7 @@ MAX_PAYLOAD_ATTESTATIONS = 4 -- name: MAX_PENDING_DEPOSITS_PER_EPOCH +- name: MAX_PENDING_DEPOSITS_PER_EPOCH#electra sources: - file: packages/params/src/presets/mainnet.ts search: "MAX_PENDING_DEPOSITS_PER_EPOCH:" @@ -331,7 +331,7 @@ MAX_PENDING_DEPOSITS_PER_EPOCH: uint64 = 16 -- name: MAX_PENDING_PARTIALS_PER_WITHDRAWALS_SWEEP +- name: MAX_PENDING_PARTIALS_PER_WITHDRAWALS_SWEEP#electra sources: - file: packages/params/src/presets/mainnet.ts search: "MAX_PENDING_PARTIALS_PER_WITHDRAWALS_SWEEP:" @@ -340,7 +340,7 @@ MAX_PENDING_PARTIALS_PER_WITHDRAWALS_SWEEP: uint64 = 8 -- name: MAX_PROPOSER_SLASHINGS +- name: MAX_PROPOSER_SLASHINGS#phase0 sources: - file: packages/params/src/presets/mainnet.ts search: "MAX_PROPOSER_SLASHINGS:" @@ -349,7 +349,7 @@ MAX_PROPOSER_SLASHINGS = 16 -- name: MAX_SEED_LOOKAHEAD +- name: MAX_SEED_LOOKAHEAD#phase0 sources: - file: packages/params/src/presets/mainnet.ts search: "MAX_SEED_LOOKAHEAD:" @@ -358,7 +358,7 @@ MAX_SEED_LOOKAHEAD: uint64 = 4 -- name: MAX_TRANSACTIONS_PER_PAYLOAD +- name: MAX_TRANSACTIONS_PER_PAYLOAD#bellatrix sources: - file: packages/params/src/presets/mainnet.ts search: "MAX_TRANSACTIONS_PER_PAYLOAD:" @@ -367,7 +367,7 @@ MAX_TRANSACTIONS_PER_PAYLOAD: uint64 = 1048576 -- name: MAX_VALIDATORS_PER_COMMITTEE +- name: MAX_VALIDATORS_PER_COMMITTEE#phase0 sources: - file: packages/params/src/presets/mainnet.ts search: "MAX_VALIDATORS_PER_COMMITTEE:" @@ -376,7 +376,7 @@ MAX_VALIDATORS_PER_COMMITTEE: uint64 = 2048 -- name: MAX_VALIDATORS_PER_WITHDRAWALS_SWEEP +- name: MAX_VALIDATORS_PER_WITHDRAWALS_SWEEP#capella sources: - file: packages/params/src/presets/mainnet.ts search: "MAX_VALIDATORS_PER_WITHDRAWALS_SWEEP:" @@ -385,7 +385,7 @@ MAX_VALIDATORS_PER_WITHDRAWALS_SWEEP = 16384 -- name: MAX_VOLUNTARY_EXITS +- name: MAX_VOLUNTARY_EXITS#phase0 sources: - file: packages/params/src/presets/mainnet.ts search: "MAX_VOLUNTARY_EXITS:" @@ -394,7 +394,7 @@ MAX_VOLUNTARY_EXITS = 16 -- name: MAX_WITHDRAWALS_PER_PAYLOAD +- name: MAX_WITHDRAWALS_PER_PAYLOAD#capella sources: - file: packages/params/src/presets/mainnet.ts search: "MAX_WITHDRAWALS_PER_PAYLOAD:" @@ -403,7 +403,7 @@ MAX_WITHDRAWALS_PER_PAYLOAD: uint64 = 16 -- name: MAX_WITHDRAWAL_REQUESTS_PER_PAYLOAD +- name: MAX_WITHDRAWAL_REQUESTS_PER_PAYLOAD#electra sources: - file: packages/params/src/presets/mainnet.ts search: "MAX_WITHDRAWAL_REQUESTS_PER_PAYLOAD:" @@ -412,7 +412,7 @@ MAX_WITHDRAWAL_REQUESTS_PER_PAYLOAD: uint64 = 16 -- name: MIN_ACTIVATION_BALANCE +- name: MIN_ACTIVATION_BALANCE#electra sources: - file: packages/params/src/presets/mainnet.ts search: "MIN_ACTIVATION_BALANCE:" @@ -421,7 +421,7 @@ MIN_ACTIVATION_BALANCE: Gwei = 32000000000 -- name: MIN_ATTESTATION_INCLUSION_DELAY +- name: MIN_ATTESTATION_INCLUSION_DELAY#phase0 sources: - file: packages/params/src/presets/mainnet.ts search: "MIN_ATTESTATION_INCLUSION_DELAY:" @@ -430,7 +430,7 @@ MIN_ATTESTATION_INCLUSION_DELAY: uint64 = 1 -- name: MIN_DEPOSIT_AMOUNT +- name: MIN_DEPOSIT_AMOUNT#phase0 sources: - file: packages/params/src/presets/mainnet.ts search: "MIN_DEPOSIT_AMOUNT:" @@ -439,7 +439,7 @@ MIN_DEPOSIT_AMOUNT: Gwei = 1000000000 -- name: MIN_EPOCHS_TO_INACTIVITY_PENALTY +- name: MIN_EPOCHS_TO_INACTIVITY_PENALTY#phase0 sources: - file: packages/params/src/presets/mainnet.ts search: "MIN_EPOCHS_TO_INACTIVITY_PENALTY:" @@ -448,7 +448,7 @@ MIN_EPOCHS_TO_INACTIVITY_PENALTY: uint64 = 4 -- name: MIN_SEED_LOOKAHEAD +- name: MIN_SEED_LOOKAHEAD#phase0 sources: - file: packages/params/src/presets/mainnet.ts search: "MIN_SEED_LOOKAHEAD:" @@ -457,7 +457,7 @@ MIN_SEED_LOOKAHEAD: uint64 = 1 -- name: MIN_SLASHING_PENALTY_QUOTIENT +- name: MIN_SLASHING_PENALTY_QUOTIENT#phase0 sources: - file: packages/params/src/presets/mainnet.ts search: "MIN_SLASHING_PENALTY_QUOTIENT:" @@ -466,7 +466,7 @@ MIN_SLASHING_PENALTY_QUOTIENT: uint64 = 128 -- name: MIN_SLASHING_PENALTY_QUOTIENT_ALTAIR +- name: MIN_SLASHING_PENALTY_QUOTIENT_ALTAIR#altair sources: - file: packages/params/src/presets/mainnet.ts search: "MIN_SLASHING_PENALTY_QUOTIENT_ALTAIR:" @@ -475,7 +475,7 @@ MIN_SLASHING_PENALTY_QUOTIENT_ALTAIR: uint64 = 64 -- name: MIN_SLASHING_PENALTY_QUOTIENT_BELLATRIX +- name: MIN_SLASHING_PENALTY_QUOTIENT_BELLATRIX#bellatrix sources: - file: packages/params/src/presets/mainnet.ts search: "MIN_SLASHING_PENALTY_QUOTIENT_BELLATRIX:" @@ -484,7 +484,7 @@ MIN_SLASHING_PENALTY_QUOTIENT_BELLATRIX: uint64 = 32 -- name: MIN_SLASHING_PENALTY_QUOTIENT_ELECTRA +- name: MIN_SLASHING_PENALTY_QUOTIENT_ELECTRA#electra sources: - file: packages/params/src/presets/mainnet.ts search: "MIN_SLASHING_PENALTY_QUOTIENT_ELECTRA:" @@ -493,7 +493,7 @@ MIN_SLASHING_PENALTY_QUOTIENT_ELECTRA: uint64 = 4096 -- name: MIN_SYNC_COMMITTEE_PARTICIPANTS +- name: MIN_SYNC_COMMITTEE_PARTICIPANTS#altair sources: - file: packages/params/src/presets/mainnet.ts search: "MIN_SYNC_COMMITTEE_PARTICIPANTS:" @@ -502,7 +502,7 @@ MIN_SYNC_COMMITTEE_PARTICIPANTS = 1 -- name: NUMBER_OF_COLUMNS +- name: NUMBER_OF_COLUMNS#fulu sources: - file: packages/params/src/presets/mainnet.ts search: "NUMBER_OF_COLUMNS:" @@ -511,7 +511,7 @@ NUMBER_OF_COLUMNS: uint64 = 128 -- name: PENDING_CONSOLIDATIONS_LIMIT +- name: PENDING_CONSOLIDATIONS_LIMIT#electra sources: - file: packages/params/src/presets/mainnet.ts search: "PENDING_CONSOLIDATIONS_LIMIT:" @@ -520,7 +520,7 @@ PENDING_CONSOLIDATIONS_LIMIT: uint64 = 262144 -- name: PENDING_DEPOSITS_LIMIT +- name: PENDING_DEPOSITS_LIMIT#electra sources: - file: packages/params/src/presets/mainnet.ts search: "PENDING_DEPOSITS_LIMIT:" @@ -529,7 +529,7 @@ PENDING_DEPOSITS_LIMIT: uint64 = 134217728 -- name: PENDING_PARTIAL_WITHDRAWALS_LIMIT +- name: PENDING_PARTIAL_WITHDRAWALS_LIMIT#electra sources: - file: packages/params/src/presets/mainnet.ts search: "PENDING_PARTIAL_WITHDRAWALS_LIMIT:" @@ -538,7 +538,7 @@ PENDING_PARTIAL_WITHDRAWALS_LIMIT: uint64 = 134217728 -- name: PROPORTIONAL_SLASHING_MULTIPLIER +- name: PROPORTIONAL_SLASHING_MULTIPLIER#phase0 sources: - file: packages/params/src/presets/mainnet.ts search: "PROPORTIONAL_SLASHING_MULTIPLIER:" @@ -547,7 +547,7 @@ PROPORTIONAL_SLASHING_MULTIPLIER: uint64 = 1 -- name: PROPORTIONAL_SLASHING_MULTIPLIER_ALTAIR +- name: PROPORTIONAL_SLASHING_MULTIPLIER_ALTAIR#altair sources: - file: packages/params/src/presets/mainnet.ts search: "PROPORTIONAL_SLASHING_MULTIPLIER_ALTAIR:" @@ -556,7 +556,7 @@ PROPORTIONAL_SLASHING_MULTIPLIER_ALTAIR: uint64 = 2 -- name: PROPORTIONAL_SLASHING_MULTIPLIER_BELLATRIX +- name: PROPORTIONAL_SLASHING_MULTIPLIER_BELLATRIX#bellatrix sources: - file: packages/params/src/presets/mainnet.ts search: "PROPORTIONAL_SLASHING_MULTIPLIER_BELLATRIX:" @@ -565,7 +565,7 @@ PROPORTIONAL_SLASHING_MULTIPLIER_BELLATRIX: uint64 = 3 -- name: PROPOSER_REWARD_QUOTIENT +- name: PROPOSER_REWARD_QUOTIENT#phase0 sources: - file: packages/params/src/presets/mainnet.ts search: "PROPOSER_REWARD_QUOTIENT:" @@ -574,7 +574,7 @@ PROPOSER_REWARD_QUOTIENT: uint64 = 8 -- name: PTC_SIZE +- name: PTC_SIZE#gloas sources: - file: packages/params/src/presets/mainnet.ts search: "PTC_SIZE:" @@ -583,7 +583,7 @@ PTC_SIZE: uint64 = 512 -- name: SHUFFLE_ROUND_COUNT +- name: SHUFFLE_ROUND_COUNT#phase0 sources: - file: packages/params/src/presets/mainnet.ts search: "SHUFFLE_ROUND_COUNT:" @@ -592,7 +592,7 @@ SHUFFLE_ROUND_COUNT: uint64 = 90 -- name: SLOTS_PER_EPOCH +- name: SLOTS_PER_EPOCH#phase0 sources: - file: packages/params/src/presets/mainnet.ts search: "SLOTS_PER_EPOCH:" @@ -601,7 +601,7 @@ SLOTS_PER_EPOCH: uint64 = 32 -- name: SLOTS_PER_HISTORICAL_ROOT +- name: SLOTS_PER_HISTORICAL_ROOT#phase0 sources: - file: packages/params/src/presets/mainnet.ts search: "SLOTS_PER_HISTORICAL_ROOT:" @@ -610,7 +610,7 @@ SLOTS_PER_HISTORICAL_ROOT: uint64 = 8192 -- name: SYNC_COMMITTEE_SIZE +- name: SYNC_COMMITTEE_SIZE#altair sources: - file: packages/params/src/presets/mainnet.ts search: "SYNC_COMMITTEE_SIZE:" @@ -619,7 +619,7 @@ SYNC_COMMITTEE_SIZE: uint64 = 512 -- name: TARGET_COMMITTEE_SIZE +- name: TARGET_COMMITTEE_SIZE#phase0 sources: - file: packages/params/src/presets/mainnet.ts search: "TARGET_COMMITTEE_SIZE:" @@ -628,7 +628,7 @@ TARGET_COMMITTEE_SIZE: uint64 = 128 -- name: UPDATE_TIMEOUT +- name: UPDATE_TIMEOUT#altair sources: - file: packages/params/src/presets/mainnet.ts search: "UPDATE_TIMEOUT:" @@ -637,7 +637,7 @@ UPDATE_TIMEOUT = 8192 -- name: VALIDATOR_REGISTRY_LIMIT +- name: VALIDATOR_REGISTRY_LIMIT#phase0 sources: - file: packages/params/src/presets/mainnet.ts search: "VALIDATOR_REGISTRY_LIMIT:" @@ -646,7 +646,7 @@ VALIDATOR_REGISTRY_LIMIT: uint64 = 1099511627776 -- name: WHISTLEBLOWER_REWARD_QUOTIENT +- name: WHISTLEBLOWER_REWARD_QUOTIENT#phase0 sources: - file: packages/params/src/presets/mainnet.ts search: "WHISTLEBLOWER_REWARD_QUOTIENT:" @@ -655,7 +655,7 @@ WHISTLEBLOWER_REWARD_QUOTIENT: uint64 = 512 -- name: WHISTLEBLOWER_REWARD_QUOTIENT_ELECTRA +- name: WHISTLEBLOWER_REWARD_QUOTIENT_ELECTRA#electra sources: - file: packages/params/src/presets/mainnet.ts search: "WHISTLEBLOWER_REWARD_QUOTIENT_ELECTRA:" diff --git a/specrefs/types.yml b/specrefs/types.yml index d1aacd6dd6d8..1fa4d5c1a65b 100644 --- a/specrefs/types.yml +++ b/specrefs/types.yml @@ -1,4 +1,4 @@ -- name: BLSPubkey +- name: BLSPubkey#phase0 sources: - file: packages/types/src/primitive/sszTypes.ts search: export const BLSPubkey = @@ -7,7 +7,7 @@ BLSPubkey = Bytes48 -- name: BLSSignature +- name: BLSSignature#phase0 sources: - file: packages/types/src/primitive/sszTypes.ts search: export const BLSSignature = @@ -16,7 +16,7 @@ BLSSignature = Bytes96 -- name: Blob +- name: Blob#deneb sources: - file: packages/types/src/deneb/sszTypes.ts search: export const Blob = @@ -25,7 +25,7 @@ Blob = ByteVector[BYTES_PER_FIELD_ELEMENT * FIELD_ELEMENTS_PER_BLOB] -- name: BlobIndex +- name: BlobIndex#deneb sources: - file: packages/types/src/primitive/sszTypes.ts search: export const BlobIndex = @@ -34,7 +34,7 @@ BlobIndex = uint64 -- name: Cell +- name: Cell#fulu sources: - file: packages/types/src/fulu/sszTypes.ts search: export const Cell = @@ -43,14 +43,14 @@ Cell = ByteVector[BYTES_PER_FIELD_ELEMENT * FIELD_ELEMENTS_PER_CELL] -- name: CellIndex +- name: CellIndex#fulu sources: [] spec: | CellIndex = uint64 -- name: ColumnIndex +- name: ColumnIndex#fulu sources: - file: packages/types/src/primitive/sszTypes.ts search: export const ColumnIndex = @@ -59,14 +59,14 @@ ColumnIndex = uint64 -- name: CommitmentIndex +- name: CommitmentIndex#fulu sources: [] spec: | CommitmentIndex = uint64 -- name: CommitteeIndex +- name: CommitteeIndex#phase0 sources: - file: packages/types/src/primitive/sszTypes.ts search: export const CommitteeIndex = @@ -93,7 +93,7 @@ CurrentSyncCommitteeBranch = Vector[Bytes32, floorlog2(CURRENT_SYNC_COMMITTEE_GINDEX_ELECTRA)] -- name: CustodyIndex +- name: CustodyIndex#fulu sources: - file: packages/types/src/primitive/sszTypes.ts search: export const CustodyIndex = @@ -102,7 +102,7 @@ CustodyIndex = uint64 -- name: Domain +- name: Domain#phase0 sources: - file: packages/types/src/primitive/sszTypes.ts search: export const Domain = @@ -111,7 +111,7 @@ Domain = Bytes32 -- name: DomainType +- name: DomainType#phase0 sources: - file: packages/types/src/primitive/sszTypes.ts search: export const DomainType = @@ -120,7 +120,7 @@ DomainType = Bytes4 -- name: Epoch +- name: Epoch#phase0 sources: - file: packages/types/src/primitive/sszTypes.ts search: export const Epoch = @@ -129,14 +129,14 @@ Epoch = uint64 -- name: Ether +- name: Ether#phase0 sources: [] spec: | Ether = uint64 -- name: ExecutionAddress +- name: ExecutionAddress#bellatrix sources: - file: packages/types/src/primitive/sszTypes.ts search: export const ExecutionAddress = @@ -145,7 +145,7 @@ ExecutionAddress = Bytes20 -- name: ExecutionBranch +- name: ExecutionBranch#capella sources: - file: packages/types/src/capella/sszTypes.ts search: export const ExecutionBranch = @@ -172,7 +172,7 @@ FinalityBranch = Vector[Bytes32, floorlog2(FINALIZED_ROOT_GINDEX_ELECTRA)] -- name: ForkDigest +- name: ForkDigest#phase0 sources: - file: packages/types/src/primitive/sszTypes.ts search: export const ForkDigest = @@ -181,7 +181,7 @@ ForkDigest = Bytes4 -- name: G1Point +- name: G1Point#deneb sources: - file: packages/types/src/deneb/sszTypes.ts search: export const G1Point = @@ -190,7 +190,7 @@ G1Point = Bytes48 -- name: G2Point +- name: G2Point#deneb sources: - file: packages/types/src/deneb/sszTypes.ts search: export const G2Point = @@ -199,7 +199,7 @@ G2Point = Bytes96 -- name: Gwei +- name: Gwei#phase0 sources: - file: packages/types/src/primitive/sszTypes.ts search: export const Gwei = @@ -208,14 +208,14 @@ Gwei = uint64 -- name: Hash32 +- name: Hash32#phase0 sources: [] spec: | Hash32 = Bytes32 -- name: KZGCommitment +- name: KZGCommitment#deneb sources: - file: packages/types/src/deneb/sszTypes.ts search: export const KZGCommitment = @@ -224,7 +224,7 @@ KZGCommitment = Bytes48 -- name: KZGProof +- name: KZGProof#deneb sources: - file: packages/types/src/deneb/sszTypes.ts search: export const KZGProof = @@ -251,14 +251,14 @@ NextSyncCommitteeBranch = Vector[Bytes32, floorlog2(NEXT_SYNC_COMMITTEE_GINDEX_ELECTRA)] -- name: NodeID +- name: NodeID#phase0 sources: [] spec: | NodeID = uint256 -- name: ParticipationFlags +- name: ParticipationFlags#altair sources: - file: packages/types/src/primitive/sszTypes.ts search: export const ParticipationFlags = @@ -267,21 +267,21 @@ ParticipationFlags = uint8 -- name: PayloadId +- name: PayloadId#bellatrix sources: [] spec: | PayloadId = Bytes8 -- name: PayloadStatus +- name: PayloadStatus#gloas sources: [] spec: | PayloadStatus = uint8 -- name: Root +- name: Root#phase0 sources: - file: packages/types/src/primitive/sszTypes.ts search: export const Root = @@ -290,7 +290,7 @@ Root = Bytes32 -- name: RowIndex +- name: RowIndex#fulu sources: - file: packages/types/src/primitive/sszTypes.ts search: export const RowIndex = @@ -299,7 +299,7 @@ RowIndex = uint64 -- name: Slot +- name: Slot#phase0 sources: - file: packages/types/src/primitive/sszTypes.ts search: export const Slot = @@ -308,14 +308,14 @@ Slot = uint64 -- name: SubnetID +- name: SubnetID#phase0 sources: [] spec: | SubnetID = uint64 -- name: Transaction +- name: Transaction#bellatrix sources: - file: packages/types/src/bellatrix/sszTypes.ts search: export const Transaction = @@ -324,7 +324,7 @@ Transaction = ByteList[MAX_BYTES_PER_TRANSACTION] -- name: ValidatorIndex +- name: ValidatorIndex#phase0 sources: - file: packages/types/src/primitive/sszTypes.ts search: export const ValidatorIndex = @@ -333,7 +333,7 @@ ValidatorIndex = uint64 -- name: Version +- name: Version#phase0 sources: - file: packages/types/src/primitive/sszTypes.ts search: export const Version = @@ -342,7 +342,7 @@ Version = Bytes4 -- name: VersionedHash +- name: VersionedHash#deneb sources: - file: packages/types/src/deneb/sszTypes.ts search: export const VersionedHash = @@ -351,7 +351,7 @@ VersionedHash = Bytes32 -- name: WithdrawalIndex +- name: WithdrawalIndex#capella sources: - file: packages/types/src/primitive/sszTypes.ts search: export const WithdrawalIndex = From e73b6f48214ccef3199331d359378f8832610231 Mon Sep 17 00:00:00 2001 From: Justin Traglia Date: Mon, 26 Jan 2026 16:29:23 -0600 Subject: [PATCH 4/4] Remove specref entry for compute_merkle_proof --- specrefs/functions.yml | 7 ------- 1 file changed, 7 deletions(-) diff --git a/specrefs/functions.yml b/specrefs/functions.yml index ae3fcae6bb29..f614fab93c2b 100644 --- a/specrefs/functions.yml +++ b/specrefs/functions.yml @@ -780,13 +780,6 @@ return matrix -- name: compute_merkle_proof#altair - sources: [] - spec: | - - def compute_merkle_proof(object: SSZObject, index: GeneralizedIndex) -> Sequence[Bytes32]: ... - - - name: compute_new_state_root#phase0 sources: - file: packages/beacon-node/src/chain/produceBlock/computeNewStateRoot.ts