harb/onchain/script/DeployBaseMainnet.sol
johba e04e041a0f fix: correct EOA→contract in FEE_DEST comment (#795)
The production feeDest has contract bytecode on Base mainnet, not an EOA.
Fix the contradictory comment flagged in review.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-22 02:15:29 +00:00

34 lines
1.5 KiB
Solidity

// SPDX-License-Identifier: GPL-3.0-or-later
pragma solidity ^0.8.19;
import { DeployBase } from "./DeployBase.sol";
/**
* @title DeployBaseMainnet
* @notice Deployment script for Base mainnet
* @dev Run with: forge script script/DeployBaseMainnet.sol --rpc-url $BASE_RPC --broadcast --verify
* @dev IMPORTANT: Review all parameters carefully before mainnet deployment
*/
contract DeployBaseMainnet is DeployBase {
constructor() {
// Base mainnet configuration
//
// feeDest — production fee-destination (a team-controlled contract on Base mainnet).
// This address has contract bytecode on Base mainnet, so
// LiquidityManager.setFeeDestination() will set feeDestinationLocked=true
// on the first call (see LiquidityManager.sol line 154). That is the
// intended production path — once set to a contract, changes are locked.
//
// NOTE: FitnessEvaluator.t.sol intentionally uses a *different* FEE_DEST
// (0x8A91...9383) because on a mainnet fork the locking behaviour breaks
// snapshot/revert test cycles. The test address is NOT a production value.
// See FitnessEvaluator.t.sol:146-150 for the full rationale.
feeDest = 0xf6a3eef9088A255c32b6aD2025f83E57291D9011;
weth = 0x4200000000000000000000000000000000000006; // WETH on Base
v3Factory = 0x33128a8fC17869897dcE68Ed026d694621f6FDfD; // Uniswap V3 Factory on Base
// Deploy fresh Optimizer (UUPS proxy)
optimizer = address(0);
}
}