OptimizerV3Push3 is an equivalence-proof contract with only isBullMarket(). It cannot serve as an ERC1967Proxy implementation because it has no initialize() or getLiquidityParams(). The CI bootstrap was failing because the proxy deployment reverted when calling initialize() on the Push3 implementation. Switch deploy scripts to Optimizer.sol (the base UUPS contract) which has the full interface required by ERC1967Proxy and LiquidityManager. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
23 lines
800 B
Solidity
23 lines
800 B
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 = 0xf6a3eef9088A255c32b6aD2025f83E57291D9011;
|
|
|
|
weth = 0x4200000000000000000000000000000000000006; // WETH on Base
|
|
v3Factory = 0x33128a8fC17869897dcE68Ed026d694621f6FDfD; // Uniswap V3 Factory on Base
|
|
|
|
// Deploy fresh Optimizer (UUPS proxy)
|
|
optimizer = address(0);
|
|
}
|
|
}
|