#!/bin/sh

CHAIN_ID=${1:-1}

case "$CHAIN_ID" in
  "sepolia")
    CHAIN_ID=11155111
    ;;
  "mockchain")
    CHAIN_ID=31337
    ;;
  "mainnet")
    CHAIN_ID=1
    ;;
esac

if [ "$CHAIN_ID" = "31337" ]; then
  ABI_PATH=../lmsr-amm/out
  METADATA_PATH=../lmsr-amm/liqp-deployments.json
else
  ABI_PATH=../lmsr-amm/deployment/$CHAIN_ID/v1/out
  METADATA_PATH=../lmsr-amm/deployment/liqp-deployments.json
fi

if [ ! -f "$ABI_PATH/IPartyPool.sol/IPartyPool.json" ]; then
  echo "Invalid chain ID $CHAIN_ID"
  exit 1
fi

echo Chain $CHAIN_ID

generate() {
    ABI=$(jq '.abi' $ABI_PATH/$1.sol/$1.json)
    echo "/* GENERATED FILE: DO NOT EDIT! */\n\nconst ${1}ABI = ${ABI} as const;\n\nexport default ${1}ABI;" > ./src/contracts/$1ABI.ts
    echo "src/contracts/$1ABI.ts"
}

generate IPartyPlanner
generate IPartyPool
generate IPartyInfo

cp "$METADATA_PATH" src/contracts/
echo src/contracts/liqp-deployments.json
