- Update dbis_core, cross-chain-pmm-lps, explorer-monorepo, metamask-integration, pr-workspace/chains - Omit embedded publish git dirs and empty placeholders from index Made-with: Cursor
65 lines
2.3 KiB
Bash
Executable File
65 lines
2.3 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
# Patch XDC Zero fragment JSON files with deployed addresses (no merge into endpointconfig yet).
|
|
#
|
|
# Required env:
|
|
# ENDPOINT_ON_138 — Zero Endpoint on Chain 138
|
|
# CSC_PARENT_ON_138 — CSC on 138 storing parent block roots
|
|
# ENDPOINT_ON_PARENT — Zero Endpoint on XDC parent (Apothem/mainnet)
|
|
# CSC_138_ON_PARENT — CSC on parent storing Chain 138 roots
|
|
# Optional:
|
|
# XDC_PARENT_CHAIN_ID=50 — chain id for parent as seen from Chain 138 register entry
|
|
|
|
set -euo pipefail
|
|
|
|
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
PROJECT_ROOT="$(cd "$SCRIPT_DIR/../.." && pwd)"
|
|
DIR="$PROJECT_ROOT/config/xdc-zero"
|
|
OUTD="$DIR/deployed"
|
|
mkdir -p "$OUTD"
|
|
|
|
CHAIN138_ONLY=false
|
|
for a in "$@"; do
|
|
[[ "$a" == "--chain138-only" ]] && CHAIN138_ONLY=true
|
|
done
|
|
|
|
: "${ENDPOINT_ON_138:?}"
|
|
if ! $CHAIN138_ONLY; then
|
|
: "${CSC_PARENT_ON_138:?}"
|
|
: "${ENDPOINT_ON_PARENT:?}"
|
|
: "${CSC_138_ON_PARENT:?}"
|
|
fi
|
|
PEER_CID="${XDC_PARENT_CHAIN_ID:-50}"
|
|
|
|
command -v jq >/dev/null 2>&1 || {
|
|
echo "ERROR: jq required" >&2
|
|
exit 1
|
|
}
|
|
|
|
F1_OUT="${OUTD}/endpointconfig.fragment.chain138.json"
|
|
F2_OUT="${OUTD}/xdcparentnet-register-chain138.fragment.json"
|
|
|
|
jq --argjson cid "$PEER_CID" \
|
|
--arg csc "${CSC_PARENT_ON_138:-0x0000000000000000000000000000000000000000}" \
|
|
--arg ep "${ENDPOINT_ON_PARENT:-0x0000000000000000000000000000000000000000}" \
|
|
--arg e138 "$ENDPOINT_ON_138" \
|
|
'.chain138.endpoint = $e138
|
|
| .chain138.registers[0].chainId = $cid
|
|
| .chain138.registers[0].csc = $csc
|
|
| .chain138.registers[0].endpoint = $ep' \
|
|
"$DIR/endpointconfig.fragment.chain138.example.json" >"$F1_OUT"
|
|
|
|
jq --arg csc "${CSC_138_ON_PARENT:-0x0000000000000000000000000000000000000000}" --arg ep "$ENDPOINT_ON_138" \
|
|
'.[0].csc = $csc | .[0].endpoint = $ep | .[0].chainId = 138' \
|
|
"$DIR/xdcparentnet-register-chain138.fragment.json" >"$F2_OUT"
|
|
|
|
echo "Wrote (gitignored dir):"
|
|
echo " $F1_OUT"
|
|
echo " $F2_OUT"
|
|
if $CHAIN138_ONLY; then
|
|
echo "Mode: chain138-only"
|
|
echo " note: parent-side CSC/Endpoint addresses are still zero placeholders."
|
|
fi
|
|
echo "Merge with:"
|
|
echo " XDC_ZERO_CHAIN138_FRAG=$F1_OUT XDC_ZERO_REG_FRAG=$F2_OUT \\"
|
|
echo " bash scripts/xdc-zero/merge-endpointconfig-chain138.sh --dry-run /path/to/XDC-Zero/endpoint/endpointconfig.json"
|