chore: sync submodule state (parent ref update)
Made-with: Cursor
This commit is contained in:
51
scripts/lib/deployment/dotenv.sh
Normal file
51
scripts/lib/deployment/dotenv.sh
Normal file
@@ -0,0 +1,51 @@
|
||||
#!/usr/bin/env bash
|
||||
# Load deployment .env and require common vars.
|
||||
# Usage: source "$SCRIPT_DIR/lib/deployment/dotenv.sh"
|
||||
# Optional: load_deployment_env [--repo-root <path>]
|
||||
#
|
||||
# Correct dotenv file (in order):
|
||||
# 1. ENV_FILE if set and the file exists (e.g. export ENV_FILE=/path/to/.env)
|
||||
# 2. PROJECT_ROOT/.env (repo root; PROJECT_ROOT = scripts/lib/deployment/../.. when unset)
|
||||
# So: use repo-root .env by default; set ENV_FILE to use a different file.
|
||||
|
||||
_LIB_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
[[ -z "${PROJECT_ROOT:-}" ]] && PROJECT_ROOT="$(cd "$_LIB_DIR/../.." && pwd)"
|
||||
|
||||
# Preferred .env: ENV_FILE if set and readable; else PROJECT_ROOT/.env (repo root).
|
||||
load_deployment_env() {
|
||||
local root="${PROJECT_ROOT}"
|
||||
while [[ $# -gt 0 ]]; do
|
||||
case "$1" in
|
||||
--repo-root) root="$2"; shift 2 ;;
|
||||
*) shift ;;
|
||||
esac
|
||||
done
|
||||
export PROJECT_ROOT="$root"
|
||||
local dotenv="${root}/.env"
|
||||
[[ -n "${ENV_FILE:-}" && -f "${ENV_FILE}" ]] && dotenv="${ENV_FILE}"
|
||||
if [[ -f "$dotenv" ]]; then
|
||||
set -a
|
||||
# shellcheck disable=SC1090
|
||||
source "$dotenv"
|
||||
set +a
|
||||
fi
|
||||
}
|
||||
|
||||
# Require vars for mainnet LP funding (G4). Fails with message if missing.
|
||||
require_fund_lp_env() {
|
||||
load_deployment_env
|
||||
: "${LIQUIDITY_POOL_ETH_MAINNET:=${LIQUIDITY_POOL:-}}"
|
||||
if [[ -z "${LIQUIDITY_POOL_ETH_MAINNET:-}" ]]; then
|
||||
echo "Set LIQUIDITY_POOL_ETH_MAINNET (or LIQUIDITY_POOL) in .env" >&2
|
||||
return 1
|
||||
fi
|
||||
if [[ -z "${ETHEREUM_MAINNET_RPC:-}" ]]; then
|
||||
echo "Set ETHEREUM_MAINNET_RPC in .env" >&2
|
||||
return 1
|
||||
fi
|
||||
if [[ -z "${PRIVATE_KEY:-}" ]]; then
|
||||
echo "Set PRIVATE_KEY in .env" >&2
|
||||
return 1
|
||||
fi
|
||||
return 0
|
||||
}
|
||||
Reference in New Issue
Block a user