@@ -17,78 +17,76 @@ contract InvariantTest {
1717 string [] private _excludedArtifacts;
1818 string [] private _targetedArtifacts;
1919
20- FuzzSelector[] internal _targetedArtifactSelectors;
21- FuzzSelector[] internal _targetedSelectors;
20+ FuzzSelector[] private _targetedArtifactSelectors;
21+ FuzzSelector[] private _targetedSelectors;
22+
23+ // Functions for users:
24+ // These are intended to be called in tests.
25+
26+ function excludeContract (address newExcludedContract_ ) internal {
27+ _excludedContracts.push (newExcludedContract_);
28+ }
29+
30+ function excludeSender (address newExcludedSender_ ) internal {
31+ _excludedSenders.push (newExcludedSender_);
32+ }
33+
34+ function targetArtifact (string memory newTargetedArtifact_ ) internal {
35+ _targetedArtifacts.push (newTargetedArtifact_);
36+ }
37+
38+ function targetArtifactSelector (FuzzSelector memory newTargetedArtifactSelector_ ) internal {
39+ _targetedArtifactSelectors.push (newTargetedArtifactSelector_);
40+ }
41+
42+ function targetContract (address newTargetedContract_ ) internal {
43+ _targetedContracts.push (newTargetedContract_);
44+ }
45+
46+ function targetSelector (FuzzSelector memory newTargetedSelector_ ) internal {
47+ _targetedSelectors.push (newTargetedSelector_);
48+ }
49+
50+ function targetSender (address newTargetedSender_ ) internal {
51+ _targetedSenders.push (newTargetedSender_);
52+ }
53+
54+ // Functions for forge:
55+ // These are called by forge to run invariant tests and don't need to be called in tests.
2256
2357 function excludeArtifact (string memory newExcludedArtifact_ ) internal {
2458 _excludedArtifacts.push (newExcludedArtifact_);
2559 }
2660
2761 function excludeArtifacts () public view returns (string [] memory excludedArtifacts_ ) {
28- require (_excludedArtifacts.length != uint256 (0 ), "NO_EXCLUDED_ARTIFACTS " );
2962 excludedArtifacts_ = _excludedArtifacts;
3063 }
3164
32- function excludeContract (address newExcludedContract_ ) internal {
33- _excludedContracts.push (newExcludedContract_);
34- }
35-
3665 function excludeContracts () public view returns (address [] memory excludedContracts_ ) {
37- require (_excludedContracts.length != uint256 (0 ), "NO_EXCLUDED_CONTRACTS " );
3866 excludedContracts_ = _excludedContracts;
3967 }
4068
41- function excludeSender (address newExcludedSender_ ) internal {
42- _excludedSenders.push (newExcludedSender_);
43- }
44-
4569 function excludeSenders () public view returns (address [] memory excludedSenders_ ) {
46- require (_excludedSenders.length != uint256 (0 ), "NO_EXCLUDED_SENDERS " );
4770 excludedSenders_ = _excludedSenders;
4871 }
4972
50- function targetArtifact (string memory newTargetedArtifact_ ) internal {
51- _targetedArtifacts.push (newTargetedArtifact_);
52- }
53-
5473 function targetArtifacts () public view returns (string [] memory targetedArtifacts_ ) {
55- require (_targetedArtifacts.length != uint256 (0 ), "NO_TARGETED_ARTIFACTS " );
5674 targetedArtifacts_ = _targetedArtifacts;
5775 }
5876
59- function targetArtifactSelector (FuzzSelector memory newTargetedArtifactSelector_ ) internal {
60- _targetedArtifactSelectors.push (newTargetedArtifactSelector_);
61- }
62-
6377 function targetArtifactSelectors () public view returns (FuzzSelector[] memory targetedArtifactSelectors_ ) {
64- require (targetedArtifactSelectors_.length != uint256 (0 ), "NO_TARGETED_ARTIFACT_SELECTORS " );
6578 targetedArtifactSelectors_ = _targetedArtifactSelectors;
6679 }
6780
68- function targetContract (address newTargetedContract_ ) internal {
69- _targetedContracts.push (newTargetedContract_);
70- }
71-
7281 function targetContracts () public view returns (address [] memory targetedContracts_ ) {
73- require (_targetedContracts.length != uint256 (0 ), "NO_TARGETED_CONTRACTS " );
7482 targetedContracts_ = _targetedContracts;
7583 }
7684
77- function targetSelector (FuzzSelector memory newTargetedSelector_ ) internal {
78- _targetedSelectors.push (newTargetedSelector_);
79- }
80-
8185 function targetSelectors () public view returns (FuzzSelector[] memory targetedSelectors_ ) {
82- require (targetedSelectors_.length != uint256 (0 ), "NO_TARGETED_SELECTORS " );
8386 targetedSelectors_ = _targetedSelectors;
8487 }
8588
86- function targetSender (address newTargetedSender_ ) internal {
87- _targetedSenders.push (newTargetedSender_);
88- }
89-
9089 function targetSenders () public view returns (address [] memory targetedSenders_ ) {
91- require (_targetedSenders.length != uint256 (0 ), "NO_TARGETED_SENDERS " );
9290 targetedSenders_ = _targetedSenders;
9391 }
9492}
0 commit comments