From bda7d1c32cdb2929a4345e9aabd7770f3342a037 Mon Sep 17 00:00:00 2001 From: lucas-manuel Date: Tue, 3 Jan 2023 06:15:32 -0500 Subject: [PATCH 1/2] feat: update to add new functions --- src/InvariantTest.sol | 35 +++++++++++++++++++++++++++++++++-- 1 file changed, 33 insertions(+), 2 deletions(-) diff --git a/src/InvariantTest.sol b/src/InvariantTest.sol index 1320f5ea..6e60c5b4 100644 --- a/src/InvariantTest.sol +++ b/src/InvariantTest.sol @@ -1,9 +1,9 @@ // SPDX-License-Identifier: MIT pragma solidity >=0.6.2 <0.9.0; -import {Test} from "./Test.sol"; +pragma experimental ABIEncoderV2; -contract InvariantTest is Test { +contract InvariantTest { struct FuzzSelector { address addr; @@ -15,8 +15,21 @@ contract InvariantTest is Test { address[] private _targetedContracts; address[] private _targetedSenders; + string[] private _excludedArtifacts; + string[] private _targetedArtifacts; + + FuzzSelector[] internal _targetedArtifactSelectors; FuzzSelector[] internal _targetedSelectors; + function excludeArtifact(string memory newExcludedArtifact_) internal { + _excludedArtifacts.push(newExcludedArtifact_); + } + + function excludeArtifacts() public view returns (string[] memory excludedArtifacts_) { + require(_excludedArtifacts.length != uint256(0), "NO_EXCLUDED_ARTIFACTS"); + excludedArtifacts_ = _excludedArtifacts; + } + function excludeContract(address newExcludedContract_) internal { _excludedContracts.push(newExcludedContract_); } @@ -35,6 +48,24 @@ contract InvariantTest is Test { excludedSenders_ = _excludedSenders; } + function targetArtifact(string memory newTargetedArtifact_) internal { + _targetedArtifacts.push(newTargetedArtifact_); + } + + function targetArtifacts() public view returns (string[] memory targetedArtifacts_) { + require(_targetedArtifacts.length != uint256(0), "NO_TARGETED_ARTIFACTS"); + targetedArtifacts_ = _targetedArtifacts; + } + + function targetArtifactSelector(FuzzSelector memory newTargetedArtifactSelector_) internal { + _targetedArtifactSelectors.push(newTargetedArtifactSelector_); + } + + function targetArtifactSelectors() public view returns (FuzzSelector[] memory targetedArtifactSelectors_) { + require(targetedArtifactSelectors_.length != uint256(0), "NO_TARGETED_ARTIFACT_SELECTORS"); + targetedArtifactSelectors_ = _targetedArtifactSelectors; + } + function targetContract(address newTargetedContract_) internal { _targetedContracts.push(newTargetedContract_); } From 5409a823b740ce293dd0dd2918ad6cb69fc375e4 Mon Sep 17 00:00:00 2001 From: lucas-manuel Date: Tue, 3 Jan 2023 06:17:57 -0500 Subject: [PATCH 2/2] fix: run forge fmt --- src/InvariantTest.sol | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/InvariantTest.sol b/src/InvariantTest.sol index 6e60c5b4..15cb7e83 100644 --- a/src/InvariantTest.sol +++ b/src/InvariantTest.sol @@ -4,7 +4,6 @@ pragma solidity >=0.6.2 <0.9.0; pragma experimental ABIEncoderV2; contract InvariantTest { - struct FuzzSelector { address addr; bytes4[] selectors; @@ -92,5 +91,4 @@ contract InvariantTest { require(_targetedSenders.length != uint256(0), "NO_TARGETED_SENDERS"); targetedSenders_ = _targetedSenders; } - }