File tree 3 files changed +49
-1
lines changed
3 files changed +49
-1
lines changed Original file line number Diff line number Diff line change @@ -39,7 +39,7 @@ classifiers = [
39
39
pre-commit = " ^3.0.3"
40
40
coverage = " ^7.2.7"
41
41
pyclean = " ^3.0.0"
42
- pytest = " ^7.2.1 "
42
+ pytest = " ^8.3.3 "
43
43
black = " ^24.1.1"
44
44
45
45
[build-system ]
Original file line number Diff line number Diff line change
1
+ > [ !WARNING]
2
+ > For run tests you need install javascript deps!
Original file line number Diff line number Diff line change @@ -47,3 +47,49 @@ def test_verify_merkle(leaf: str):
47
47
48
48
result = tree .proof (leaf )
49
49
assert tree .verify (result , leaf )
50
+
51
+
52
+ def get_data_from_api ():
53
+ leaves = [
54
+ "a" ,
55
+ "b" ,
56
+ "c" ,
57
+ "d" ,
58
+ "e" ,
59
+ "f" ,
60
+ "g" ,
61
+ "h" ,
62
+ "1" ,
63
+ "2" ,
64
+ "3" ,
65
+ "4" ,
66
+ "5" ,
67
+ "6" ,
68
+ "7" ,
69
+ "8" ,
70
+ ]
71
+ tree = MerkleTree (leaves )
72
+
73
+ leaf = "1"
74
+ proof = tree .proof (leaf )
75
+ return proof , leaf
76
+
77
+
78
+ def test_verify_merkle_proof_without_leaves ():
79
+ proof , leaf = get_data_from_api ()
80
+
81
+ root = "3aa22c94ceb510827b04fa792ebdd7346eb2984ebb24e58dac66d7795c2af4e8"
82
+
83
+ # Test valid proof
84
+ result = MerkleTree .verify_proof (proof , leaf , root )
85
+ assert result , "Expected proof to be valid"
86
+
87
+ # Test invalid proof scenario
88
+ invalid_leaf = "invalid_leaf_data"
89
+ invalid_result = MerkleTree .verify_proof (proof , invalid_leaf , root )
90
+ assert not invalid_result , "Expected proof to be invalid for incorrect leaf"
91
+
92
+ # Test with a different root
93
+ different_root = "0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef"
94
+ different_result = MerkleTree .verify_proof (proof , leaf , different_root )
95
+ assert not different_result , "Expected proof to be invalid for different root"
You can’t perform that action at this time.
0 commit comments