Files
explorer-monorepo/docs/COMPILATION_ERRORS_FIXED.md

3.4 KiB

Compilation Errors Fixed

Date: 2025-12-24
Status: All compilation errors fixed


Fixed Errors

1. TransactionMirror.sol:222 - Variable Shadowing

Error: tx shadows builtin symbol
Fix: Renamed return variable from tx to mirroredTx

// Before
function getTransaction(bytes32 txHash) external view returns (MirroredTransaction memory tx)

// After
function getTransaction(bytes32 txHash) external view returns (MirroredTransaction memory mirroredTx)

2. OraclePriceFeed.sol:119 - Parameter Name Conflict

Error: Return variable needsUpdate has same name as function
Fix: Renamed return variable to updateNeeded

// Before
function needsUpdate(address asset) external view returns (bool needsUpdate)

// After
function needsUpdate(address asset) external view returns (bool updateNeeded)

3. PriceFeedKeeper.sol:86 - Return Variable Name Conflict

Error: Return variable needsUpdate conflicts with function name
Fix: Renamed return variable to updateNeeded

// Before
function checkUpkeep() public view returns (bool needsUpdate, address[] memory assets)

// After
function checkUpkeep() public view returns (bool updateNeeded, address[] memory assets)

Also updated: CheckUpkeep.s.sol to use new variable name

4. TokenRegistryTest.t.sol:9 - Constructor Parameter Shadowing

Error: Constructor parameter decimals shadows function decimals()
Fix: Renamed parameter to decimalsValue

// Before
constructor(string memory name, string memory symbol, uint8 decimals)

// After
constructor(string memory name, string memory symbol, uint8 decimalsValue)

5. DeployWETH9WithCREATE.s.sol:118 - Missing Override

Error: Overriding function is missing "override" specifier
Fix: Added override keyword

// Before
function computeCreateAddress(address deployer, uint256 nonce) internal pure returns (address)

// After
function computeCreateAddress(address deployer, uint256 nonce) internal pure override returns (address)

6. DeployCCIPSender.s.sol:24 - Wrong Argument Count

Error: Wrong argument count: 1 given but expected 3
Fix: Added missing constructor parameters (oracleAggregator, feeToken)

// Before
CCIPSender sender = new CCIPSender(ccipRouter);

// After
address oracleAggregator = vm.envAddress("ORACLE_AGGREGATOR_ADDRESS");
address feeToken = vm.envOr("LINK_TOKEN_ADDRESS", address(0));
CCIPSender sender = new CCIPSender(ccipRouter, oracleAggregator, feeToken);

7. CheckUpkeep.s.sol:32 - Console.log Syntax

Error: Member "log" not found
Fix: Changed to proper console.log format

// Before
console.log("  ", i + 1, ":", assets[i], "- Needs Update:", assetNeedsUpdate);

// After
console.log("Asset %s: %s - Needs Update: %s", i + 1, assets[i], assetNeedsUpdate);

Verification

All errors should now be fixed. Test compilation:

cd /home/intlc/projects/proxmox/smom-dbis-138
forge build --via-ir

Expected: Compilation successful


📋 Files Modified

  1. contracts/mirror/TransactionMirror.sol
  2. contracts/reserve/OraclePriceFeed.sol
  3. contracts/reserve/PriceFeedKeeper.sol
  4. test/utils/TokenRegistryTest.t.sol
  5. script/DeployWETH9WithCREATE.s.sol
  6. script/DeployCCIPSender.s.sol
  7. script/reserve/CheckUpkeep.s.sol

Last Updated: 2025-12-24