From c5e9c3cb4e3fcf7734b46cfb9ef06c5af6b47eb0 Mon Sep 17 00:00:00 2001 From: Benedikt Wagner <113296072+b-wagn@users.noreply.github.com> Date: Tue, 11 Jun 2024 14:43:40 +0200 Subject: [PATCH] Add public methods section in KZG spec (#3795) --- .../eip7594/polynomial-commitments-sampling.md | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/specs/_features/eip7594/polynomial-commitments-sampling.md b/specs/_features/eip7594/polynomial-commitments-sampling.md index acf4ffc627..e6e39350bc 100644 --- a/specs/_features/eip7594/polynomial-commitments-sampling.md +++ b/specs/_features/eip7594/polynomial-commitments-sampling.md @@ -7,6 +7,7 @@ - [Introduction](#introduction) +- [Public Methods](#public-methods) - [Custom types](#custom-types) - [Constants](#constants) - [Preset](#preset) @@ -55,10 +56,21 @@ This document extends [polynomial-commitments.md](polynomial-commitments.md) with the functions required for data availability sampling (DAS). It is not part of the core Deneb spec but an extension that can be optionally implemented to allow nodes to reduce their load using DAS. +## Public Methods + For any KZG library extended to support DAS, functions flagged as "Public method" MUST be provided by the underlying KZG library as public functions. All other functions are private functions used internally by the KZG library. Public functions MUST accept raw bytes as input and perform the required cryptographic normalization before invoking any internal functions. +The following is a list of the public methods: + +* [`compute_cells_and_kzg_proofs`](#compute_cells_and_kzg_proofs) +* [`compute_cells`](#compute_cells) +* [`verify_cell_kzg_proof`](#verify_cell_kzg_proof) +* [`verify_cell_kzg_proof_batch`](#verify_cell_kzg_proof_batch) +* [`recover_cells_and_kzg_proofs`](#recover_cells_and_kzg_proofs) + + ## Custom types | Name | SSZ equivalent | Description |