diff --git a/STATE.md b/STATE.md index d2eb0d0..b376674 100644 --- a/STATE.md +++ b/STATE.md @@ -32,3 +32,4 @@ - [2026-03-14] batch-eval.sh MANIFEST_DIR (mktemp -d) has no cleanup trap (#763) - [2026-03-14] bootstrap.sh anvil_setCode guard now targets correct feeDest 0xf6a3... (#760) - [2026-03-14] llm_contrarian.push3 AW=150/250 clamped to 100 — three rounds unaddressed (#756) +- [2026-03-14] bootstrap.sh hardcodes BASE_SEPOLIA_LOCAL_FORK even on mainnet forks (#746) diff --git a/containers/bootstrap.sh b/containers/bootstrap.sh index fc18ba9..1952593 100755 --- a/containers/bootstrap.sh +++ b/containers/bootstrap.sh @@ -38,6 +38,24 @@ mkdir -p "$LOG_DIR" # ── Configure shared bootstrap variables ── ANVIL_RPC=${ANVIL_RPC:-"http://anvil:8545"} CONTRACT_ENV=$STATE_DIR/contracts.env + +# Derive NETWORK_NAME from FORK_URL if not explicitly set. +# Callers may override by exporting NETWORK_NAME before starting the stack. +# Chain ID 8453 = Base mainnet; anything else (including 84532 Base Sepolia) defaults to Sepolia fork. +if [[ -z "${NETWORK_NAME:-}" ]]; then + _fork_url="${FORK_URL:-}" + if [[ -n "$_fork_url" ]]; then + _chain_id=$(cast chain-id --rpc-url "$_fork_url" 2>/dev/null || echo "") + if [[ "$_chain_id" == "8453" ]]; then + NETWORK_NAME="BASE_MAINNET_LOCAL_FORK" + else + NETWORK_NAME="BASE_SEPOLIA_LOCAL_FORK" + fi + else + NETWORK_NAME="BASE_SEPOLIA_LOCAL_FORK" + fi +fi + LOG_FILE=$SETUP_LOG ONCHAIN_DIR=$ROOT_DIR/onchain TXNBOT_FUND_VALUE=${TXNBOT_FUND_VALUE:-1ether} @@ -83,11 +101,11 @@ derive_txnbot_wallet() { write_ponder_env() { cat >"$ROOT_DIR/services/ponder/.env.local" <"$txnbot_env" < = { startBlock: parseInt(process.env.START_BLOCK || '31425917'), }, }, + BASE_MAINNET_LOCAL_FORK: { + chainId: 31337, + rpc: process.env.PONDER_RPC_URL_BASE_MAINNET_LOCAL_FORK || 'http://127.0.0.1:8545', + disableCache: true, + contracts: { + kraiken: process.env.KRAIKEN_ADDRESS || '0x45caa5929f6ee038039984205bdecf968b954820', + stake: process.env.STAKE_ADDRESS || '0xed70707fab05d973ad41eae8d17e2bcd36192cfc', + liquidityManager: process.env.LM_ADDRESS || '0x0000000000000000000000000000000000000000', + startBlock: parseInt(process.env.START_BLOCK || '26038614'), + }, + }, BASE_SEPOLIA: { chainId: 84532, rpc: process.env.PONDER_RPC_URL_BASE_SEPOLIA || 'https://sepolia.base.org',