mirror of
https://github.com/logos-blockchain/logos-blockchain-specs.git
synced 2026-01-02 13:13:06 +00:00
52 lines
1.6 KiB
Python
52 lines
1.6 KiB
Python
from unittest import TestCase
|
|
|
|
from da.common import Column
|
|
from da.encoder import DAEncoder
|
|
from da.kzg_rs import kzg
|
|
from da.kzg_rs.common import GLOBAL_PARAMETERS, ROOTS_OF_UNITY
|
|
from da.test_encoder import TestEncoder
|
|
from da.verifier import DAVerifier, DAShare
|
|
|
|
|
|
class TestVerifier(TestCase):
|
|
|
|
def setUp(self):
|
|
self.verifier = DAVerifier()
|
|
|
|
|
|
def test_verify(self):
|
|
_ = TestEncoder()
|
|
_.setUp()
|
|
encoded_data = _.encoder.encode(_.data)
|
|
for i, column in enumerate(encoded_data.extended_matrix.columns):
|
|
verifier = DAVerifier()
|
|
da_blob = DAShare(
|
|
Column(column),
|
|
i,
|
|
encoded_data.combined_column_proofs[i],
|
|
encoded_data.row_commitments,
|
|
)
|
|
self.assertIsNotNone(verifier.verify(da_blob))
|
|
|
|
def test_verify_duplicated_blob(self):
|
|
_ = TestEncoder()
|
|
_.setUp()
|
|
encoded_data = _.encoder.encode(_.data)
|
|
columns = enumerate(encoded_data.extended_matrix.columns)
|
|
i, column = next(columns)
|
|
da_blob = DAShare(
|
|
Column(column),
|
|
i,
|
|
encoded_data.combined_column_proofs[i],
|
|
encoded_data.row_commitments,
|
|
)
|
|
self.assertIsNotNone(self.verifier.verify(da_blob))
|
|
for i, column in columns:
|
|
da_blob = DAShare(
|
|
Column(column),
|
|
i,
|
|
encoded_data.combined_column_proofs[i],
|
|
encoded_data.row_commitments,
|
|
)
|
|
self.assertIsNotNone(self.verifier.verify(da_blob))
|