feat(scripts): resolve CCIP/LINK addresses via config inventory

- Add scripts/lib/address-inventory.sh (jq + JSON inventory fallback)
- Wire deployment helper scripts to load_explorer_runtime_env + resolve_address_value
- Persist new LINK to address-inventory.json via persist_inventory_value
- Document config/*.json in config/README.md

Made-with: Cursor
This commit is contained in:
defiQUG
2026-03-27 22:09:32 -07:00
parent ca24d6127c
commit ed0af8aaa0
12 changed files with 170 additions and 97 deletions

View File

@@ -7,8 +7,9 @@ set -euo pipefail
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
PROJECT_ROOT="$(cd "$SCRIPT_DIR/.." && pwd)"
SOURCE_PROJECT="/home/intlc/projects/smom-dbis-138"
source "$PROJECT_ROOT/scripts/lib/address-inventory.sh"
source "$PROJECT_ROOT/.env" 2>/dev/null || source "$PROJECT_ROOT/../.env" 2>/dev/null || true
load_explorer_runtime_env
RPC_URL="http://192.168.11.250:8545"
CHAIN_ID=138
@@ -26,7 +27,7 @@ echo ""
# Check prerequisites
if [ -z "${PRIVATE_KEY:-}" ]; then
echo "❌ Error: PRIVATE_KEY not set in .env"
echo "❌ Error: PRIVATE_KEY not available in effective environment"
exit 1
fi
@@ -189,14 +190,13 @@ echo "Deploying LINK Token (required for CCIP)..."
echo ""
deploy_contract "script/DeployMockLinkToken.s.sol:DeployMockLinkToken" "MockLinkToken"
# Update .env with LINK token address if found
# Update address inventory with LINK token address if found
if [ -n "${DEPLOYED_ADDRESS:-}" ]; then
echo ""
echo "Updating .env with LINK_TOKEN=$DEPLOYED_ADDRESS"
if [ -f "$PROJECT_ROOT/.env" ]; then
sed -i "s/^LINK_TOKEN=.*/LINK_TOKEN=$DEPLOYED_ADDRESS/" "$PROJECT_ROOT/.env" || true
echo "✅ .env updated"
fi
echo "Updating address inventory with LINK_TOKEN=$DEPLOYED_ADDRESS"
persist_inventory_value "LINK_TOKEN" "$DEPLOYED_ADDRESS" || true
persist_inventory_value "CCIP_CHAIN138_FEE_TOKEN" "$DEPLOYED_ADDRESS" || true
echo "✅ Address inventory updated"
DEPLOYED_ADDRESS="" # Reset for next deployment
fi
@@ -220,4 +220,3 @@ echo " Deployer: $DEPLOYER"
echo ""
echo "📄 Deployment logs saved in /tmp/deploy-*.log"
echo ""