# | source | this file # shellcheck disable=SC2034 # shellcheck disable=SC2086 STAKE_PROGRAM_PUBKEY=Stake11111111111111111111111111111111111111 SYSTEM_PROGRAM_PUBKEY=11111111111111111111111111111111 VOTE_PROGRAM_PUBKEY=Vote111111111111111111111111111111111111111 CONFIG_PROGRAM_PUBKEY=Config1111111111111111111111111111111111111 function get_program_accounts { PROGRAM_NAME="$1" PROGRAM_PUBKEY="$2" URL="$3" if [[ -n "$4" ]] ; then JSON_OUTFILE="$4" else JSON_OUTFILE="${PROGRAM_NAME}_account_data.json" fi curl -s -X POST -H "Content-Type: application/json" -d \ '{"jsonrpc":"2.0","id":1, "method":"getProgramAccounts", "params":["'$PROGRAM_PUBKEY'"]}' $URL | jq '.' \ > $JSON_OUTFILE } function write_program_account_data_csv { PROGRAM_NAME="$1" if [[ -n "$2" ]] ; then JSON_INFILE="$2" else JSON_INFILE="${PROGRAM_NAME}_account_data.json" fi if [[ -n "$3" ]] ; then CSV_OUTFILE="$3" else CSV_OUTFILE="${PROGRAM_NAME}_account_data.csv" fi echo "Account_Pubkey,Lamports" > $CSV_OUTFILE # shellcheck disable=SC2002 cat "$JSON_INFILE" | jq -r '(.result | .[]) | [.pubkey, (.account | .lamports)] | @csv' \ >> $CSV_OUTFILE } function get_account_info { ACCOUNT_PUBKEY="$1" URL="$2" if [[ -n "$3" ]] ; then JSON_OUTFILE="$3" else JSON_OUTFILE="${ACCOUNT_PUBKEY}_account_info.json" fi curl -s -X POST -H "Content-Type: application/json" -d \ '{"jsonrpc":"2.0","id":1, "method":"getAccountInfo", "params":["'$ACCOUNT_PUBKEY'"]}' $URL | jq '.' \ > $JSON_OUTFILE }