Earlier versions have known vulnerabilities. Slither output: ``` INFO:Detectors: Version constraint ^0.8.13 contains known severe issues (https://solidity.readthedocs.io/en/latest/bugs.html) - VerbatimInvalidDeduplication - FullInlinerNonExpressionSplitArgumentEvaluationOrder - MissingSideEffectsOnSelectorAccess - StorageWriteRemovalBeforeConditionalTermination - AbiReencodingHeadOverflowWithStaticArrayCleanup - DirtyBytesArrayToStorage - InlineAssemblyMemorySideEffects - DataLocationChangeInInternalOverride - NestedCalldataArrayAbiReencodingSizeValidation. It is used by: - ^0.8.13 (src/Counter.sol#2) Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#incorrect-versions-of-solidity INFO:Slither:foundry/ analyzed (2 contracts with 93 detectors), 1 result(s) found ```
25 lines
563 B
Solidity
25 lines
563 B
Solidity
// SPDX-License-Identifier: UNLICENSED
|
|
pragma solidity ^0.8.28;
|
|
|
|
import {Test, console} from "forge-std/Test.sol";
|
|
import {Counter} from "../src/Counter.sol";
|
|
|
|
contract CounterTest is Test {
|
|
Counter public counter;
|
|
|
|
function setUp() public {
|
|
counter = new Counter();
|
|
counter.setNumber(0);
|
|
}
|
|
|
|
function test_Increment() public {
|
|
counter.increment();
|
|
assertEq(counter.number(), 1);
|
|
}
|
|
|
|
function testFuzz_SetNumber(uint256 x) public {
|
|
counter.setNumber(x);
|
|
assertEq(counter.number(), x);
|
|
}
|
|
}
|