bump nim-kzg4844, enable ckzg2.0.0, fix whatever needed (#6502)
This commit is contained in:
parent
a839145bec
commit
5a44e39e31
|
@ -22,7 +22,7 @@ import
|
||||||
eth/p2p/discoveryv5/enr,
|
eth/p2p/discoveryv5/enr,
|
||||||
json_serialization, web3/[primitives, confutils_defs],
|
json_serialization, web3/[primitives, confutils_defs],
|
||||||
chronos/transports/common,
|
chronos/transports/common,
|
||||||
kzg4844/kzg_ex,
|
kzg4844/kzg,
|
||||||
./spec/[engine_authentication, keystore, network, crypto],
|
./spec/[engine_authentication, keystore, network, crypto],
|
||||||
./spec/datatypes/base,
|
./spec/datatypes/base,
|
||||||
./networking/network_metadata,
|
./networking/network_metadata,
|
||||||
|
@ -1500,11 +1500,11 @@ proc loadKzgTrustedSetup*(): Result[void, string] =
|
||||||
vendorDir & "/nim-kzg4844/kzg4844/csources/src/trusted_setup.txt")
|
vendorDir & "/nim-kzg4844/kzg4844/csources/src/trusted_setup.txt")
|
||||||
|
|
||||||
static: doAssert const_preset in ["mainnet", "gnosis", "minimal"]
|
static: doAssert const_preset in ["mainnet", "gnosis", "minimal"]
|
||||||
Kzg.loadTrustedSetupFromString(trustedSetup)
|
loadTrustedSetupFromString(trustedSetup, 0)
|
||||||
|
|
||||||
proc loadKzgTrustedSetup*(trustedSetupPath: string): Result[void, string] =
|
proc loadKzgTrustedSetup*(trustedSetupPath: string): Result[void, string] =
|
||||||
try:
|
try:
|
||||||
Kzg.loadTrustedSetupFromString(readFile(trustedSetupPath))
|
loadTrustedSetupFromString(readFile(trustedSetupPath), 0)
|
||||||
except IOError as err:
|
except IOError as err:
|
||||||
err(err.msg)
|
err(err.msg)
|
||||||
|
|
||||||
|
|
|
@ -15,6 +15,7 @@ import
|
||||||
web3, web3/[engine_api, primitives, conversions],
|
web3, web3/[engine_api, primitives, conversions],
|
||||||
eth/common/eth_types,
|
eth/common/eth_types,
|
||||||
results,
|
results,
|
||||||
|
kzg4844/[kzg_abi, kzg],
|
||||||
stew/[assign2, byteutils, objects],
|
stew/[assign2, byteutils, objects],
|
||||||
# Local modules:
|
# Local modules:
|
||||||
../spec/[eth2_merkleization, forks],
|
../spec/[eth2_merkleization, forks],
|
||||||
|
|
|
@ -8,6 +8,7 @@
|
||||||
{.push raises: [].}
|
{.push raises: [].}
|
||||||
|
|
||||||
import
|
import
|
||||||
|
kzg4844/[kzg_abi, kzg],
|
||||||
../spec/datatypes/[bellatrix, capella, deneb, electra],
|
../spec/datatypes/[bellatrix, capella, deneb, electra],
|
||||||
web3/[engine_api, engine_api_types]
|
web3/[engine_api, engine_api_types]
|
||||||
|
|
||||||
|
|
|
@ -11,6 +11,7 @@ import
|
||||||
# Status
|
# Status
|
||||||
chronicles, chronos, metrics,
|
chronicles, chronos, metrics,
|
||||||
results,
|
results,
|
||||||
|
kzg4844/[kzg, kzg_abi],
|
||||||
stew/byteutils,
|
stew/byteutils,
|
||||||
# Internals
|
# Internals
|
||||||
../spec/[
|
../spec/[
|
||||||
|
@ -458,7 +459,7 @@ proc validateBlobSidecar*(
|
||||||
# [REJECT] The sidecar's blob is valid as verified by `verify_blob_kzg_proof(
|
# [REJECT] The sidecar's blob is valid as verified by `verify_blob_kzg_proof(
|
||||||
# blob_sidecar.blob, blob_sidecar.kzg_commitment, blob_sidecar.kzg_proof)`.
|
# blob_sidecar.blob, blob_sidecar.kzg_commitment, blob_sidecar.kzg_proof)`.
|
||||||
block:
|
block:
|
||||||
let ok = verifyProof(
|
let ok = verifyBlobKzgProof(
|
||||||
KzgBlob(bytes: blob_sidecar.blob),
|
KzgBlob(bytes: blob_sidecar.blob),
|
||||||
blob_sidecar.kzg_commitment,
|
blob_sidecar.kzg_commitment,
|
||||||
blob_sidecar.kzg_proof).valueOr:
|
blob_sidecar.kzg_proof).valueOr:
|
||||||
|
|
|
@ -29,7 +29,7 @@ import
|
||||||
../extras,
|
../extras,
|
||||||
./datatypes/[phase0, altair, bellatrix, deneb],
|
./datatypes/[phase0, altair, bellatrix, deneb],
|
||||||
"."/[beaconstate, eth2_merkleization, helpers, validator, signatures],
|
"."/[beaconstate, eth2_merkleization, helpers, validator, signatures],
|
||||||
kzg4844/kzg_abi, kzg4844/kzg_ex
|
kzg4844/kzg_abi, kzg4844/kzg
|
||||||
|
|
||||||
from std/algorithm import fill, sorted
|
from std/algorithm import fill, sorted
|
||||||
from std/sequtils import count, filterIt, mapIt
|
from std/sequtils import count, filterIt, mapIt
|
||||||
|
@ -1083,7 +1083,7 @@ func kzg_commitment_to_versioned_hash*(
|
||||||
proc validate_blobs*(
|
proc validate_blobs*(
|
||||||
expected_kzg_commitments: seq[KzgCommitment], blobs: seq[KzgBlob],
|
expected_kzg_commitments: seq[KzgCommitment], blobs: seq[KzgBlob],
|
||||||
proofs: seq[KzgProof]): Result[void, string] =
|
proofs: seq[KzgProof]): Result[void, string] =
|
||||||
let res = verifyProofs(blobs, expected_kzg_commitments, proofs).valueOr:
|
let res = verifyBlobKzgProofBatch(blobs, expected_kzg_commitments, proofs).valueOr:
|
||||||
return err("validate_blobs proof verification error: " & error())
|
return err("validate_blobs proof verification error: " & error())
|
||||||
|
|
||||||
if not res:
|
if not res:
|
||||||
|
|
|
@ -128,7 +128,7 @@ proc unblindAndRouteBlockMEV*(
|
||||||
if blindedBlock.message.body.blob_kzg_commitments !=
|
if blindedBlock.message.body.blob_kzg_commitments !=
|
||||||
bundle.data.blobs_bundle.commitments:
|
bundle.data.blobs_bundle.commitments:
|
||||||
return err("unblinded blobs bundle has unexpected commitments")
|
return err("unblinded blobs bundle has unexpected commitments")
|
||||||
let ok = verifyProofs(
|
let ok = verifyBlobKzgProofBatch(
|
||||||
blobs_bundle.blobs.mapIt(KzgBlob(bytes: it)),
|
blobs_bundle.blobs.mapIt(KzgBlob(bytes: it)),
|
||||||
asSeq blobs_bundle.commitments,
|
asSeq blobs_bundle.commitments,
|
||||||
asSeq blobs_bundle.proofs).valueOr:
|
asSeq blobs_bundle.proofs).valueOr:
|
||||||
|
|
|
@ -11,7 +11,7 @@
|
||||||
import
|
import
|
||||||
std/json,
|
std/json,
|
||||||
yaml/tojson,
|
yaml/tojson,
|
||||||
kzg4844/kzg_ex,
|
kzg4844/kzg,
|
||||||
stew/byteutils,
|
stew/byteutils,
|
||||||
../testutil,
|
../testutil,
|
||||||
./fixtures_utils, ./os_ops
|
./fixtures_utils, ./os_ops
|
||||||
|
@ -31,9 +31,9 @@ func fromHex[N: static int](s: string): Opt[array[N, byte]] =
|
||||||
|
|
||||||
block:
|
block:
|
||||||
template sourceDir: string = currentSourcePath.rsplit(DirSep, 1)[0]
|
template sourceDir: string = currentSourcePath.rsplit(DirSep, 1)[0]
|
||||||
doAssert Kzg.loadTrustedSetup(
|
doAssert loadTrustedSetup(
|
||||||
sourceDir &
|
sourceDir &
|
||||||
"/../../vendor/nim-kzg4844/kzg4844/csources/src/trusted_setup.txt").isOk
|
"/../../vendor/nim-kzg4844/kzg4844/csources/src/trusted_setup.txt", 0).isOk
|
||||||
|
|
||||||
proc runBlobToKzgCommitmentTest(suiteName, suitePath, path: string) =
|
proc runBlobToKzgCommitmentTest(suiteName, suitePath, path: string) =
|
||||||
let relativePathComponent = path.relativeTestPathComponent(suitePath)
|
let relativePathComponent = path.relativeTestPathComponent(suitePath)
|
||||||
|
@ -75,7 +75,7 @@ proc runVerifyKzgProofTest(suiteName, suitePath, path: string) =
|
||||||
if commitment.isNone or z.isNone or y.isNone or proof.isNone:
|
if commitment.isNone or z.isNone or y.isNone or proof.isNone:
|
||||||
check output.kind == JNull
|
check output.kind == JNull
|
||||||
else:
|
else:
|
||||||
let v = verifyProof(
|
let v = verifyKzgProof(
|
||||||
KzgCommitment(bytes: commitment.get),
|
KzgCommitment(bytes: commitment.get),
|
||||||
KzgBytes32(bytes: z.get), KzgBytes32(bytes: y.get),
|
KzgBytes32(bytes: z.get), KzgBytes32(bytes: y.get),
|
||||||
KzgBytes48(bytes: proof.get))
|
KzgBytes48(bytes: proof.get))
|
||||||
|
@ -237,4 +237,4 @@ suite suiteName:
|
||||||
for kind, path in walkDir(testsDir, relative = true, checkDir = true):
|
for kind, path in walkDir(testsDir, relative = true, checkDir = true):
|
||||||
runComputeBlobKzgProofTest(suiteName, testsDir, testsDir / path)
|
runComputeBlobKzgProofTest(suiteName, testsDir, testsDir / path)
|
||||||
|
|
||||||
doAssert Kzg.freeTrustedSetup().isOk
|
doAssert freeTrustedSetup().isOk
|
||||||
|
|
|
@ -1 +1 @@
|
||||||
Subproject commit 7bd7f115db8983be2549ce1a55891355c404fdc0
|
Subproject commit 76ffb3b39610adde23f0c70faba3553272c9791d
|
Loading…
Reference in New Issue