# Base directories for the validator keys and secrets
DATADIR=${DATADIR:-../build/cl}

# Directory for the eth2 config
TESTNET_DIR=${TESTNET_DIR:-$DATADIR/testnet}
JWTSECRET=${JWTSECRET:-$DATADIR/jwtsecret}
ENR=${ENR:="SET_AT_RUNTIME"}
ENR_IP=`ip addr | grep inet | grep -v '127.0.0.1' | sort | head -1 | awk '{print $2}' | cut -d '/' -f1`

GENESIS_FORK_VERSION=${GENESIS_FORK_VERSION:-0x12121212}

VALIDATOR_COUNT=${VALIDATOR_COUNT:-80}
GENESIS_VALIDATOR_COUNT=${GENESIS_VALIDATOR_COUNT:-80}

# Number of beacon_node instances that you intend to run
BN_COUNT=${BN_COUNT:-2}

# Number of validator clients
VC_COUNT=${VC_COUNT:-$BN_COUNT}

# Number of seconds to delay to start genesis block.
# If started by a script this can be 0, if starting by hand
# use something like 180.
GENESIS_DELAY=${GENESIS_DELAY:-0}

# Port for P2P communication with bootnode
BOOTNODE_PORT=${BOOTNODE_PORT:-4242}

# Hard fork configuration
ALTAIR_FORK_EPOCH=${ALTAIR_FORK_EPOCH:-0}
MERGE_FORK_EPOCH=${MERGE_FORK_EPOCH:-0}

# Spec version (mainnet or minimal)
SPEC_PRESET=${SPEC_PRESET:-mainnet}

# Seconds per Eth2 slot
SECONDS_PER_SLOT=${SECONDS_PER_SLOT:-3}

# Seconds per Eth1 block
SECONDS_PER_ETH1_BLOCK=${SECONDS_PER_ETH1_BLOCK:-1}

# Command line arguments for validator client
VC_ARGS=${VC_ARGS:-""}

EXECUTION_ENDPOINT=${EXECUTION_ENDPOINT:-http://localhost:8551}

ETH1_GENESIS_JSON=${ETH1_GENESIS_JSON:-"../build/el/geth.json"}
ETH1_CONFIG_YAML=${ETH1_CONFIG_YAML:-"../el/el-config.yaml"}

ETH1_CHAIN_ID=${ETH1_CHAIN_ID:-`cat $ETH1_GENESIS_JSON | jq -r '.config.chainId'`}
ETH1_TTD=${ETH1_TTD:-`cat $ETH1_GENESIS_JSON | jq -r '.config.terminalTotalDifficulty'`}
ETH1_DEPOSIT_CONTRACT_ADDRESS=${ETH1_DEPOSIT_CONTRACT_ADDRESS:-`cat $ETH1_CONFIG_YAML | grep 'deposit_contract_address' | awk '{ print $2 }' | sed 's/"//g'`}
ETH1_DEPOSIT_CONTRACT_BLOCK=${ETH1_DEPOSIT_CONTRACT_BLOCK:-0x0}
SUGGESTED_FEE_RECIPIENT=`cat ../build/el/accounts.csv | head -1 | cut -d',' -f2`
