Stabilize Chain 138 PMM router helpers
This commit is contained in:
@@ -32,7 +32,7 @@ cmd=(
|
||||
-vvv
|
||||
)
|
||||
|
||||
export FOUNDRY_PROFILE="${FOUNDRY_PROFILE:-chain138_legacy}"
|
||||
export FOUNDRY_PROFILE="${FOUNDRY_PROFILE:-chain138}"
|
||||
if [[ -n "$ONLY_FAMILY" ]]; then
|
||||
export GAS_FAMILY="$ONLY_FAMILY"
|
||||
fi
|
||||
|
||||
@@ -10,6 +10,8 @@ ENV_SOURCE="<none>"
|
||||
RUN_FORGE_DRY_RUN=0
|
||||
RUN_TIMEOUT_SECONDS="${RUN_TIMEOUT_SECONDS:-90}"
|
||||
VERBOSITY="${VERBOSITY:--vv}"
|
||||
EVM_VERSION_CHAIN138="${EVM_VERSION_CHAIN138:-paris}"
|
||||
export FOUNDRY_PROFILE="${FOUNDRY_PROFILE:-chain138}"
|
||||
|
||||
while [[ $# -gt 0 ]]; do
|
||||
case "$1" in
|
||||
@@ -50,7 +52,6 @@ elif [[ -f "$ENV_FILE" ]]; then
|
||||
set +a
|
||||
ENV_SOURCE="$ENV_FILE"
|
||||
fi
|
||||
source "$SMOM_ROOT/scripts/lib/forge-scope.sh"
|
||||
|
||||
RPC_URL_138="${RPC_URL_138:-http://192.168.11.211:8545}"
|
||||
WETH="${WETH:-$CHAIN138_WETH_DEFAULT}"
|
||||
@@ -101,6 +102,7 @@ run_forge_dry_run() {
|
||||
forge script script/bridge/trustless/DeployEnhancedSwapRouter.s.sol:DeployEnhancedSwapRouter
|
||||
--skip test
|
||||
--non-interactive
|
||||
--evm-version "$EVM_VERSION_CHAIN138"
|
||||
--rpc-url "$RPC_URL_138"
|
||||
--private-key "$PRIVATE_KEY"
|
||||
"$VERBOSITY"
|
||||
@@ -111,11 +113,12 @@ run_forge_dry_run() {
|
||||
(
|
||||
cd "$SMOM_ROOT" || exit 1
|
||||
echo "Running targeted build warm-up"
|
||||
forge build contracts/bridge/trustless/EnhancedSwapRouter.sol script/bridge/trustless/DeployEnhancedSwapRouter.s.sol
|
||||
command forge build --evm-version "$EVM_VERSION_CHAIN138" contracts/bridge/trustless/EnhancedSwapRouter.sol script/bridge/trustless/DeployEnhancedSwapRouter.s.sol
|
||||
echo ""
|
||||
echo "Running sourced non-broadcast forge script"
|
||||
echo "Working directory: $SMOM_ROOT"
|
||||
echo "Timeout: ${RUN_TIMEOUT_SECONDS}s"
|
||||
echo "EVM version: $EVM_VERSION_CHAIN138"
|
||||
echo "Verbosity: $VERBOSITY"
|
||||
echo ""
|
||||
|
||||
@@ -168,6 +171,8 @@ fi
|
||||
echo "Required env"
|
||||
show_var "RPC_URL_138" "$RPC_URL_138" "Core RPC only"
|
||||
show_var "PRIVATE_KEY" "<set>" "value loaded; not printed"
|
||||
show_var "FOUNDRY_PROFILE" "$FOUNDRY_PROFILE" "Chain 138 profile defaults to Paris"
|
||||
show_var "EVM_VERSION_CHAIN138" "$EVM_VERSION_CHAIN138" "Chain 138 Paris hard fork; avoids PUSH0/MCOPY bytecode"
|
||||
echo ""
|
||||
|
||||
echo "Chain 138 token env used by the deploy script"
|
||||
@@ -232,9 +237,9 @@ echo ""
|
||||
|
||||
echo "Exact dry-run command"
|
||||
if [[ -f "$PROJECT_ENV_LOADER" ]]; then
|
||||
echo "cd \"$PROJECT_ROOT\" && source scripts/lib/load-project-env.sh && cd smom-dbis-138 && bash scripts/forge/scope.sh script bridge/trustless script/bridge/trustless/DeployEnhancedSwapRouter.s.sol:DeployEnhancedSwapRouter --rpc-url \"$RPC_URL_138\" --private-key \"\$PRIVATE_KEY\""
|
||||
echo "cd \"$PROJECT_ROOT/smom-dbis-138\" && source scripts/lib/deployment/dotenv.sh && load_deployment_env --repo-root \"\$PWD/..\" && forge script script/bridge/trustless/DeployEnhancedSwapRouter.s.sol:DeployEnhancedSwapRouter --evm-version \"$EVM_VERSION_CHAIN138\" --rpc-url \"$RPC_URL_138\" --private-key \"\$PRIVATE_KEY\""
|
||||
else
|
||||
echo "cd \"$SMOM_ROOT\" && source .env && bash scripts/forge/scope.sh script bridge/trustless script/bridge/trustless/DeployEnhancedSwapRouter.s.sol:DeployEnhancedSwapRouter --rpc-url \"$RPC_URL_138\" --private-key \"\$PRIVATE_KEY\""
|
||||
echo "cd \"$SMOM_ROOT\" && source .env && forge script script/bridge/trustless/DeployEnhancedSwapRouter.s.sol:DeployEnhancedSwapRouter --evm-version \"$EVM_VERSION_CHAIN138\" --rpc-url \"$RPC_URL_138\" --private-key \"\$PRIVATE_KEY\""
|
||||
fi
|
||||
echo ""
|
||||
echo "Example minimal exports before dry-run"
|
||||
@@ -260,6 +265,7 @@ echo " bash scripts/deployment/dry-run-enhanced-swap-router-chain138.sh --run"
|
||||
echo " bash scripts/deployment/dry-run-enhanced-swap-router-chain138.sh --run --timeout-seconds 180 --verbosity -vvv"
|
||||
echo ""
|
||||
echo "Note: this is a safe dry-run helper only. The deploy script still warns that swapToStablecoin() needs real WETH->stable routes to be useful on Chain 138."
|
||||
echo "Note: Chain 138 is Paris; do not compile Chain 138 deploy bytecode with Cancun/Shanghai opcodes."
|
||||
|
||||
if (( RUN_FORGE_DRY_RUN == 1 )); then
|
||||
echo ""
|
||||
|
||||
@@ -10,6 +10,8 @@ ENV_SOURCE="<none>"
|
||||
RUN_FORGE_DRY_RUN=0
|
||||
RUN_TIMEOUT_SECONDS="${RUN_TIMEOUT_SECONDS:-120}"
|
||||
VERBOSITY="${VERBOSITY:--vv}"
|
||||
EVM_VERSION_CHAIN138="${EVM_VERSION_CHAIN138:-paris}"
|
||||
export FOUNDRY_PROFILE="${FOUNDRY_PROFILE:-chain138}"
|
||||
|
||||
while [[ $# -gt 0 ]]; do
|
||||
case "$1" in
|
||||
@@ -51,7 +53,7 @@ RPC_URL_138="${RPC_URL_138:-http://192.168.11.211:8545}"
|
||||
WETH="${WETH:-0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2}"
|
||||
OFFICIAL_USDT_ADDRESS="${OFFICIAL_USDT_ADDRESS:-0x004b63A7B5b0E06f6bB6adb4a5F9f590BF3182D1}"
|
||||
OFFICIAL_USDC_ADDRESS="${OFFICIAL_USDC_ADDRESS:-0x71D6687F38b93CCad569Fa6352c876eea967201b}"
|
||||
DODO_PMM_PROVIDER_ADDRESS="${DODO_PMM_PROVIDER_ADDRESS:-${DODO_PMM_PROVIDER:-}}"
|
||||
DODO_PMM_PROVIDER_ADDRESS="${DODO_PMM_PROVIDER_ADDRESS:-${CHAIN_138_DODO_PMM_PROVIDER:-0x5CAe6Ce155b7f08D3a956F5Dc82fC9945f29B381}}"
|
||||
|
||||
show_var() {
|
||||
local name="$1" value="$2" note="${3:-}"
|
||||
@@ -101,13 +103,14 @@ run_forge_dry_run() {
|
||||
forge script script/bridge/trustless/DeployEnhancedSwapRouterV2.s.sol:DeployEnhancedSwapRouterV2
|
||||
--skip test
|
||||
--non-interactive
|
||||
--evm-version "$EVM_VERSION_CHAIN138"
|
||||
--rpc-url "$RPC_URL_138"
|
||||
--private-key "$PRIVATE_KEY"
|
||||
"$VERBOSITY"
|
||||
)
|
||||
(
|
||||
cd "$SMOM_ROOT"
|
||||
forge build contracts/bridge/trustless/EnhancedSwapRouterV2.sol script/bridge/trustless/DeployEnhancedSwapRouterV2.s.sol
|
||||
forge build --evm-version "$EVM_VERSION_CHAIN138" contracts/bridge/trustless/EnhancedSwapRouterV2.sol script/bridge/trustless/DeployEnhancedSwapRouterV2.s.sol
|
||||
if command -v timeout >/dev/null 2>&1; then
|
||||
timeout "${RUN_TIMEOUT_SECONDS}s" "${forge_cmd[@]}"
|
||||
else
|
||||
@@ -124,6 +127,8 @@ echo ""
|
||||
|
||||
show_var "RPC_URL_138" "$RPC_URL_138" "Core RPC only"
|
||||
show_secret_var "PRIVATE_KEY" "${PRIVATE_KEY:-}" "not printed when present"
|
||||
show_var "FOUNDRY_PROFILE" "$FOUNDRY_PROFILE" "Chain 138 profile defaults to Paris"
|
||||
show_var "EVM_VERSION_CHAIN138" "$EVM_VERSION_CHAIN138" "Chain 138 Paris hard fork; avoids PUSH0/MCOPY bytecode"
|
||||
show_var "DODO_PMM_PROVIDER_ADDRESS" "${DODO_PMM_PROVIDER_ADDRESS:-<unset>}" "required"
|
||||
show_var "CHAIN138_POOL_WETH_USDT" "${CHAIN138_POOL_WETH_USDT:-<unset>}" "required for swapToStablecoin readiness"
|
||||
show_var "CHAIN138_POOL_WETH_USDC" "${CHAIN138_POOL_WETH_USDC:-<unset>}" "required for swapToStablecoin readiness"
|
||||
|
||||
@@ -17,7 +17,7 @@ PLAN_JSON="${PLAN_JSON:-$SMOM_ROOT/config/chain138-eth-pmm-liquidity-plan.json}"
|
||||
PROFILE="${PROFILE:-}"
|
||||
EXECUTE="${EXECUTE:-0}"
|
||||
RPC_URL_138="${RPC_URL_138:-${RPC_URL:-http://192.168.11.211:8545}}"
|
||||
DODO_PMM_INTEGRATION_ADDRESS="${DODO_PMM_INTEGRATION_ADDRESS:-${DODO_PMM_INTEGRATION:-}}"
|
||||
DODO_PMM_INTEGRATION_ADDRESS="${CHAIN_138_DODO_PMM_INTEGRATION:-${DODO_PMM_INTEGRATION_ADDRESS:-0x5BDc62f1ae7D630c37A8B363a1d49845356Ee72d}}"
|
||||
PRIVATE_KEY="${PRIVATE_KEY:-}"
|
||||
|
||||
command -v jq >/dev/null 2>&1 || { echo "jq is required" >&2; exit 1; }
|
||||
|
||||
@@ -27,8 +27,16 @@ fi
|
||||
[[ -n "$ORIG_DODO_PMM_PROVIDER" ]] && DODO_PMM_PROVIDER="$ORIG_DODO_PMM_PROVIDER"
|
||||
|
||||
RPC_URL_138="${RPC_URL_138:-${RPC_URL:-http://192.168.11.211:8545}}"
|
||||
DODO_PMM_INTEGRATION_ADDRESS="${DODO_PMM_INTEGRATION_ADDRESS:-${DODO_PMM_INTEGRATION:-}}"
|
||||
DODO_PMM_PROVIDER_ADDRESS="${DODO_PMM_PROVIDER_ADDRESS:-${DODO_PMM_PROVIDER:-}}"
|
||||
if [[ -n "$ORIG_DODO_PMM_INTEGRATION_ADDRESS" ]]; then
|
||||
DODO_PMM_INTEGRATION_ADDRESS="$ORIG_DODO_PMM_INTEGRATION_ADDRESS"
|
||||
else
|
||||
DODO_PMM_INTEGRATION_ADDRESS="${CHAIN_138_DODO_PMM_INTEGRATION:-0x5BDc62f1ae7D630c37A8B363a1d49845356Ee72d}"
|
||||
fi
|
||||
if [[ -n "$ORIG_DODO_PMM_PROVIDER_ADDRESS" ]]; then
|
||||
DODO_PMM_PROVIDER_ADDRESS="$ORIG_DODO_PMM_PROVIDER_ADDRESS"
|
||||
else
|
||||
DODO_PMM_PROVIDER_ADDRESS="${CHAIN_138_DODO_PMM_PROVIDER:-0x5CAe6Ce155b7f08D3a956F5Dc82fC9945f29B381}"
|
||||
fi
|
||||
|
||||
[[ -f "$CONFIG_JSON" ]] || { echo "POOL_CONFIG_JSON not found: $CONFIG_JSON" >&2; exit 1; }
|
||||
command -v jq >/dev/null 2>&1 || { echo "jq is required" >&2; exit 1; }
|
||||
|
||||
@@ -8,8 +8,8 @@ ENV_FILE="$SMOM_ROOT/.env"
|
||||
source "$SMOM_ROOT/scripts/load-env.sh" >/dev/null 2>&1 || true
|
||||
|
||||
RPC_URL_138="${RPC_URL_138:-http://192.168.11.211:8545}"
|
||||
DODO_PMM_INTEGRATION_ADDRESS="${DODO_PMM_INTEGRATION_ADDRESS:-${DODO_PMM_INTEGRATION:-}}"
|
||||
DODO_PMM_PROVIDER_ADDRESS="${DODO_PMM_PROVIDER_ADDRESS:-${DODO_PMM_PROVIDER:-}}"
|
||||
DODO_PMM_INTEGRATION_ADDRESS="${CHAIN_138_DODO_PMM_INTEGRATION:-${DODO_PMM_INTEGRATION_ADDRESS:-0x5BDc62f1ae7D630c37A8B363a1d49845356Ee72d}}"
|
||||
DODO_PMM_PROVIDER_ADDRESS="${CHAIN_138_DODO_PMM_PROVIDER:-${DODO_PMM_PROVIDER_ADDRESS:-0x5CAe6Ce155b7f08D3a956F5Dc82fC9945f29B381}}"
|
||||
|
||||
[[ -n "$DODO_PMM_INTEGRATION_ADDRESS" ]] || { echo "DODO_PMM_INTEGRATION_ADDRESS not set"; exit 1; }
|
||||
[[ -n "$DODO_PMM_PROVIDER_ADDRESS" ]] || { echo "DODO_PMM_PROVIDER_ADDRESS not set"; exit 1; }
|
||||
|
||||
@@ -24,7 +24,7 @@ fi
|
||||
command -v cast >/dev/null 2>&1 || { echo "cast is required" >&2; exit 1; }
|
||||
|
||||
RPC_URL_138="${RPC_URL_138:-${RPC_URL:-http://192.168.11.221:8545}}"
|
||||
DODO_PMM_INTEGRATION_ADDRESS="${DODO_PMM_INTEGRATION_ADDRESS:-${DODO_PMM_INTEGRATION:-}}"
|
||||
DODO_PMM_INTEGRATION_ADDRESS="${CHAIN_138_DODO_PMM_INTEGRATION:-${DODO_PMM_INTEGRATION_ADDRESS:-0x5BDc62f1ae7D630c37A8B363a1d49845356Ee72d}}"
|
||||
PRIVATE_KEY="${PRIVATE_KEY:-${DEPLOYER_PRIVATE_KEY:-}}"
|
||||
CHAIN_GAS_PRICE="${CHAIN_GAS_PRICE:-1000000000}"
|
||||
APPROVE_GAS_LIMIT="${APPROVE_GAS_LIMIT:-200000}"
|
||||
|
||||
@@ -53,8 +53,16 @@ fi
|
||||
[[ -n "$ORIG_REGISTER_POOL_GAS_LIMIT" ]] && REGISTER_POOL_GAS_LIMIT="$ORIG_REGISTER_POOL_GAS_LIMIT"
|
||||
|
||||
RPC_URL_138="${RPC_URL_138:-${RPC_URL:-http://192.168.11.211:8545}}"
|
||||
DODO_PMM_INTEGRATION_ADDRESS="${DODO_PMM_INTEGRATION_ADDRESS:-${DODO_PMM_INTEGRATION:-}}"
|
||||
DODO_PMM_PROVIDER_ADDRESS="${DODO_PMM_PROVIDER_ADDRESS:-${DODO_PMM_PROVIDER:-}}"
|
||||
if [[ -n "$ORIG_DODO_PMM_INTEGRATION_ADDRESS" ]]; then
|
||||
DODO_PMM_INTEGRATION_ADDRESS="$ORIG_DODO_PMM_INTEGRATION_ADDRESS"
|
||||
else
|
||||
DODO_PMM_INTEGRATION_ADDRESS="${CHAIN_138_DODO_PMM_INTEGRATION:-0x5BDc62f1ae7D630c37A8B363a1d49845356Ee72d}"
|
||||
fi
|
||||
if [[ -n "$ORIG_DODO_PMM_PROVIDER_ADDRESS" ]]; then
|
||||
DODO_PMM_PROVIDER_ADDRESS="$ORIG_DODO_PMM_PROVIDER_ADDRESS"
|
||||
else
|
||||
DODO_PMM_PROVIDER_ADDRESS="${CHAIN_138_DODO_PMM_PROVIDER:-0x5CAe6Ce155b7f08D3a956F5Dc82fC9945f29B381}"
|
||||
fi
|
||||
DRY_RUN="${DRY_RUN:-0}"
|
||||
|
||||
[[ -f "$CONFIG_JSON" ]] || { echo "POOL_CONFIG_JSON not found: $CONFIG_JSON" >&2; exit 1; }
|
||||
|
||||
Reference in New Issue
Block a user