Skip to content

Commit a403dc9

Browse files
committed
fix: add wrapper function for Delta.verify for the fuzzer
1 parent 42c0b8c commit a403dc9

1 file changed

Lines changed: 12 additions & 7 deletions

File tree

contracts/test/proofs/DeltaProof.t.sol

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,11 @@ contract DeltaProofTest is Test {
2525
bool consumed;
2626
}
2727

28+
/// @dev This function exposes `Delta.verify` for the fuzzer.
29+
function verifyDelta(bytes memory proof, uint256[2] memory instance, bytes32 verifyingKey) public pure {
30+
Delta.verify({proof: proof, instance: instance, verifyingKey: verifyingKey});
31+
}
32+
2833
function testFuzz_verify_delta_succeeds(
2934
uint256 kind,
3035
uint256 valueCommitmentRandomness,
@@ -54,7 +59,7 @@ contract DeltaProofTest is Test {
5459
bytes memory proof = DeltaGen.generateProof(vm, deltaProofInputs);
5560

5661
// Verify that the generated delta proof is valid
57-
Delta.verify({proof: proof, instance: instance, verifyingKey: deltaProofInputs.verifyingKey});
62+
verifyDelta({proof: proof, instance: instance, verifyingKey: deltaProofInputs.verifyingKey});
5863
}
5964

6065
/// @notice Test that Delta.add correctly adds deltas
@@ -140,7 +145,7 @@ contract DeltaProofTest is Test {
140145
uint256[2] memory instance = DeltaGen.generateInstance(vm, deltaInstanceInputs);
141146
bytes memory proof = DeltaGen.generateProof(vm, deltaProofInputs);
142147
vm.expectPartialRevert(Delta.DeltaMismatch.selector);
143-
Delta.verify({proof: proof, instance: instance, verifyingKey: deltaProofInputs.verifyingKey});
148+
verifyDelta({proof: proof, instance: instance, verifyingKey: deltaProofInputs.verifyingKey});
144149
}
145150

146151
/// @notice Test that Delta.verify rejects a delta proof that does not correspond to instance
@@ -175,7 +180,7 @@ contract DeltaProofTest is Test {
175180
}
176181

177182
vm.expectPartialRevert(Delta.DeltaMismatch.selector);
178-
Delta.verify({proof: proofRcv1, instance: instanceRcv2, verifyingKey: verifyingKey});
183+
verifyDelta({proof: proofRcv1, instance: instanceRcv2, verifyingKey: verifyingKey});
179184
}
180185

181186
/// @notice Test that Delta.verify rejects a delta proof that does not correspond to the verifying key
@@ -209,7 +214,7 @@ contract DeltaProofTest is Test {
209214
}
210215

211216
vm.expectPartialRevert(Delta.DeltaMismatch.selector);
212-
Delta.verify({proof: proofForVk1, instance: instance, verifyingKey: verifyingKey2});
217+
verifyDelta({proof: proofForVk1, instance: instance, verifyingKey: verifyingKey2});
213218
}
214219

215220
/// @notice Check that a balanced transaction does pass verification
@@ -261,7 +266,7 @@ contract DeltaProofTest is Test {
261266

262267
bytes memory proof = DeltaGen.generateProof(vm, sumDeltaInputs);
263268
// Verify that the balanced transaction proof succeeds
264-
Delta.verify({proof: proof, instance: deltaAcc, verifyingKey: verifyingKey});
269+
verifyDelta({proof: proof, instance: deltaAcc, verifyingKey: verifyingKey});
265270
}
266271

267272
/// @notice Check that an imbalanced transaction fails verification
@@ -302,13 +307,13 @@ contract DeltaProofTest is Test {
302307
bytes memory proof = DeltaGen.generateProof(vm, sumDeltaInputs);
303308
// Verify that the imbalanced transaction proof fails
304309
vm.expectPartialRevert(Delta.DeltaMismatch.selector);
305-
Delta.verify({proof: proof, instance: deltaAcc, verifyingKey: verifyingKey});
310+
verifyDelta({proof: proof, instance: deltaAcc, verifyingKey: verifyingKey});
306311
}
307312

308313
function test_verify_example_delta_proof() public pure {
309314
Transaction memory txn = TransactionExample.transaction();
310315

311-
Delta.verify({
316+
verifyDelta({
312317
proof: txn.deltaProof,
313318
instance: [
314319
uint256(txn.actions[0].complianceVerifierInputs[0].instance.unitDeltaX),

0 commit comments

Comments
 (0)