diff --git a/AllTests-mainnet.md b/AllTests-mainnet.md index 7047850f62..d4135b9854 100644 --- a/AllTests-mainnet.md +++ b/AllTests-mainnet.md @@ -539,8 +539,9 @@ OK: 1/1 Fail: 0/1 Skip: 0/1 ## EIP-7594 Unit Tests ```diff + EIP-7594: Compute Matrix OK ++ EIP:7594: Recover Matrix OK ``` -OK: 1/1 Fail: 0/1 Skip: 0/1 +OK: 2/2 Fail: 0/2 Skip: 0/2 ## EL Configuration ```diff + Empty config file OK @@ -1124,4 +1125,4 @@ OK: 2/2 Fail: 0/2 Skip: 0/2 OK: 9/9 Fail: 0/9 Skip: 0/9 ---TOTAL--- -OK: 761/766 Fail: 0/766 Skip: 5/766 +OK: 762/767 Fail: 0/767 Skip: 5/767 diff --git a/beacon_chain/spec/eip7594_helpers.nim b/beacon_chain/spec/eip7594_helpers.nim index dc9213ec5c..db61d8b02a 100644 --- a/beacon_chain/spec/eip7594_helpers.nim +++ b/beacon_chain/spec/eip7594_helpers.nim @@ -120,6 +120,41 @@ proc compute_matrix*(blobs: seq[KzgBlob]): Result[seq[MatrixEntry], cstring] = ok(extended_matrix) +# https://github.com/ethereum/consensus-specs/blob/v1.5.0-alpha.5/specs/_features/eip7594/das-core.md#recover_matrix +proc recover_matrix*(partial_matrix: seq[MatrixEntry], + blobCount: int): + Result[seq[MatrixEntry], cstring] = + ## This helper demonstrates how to apply recover_cells_and_kzg_proofs + ## The data structure for storing cells is implementation-dependent + var extended_matrix: seq[MatrixEntry] + for blob_index in 0..