harb/onchain/script/DeployBaseMainnet.sol

35 lines
1.5 KiB
Solidity
Raw Normal View History

2025-09-23 14:18:04 +02:00
// SPDX-License-Identifier: GPL-3.0-or-later
pragma solidity ^0.8.19;
import { DeployBase } from "./DeployBase.sol";
2025-09-23 14:18:04 +02:00
/**
* @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 wallet (EOA controlled by the team).
// 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;
2025-09-23 14:18:04 +02:00
weth = 0x4200000000000000000000000000000000000006; // WETH on Base
v3Factory = 0x33128a8fC17869897dcE68Ed026d694621f6FDfD; // Uniswap V3 Factory on Base
2025-09-23 14:18:04 +02:00
// Deploy fresh Optimizer (UUPS proxy)
2025-09-23 14:18:04 +02:00
optimizer = address(0);
}
}