mirror of
https://github.com/openoms/joininbox.git
synced 2026-08-14 12:43:13 +02:00
146 lines
3.9 KiB
Bash
Executable file
146 lines
3.9 KiB
Bash
Executable file
#!/bin/bash
|
|
|
|
/home/joinmarket/start.joininbox.sh
|
|
source /home/joinmarket/joinin.conf
|
|
source /home/joinmarket/_functions.sh
|
|
|
|
# BASIC MENU INFO
|
|
HEIGHT=23
|
|
WIDTH=57
|
|
CHOICE_HEIGHT=21
|
|
BACKTITLE="JoininBox GUI $currentJBtag network:$network IP:$localip"
|
|
TITLE="JoininBox $currentJBtag $network"
|
|
MENU="
|
|
Choose from the options:"
|
|
OPTIONS=()
|
|
|
|
# Basic Options
|
|
OPTIONS+=(\
|
|
INFO "Show the address list and balances" \
|
|
QTGUI "Show how to open the JoinMarketQT GUI" \
|
|
"" ""
|
|
WALLET "Wallet management options" \
|
|
MAKER "Yield Generator options" \
|
|
"" ""
|
|
SEND "Pay to an address with/without a coinjoin" \
|
|
FREEZE "Exercise coin control within a mixdepth" \
|
|
PAYJOIN "Send/Receive between JoinMarket wallets"
|
|
"" ""
|
|
OFFERS "Watch the Order Book locally" \
|
|
"" ""
|
|
CONFIG "Connection and joinmarket.cfg settings" \
|
|
TOOLS "Extra helper functions and services"
|
|
UPDATE "Update JoininBox or JoinMarket" \
|
|
)
|
|
|
|
CHOICE=$(dialog --clear \
|
|
--backtitle "$BACKTITLE" \
|
|
--title "$TITLE" \
|
|
--ok-label "Select" \
|
|
--cancel-label "Exit" \
|
|
--menu "$MENU" \
|
|
$HEIGHT $WIDTH $CHOICE_HEIGHT \
|
|
"${OPTIONS[@]}" \
|
|
2>&1 >/dev/tty)
|
|
|
|
case $CHOICE in
|
|
INFO)
|
|
checkRPCwallet
|
|
# wallet
|
|
chooseWallet
|
|
# mixdepth
|
|
mixdepth=$(mktemp -p /dev/shm/)
|
|
dialog --backtitle "Choose a mixdepth" \
|
|
--title "Choose a mixdepth" \
|
|
--inputbox "
|
|
Enter a number between 0 to 4 to limit the visible mixdepths
|
|
Leave the box empty to show the addresses in all five" 10 64 2> $mixdepth
|
|
openMenuIfCancelled $?
|
|
# cache wallet data
|
|
walletData=$(mktemp -p /dev/shm/)
|
|
clear
|
|
/home/joinmarket/start.script.sh wallet-tool "$(cat $wallet)" nomethod "$(cat $mixdepth)" 2>&1 | tee $walletData
|
|
firstNewAddress=$(cat "$walletData" | grep "0.00000000 new" | sed -n 1p | awk '{print $2}')
|
|
echo
|
|
if [ ${#firstNewAddress} -eq 0 ]; then
|
|
echo "# Error: missing address data"
|
|
echo
|
|
echo "# Type 'menu' to return"
|
|
echo
|
|
exit 1
|
|
fi
|
|
# display data
|
|
cat "$walletData"
|
|
echo
|
|
echo "Fund the wallet on the first 'new' address to get started (displayed as a QR code also):"
|
|
echo "$firstNewAddress"
|
|
echo
|
|
qrencode -t ANSIUTF8 "${firstNewAddress}"
|
|
echo
|
|
shred $wallet $mixdepth $walletData
|
|
sudo rm -f /dev/shm/*
|
|
echo "Press ENTER to return to the menu..."
|
|
read key
|
|
/home/joinmarket/menu.sh
|
|
;;
|
|
WALLET)
|
|
/home/joinmarket/menu.wallet.sh
|
|
/home/joinmarket/menu.sh
|
|
;;
|
|
QTGUI)
|
|
/home/joinmarket/info.qtgui.sh
|
|
/home/joinmarket/menu.sh
|
|
;;
|
|
MAKER)
|
|
/home/joinmarket/menu.yg.sh
|
|
/home/joinmarket/menu.sh
|
|
;;
|
|
SEND)
|
|
/home/joinmarket/menu.send.sh
|
|
echo ""
|
|
echo "Press ENTER to return to the menu..."
|
|
read key
|
|
/home/joinmarket/menu.sh
|
|
;;
|
|
FREEZE)
|
|
/home/joinmarket/menu.freeze.sh
|
|
echo ""
|
|
echo "Press ENTER to return to the menu..."
|
|
read key
|
|
/home/joinmarket/menu.sh
|
|
;;
|
|
PAYJOIN)
|
|
/home/joinmarket/menu.payjoin.sh
|
|
/home/joinmarket/menu.sh
|
|
;;
|
|
OFFERS)
|
|
/home/joinmarket/menu.orderbook.sh
|
|
/home/joinmarket/menu.sh
|
|
;;
|
|
CONFIG)
|
|
/home/joinmarket/menu.config.sh
|
|
echo "Returning to the menu..."
|
|
sleep 1
|
|
/home/joinmarket/menu.sh
|
|
;;
|
|
TOOLS)
|
|
/home/joinmarket/menu.tools.sh
|
|
/home/joinmarket/menu.sh
|
|
;;
|
|
UPDATE)
|
|
/home/joinmarket/menu.update.sh
|
|
/home/joinmarket/menu.sh
|
|
;;
|
|
*)
|
|
clear
|
|
echo "
|
|
***************************
|
|
* JoinMarket command line *
|
|
***************************
|
|
Notes on usage:
|
|
https://github.com/openoms/bitcoin-tutorials/blob/master/joinmarket/README.md
|
|
|
|
To open the JoininBox menu use: menu
|
|
To exit from the terminal type: exit
|
|
"
|
|
esac
|