mirror of
https://github.com/openoms/joininbox.git
synced 2026-08-13 12:33:14 +02:00
128 lines
No EOL
3.5 KiB
Bash
Executable file
128 lines
No EOL
3.5 KiB
Bash
Executable file
#!/bin/bash
|
|
|
|
# WALLET menu options
|
|
|
|
source /home/joinmarket/joinin.conf
|
|
source /home/joinmarket/_functions.sh
|
|
|
|
checkRPCwallet
|
|
|
|
# BASIC MENU INFO
|
|
HEIGHT=14
|
|
WIDTH=52
|
|
CHOICE_HEIGHT=21
|
|
TITLE="Wallet management options"
|
|
BACKTITLE="Wallet management options"
|
|
MENU=""
|
|
OPTIONS=()
|
|
|
|
# Basic Options
|
|
OPTIONS+=(
|
|
GEN "Generate a new wallet"
|
|
HISTORY "Show all past transactions"
|
|
IMPORT "Copy wallet(s) from a remote node"
|
|
RECOVER "Restore a wallet from the seed"
|
|
UNLOCK "Remove the lockfiles"
|
|
RESCAN "Rescan the Bitcoin Core wallet"
|
|
XPUBS "Show the master public keys"
|
|
PSBT "Sign an externally prepared PSBT"
|
|
)
|
|
|
|
CHOICE=$(dialog --clear \
|
|
--backtitle "$BACKTITLE" \
|
|
--title "$TITLE" \
|
|
--ok-label "Select" \
|
|
--cancel-label "Back" \
|
|
--menu "$MENU" \
|
|
$HEIGHT $WIDTH $CHOICE_HEIGHT \
|
|
"${OPTIONS[@]}" \
|
|
2>&1 >/dev/tty)
|
|
|
|
case $CHOICE in
|
|
|
|
GEN)
|
|
clear
|
|
echo ""
|
|
. /home/joinmarket/joinmarket-clientserver/jmvenv/bin/activate
|
|
if [ "${RPCoverTor}" = "on" ]; then
|
|
torify python /home/joinmarket/joinmarket-clientserver/scripts/wallet-tool.py generate
|
|
else
|
|
python /home/joinmarket/joinmarket-clientserver/scripts/wallet-tool.py generate
|
|
fi
|
|
echo
|
|
echo "Press ENTER to return to the menu"
|
|
read key
|
|
;;
|
|
HISTORY)
|
|
activateJMvenv
|
|
if [ "$(pip list | grep -c scipy)" -eq 0 ];then
|
|
echo "# Installing optional dependencies"
|
|
pip install scipy
|
|
fi
|
|
# wallet
|
|
chooseWallet
|
|
/home/joinmarket/start.script.sh wallet-tool $(cat $wallet) "history -v 4"
|
|
echo
|
|
echo "Press ENTER to return to the menu"
|
|
read key
|
|
;;
|
|
IMPORT)
|
|
/home/joinmarket/info.importwallet.sh
|
|
echo "Returning to the menu..."
|
|
sleep 1
|
|
/home/joinmarket/menu.sh
|
|
;;
|
|
RECOVER)
|
|
clear
|
|
echo
|
|
. /home/joinmarket/joinmarket-clientserver/jmvenv/bin/activate
|
|
if [ "${RPCoverTor}" = "on" ];then
|
|
torify python /home/joinmarket/joinmarket-clientserver/scripts/wallet-tool.py recover
|
|
else
|
|
python /home/joinmarket/joinmarket-clientserver/scripts/wallet-tool.py recover
|
|
fi
|
|
echo ""
|
|
echo "Press ENTER to return to the menu"
|
|
read key
|
|
;;
|
|
UNLOCK)
|
|
echo "Removing the wallet lockfiles with the command:"
|
|
echo "rm ~/.joinmarket/wallets/.*.lock"
|
|
rm ~/.joinmarket/wallets/.*.lock
|
|
# for old version <v0.6.3
|
|
rm ~/.joinmarket/wallets/*.lock 2>/dev/null
|
|
echo ""
|
|
echo "Press ENTER to return to the menu"
|
|
read key
|
|
;;
|
|
RESCAN)
|
|
echo
|
|
echo "# Input the blockheight to scan from (first SegWit block: 477120):"
|
|
read blockheight
|
|
customRPC "# Rescan wallet in bitcoind" "rescanblockchain" "$blockheight"
|
|
echo
|
|
echo "# Monitor the progress in the logs of the connected bitcoind"
|
|
echo
|
|
showBitcoinLogs
|
|
echo "Press ENTER to return to the menu"
|
|
read key
|
|
;;
|
|
XPUBS)
|
|
# wallet
|
|
chooseWallet
|
|
clear
|
|
echo
|
|
echo "The 5 master public keys correspond to the 5 mixdepths (accounts) of the JoinMarket wallet."
|
|
echo
|
|
/home/joinmarket/start.script.sh wallet-tool "$(cat $wallet)"|grep mixdepth|sed -n '1~2p'|awk '{print $3}'
|
|
echo
|
|
echo "Import the master public keys to Specter Desktop or Electrum to create watch only wallets."
|
|
echo
|
|
echo "Press ENTER to return to the menu..."
|
|
read key
|
|
/home/joinmarket/menu.sh
|
|
;;
|
|
PSBT)
|
|
signPSBT
|
|
;;
|
|
esac |