PR: #37 feat(contracts): full Aave + Venus + PancakeSwap liquidation flow
Commit: 54fe2bb
Files:
- contracts/src/CharonLiquidator.sol line 2
- contracts/src/interfaces/IVToken.sol line 2
- contracts/src/interfaces/ISwapRouter.sol line 2
Problem: All three files declare pragma solidity ^0.8.24. Caret allows any compiler from 0.8.24 to <0.9.0. foundry.toml pins solc_version = "0.8.24" so local builds deterministic, but any downstream consumer, audit tool, or Etherscan verification that does not inherit foundry config picks different compiler version, breaking reproducibility and ABI stability.
Impact: Non-reproducible builds. Etherscan source verification can fail or verify against different bytecode. Auditors testing with a later minor version may miss version-specific bugs.
Fix:
No caret. Matches solc_version in foundry.toml.
PR: #37 feat(contracts): full Aave + Venus + PancakeSwap liquidation flow
Commit: 54fe2bb
Files:
Problem: All three files declare
pragma solidity ^0.8.24. Caret allows any compiler from 0.8.24 to <0.9.0. foundry.toml pinssolc_version = "0.8.24"so local builds deterministic, but any downstream consumer, audit tool, or Etherscan verification that does not inherit foundry config picks different compiler version, breaking reproducibility and ABI stability.Impact: Non-reproducible builds. Etherscan source verification can fail or verify against different bytecode. Auditors testing with a later minor version may miss version-specific bugs.
Fix:
No caret. Matches
solc_versionin foundry.toml.