#!/bin/bash # Exit on error set -e # Note: Needs to be run in the go-nitro repository # Example usage: # In go-nitro # /home/user/fixturenet-laconicd-stack/stack-orchestrator/stacks/fixturenet-laconicd/scripts/fetch-account-holdings.sh eth-account-holdings.json # Check if output file is provided if [ -z "$1" ]; then echo "Usage: $0 " exit 1 fi OUTPUT_FILE=$1 # Trust locally-trusted development certificates created by mkcert export NODE_EXTRA_CA_CERTS="$(mkcert -CAROOT)/rootCA.pem" # Run the nitro-rpc-client command and process the output with jq npm exec -c "nitro-rpc-client get-all-ledger-channels -p 4006" | jq -s '[.[] | {ethereum_address: .Balance.Them, balance: .Balance.TheirBalance}]' > "$OUTPUT_FILE" echo "Ethereum account holdings exported to $OUTPUT_FILE"