sherlock-audit / 2024-05-kwenta-x-perennial-integration-update-judging

5 stars 3 forks source link

Informational 05 Concrete Solidity Version #42

Closed sherlock-admin3 closed 5 months ago

sherlock-admin3 commented 5 months ago

Informational 05 Concrete Solidity Version

Low/Info issue submitted by 1337web3

Summary

The audit found that the contract should use a concrete version of Solidity.

Vulnerability Detail

The absence of a specific version of Solidity in the contract may lead to compatibility issues and unintended behaviour due to changes in different versions of the Solidity compiler.

https://github.com/sherlock-audit/2024-05-kwenta-x-perennial-integration-update/blob/main/perennial-v2/packages/perennial-extensions/contracts/MultiInvoker.sol#L2

Impact

Using an unspecified version of Solidity increases the risk of encountering unforeseen bugs, vulnerabilities, or incompatibilities with future compiler versions.

Code Snippet

pragma solidity ^0.8.13;

Tool used

Manual Review

Recommendation

It is recommended to specify a concrete version of Solidity in the contract to ensure predictability and compatibility with the chosen compiler version. This can be achieved by explicitly specifying the Solidity version in the pragma statement at the beginning of the contract. For example:

pragma solidity 0.8.13;