#!/bin/bash set -xue . ./config.sh PREV_ID=$(cat "$DEALS_PREV_MESSAGE_ID_FOR_JUDGE" || echo "") NEW_PREV_ID_FILE="${DEALS_PREV_MESSAGE_ID_FOR_JUDGE}.new" TEXT_FILE="${DEALS_BASE}/judge_message.txt.asc" SENDER_FILE="${DEALS_BASE}/judge_sender.txt" python get_bm_message.py \ --to-address "$DEALS_JUDGE_BM_DESTINATION" \ --from-address "$SENDER_FILE" \ --prev-id "$PREV_ID" \ --output-id "$NEW_PREV_ID_FILE" \ --output-text "$TEXT_FILE" if [ ! -f "$NEW_PREV_ID_FILE" ]; then echo "No new messages" exit 0 fi mv "$NEW_PREV_ID_FILE" "$DEALS_PREV_MESSAGE_ID_FOR_JUDGE" SENDER="$(cat "$SENDER_FILE" )" if [ "$SENDER" != "$DEALS_JUDGE_BM_SOURCE" ]; then echo "Sender is not our judge" exit 1 fi DEAL=$(grep 'deal:' "$TEXT_FILE" | sed 's/deal: //') mkdir -p "$DEALS_JUDGE_MESSAGES" TEXT_FILE_CONTENT="${DEALS_JUDGE_MESSAGES}/${DEAL}" gpg -o "$TEXT_FILE_CONTENT" "$TEXT_FILE" 2> "${DEALS_BASE}/gpg_stderr.txt" if ! grep "$DEALS_JUDGE_PGP" "${DEALS_BASE}/gpg_stderr.txt" ; then echo "GPG check failed" exit 1 fi mkdir -p "$DEALS_FINISHED" FINISHED_FILE="${DEALS_FINISHED}/${DEAL}" if [ -f "$FINISHED_FILE" ] ; then echo "Deal ${DEAL} has been jusged already" exit 0 fi touch "$FINISHED_FILE" SEND_BTC=$(grep 'send_btc:' "$TEXT_FILE_CONTENT" | sed 's/send_btc: //') BTC_ADDRESS_FILE="${DEALS_BASE}/${SEND_BTC}_btc/${DEAL}" if [ ! -f "$BTC_ADDRESS_FILE" ] ; then echo "File ${BTC_ADDRESS_FILE} does not exist" exit 1 fi BTC_ADDRESS="$(cat "$BTC_ADDRESS_FILE")" INPUT_FILE="${DEALS_INPUTS_DB_ROOT}/${DEAL}" AMOUNT=$(grep "amount: " "$INPUT_FILE" | sed "s/^amount: //" | sed 's/"//g' | sed "s/'//g" | sed "s/ BTC$//" ) $ELECTRUM payto "$BTC_ADDRESS" "$AMOUNT" | $ELECTRUM broadcast -