Skip to content

[contracts] floating ^0.8.24 pragma on CharonLiquidator.sol and test file #204

@obchain

Description

@obchain

PR: #45 (feat/20-multi-liq-batcher)
Files: contracts/src/CharonLiquidator.sol line 3, contracts/test/CharonLiquidator.t.sol line 3

Both files use pragma solidity ^0.8.24;. The caret allows the compiler to select any 0.8.x release at or above 0.8.24. A future solc patch that changes codegen or ABI encoding could silently alter the behavior of batchExecute and executeOperation without any change to the source. The solc_version = "0.8.24" pin in foundry.toml does not substitute for a locked pragma — a downstream consumer that compiles the file with a different toolchain is unprotected.

Same defect as PR #36 (#113/#119) and PR #37, unresolved across all subsequent Solidity PRs.

Impact: Non-reproducible compilation. ABI or codegen change in a future solc patch can introduce silent behavioral regressions.

Fix: Change both files to pragma solidity 0.8.24; (exact, no caret).

Refs #45

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workinglayer:contractsSolidity / Foundrypr-reviewFindings from PR review processpriority:p0-blockerBlocks the critical pathstatus:readyScoped and ready to pick up

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions