From f987125489ce1e31d1046009c0fee6f728cfe359 Mon Sep 17 00:00:00 2001 From: TAMARA LIPOWSKI Date: Fri, 17 Jan 2025 16:56:37 -0500 Subject: [PATCH] fix: Bump to latest Solidity version (0.8.28) 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 ``` --- foundry/foundry.toml | 2 +- foundry/src/Counter.sol | 2 +- foundry/src/TychoRouter.sol | 3 +++ foundry/test/Counter.t.sol | 2 +- 4 files changed, 6 insertions(+), 3 deletions(-) diff --git a/foundry/foundry.toml b/foundry/foundry.toml index 086c3ac..a3c8d7b 100644 --- a/foundry/foundry.toml +++ b/foundry/foundry.toml @@ -2,7 +2,7 @@ src = 'src' out = 'out' libs = ['lib'] -solc = "0.8.18" +solc = "0.8.28" evm_version = 'shanghai' optimizer = true optimizer_runs = 1000 diff --git a/foundry/src/Counter.sol b/foundry/src/Counter.sol index aded799..574cf8f 100644 --- a/foundry/src/Counter.sol +++ b/foundry/src/Counter.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: UNLICENSED -pragma solidity ^0.8.13; +pragma solidity ^0.8.28; contract Counter { uint256 public number; diff --git a/foundry/src/TychoRouter.sol b/foundry/src/TychoRouter.sol index b3423ad..1de6e9c 100644 --- a/foundry/src/TychoRouter.sol +++ b/foundry/src/TychoRouter.sol @@ -1,3 +1,6 @@ +// SPDX-License-Identifier: UNLICENSED +pragma solidity ^0.8.28; + contract FrontendSwapRouter { constructor() {} } diff --git a/foundry/test/Counter.t.sol b/foundry/test/Counter.t.sol index 54b724f..3840a3f 100644 --- a/foundry/test/Counter.t.sol +++ b/foundry/test/Counter.t.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: UNLICENSED -pragma solidity ^0.8.13; +pragma solidity ^0.8.28; import {Test, console} from "forge-std/Test.sol"; import {Counter} from "../src/Counter.sol";