Skip to content

Commit ed32c9e

Browse files
spencer-tbjsign
authored andcommitted
fix(fw): add basic test for witness model.
1 parent a94000f commit ed32c9e

File tree

1 file changed

+81
-0
lines changed

1 file changed

+81
-0
lines changed
Lines changed: 81 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,81 @@
1+
"""
2+
Test suite for the verkle witness.
3+
"""
4+
5+
import pytest
6+
7+
from ethereum_test_types.verkle import Witness
8+
9+
10+
@pytest.fixture
11+
def witness_data():
12+
"""
13+
Valid verkle witness data.
14+
"""
15+
return {
16+
"verkleProof": {
17+
"otherStems": [],
18+
"depthExtensionPresent": "0x0a",
19+
"commitmentsByPath": [
20+
"0x73bd3673ee58f638feb0e21ba8b0cfeadbc9b280716915338b4f46556aa68226",
21+
"0x12fe9ad68c17edfed0861a1b19f0bc178836f56abf3514742cb2d4645b35ba92",
22+
],
23+
"d": "0x392ac76ac887f79c7c6fd5fd26ec9cfd44664a69aa5075477cbdfdcb522d2a7a",
24+
"ipaProof": {
25+
"cl": [
26+
"0x64b54668075852328d955f6f2336a9a06defa7a8b49718a013a3849212988c5a",
27+
"0x360403c03f7e21825e7ff76be9d5b6067032230c6f91c618298796bfc47a0c11",
28+
"0x064fbaf6f5ff7e7d126cec7665789a0a62f43b68f2e6e8167b7cca82455ab6c7",
29+
"0x3b02cb202ecbb384215e8ad74a9be278fb762f667bade979f8f9a39088918af0",
30+
"0x57fa59af60061d72fc92e4264bad153885c0d06991dc6736e4f4b081326a1cdc",
31+
"0x24dd138cd53f71e075a07fe4532168de6d6061bfe491e7768bcc1d7713bc3bcb",
32+
"0x5da706b290cee4ca425d13c49bbe4da202de79010051d9d3b1c052142fb2e7aa",
33+
"0x238f6f59bc86c521e6fce993f84f4b666fcf25248aee148d898a9e614c3fee13",
34+
],
35+
"cr": [
36+
"0x2aa66cbd97293e3524945cb9660c97a42b71e29718cdda0841fcf18636b57a1b",
37+
"0x73e20d72f31583e21e5bb204d262a737d190d993af234b3cb4b6ecdddc49b61b",
38+
"0x4b8602d3f96d61c74dc19f771c907224b086086e0207fbe2e24d511627102ba4",
39+
"0x446ac6121c2fbc0a4cc656121c160f049a07f0d63307aae23815c1a7ec80cfdf",
40+
"0x6d5a3fbd3356e5df2d93052cc9e402dab4ef5014af9b35fc32977c584e7613bc",
41+
"0x4399dfaf28ee7a4fda83a04ea189201b0f63b897b74f5d5dc51535ff23d48124",
42+
"0x4441409deb28990e3b51235f7ea131a2772237167fe266fbcd0ba19f422364e3",
43+
"0x39966d71a2cf09311940c164ef8e5f37e09a64226535c4aeaf26944f3f5f1b2e",
44+
],
45+
"finalEvaluation": (
46+
"0x0773f10637892f75d48ef0ed3e421b6e435220d17a99ec2914af567d46c70988",
47+
),
48+
},
49+
},
50+
"stateDiff": [
51+
{
52+
"stem": "0x5b5fdfedd6a0e932da408ac7d772a36513d1eee9b9926e52620c43a433aad7",
53+
"suffixDiffs": [
54+
{
55+
"suffix": 66,
56+
"currentValue": (
57+
"0x647ed3c87a4f764421ea2f5bfc73195812f6b7dd15ac2b8d295730c1dede1edf",
58+
),
59+
"newValue": None,
60+
}
61+
],
62+
}
63+
],
64+
}
65+
66+
67+
def test_witness_validation(valid_witness_data):
68+
"""
69+
Performs basic witness format validation.
70+
"""
71+
witness = Witness(**valid_witness_data)
72+
assert witness.verkle_proof.depth_extension_present == "0x0a"
73+
assert (
74+
witness.verkle_proof.commitments_by_path[0]
75+
== "0x73bd3673ee58f638feb0e21ba8b0cfeadbc9b280716915338b4f46556aa68226"
76+
)
77+
assert (
78+
witness.state_diff.root[0].suffix_diffs[0].current_value
79+
== "0x647ed3c87a4f764421ea2f5bfc73195812f6b7dd15ac2b8d295730c1dede1edf"
80+
)
81+
assert witness.state_diff.root[0].suffix_diffs[0].new_value is None

0 commit comments

Comments
 (0)