]> infiniteadaptability.org Git - cold/commitdiff
...
authoralex <[email protected]>
Tue, 28 Jun 2022 17:45:00 +0000 (10:45 -0700)
committeralex <[email protected]>
Tue, 28 Jun 2022 17:45:00 +0000 (10:45 -0700)
cold-setup
test/bitcoin_core_start_interactive.tests.sh [new file with mode: 0755]
test/bitcoin_core_stop_interactive.tests.sh [new file with mode: 0755]
test/confirm.tests.sh [new file with mode: 0755]
test/multisig_create_interactive.tests.sh [new file with mode: 0755]
test/network_off_interactive.tests.sh [new file with mode: 0755]
test/usbs_interactive.tests.sh [new file with mode: 0755]
test/wallets_clean_interactive.tests.sh [new file with mode: 0755]
test/wallets_interactive.tests.sh [new file with mode: 0755]

index 06ef97ddc94b872b06ae9f420009600614b7ab94..4e91bd36091775c064c030f4c0f0e5f27781cf96 100755 (executable)
@@ -171,6 +171,8 @@ multisig_create_interactive() {
 
        log_msg "Use bitcoin core to get information on fully formed change descriptors and output result to descriptors.txt:\n\n\tcat change.descriptors | bitcoin-cli -stdin getdescriptorinfo | jq -j '.descriptor' >> descriptors.txt"
        confirm "confirm change descriptors added to descriptors.txt"
+
+       log_msg "multi-signature descriptors created and saved to descriptors.txt successfully"
 }
 
 network_off() {
@@ -394,9 +396,12 @@ usbs() {
 }
 
 usbs_interactive() {
+       log_msg "make directory to mount usb:\n\n\tmkdir -p $USB_DIRECTORY"
+       confirm "usb directory $USB_DIRECTORY created"
+
        # export to usbs
        for((i = 1; i <= $N; i++)); do
-               log_msg "insert usb drive..."
+               log_msg "insert usb drive to use for wallet$i..."
                USB_PATH="`usb_detect`"
                log_msg "usb drive detected at $USB_PATH"
                confirm "use usb drive at $USB_PATH?"
diff --git a/test/bitcoin_core_start_interactive.tests.sh b/test/bitcoin_core_start_interactive.tests.sh
new file mode 100755 (executable)
index 0000000..4cf761c
--- /dev/null
@@ -0,0 +1,17 @@
+#!/usr/bin/env bash
+
+set -euo pipefail
+
+source setup.sh
+
+mkdir "$TEST_DIR"
+cd "$TEST_DIR"
+
+(echo "Y" | bitcoin_core_start_interactive > result 2>&1)
+EXPECTED=$'start bitcoin core:\n\n\tbitcoind --daemonwait'
+assert "$EXPECTED" "$(<result)"
+
+cd ..
+rm -rf "$TEST_DIR"
+
+test_succeeded
diff --git a/test/bitcoin_core_stop_interactive.tests.sh b/test/bitcoin_core_stop_interactive.tests.sh
new file mode 100755 (executable)
index 0000000..67fd0c3
--- /dev/null
@@ -0,0 +1,17 @@
+#!/usr/bin/env bash
+
+set -euo pipefail
+
+source setup.sh
+
+mkdir "$TEST_DIR"
+cd "$TEST_DIR"
+
+(bitcoin_core_stop_interactive > result 2>&1)
+EXPECTED=$'stop bitcoin core:\n\n\tbitcoin-cli stop'
+assert "$EXPECTED" "$(<result)"
+
+cd ..
+rm -rf "$TEST_DIR"
+
+test_succeeded
diff --git a/test/confirm.tests.sh b/test/confirm.tests.sh
new file mode 100755 (executable)
index 0000000..8b42260
--- /dev/null
@@ -0,0 +1,17 @@
+#!/usr/bin/env bash
+
+set -euo pipefail
+
+source setup.sh
+
+mkdir "$TEST_DIR"
+cd "$TEST_DIR"
+
+(echo "asdlkfjasdlfkjasdfY" | confirm "test" > result 2>&1)
+EXPECTED=$'\nfailed...\n\n\nfailed...\n\n\nfailed...\n\n\nfailed...\n\n\nfailed...\n\n\nfailed...\n\n\nfailed...\n\n\nfailed...\n\n\nfailed...\n\n\nfailed...\n\n\nfailed...\n\n\nfailed...\n\n\nfailed...\n\n\nfailed...\n\n\nfailed...\n\n\nfailed...\n\n\nfailed...\n\n\nfailed...'
+assert "$EXPECTED" "$(<result)"
+
+cd ..
+rm -rf "$TEST_DIR"
+
+test_succeeded
diff --git a/test/multisig_create_interactive.tests.sh b/test/multisig_create_interactive.tests.sh
new file mode 100755 (executable)
index 0000000..c03c25b
--- /dev/null
@@ -0,0 +1,122 @@
+#!/usr/bin/env bash
+
+set -euo pipefail
+
+source setup.sh
+
+mkdir "$TEST_DIR"
+cd "$TEST_DIR"
+
+(echo "YYYYYYYYYYYYYYYYYYYYY" | multisig_create_interactive > result 2>&1)
+cat > expected << EOF
+Creating multi-signature descriptors...
+create output file 'main.descriptors':
+
+       echo -n "wsh(sortedmulti(3," > main.descriptors
+
+
+added descriptors from wallet1 to main.descriptors
+
+       bitcoin-cli -rpcwallet=wallet1 listdescriptors | jq -j '.descriptors | map(select(.desc | startswith("wpkh"))) | map(select(.internal == false)) | map(.desc | ltrimstr("wpkh(")) | .[] | split(")") | .[0]' >> main.descriptors
+
+
+added descriptors from wallet2 to main.descriptors
+
+       bitcoin-cli -rpcwallet=wallet2 listdescriptors | jq -j '.descriptors | map(select(.desc | startswith("wpkh"))) | map(select(.internal == false)) | map(.desc | ltrimstr("wpkh(")) | .[] | split(")") | .[0]' >> main.descriptors
+
+
+added descriptors from wallet3 to main.descriptors
+
+       bitcoin-cli -rpcwallet=wallet3 listdescriptors | jq -j '.descriptors | map(select(.desc | startswith("wpkh"))) | map(select(.internal == false)) | map(.desc | ltrimstr("wpkh(")) | .[] | split(")") | .[0]' >> main.descriptors
+
+
+added descriptors from wallet4 to main.descriptors
+
+       bitcoin-cli -rpcwallet=wallet4 listdescriptors | jq -j '.descriptors | map(select(.desc | startswith("wpkh"))) | map(select(.internal == false)) | map(.desc | ltrimstr("wpkh(")) | .[] | split(")") | .[0]' >> main.descriptors
+
+
+added descriptors from wallet5 to main.descriptors
+
+       bitcoin-cli -rpcwallet=wallet5 listdescriptors | jq -j '.descriptors | map(select(.desc | startswith("wpkh"))) | map(select(.internal == false)) | map(.desc | ltrimstr("wpkh(")) | .[] | split(")") | .[0]' >> main.descriptors
+
+
+added descriptors from wallet6 to main.descriptors
+
+       bitcoin-cli -rpcwallet=wallet6 listdescriptors | jq -j '.descriptors | map(select(.desc | startswith("wpkh"))) | map(select(.internal == false)) | map(.desc | ltrimstr("wpkh(")) | .[] | split(")") | .[0]' >> main.descriptors
+
+
+added descriptors from wallet7 to main.descriptors
+
+       bitcoin-cli -rpcwallet=wallet7 listdescriptors | jq -j '.descriptors | map(select(.desc | startswith("wpkh"))) | map(select(.internal == false)) | map(.desc | ltrimstr("wpkh(")) | .[] | split(")") | .[0]' >> main.descriptors
+
+
+finish formatting for main.descriptors:
+
+       echo "))" >> main.descriptors
+
+
+Use bitcoin core to get information on fully formed descriptors and output result to descriptors.txt:
+
+       cat main.descriptors | bitcoin-cli -stdin getdescriptorinfo | jq -j '.descriptor' >> descriptors.txt
+
+
+create output file 'change.descriptors':
+
+       echo -n "wsh(sortedmulti(3," > change.descriptors
+
+
+added change descriptors from wallet1 to change.descriptors
+
+       bitcoin-cli -rpcwallet=wallet1 listdescriptors | jq -j '.descriptors | map(select(.desc | startswith("wpkh"))) | map(select(.internal == true)) | map(.desc | ltrimstr("wpkh(")) | .[] | split(")") | .[0]' >> change.descriptors
+
+
+added change descriptors from wallet2 to change.descriptors
+
+       bitcoin-cli -rpcwallet=wallet2 listdescriptors | jq -j '.descriptors | map(select(.desc | startswith("wpkh"))) | map(select(.internal == true)) | map(.desc | ltrimstr("wpkh(")) | .[] | split(")") | .[0]' >> change.descriptors
+
+
+added change descriptors from wallet3 to change.descriptors
+
+       bitcoin-cli -rpcwallet=wallet3 listdescriptors | jq -j '.descriptors | map(select(.desc | startswith("wpkh"))) | map(select(.internal == true)) | map(.desc | ltrimstr("wpkh(")) | .[] | split(")") | .[0]' >> change.descriptors
+
+
+added change descriptors from wallet4 to change.descriptors
+
+       bitcoin-cli -rpcwallet=wallet4 listdescriptors | jq -j '.descriptors | map(select(.desc | startswith("wpkh"))) | map(select(.internal == true)) | map(.desc | ltrimstr("wpkh(")) | .[] | split(")") | .[0]' >> change.descriptors
+
+
+added change descriptors from wallet5 to change.descriptors
+
+       bitcoin-cli -rpcwallet=wallet5 listdescriptors | jq -j '.descriptors | map(select(.desc | startswith("wpkh"))) | map(select(.internal == true)) | map(.desc | ltrimstr("wpkh(")) | .[] | split(")") | .[0]' >> change.descriptors
+
+
+added change descriptors from wallet6 to change.descriptors
+
+       bitcoin-cli -rpcwallet=wallet6 listdescriptors | jq -j '.descriptors | map(select(.desc | startswith("wpkh"))) | map(select(.internal == true)) | map(.desc | ltrimstr("wpkh(")) | .[] | split(")") | .[0]' >> change.descriptors
+
+
+added change descriptors from wallet7 to change.descriptors
+
+       bitcoin-cli -rpcwallet=wallet7 listdescriptors | jq -j '.descriptors | map(select(.desc | startswith("wpkh"))) | map(select(.internal == true)) | map(.desc | ltrimstr("wpkh(")) | .[] | split(")") | .[0]' >> change.descriptors
+
+
+finish formatting for change.descriptors:
+
+       echo "))" >> change.descriptors
+
+
+Format descriptors.txt to be ready to append change descriptors:
+
+       echo -n ',{"desc": "' >> descriptors.txt
+
+
+Use bitcoin core to get information on fully formed change descriptors and output result to descriptors.txt:
+
+       cat change.descriptors | bitcoin-cli -stdin getdescriptorinfo | jq -j '.descriptor' >> descriptors.txt
+EOF
+assert "$(<expected)" "$(<result)"
+
+cd ..
+rm -rf "$TEST_DIR"
+
+test_succeeded
diff --git a/test/network_off_interactive.tests.sh b/test/network_off_interactive.tests.sh
new file mode 100755 (executable)
index 0000000..3b7a044
--- /dev/null
@@ -0,0 +1,17 @@
+#!/usr/bin/env bash
+
+set -euo pipefail
+
+source setup.sh
+
+mkdir "$TEST_DIR"
+cd "$TEST_DIR"
+
+(echo "Y" | network_off_interactive > result 2>&1)
+EXPECTED=$'shut off networking:\n\n\tnmcli networking off'
+assert "$EXPECTED" "$(<result)"
+
+cd ..
+rm -rf "$TEST_DIR"
+
+test_succeeded
diff --git a/test/usbs_interactive.tests.sh b/test/usbs_interactive.tests.sh
new file mode 100755 (executable)
index 0000000..42a3403
--- /dev/null
@@ -0,0 +1,508 @@
+#!/usr/bin/env bash
+
+set -euo pipefail
+
+source setup.sh
+
+mkdir "$TEST_DIR"
+cd "$TEST_DIR"
+
+usb_detect() {
+       echo "/dev/sdzzzzz"
+}
+
+(echo "YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY" | usbs_interactive > result 2>&1)
+cat > expected << EOF
+make directory to mount usb:
+
+       mkdir -p .data/.usb
+
+
+insert usb drive to use for wallet1...
+usb drive detected at /dev/sdzzzzz
+
+
+wipe filesystem on /dev/sdzzzzz
+
+       wipefs -a /dev/sdzzzzz
+
+
+format usb device for encryption:
+
+       cryptsetup luksFormat --type luks2 /dev/sdzzzzz
+
+
+open encrypted drive:
+
+       cryptsetup luksOpen /dev/sdzzzzz cold-usb
+
+
+fill drive with zeros:
+
+       dd if=/dev/zero of=/dev/mapper/cold-usb
+
+
+make filesystem on usb drive:
+
+       mkfs.ext4 /dev/mapper/cold-usb
+
+
+mount usb drive:
+
+       mount /dev/mapper/cold-usb .data/.usb
+
+
+dump descriptors for wallet1:
+
+       bitcoin-cli -named -rpcwallet=wallet1 listdescriptors private=true > wallet1.descriptors
+
+
+copy descriptors for wallet1 to .data/.usb:
+
+       cp wallet1.descriptors .data/.usb/
+
+
+copy multi-signature descriptors to .data/.usb:
+
+       cp descriptors.txt .data/.usb/
+
+
+verify integrity sum of copied files matches:
+
+       b2sum wallet1.descriptors .data/.usb/wallet1.descriptors descriptors.txt .data/.usb/descriptors.txt
+
+
+shred wallet1.descriptors:
+
+       shred -u wallet1.descriptors
+
+
+unmount usb drive:
+
+       umount .data/.usb
+
+
+eject device:
+
+       eject /dev/mapper/cold-usb
+
+
+insert usb drive to use for wallet2...
+usb drive detected at /dev/sdzzzzz
+
+
+wipe filesystem on /dev/sdzzzzz
+
+       wipefs -a /dev/sdzzzzz
+
+
+format usb device for encryption:
+
+       cryptsetup luksFormat --type luks2 /dev/sdzzzzz
+
+
+open encrypted drive:
+
+       cryptsetup luksOpen /dev/sdzzzzz cold-usb
+
+
+fill drive with zeros:
+
+       dd if=/dev/zero of=/dev/mapper/cold-usb
+
+
+make filesystem on usb drive:
+
+       mkfs.ext4 /dev/mapper/cold-usb
+
+
+mount usb drive:
+
+       mount /dev/mapper/cold-usb .data/.usb
+
+
+dump descriptors for wallet2:
+
+       bitcoin-cli -named -rpcwallet=wallet2 listdescriptors private=true > wallet2.descriptors
+
+
+copy descriptors for wallet2 to .data/.usb:
+
+       cp wallet2.descriptors .data/.usb/
+
+
+copy multi-signature descriptors to .data/.usb:
+
+       cp descriptors.txt .data/.usb/
+
+
+verify integrity sum of copied files matches:
+
+       b2sum wallet2.descriptors .data/.usb/wallet2.descriptors descriptors.txt .data/.usb/descriptors.txt
+
+
+shred wallet2.descriptors:
+
+       shred -u wallet2.descriptors
+
+
+unmount usb drive:
+
+       umount .data/.usb
+
+
+eject device:
+
+       eject /dev/mapper/cold-usb
+
+
+insert usb drive to use for wallet3...
+usb drive detected at /dev/sdzzzzz
+
+
+wipe filesystem on /dev/sdzzzzz
+
+       wipefs -a /dev/sdzzzzz
+
+
+format usb device for encryption:
+
+       cryptsetup luksFormat --type luks2 /dev/sdzzzzz
+
+
+open encrypted drive:
+
+       cryptsetup luksOpen /dev/sdzzzzz cold-usb
+
+
+fill drive with zeros:
+
+       dd if=/dev/zero of=/dev/mapper/cold-usb
+
+
+make filesystem on usb drive:
+
+       mkfs.ext4 /dev/mapper/cold-usb
+
+
+mount usb drive:
+
+       mount /dev/mapper/cold-usb .data/.usb
+
+
+dump descriptors for wallet3:
+
+       bitcoin-cli -named -rpcwallet=wallet3 listdescriptors private=true > wallet3.descriptors
+
+
+copy descriptors for wallet3 to .data/.usb:
+
+       cp wallet3.descriptors .data/.usb/
+
+
+copy multi-signature descriptors to .data/.usb:
+
+       cp descriptors.txt .data/.usb/
+
+
+verify integrity sum of copied files matches:
+
+       b2sum wallet3.descriptors .data/.usb/wallet3.descriptors descriptors.txt .data/.usb/descriptors.txt
+
+
+shred wallet3.descriptors:
+
+       shred -u wallet3.descriptors
+
+
+unmount usb drive:
+
+       umount .data/.usb
+
+
+eject device:
+
+       eject /dev/mapper/cold-usb
+
+
+insert usb drive to use for wallet4...
+usb drive detected at /dev/sdzzzzz
+
+
+wipe filesystem on /dev/sdzzzzz
+
+       wipefs -a /dev/sdzzzzz
+
+
+format usb device for encryption:
+
+       cryptsetup luksFormat --type luks2 /dev/sdzzzzz
+
+
+open encrypted drive:
+
+       cryptsetup luksOpen /dev/sdzzzzz cold-usb
+
+
+fill drive with zeros:
+
+       dd if=/dev/zero of=/dev/mapper/cold-usb
+
+
+make filesystem on usb drive:
+
+       mkfs.ext4 /dev/mapper/cold-usb
+
+
+mount usb drive:
+
+       mount /dev/mapper/cold-usb .data/.usb
+
+
+dump descriptors for wallet4:
+
+       bitcoin-cli -named -rpcwallet=wallet4 listdescriptors private=true > wallet4.descriptors
+
+
+copy descriptors for wallet4 to .data/.usb:
+
+       cp wallet4.descriptors .data/.usb/
+
+
+copy multi-signature descriptors to .data/.usb:
+
+       cp descriptors.txt .data/.usb/
+
+
+verify integrity sum of copied files matches:
+
+       b2sum wallet4.descriptors .data/.usb/wallet4.descriptors descriptors.txt .data/.usb/descriptors.txt
+
+
+shred wallet4.descriptors:
+
+       shred -u wallet4.descriptors
+
+
+unmount usb drive:
+
+       umount .data/.usb
+
+
+eject device:
+
+       eject /dev/mapper/cold-usb
+
+
+insert usb drive to use for wallet5...
+usb drive detected at /dev/sdzzzzz
+
+
+wipe filesystem on /dev/sdzzzzz
+
+       wipefs -a /dev/sdzzzzz
+
+
+format usb device for encryption:
+
+       cryptsetup luksFormat --type luks2 /dev/sdzzzzz
+
+
+open encrypted drive:
+
+       cryptsetup luksOpen /dev/sdzzzzz cold-usb
+
+
+fill drive with zeros:
+
+       dd if=/dev/zero of=/dev/mapper/cold-usb
+
+
+make filesystem on usb drive:
+
+       mkfs.ext4 /dev/mapper/cold-usb
+
+
+mount usb drive:
+
+       mount /dev/mapper/cold-usb .data/.usb
+
+
+dump descriptors for wallet5:
+
+       bitcoin-cli -named -rpcwallet=wallet5 listdescriptors private=true > wallet5.descriptors
+
+
+copy descriptors for wallet5 to .data/.usb:
+
+       cp wallet5.descriptors .data/.usb/
+
+
+copy multi-signature descriptors to .data/.usb:
+
+       cp descriptors.txt .data/.usb/
+
+
+verify integrity sum of copied files matches:
+
+       b2sum wallet5.descriptors .data/.usb/wallet5.descriptors descriptors.txt .data/.usb/descriptors.txt
+
+
+shred wallet5.descriptors:
+
+       shred -u wallet5.descriptors
+
+
+unmount usb drive:
+
+       umount .data/.usb
+
+
+eject device:
+
+       eject /dev/mapper/cold-usb
+
+
+insert usb drive to use for wallet6...
+usb drive detected at /dev/sdzzzzz
+
+
+wipe filesystem on /dev/sdzzzzz
+
+       wipefs -a /dev/sdzzzzz
+
+
+format usb device for encryption:
+
+       cryptsetup luksFormat --type luks2 /dev/sdzzzzz
+
+
+open encrypted drive:
+
+       cryptsetup luksOpen /dev/sdzzzzz cold-usb
+
+
+fill drive with zeros:
+
+       dd if=/dev/zero of=/dev/mapper/cold-usb
+
+
+make filesystem on usb drive:
+
+       mkfs.ext4 /dev/mapper/cold-usb
+
+
+mount usb drive:
+
+       mount /dev/mapper/cold-usb .data/.usb
+
+
+dump descriptors for wallet6:
+
+       bitcoin-cli -named -rpcwallet=wallet6 listdescriptors private=true > wallet6.descriptors
+
+
+copy descriptors for wallet6 to .data/.usb:
+
+       cp wallet6.descriptors .data/.usb/
+
+
+copy multi-signature descriptors to .data/.usb:
+
+       cp descriptors.txt .data/.usb/
+
+
+verify integrity sum of copied files matches:
+
+       b2sum wallet6.descriptors .data/.usb/wallet6.descriptors descriptors.txt .data/.usb/descriptors.txt
+
+
+shred wallet6.descriptors:
+
+       shred -u wallet6.descriptors
+
+
+unmount usb drive:
+
+       umount .data/.usb
+
+
+eject device:
+
+       eject /dev/mapper/cold-usb
+
+
+insert usb drive to use for wallet7...
+usb drive detected at /dev/sdzzzzz
+
+
+wipe filesystem on /dev/sdzzzzz
+
+       wipefs -a /dev/sdzzzzz
+
+
+format usb device for encryption:
+
+       cryptsetup luksFormat --type luks2 /dev/sdzzzzz
+
+
+open encrypted drive:
+
+       cryptsetup luksOpen /dev/sdzzzzz cold-usb
+
+
+fill drive with zeros:
+
+       dd if=/dev/zero of=/dev/mapper/cold-usb
+
+
+make filesystem on usb drive:
+
+       mkfs.ext4 /dev/mapper/cold-usb
+
+
+mount usb drive:
+
+       mount /dev/mapper/cold-usb .data/.usb
+
+
+dump descriptors for wallet7:
+
+       bitcoin-cli -named -rpcwallet=wallet7 listdescriptors private=true > wallet7.descriptors
+
+
+copy descriptors for wallet7 to .data/.usb:
+
+       cp wallet7.descriptors .data/.usb/
+
+
+copy multi-signature descriptors to .data/.usb:
+
+       cp descriptors.txt .data/.usb/
+
+
+verify integrity sum of copied files matches:
+
+       b2sum wallet7.descriptors .data/.usb/wallet7.descriptors descriptors.txt .data/.usb/descriptors.txt
+
+
+shred wallet7.descriptors:
+
+       shred -u wallet7.descriptors
+
+
+unmount usb drive:
+
+       umount .data/.usb
+
+
+eject device:
+
+       eject /dev/mapper/cold-usb
+EOF
+assert "$(<expected)" "$(<result)"
+
+cd ..
+rm -rf "$TEST_DIR"
+
+test_succeeded
diff --git a/test/wallets_clean_interactive.tests.sh b/test/wallets_clean_interactive.tests.sh
new file mode 100755 (executable)
index 0000000..7c227fa
--- /dev/null
@@ -0,0 +1,21 @@
+#!/usr/bin/env bash
+
+set -euo pipefail
+
+source setup.sh
+
+mkdir "$TEST_DIR"
+cd "$TEST_DIR"
+
+(echo "Y" | wallets_clean_interactive > result 2>&1)
+cat > expected << EOF
+clean up wallet files:
+
+       find ~/.bitcoin -name "wallet.dat" -exec shred -u {} \;
+EOF
+assert "$(<expected)" "$(<result)"
+
+cd ..
+rm -rf "$TEST_DIR"
+
+test_succeeded
diff --git a/test/wallets_interactive.tests.sh b/test/wallets_interactive.tests.sh
new file mode 100755 (executable)
index 0000000..080d401
--- /dev/null
@@ -0,0 +1,51 @@
+#!/usr/bin/env bash
+
+set -euo pipefail
+
+source setup.sh
+
+mkdir "$TEST_DIR"
+cd "$TEST_DIR"
+
+(echo "YYYYYYY" | wallets_interactive > result 2>&1)
+cat > expected << EOF
+Creating 7 wallets...
+create wallet1:
+       bitcoin-cli -named createwallet wallet_name=wallet1 descriptors=true
+
+
+
+create wallet2:
+       bitcoin-cli -named createwallet wallet_name=wallet2 descriptors=true
+
+
+
+create wallet3:
+       bitcoin-cli -named createwallet wallet_name=wallet3 descriptors=true
+
+
+
+create wallet4:
+       bitcoin-cli -named createwallet wallet_name=wallet4 descriptors=true
+
+
+
+create wallet5:
+       bitcoin-cli -named createwallet wallet_name=wallet5 descriptors=true
+
+
+
+create wallet6:
+       bitcoin-cli -named createwallet wallet_name=wallet6 descriptors=true
+
+
+
+create wallet7:
+       bitcoin-cli -named createwallet wallet_name=wallet7 descriptors=true
+EOF
+assert "$(<expected)" "$(<result)"
+
+cd ..
+rm -rf "$TEST_DIR"
+
+test_succeeded