Skip to content

Commit

Permalink
Merge pull request #123 from worldcoin/kit/forge-coverage
Browse files Browse the repository at this point in the history
fix(contracts): Update `PBHSignatureAggregatorTest` to fix stack overflow during `forge coverage`
  • Loading branch information
0xKitsune authored Jan 8, 2025
2 parents 0cf5409 + b062727 commit 7c5a9c1
Showing 1 changed file with 44 additions and 27 deletions.
71 changes: 44 additions & 27 deletions contracts/test/PBHSignatureAggregator.t.sol
Original file line number Diff line number Diff line change
Expand Up @@ -12,24 +12,37 @@ import "../src/helpers/PBHExternalNullifier.sol";
import {PBHSignatureAggregator} from "../src/PBHSignatureAggregator.sol";

contract PBHSignatureAggregatorTest is TestSetup {
struct ProofData {
uint256 p0;
uint256 p1;
uint256 p2;
uint256 p3;
uint256 p4;
uint256 p5;
uint256 p6;
uint256 p7;
}

function testFuzz_AggregateSignatures(
uint256 root,
uint256 pbhExternalNullifier,
uint256 nullifierHash,
uint256 p0,
uint256 p1,
uint256 p2,
uint256 p3,
uint256 p4,
uint256 p5,
uint256 p6,
uint256 p7
ProofData calldata proofData
) public {
IPBHEntryPoint.PBHPayload memory proof = IPBHEntryPoint.PBHPayload({
root: root,
pbhExternalNullifier: pbhExternalNullifier,
nullifierHash: nullifierHash,
proof: [p0, p1, p2, p3, p4, p5, p6, p7]
proof: [
proofData.p0,
proofData.p1,
proofData.p2,
proofData.p3,
proofData.p4,
proofData.p5,
proofData.p6,
proofData.p7
]
});

bytes[] memory proofs = new bytes[](2);
Expand Down Expand Up @@ -75,22 +88,24 @@ contract PBHSignatureAggregatorTest is TestSetup {
uint256 pbhExternalNullifier,
uint256 nullifierHash,
uint8 signatureThreshold,
uint256 p0,
uint256 p1,
uint256 p2,
uint256 p3,
uint256 p4,
uint256 p5,
uint256 p6,
uint256 p7
ProofData calldata proofData
) public {
vm.assume(signatureThreshold >= 1);
deployMockSafe(address(pbhAggregator), signatureThreshold);
IPBHEntryPoint.PBHPayload memory proof = IPBHEntryPoint.PBHPayload({
root: root,
pbhExternalNullifier: pbhExternalNullifier,
nullifierHash: nullifierHash,
proof: [p0, p1, p2, p3, p4, p5, p6, p7]
proof: [
proofData.p0,
proofData.p1,
proofData.p2,
proofData.p3,
proofData.p4,
proofData.p5,
proofData.p6,
proofData.p7
]
});

bytes memory proofData = abi.encode(proof);
Expand Down Expand Up @@ -159,20 +174,22 @@ contract PBHSignatureAggregatorTest is TestSetup {
uint256 root,
uint256 pbhExternalNullifier,
uint256 nullifierHash,
uint256 p0,
uint256 p1,
uint256 p2,
uint256 p3,
uint256 p4,
uint256 p5,
uint256 p6,
uint256 p7
ProofData calldata proofData
) public {
IPBHEntryPoint.PBHPayload memory proof = IPBHEntryPoint.PBHPayload({
root: root,
pbhExternalNullifier: pbhExternalNullifier,
nullifierHash: nullifierHash,
proof: [p0, p1, p2, p3, p4, p5, p6, p7]
proof: [
proofData.p0,
proofData.p1,
proofData.p2,
proofData.p3,
proofData.p4,
proofData.p5,
proofData.p6,
proofData.p7
]
});

bytes[] memory proofs = new bytes[](2);
Expand Down

0 comments on commit 7c5a9c1

Please sign in to comment.