diff --git a/.github/workflows/ci-workflow.yml b/.github/workflows/ci-workflow.yml index 910682551..f14786170 100644 --- a/.github/workflows/ci-workflow.yml +++ b/.github/workflows/ci-workflow.yml @@ -53,6 +53,28 @@ jobs: name: bitcoin-testnet-app-${{ matrix.model }} path: bitcoin-testnet-bin + job_build_app_perftest: + name: Compile the UX-less version of the app on Nano S+ for performance tests + + runs-on: ubuntu-latest + + container: + image: ghcr.io/ledgerhq/ledger-app-builder/ledger-app-builder:latest + + steps: + - name: Clone + uses: actions/checkout@v2 + + - name: Build + run: | + make DEBUG=0 COIN=bitcoin_testnet BOLOS_SDK="$NANOSP_SDK" AUTOAPPROVE_FOR_PERF_TESTS=1 + + - name: Upload Bitcoin Testnet app binary + uses: actions/upload-artifact@v2 + with: + name: bitcoin-testnet-perftest-app-nanosp + path: bin + job_unit_test: name: Unit test needs: job_build @@ -166,6 +188,43 @@ jobs: pip install -r requirements.txt PYTHONPATH=$PYTHONPATH:/speculos pytest --headless --timeout=300 + job_perftests: + name: Performance report + + needs: job_build_app_perftest + runs-on: ubuntu-latest + + container: + image: ghcr.io/ledgerhq/app-bitcoin-new/speculos-bitcoin:latest + ports: + - 1234:1234 + - 9999:9999 + - 40000:40000 + - 41000:41000 + - 42000:42000 + - 43000:43000 + options: --entrypoint /bin/bash + + steps: + - name: Clone + uses: actions/checkout@v2 + + - name: Download Bitcoin app binary for perftests + uses: actions/download-artifact@v2 + with: + name: bitcoin-testnet-perftest-app-nanosp + path: bin + + - name: Run tests + run: | + cd tests_perf + pip install -r requirements.txt + PYTHONPATH=$PYTHONPATH:/speculos pytest --headless --model=nanosp --benchmark-json=benchmarks.json + - name: Upload benchmarks summary + uses: actions/upload-artifact@v2 + with: + name: benchmarks-log + path: tests_perf/benchmarks.json job_test_js_lib: name: Tests with the JS library diff --git a/Makefile b/Makefile index 2d0f89951..81866413b 100644 --- a/Makefile +++ b/Makefile @@ -56,6 +56,13 @@ else APPVERSION = "$(APPVERSION_M).$(APPVERSION_N).$(APPVERSION_P)-$(strip $(APPVERSION_SUFFIX))" endif +# If set, the app will automatically approve all requests without user interaction. Useful for performance tests. +# It is critical that no such app is ever deployed in production. +AUTOAPPROVE_FOR_PERF_TESTS ?= 0 +ifneq ($(AUTOAPPROVE_FOR_PERF_TESTS),0) + DEFINES += HAVE_AUTOAPPROVE_FOR_PERF_TESTS +endif + # Setting to allow building variant applications VARIANT_PARAM = COIN VARIANT_VALUES = bitcoin_testnet bitcoin @@ -74,33 +81,36 @@ HAVE_APPLICATION_FLAG_BOLOS_SETTINGS = 1 HAVE_APPLICATION_FLAG_LIBRARY = 1 ifeq ($(COIN),bitcoin_testnet) - -# Bitcoin testnet, no legacy support -DEFINES += BIP32_PUBKEY_VERSION=0x043587CF -DEFINES += BIP44_COIN_TYPE=1 -DEFINES += COIN_P2PKH_VERSION=111 -DEFINES += COIN_P2SH_VERSION=196 -DEFINES += COIN_NATIVE_SEGWIT_PREFIX=\"tb\" -DEFINES += COIN_COINID_SHORT=\"TEST\" - -APPNAME = "Bitcoin Test" - + # Bitcoin testnet, no legacy support + DEFINES += BIP32_PUBKEY_VERSION=0x043587CF + DEFINES += BIP44_COIN_TYPE=1 + DEFINES += COIN_P2PKH_VERSION=111 + DEFINES += COIN_P2SH_VERSION=196 + DEFINES += COIN_NATIVE_SEGWIT_PREFIX=\"tb\" + DEFINES += COIN_COINID_SHORT=\"TEST\" + + APPNAME = "Bitcoin Test" else ifeq ($(COIN),bitcoin) - -# Bitcoin mainnet, no legacy support -DEFINES += BIP32_PUBKEY_VERSION=0x0488B21E -DEFINES += BIP44_COIN_TYPE=0 -DEFINES += COIN_P2PKH_VERSION=0 -DEFINES += COIN_P2SH_VERSION=5 -DEFINES += COIN_NATIVE_SEGWIT_PREFIX=\"bc\" -DEFINES += COIN_COINID_SHORT=\"BTC\" - -APPNAME = "Bitcoin" + # the version for performance tests automatically approves all requests + # there is no reason to ever compile the mainnet app with this flag + ifneq ($(AUTOAPPROVE_FOR_PERF_TESTS),0) + $(error Use testnet app for performance tests) + endif + + # Bitcoin mainnet, no legacy support + DEFINES += BIP32_PUBKEY_VERSION=0x0488B21E + DEFINES += BIP44_COIN_TYPE=0 + DEFINES += COIN_P2PKH_VERSION=0 + DEFINES += COIN_P2SH_VERSION=5 + DEFINES += COIN_NATIVE_SEGWIT_PREFIX=\"bc\" + DEFINES += COIN_COINID_SHORT=\"BTC\" + + APPNAME = "Bitcoin" else -ifeq ($(filter clean,$(MAKECMDGOALS)),) -$(error Unsupported COIN - use bitcoin_testnet, bitcoin) -endif + ifeq ($(filter clean,$(MAKECMDGOALS)),) + $(error Unsupported COIN - use bitcoin_testnet, bitcoin) + endif endif # Application icons following guidelines: diff --git a/src/handler/sign_message.c b/src/handler/sign_message.c index fe6e902e0..673dfecb8 100644 --- a/src/handler/sign_message.c +++ b/src/handler/sign_message.c @@ -174,6 +174,7 @@ void handler_sign_message(dispatcher_context_t* dc, uint8_t protocol_version) { snprintf(message_hash_str + 2 * i, 3, "%02X", message_hash[i]); } +#ifndef HAVE_AUTOAPPROVE_FOR_PERF_TESTS ui_pre_processing_message(); if (printable) { if (!display_message_content_and_confirm(dc, @@ -189,6 +190,7 @@ void handler_sign_message(dispatcher_context_t* dc, uint8_t protocol_version) { return; } } +#endif uint8_t sig[MAX_DER_SIG_LEN]; uint32_t info; diff --git a/src/ui/display.c b/src/ui/display.c index 4a0455257..539ca14fe 100644 --- a/src/ui/display.c +++ b/src/ui/display.c @@ -93,6 +93,10 @@ bool ui_display_pubkey(dispatcher_context_t *context, const char *bip32_path_str, bool is_path_suspicious, const char *pubkey) { +#ifdef HAVE_AUTOAPPROVE_FOR_PERF_TESTS + return true; +#endif + ui_path_and_pubkey_state_t *state = (ui_path_and_pubkey_state_t *) &g_ui_state; strncpy(state->bip32_path_str, bip32_path_str, sizeof(state->bip32_path_str)); @@ -110,6 +114,10 @@ bool ui_display_pubkey(dispatcher_context_t *context, bool ui_display_path_and_message_content(dispatcher_context_t *context, const char *path_str, const char *message_content) { +#ifdef HAVE_AUTOAPPROVE_FOR_PERF_TESTS + return true; +#endif + ui_path_and_message_state_t *state = (ui_path_and_message_state_t *) &g_ui_state; strncpy(state->bip32_path_str, path_str, sizeof(state->bip32_path_str)); strncpy(state->message, message_content, sizeof(state->message)); @@ -122,6 +130,10 @@ bool ui_display_path_and_message_content(dispatcher_context_t *context, bool ui_display_message_path_hash_and_confirm(dispatcher_context_t *context, const char *path_str, const char *message_hash) { +#ifdef HAVE_AUTOAPPROVE_FOR_PERF_TESTS + return true; +#endif + ui_path_and_message_state_t *state = (ui_path_and_message_state_t *) &g_ui_state; strncpy(state->bip32_path_str, path_str, sizeof(state->bip32_path_str)); strncpy(state->message, message_hash, sizeof(state->message)); @@ -132,6 +144,10 @@ bool ui_display_message_path_hash_and_confirm(dispatcher_context_t *context, } bool ui_display_message_confirm(dispatcher_context_t *context) { +#ifdef HAVE_AUTOAPPROVE_FOR_PERF_TESTS + return true; +#endif + (void) context; ui_sign_message_confirm_flow(); @@ -141,6 +157,10 @@ bool ui_display_message_confirm(dispatcher_context_t *context) { bool ui_display_register_wallet(dispatcher_context_t *context, const policy_map_wallet_header_t *wallet_header, const char *policy_descriptor) { +#ifdef HAVE_AUTOAPPROVE_FOR_PERF_TESTS + return true; +#endif + ui_wallet_state_t *state = (ui_wallet_state_t *) &g_ui_state; strncpy(state->wallet_name, wallet_header->name, sizeof(state->wallet_name)); @@ -158,6 +178,10 @@ bool ui_display_policy_map_cosigner_pubkey(dispatcher_context_t *context, uint8_t cosigner_index, uint8_t n_keys, key_type_e key_type) { +#ifdef HAVE_AUTOAPPROVE_FOR_PERF_TESTS + return true; +#endif + (void) (n_keys); ui_cosigner_pubkey_and_index_state_t *state = @@ -190,6 +214,10 @@ bool ui_display_wallet_address(dispatcher_context_t *context, const char *address) { ui_wallet_state_t *state = (ui_wallet_state_t *) &g_ui_state; +#ifdef HAVE_AUTOAPPROVE_FOR_PERF_TESTS + return true; +#endif + strncpy(state->address, address, sizeof(state->address)); if (wallet_name == NULL) { @@ -205,6 +233,10 @@ bool ui_display_wallet_address(dispatcher_context_t *context, bool ui_authorize_wallet_spend(dispatcher_context_t *context, const char *wallet_name) { ui_wallet_state_t *state = (ui_wallet_state_t *) &g_ui_state; +#ifdef HAVE_AUTOAPPROVE_FOR_PERF_TESTS + return true; +#endif + strncpy(state->wallet_name, wallet_name, sizeof(state->wallet_name)); ui_display_spend_from_wallet_flow(); @@ -212,21 +244,37 @@ bool ui_authorize_wallet_spend(dispatcher_context_t *context, const char *wallet } bool ui_warn_external_inputs(dispatcher_context_t *context) { +#ifdef HAVE_AUTOAPPROVE_FOR_PERF_TESTS + return true; +#endif + ui_display_warning_external_inputs_flow(); return io_ui_process(context, SET_UX_DIRTY); } bool ui_warn_unverified_segwit_inputs(dispatcher_context_t *context) { +#ifdef HAVE_AUTOAPPROVE_FOR_PERF_TESTS + return true; +#endif + ui_display_unverified_segwit_inputs_flows(); return io_ui_process(context, SET_UX_DIRTY); } bool ui_warn_nondefault_sighash(dispatcher_context_t *context) { +#ifdef HAVE_AUTOAPPROVE_FOR_PERF_TESTS + return true; +#endif + ui_display_nondefault_sighash_flow(); return io_ui_process(context, SET_UX_DIRTY); } bool ui_transaction_prompt(dispatcher_context_t *context) { +#ifdef HAVE_AUTOAPPROVE_FOR_PERF_TESTS + return true; +#endif + ui_display_transaction_prompt(); return io_ui_process(context, SET_UX_DIRTY); } @@ -237,6 +285,10 @@ bool ui_validate_output(dispatcher_context_t *context, const char *address_or_description, const char *coin_name, uint64_t amount) { +#ifdef HAVE_AUTOAPPROVE_FOR_PERF_TESTS + return true; +#endif + ui_validate_output_state_t *state = (ui_validate_output_state_t *) &g_ui_state; strncpy(state->address_or_description, @@ -254,6 +306,10 @@ bool ui_validate_output(dispatcher_context_t *context, } bool ui_warn_high_fee(dispatcher_context_t *context) { +#ifdef HAVE_AUTOAPPROVE_FOR_PERF_TESTS + return true; +#endif + ui_warn_high_fee_flow(); return io_ui_process(context, SET_UX_DIRTY); @@ -263,6 +319,10 @@ bool ui_validate_transaction(dispatcher_context_t *context, const char *coin_name, uint64_t fee, bool is_self_transfer) { +#ifdef HAVE_AUTOAPPROVE_FOR_PERF_TESTS + return true; +#endif + ui_validate_transaction_state_t *state = (ui_validate_transaction_state_t *) &g_ui_state; format_sats_amount(coin_name, fee, state->fee); @@ -298,6 +358,10 @@ void ui_pre_processing_message(void) { #ifdef HAVE_NBGL bool ui_post_processing_confirm_wallet_registration(dispatcher_context_t *context, bool success) { +#ifdef HAVE_AUTOAPPROVE_FOR_PERF_TESTS + return true; +#endif + (void) context; ui_display_post_processing_confirm_wallet_registation(success); @@ -305,6 +369,10 @@ bool ui_post_processing_confirm_wallet_registration(dispatcher_context_t *contex } bool ui_post_processing_confirm_transaction(dispatcher_context_t *context, bool success) { +#ifdef HAVE_AUTOAPPROVE_FOR_PERF_TESTS + return true; +#endif + (void) context; ui_display_post_processing_confirm_transaction(success); @@ -312,6 +380,10 @@ bool ui_post_processing_confirm_transaction(dispatcher_context_t *context, bool } bool ui_post_processing_confirm_message(dispatcher_context_t *context, bool success) { +#ifdef HAVE_AUTOAPPROVE_FOR_PERF_TESTS + return true; +#endif + (void) context; ui_display_post_processing_confirm_message(success); diff --git a/test_utils/taproot.py b/test_utils/taproot.py new file mode 100644 index 000000000..0ba25a2ae --- /dev/null +++ b/test_utils/taproot.py @@ -0,0 +1,50 @@ +# from portions of BIP-0341 +# - https://github.com/bitcoin/bips/blob/b3701faef2bdb98a0d7ace4eedbeefa2da4c89ed/bip-0341.mediawiki +# Distributed under the BSD-3-Clause license + +# fmt: off + +# If you want to print values on an individual basis, use +# the pretty() function, e.g., print(pretty(foo)). +import hashlib +import struct + + +# This implementation can be sped up by storing the midstate after hashing +# tag_hash instead of rehashing it all the time. +def tagged_hash(tag: str, msg: bytes) -> bytes: + tag_hash = hashlib.sha256(tag.encode()).digest() + return hashlib.sha256(tag_hash + tag_hash + msg).digest() + + +def ser_compact_size(l): + r = b"" + if l < 253: + r = struct.pack("B", l) + elif l < 0x10000: + r = struct.pack(" bytes: return random_bytes(32) +def random_p2tr() -> bytes: + """Returns 32 random bytes. Not cryptographically secure.""" + privkey = random_bytes(32) + pubkey = bip0340.point_mul(bip0340.G, int.from_bytes(privkey, 'big')) + + return b'\x51\x20' + (pubkey[0]).to_bytes(32, 'big') + + def getScriptPubkeyFromWallet(wallet: WalletPolicy, change: bool, address_index: int) -> Script: descriptor_str = wallet.descriptor_template @@ -58,6 +79,11 @@ def getScriptPubkeyFromWallet(wallet: WalletPolicy, change: bool, address_index: # by doing the text substitution of '/**' at the end, this works for either V1 or V2 descriptor_str = descriptor_str.replace("/**", f"/{1 if change else 0}/*") + # Substitute '/*' with either `NUM1/*` (not change) or `NUM2/*` (change) + pattern = re.compile(r'<(\d+);(\d+)>(/\*)') + descriptor_str = pattern.sub(lambda m: ( + m.group(2) if change else m.group(1)) + m.group(3), descriptor_str) + return Descriptor.from_string(descriptor_str).derive(address_index).script_pubkey() @@ -116,27 +142,106 @@ def createFakeWalletTransaction(n_inputs: int, n_outputs: int, output_amount: in return tx, selected_output_index, selected_output_change, selected_output_address_index -def createPsbt(wallet: WalletPolicy, input_amounts: List[int], output_amounts: List[int], output_is_change: List[bool], output_wallet: Optional[List[Optional[WalletPolicy]]] = None) -> PSBT: - if output_wallet is None: - output_wallet = [None] * len(output_amounts) +def get_placeholder_root_key(placeholder: KeyPlaceholder, keys_info: List[str]) -> Tuple[ExtendedKey, Optional[KeyOriginInfo]]: + if isinstance(placeholder, PlainKeyPlaceholder): + key_info = keys_info[placeholder.key_index] + key_origin_end_pos = key_info.find("]") + if key_origin_end_pos == -1: + xpub = key_info + root_key_origin = None + else: + xpub = key_info[key_origin_end_pos+1:] + root_key_origin = KeyOriginInfo.from_string( + key_info[1:key_origin_end_pos]) + root_pubkey = ExtendedKey.deserialize(xpub) + else: + raise ValueError("Unsupported placeholder type") - assert len(output_amounts) == len(output_is_change) - assert len(output_amounts) == len(output_wallet) - assert sum(output_amounts) <= sum(input_amounts) + return root_pubkey, root_key_origin + + +def fill_inout(wallet_policy: WalletPolicy, inout: Union[PartiallySignedInput, PartiallySignedOutput], is_change: bool, address_index: int): + desc_tmpl = DescriptorTemplate.from_string( + wallet_policy.descriptor_template) + + if isinstance(desc_tmpl, TrDescriptorTemplate): + keypath_der_subpath = [ + desc_tmpl.key.num1 if not is_change else desc_tmpl.key.num2, + address_index + ] + + keypath_pubkey, _ = get_placeholder_root_key( + desc_tmpl.key, wallet_policy.keys_info) + + inout.tap_internal_key = keypath_pubkey.derive_pub_path( + keypath_der_subpath).pubkey[1:] + + if desc_tmpl.tree is not None: + inout.tap_merkle_root = desc_tmpl.get_taptree_hash( + wallet_policy.keys_info, is_change, address_index) + + for placeholder, tapleaf_desc in desc_tmpl.placeholders(): + root_pubkey, root_pubkey_origin = get_placeholder_root_key( + placeholder, wallet_policy.keys_info) + + placeholder_der_subpath = [ + placeholder.num1 if not is_change else placeholder.num2, + address_index + ] + + leaf_script = None + if tapleaf_desc is not None: + leaf_desc = derive_plain_descriptor( + tapleaf_desc, wallet_policy.keys_info, is_change, address_index) + s = BytesIO(leaf_desc.encode()) + desc: Miniscript = Miniscript.read_from(s, taproot=True) + leaf_script = desc.compile() + + derived_pubkey = root_pubkey.derive_pub_path( + placeholder_der_subpath) + + if root_pubkey_origin is not None: + derived_key_origin = KeyOriginInfo( + root_pubkey_origin.fingerprint, root_pubkey_origin.path + placeholder_der_subpath) - # TODO: add support for wrapped segwit wallets + leaf_hashes = [] + if leaf_script is not None: + # In BIP-388 compliant wallet policies, there will be only one tapleaf with a given key + leaf_hashes = [tapleaf_hash(leaf_script)] - if wallet.n_keys != 1: - raise NotImplementedError("Only 1-key wallets supported") - if wallet.version == WalletType.WALLET_POLICY_V1: - if wallet.descriptor_template not in ["pkh(@0)", "wpkh(@0)", "tr(@0)"]: - raise NotImplementedError("Unsupported policy type") - elif wallet.version == WalletType.WALLET_POLICY_V2: - if wallet.descriptor_template not in ["pkh(@0/**)", "wpkh(@0/**)", "tr(@0/**)"]: - raise NotImplementedError("Unsupported policy type") + inout.tap_bip32_paths[derived_pubkey.pubkey[1:]] = ( + leaf_hashes, derived_key_origin) else: - raise ValueError( - f"Unknown wallet policy version: {wallet.version}") + if isinstance(desc_tmpl, WshDescriptorTemplate): + # add witnessScript + desc_str = derive_plain_descriptor( + wallet_policy.descriptor_template, wallet_policy.keys_info, is_change, address_index) + s = BytesIO(desc_str.encode()) + desc: Descriptor = Descriptor.read_from(s) + inout.witness_script = desc.witness_script().data + + for placeholder, _ in desc_tmpl.placeholders(): + root_pubkey, root_pubkey_origin = get_placeholder_root_key( + placeholder, wallet_policy.keys_info) + + placeholder_der_subpath = [ + placeholder.num1 if not is_change else placeholder.num2, + address_index + ] + + derived_pubkey = root_pubkey.derive_pub_path( + placeholder_der_subpath) + + if root_pubkey_origin is not None: + derived_key_origin = KeyOriginInfo( + root_pubkey_origin.fingerprint, root_pubkey_origin.path + placeholder_der_subpath) + + inout.hd_keypaths[derived_pubkey.pubkey] = derived_key_origin + + +def createPsbt(wallet_policy: WalletPolicy, input_amounts: List[int], output_amounts: List[int], output_is_change: List[bool]) -> PSBT: + assert len(output_amounts) == len(output_is_change) + assert sum(output_amounts) <= sum(input_amounts) vin: List[CTxIn] = [CTxIn() for _ in input_amounts] vout: List[CTxOut] = [CTxOut() for _ in output_amounts] @@ -150,7 +255,7 @@ def createPsbt(wallet: WalletPolicy, input_amounts: List[int], output_amounts: L n_inputs = randint(1, 10) n_outputs = randint(1, 10) prevout, idx, is_change, addr_idx = createFakeWalletTransaction( - n_inputs, n_outputs, prevout_amount, wallet) + n_inputs, n_outputs, prevout_amount, wallet_policy) prevouts.append(prevout) prevout_ns.append(idx) prevout_path_change.append(is_change) @@ -168,68 +273,43 @@ def createPsbt(wallet: WalletPolicy, input_amounts: List[int], output_amounts: L tx.vout = vout tx.wit = CTxWitness() + change_address_index = randint(0, 10_000) + for i, output_amount in enumerate(output_amounts): + tx.vout[i].nValue = output_amount + if output_is_change[i]: + script = getScriptPubkeyFromWallet( + wallet_policy, output_is_change[i], change_address_index) + + tx.vout[i].scriptPubKey = script.data + else: + # a random P2TR output + tx.vout[i].scriptPubKey = random_p2tr() + psbt.inputs = [PartiallySignedInput(0) for _ in input_amounts] psbt.outputs = [PartiallySignedOutput(0) for _ in output_amounts] - # simplification; good enough for the scripts we support now, but will need more work - is_legacy = wallet.descriptor_template.startswith("pkh(") - is_segwitv0 = wallet.descriptor_template.startswith( - "wpkh(") or wallet.descriptor_template.startswith("sh(wpkh(") - is_taproot = wallet.descriptor_template.startswith("tr(") - - key_origin = wallet.keys_info[0][1:wallet.keys_info[0].index("]")] + desc_tmpl = DescriptorTemplate.from_string( + wallet_policy.descriptor_template) - for i in range(len(input_amounts)): - if is_legacy or is_segwitv0: - # add non-witness UTXO - psbt.inputs[i].non_witness_utxo = prevouts[i] - if is_segwitv0 or is_taproot: + for input_index, input in enumerate(psbt.inputs): + if desc_tmpl.is_segwit(): # add witness UTXO - psbt.inputs[i].witness_utxo = prevouts[i].vout[prevout_ns[i]] - - path_str = f"m{key_origin[8:]}/{prevout_path_change[i]}/{prevout_path_addr_idx[i]}" - path = parse_path(path_str) - input_key: bytes = master_key.derive(path_str).key.sec() - - assert len(input_key) == 33 - - # add key and path info - if is_legacy or is_segwitv0: - psbt.inputs[i].hd_keypaths[input_key] = KeyOriginInfo( - master_key_fpr, path) - elif is_taproot: - internal_key = input_key[1:] - psbt.inputs[i].tap_bip32_paths[internal_key] = ( - {}, KeyOriginInfo(master_key_fpr, path)) - else: - raise RuntimeError("Unexpected state: unknown transaction type") + input.witness_utxo = prevouts[input_index].vout[prevout_ns[input_index]] - for i, output_amount in enumerate(output_amounts): - wallet_i = output_wallet[i] - if output_is_change[i] or wallet_i is None: - script = getScriptPubkeyFromWallet(wallet, output_is_change[i], i) - else: - script = getScriptPubkeyFromWallet(wallet_i, 0, i) + if desc_tmpl.is_legacy() or (desc_tmpl.is_segwit() and not desc_tmpl.is_taproot()): + # add non_witness_utxo for legacy or segwitv0 + input.non_witness_utxo = prevouts[input_index] - tx.vout[i].scriptPubKey = script.data - tx.vout[i].nValue = output_amount + is_change = bool(prevout_path_change[input_index]) + address_index = prevout_path_addr_idx[input_index] - if output_is_change[i]: - path_str = f"m{key_origin[8:]}/1/{i}" - path = parse_path(path_str) - output_key: bytes = master_key.derive(path_str).key.sec() - - # add key and path information for change output - if is_legacy or is_segwitv0: - psbt.outputs[i].hd_keypaths[output_key] = KeyOriginInfo( - master_key_fpr, path) - elif is_taproot: - internal_key = output_key[1:] - psbt.outputs[i].tap_bip32_paths[internal_key] = ( - {}, KeyOriginInfo(master_key_fpr, path)) - - psbt.outputs[i].tap_bip32_paths[internal_key] = ( - {}, KeyOriginInfo(master_key_fpr, path)) + fill_inout(wallet_policy, input, is_change, address_index) + + # only for the change output, we need to do the same + for output_index, output in enumerate(psbt.outputs): + if output_is_change[output_index]: + fill_inout(wallet_policy, output, is_change=True, + address_index=change_address_index) psbt.tx = tx diff --git a/test_utils/wallet_policy.py b/test_utils/wallet_policy.py new file mode 100644 index 000000000..07413fafc --- /dev/null +++ b/test_utils/wallet_policy.py @@ -0,0 +1,414 @@ +# This is a partial implementation of BIP-0388: https://github.com/bitcoin/bips/blob/master/bip-0388.mediawiki +# It is used to manipulate wallet policies, but it has incomplete error checking and does not support all the +# possible types of descriptor templates from the BIP. +# Only to be used for testing purposes. + +from abc import ABC, abstractmethod +from dataclasses import dataclass +from io import BytesIO +import re +from typing import Iterator, List, Optional, Tuple, Type, Union + +from ledger_bitcoin.embit.descriptor.miniscript import Miniscript +from ledger_bitcoin.key import ExtendedKey + +from .taproot import ser_script, tagged_hash + + +def tapleaf_hash(script: Optional[bytes], leaf_version=b'\xC0') -> Optional[bytes]: + if script is None: + return None + return tagged_hash( + "TapLeaf", + leaf_version + ser_script(script) + ) + + +@dataclass +class PlainKeyPlaceholder: + key_index: int + num1: int + num2: int + + +# future extensions will have multiple subtypes (e.g.: MuSig2KeyPlaceholder) +KeyPlaceholder = PlainKeyPlaceholder + + +def parse_placeholder(placeholder_str: str) -> KeyPlaceholder: + """Parses a placeholder string to create a KeyPlaceholder object.""" + if placeholder_str.startswith('@'): + parts = placeholder_str.split('/') + key_index = int(parts[0].strip('@')) + + # Remove '<' from the start and '>' from the end + nums_part = parts[1][1:-1] + num1, num2 = map(int, nums_part.split(';')) + + return PlainKeyPlaceholder(key_index, num1, num2) + else: + raise ValueError("Invalid placeholder string") + + +def extract_placeholders(desc_tmpl: str) -> List[KeyPlaceholder]: + """Extracts and parses all placeholders in a descriptor template, from left to right.""" + + pattern = r'musig\((?:@\d+,)*(?:@\d+)\)/<\d+;\d+>/\*|@\d+/<\d+;\d+>/\*' + matches = [(match.group(), match.start()) + for match in re.finditer(pattern, desc_tmpl)] + sorted_matches = sorted(matches, key=lambda x: x[1]) + return [parse_placeholder(match[0]) for match in sorted_matches] + + +def derive_from_key_info(key_info: str, steps: List[int]) -> str: + start = key_info.find(']') + pk = ExtendedKey.deserialize(key_info[start + 1:]) + return pk.derive_pub_path(steps).to_string() + + +def derive_plain_descriptor(desc_tmpl: str, keys_info: List[str], is_change: bool, address_index: int): + """ + Given a wallet policy, and the change/address_index combination, computes the corresponding descriptor. + It replaces /** with /<0;1>/* + It also replaces each musig() key expression with the corresponding xpub. + The resulting descriptor can be used with descriptor libraries that do not support musig or wallet policies. + """ + + desc_tmpl = desc_tmpl.replace("/**", "/<0;1>/*") + desc_tmpl = desc_tmpl.replace("*", str(address_index)) + + # Replace each with M if is_change is False, otherwise with N + def replace_m_n(match: re.Match[str]): + m, n = match.groups() + return m if not is_change else n + + desc_tmpl = re.sub(r'<([^;]+);([^>]+)>', replace_m_n, desc_tmpl) + + # Replace @i/a/b with the i-th element in keys_info, deriving the key appropriately + # to get a plain xpub + def replace_key_index(match): + index, step1, step2 = [int(x) for x in match.group(1).split('/')] + return derive_from_key_info(keys_info[index], [step1, step2]) + + desc_tmpl = re.sub(r'@(\d+/\d+/\d+)', replace_key_index, desc_tmpl) + + return desc_tmpl + + +class Tree: + """ + Recursive structure that represents a taptree, or one of its subtrees. + It can either contain a single descriptor template (if it's a tapleaf), or exactly two child Trees. + """ + + def __init__(self, content: Union[str, Tuple['Tree', 'Tree']]): + if isinstance(content, str): + self.script = content + self.left, self.right = (None, None) + else: + self.script = None + self.left, self.right = content + + @property + def is_leaf(self) -> bool: + return self.script is not None + + def __str__(self): + if self.is_leaf: + return self.script + else: + return f'{{{str(self.left)},{str(self.right)}}}' + + def placeholders(self) -> Iterator[Tuple[KeyPlaceholder, str]]: + """ + Generates an iterator over the placeholders contained in the scripts of the tree's leaf nodes. + + Yields: + Iterator[Tuple[KeyPlaceholder, str]]: An iterator over tuples containing a KeyPlaceholder and its associated script. + """ + + if self.is_leaf: + assert self.script is not None + for placeholder in extract_placeholders(self.script): + yield (placeholder, self.script) + else: + assert self.left is not None and self.right is not None + for placeholder, script in self.left.placeholders(): + yield (placeholder, script) + for placeholder, script in self.right.placeholders(): + yield (placeholder, script) + + def get_taptree_hash(self, keys_info: List[str], is_change: bool, address_index: int) -> bytes: + if self.is_leaf: + assert self.script is not None + leaf_desc = derive_plain_descriptor( + self.script, keys_info, is_change, address_index) + + s = BytesIO(leaf_desc.encode()) + desc: Miniscript = Miniscript.read_from( + s, taproot=True) + + return tapleaf_hash(desc.compile()) + + else: + assert self.left is not None and self.right is not None + left_h = self.left.get_taptree_hash( + keys_info, is_change, address_index) + right_h = self.left.get_taptree_hash( + keys_info, is_change, address_index) + if left_h <= right_h: + return tagged_hash("TapBranch", left_h + right_h) + else: + return tagged_hash("TapBranch", right_h + left_h) + + +class GenericParser(ABC): + def __init__(self, input: str): + self.input = input + self.index = 0 + self.length = len(input) + + @abstractmethod + def parse(self): + pass + + def parse_keyplaceholder(self): + if self.peek() == '@': + self.consume('@') + key_index = self.parse_num() + self.consume('/<') + num1 = self.parse_num() + self.consume(';') + num2 = self.parse_num() + self.consume('>/*') + return PlainKeyPlaceholder(key_index, num1, num2) + else: + raise Exception("Syntax error in key placeholder") + + def parse_tree(self) -> Tree: + if self.peek() == '{': + self.consume('{') + tree1 = self.parse_tree() + self.consume(',') + tree2 = self.parse_tree() + self.consume('}') + return Tree((tree1, tree2)) + else: + return Tree(self.parse_script()) + + def parse_script(self) -> str: + start = self.index + nesting = 0 + while self.index < self.length and (nesting > 0 or self.input[self.index] not in ('}', ',', ')')): + if self.input[self.index] == '(': + nesting += 1 + elif self.input[self.index] == ')': + nesting -= 1 + + self.index += 1 + return self.input[start:self.index] + + def parse_key_indexes(self) -> List[int]: + nums = [] + self.consume('@') + nums.append(self.parse_num()) + while self.peek() == ',': + self.consume(',@') + nums.append(self.parse_num()) + return nums + + def parse_num(self) -> int: + start = self.index + while self.index < self.length and self.input[self.index].isdigit(): + self.index += 1 + return int(self.input[start:self.index]) + + def consume(self, char: str): + if self.input[self.index:self.index+len(char)] == char: + self.index += len(char) + else: + raise Exception( + f"Syntax error: Expected '{char}'; rest: {self.input[self.index:]}") + + def peek(self) -> Optional[str]: + return self.input[self.index] if self.index < self.length else None + + +class DescriptorTemplate(ABC): + """ + Represents a generic descriptor template. + This is a base class for all specific descriptor templates. + """ + + @abstractmethod + def __init__(self): + pass + + @classmethod + @abstractmethod + def from_string(cls, input_string: str) -> 'DescriptorTemplate': + pass + + @abstractmethod + def placeholders(self) -> Iterator[Tuple[KeyPlaceholder, Optional[str]]]: + pass + + @staticmethod + def get_descriptor_type(input_string: str) -> Type['DescriptorTemplate']: + if input_string.startswith('tr('): + return TrDescriptorTemplate + elif input_string.startswith('wsh('): + return WshDescriptorTemplate + elif input_string.startswith('wpkh('): + return WpkhDescriptorTemplate + elif input_string.startswith('pkh('): + return PkhDescriptorTemplate + else: + raise ValueError("Unknown descriptor type") + + @classmethod + def from_string(cls, input_string: str) -> 'DescriptorTemplate': + descriptor_type = cls.get_descriptor_type(input_string) + return descriptor_type.from_string(input_string) + + def is_legacy(self) -> bool: + # TODO: incomplete, missing legacy sh(...) descriptors + return isinstance(self, PkhDescriptorTemplate) + + def is_segwit(self) -> bool: + # TODO: incomplete, missing sh(wsh(...)) and sh(wpkh(...)) descriptors + return isinstance(self, (WshDescriptorTemplate, WpkhDescriptorTemplate, TrDescriptorTemplate)) + + def is_taproot(self) -> bool: + return isinstance(self, TrDescriptorTemplate) + + +class TrDescriptorTemplate(DescriptorTemplate): + """ + Represents a descriptor template for a tr(KEY) or a tr(KEY,TREE). + This is minimal implementation in order to enable iterating over the placeholders, + and compile the corresponding leaf scripts. + """ + + def __init__(self, key: KeyPlaceholder, tree=Optional[Tree]): + self.key: KeyPlaceholder = key + self.tree: Optional[Tree] = tree + + @classmethod + def from_string(cls, input_string): + parser = cls.Parser(input_string.replace("/**", "/<0;1>/*")) + return parser.parse() + + class Parser(GenericParser): + def parse(self) -> 'TrDescriptorTemplate': + self.consume('tr(') + key = self.parse_keyplaceholder() + tree = None + if self.peek() == ',': + self.consume(',') + tree = self.parse_tree() + self.consume(')') + return TrDescriptorTemplate(key, tree) + + def placeholders(self) -> Iterator[Tuple[KeyPlaceholder, Optional[str]]]: + """ + Generates an iterator over the placeholders contained in the template and its tree, also + yielding the corresponding leaf script descriptor (or None for the keypath placeholder). + + Yields: + Iterator[Tuple[KeyPlaceholder, Optional[str]]]: An iterator over tuples containing a KeyPlaceholder and an optional associated script. + """ + + yield (self.key, None) + + if self.tree is not None: + for placeholder, script in self.tree.placeholders(): + yield (placeholder, script) + + def get_taptree_hash(self, keys_info: List[str], is_change: bool, address_index: int) -> bytes: + if self.tree is None: + raise ValueError("There is no taptree") + return self.tree.get_taptree_hash(keys_info, is_change, address_index) + + +class WshDescriptorTemplate(DescriptorTemplate): + """ + Represents a wsh(SCRIPT) descriptor template. + This is minimal implementation in order to enable iterating over the placeholders, + and compile the corresponding leaf scripts. + """ + + def __init__(self, inner_script: str): + self.inner_script = inner_script + + @classmethod + def from_string(cls, input_string): + parser = cls.Parser(input_string.replace("/**", "/<0;1>/*")) + return parser.parse() + + class Parser(GenericParser): + def parse(self) -> 'WshDescriptorTemplate': + if self.input.startswith('wsh('): + self.consume('wsh(') + inner_script = self.parse_script() + self.consume(')') + return WshDescriptorTemplate(inner_script) + else: + raise Exception( + "Syntax error: Input does not start with 'tr('") + + def placeholders(self) -> Iterator[Tuple[KeyPlaceholder, Optional[str]]]: + for placeholder in extract_placeholders(self.inner_script): + yield (placeholder, None) + + +class WpkhDescriptorTemplate(DescriptorTemplate): + """ + Represents a wpkh(KEY) descriptor template. + This is minimal implementation in order to enable iterating over the placeholders, + and compile the corresponding leaf scripts. + """ + + def __init__(self, key: KeyPlaceholder): + self.key = key + + @classmethod + def from_string(cls, input_string): + parser = cls.Parser(input_string.replace("/**", "/<0;1>/*")) + return parser.parse() + + class Parser(GenericParser): + def parse(self) -> 'WpkhDescriptorTemplate': + self.consume('wpkh(') + key = self.parse_keyplaceholder() + self.consume(')') + return WpkhDescriptorTemplate(key) + + def placeholders(self) -> Iterator[Tuple[KeyPlaceholder, Optional[str]]]: + yield (self.key, None) + + +class PkhDescriptorTemplate(DescriptorTemplate): + """ + Represents a pkh(KEY) descriptor template. + This is minimal implementation in order to enable iterating over the placeholders, + and compile the corresponding leaf scripts. + """ + + def __init__(self, key: KeyPlaceholder): + self.key = key + + @classmethod + def from_string(cls, input_string): + parser = cls.Parser(input_string.replace("/**", "/<0;1>/*")) + return parser.parse() + + class Parser(GenericParser): + def parse(self) -> 'PkhDescriptorTemplate': + self.consume('pkh(') + key = self.parse_keyplaceholder() + self.consume(')') + return PkhDescriptorTemplate(key) + + def placeholders(self) -> Iterator[Tuple[KeyPlaceholder, Optional[str]]]: + yield (self.key, None) diff --git a/tests/instructions.py b/tests/instructions.py index 68dd658ab..8f9747a3a 100644 --- a/tests/instructions.py +++ b/tests/instructions.py @@ -148,7 +148,7 @@ def sign_psbt_instruction_tap(model: Firmware) -> Instructions: if model.name.startswith("nano"): return instructions - instructions.review_start() + instructions.review_start(save_screenshot=False) return instructions @@ -166,16 +166,16 @@ def sign_psbt_instruction_approve_opreturn(model: Firmware) -> Instructions: return instructions -def sign_psbt_instruction_approve(model: Firmware) -> Instructions: +def sign_psbt_instruction_approve(model: Firmware, save_screenshot: bool = True) -> Instructions: instructions = Instructions(model) if model.name.startswith("nano"): - instructions.new_request("Continue") - instructions.same_request("Sign") + instructions.new_request("Continue", save_screenshot=save_screenshot) + instructions.same_request("Sign", save_screenshot=save_screenshot) else: - instructions.review_start() - instructions.review_fees() - instructions.confirm_transaction() + instructions.review_start(save_screenshot=save_screenshot) + instructions.review_fees(save_screenshot=save_screenshot) + instructions.confirm_transaction(save_screenshot=save_screenshot) return instructions @@ -280,17 +280,17 @@ def sign_psbt_instruction_approve_8(model: Firmware) -> Instructions: return instructions -def sign_psbt_instruction_approve_9(model: Firmware) -> Instructions: +def sign_psbt_instruction_approve_9(model: Firmware, save_screenshot: bool = True) -> Instructions: instructions = Instructions(model) if model.name.startswith("nano"): - instructions.new_request("Continue") - instructions.new_request("Continue") - instructions.same_request("Sign") + instructions.new_request("Continue", save_screenshot=save_screenshot) + instructions.new_request("Continue", save_screenshot=save_screenshot) + instructions.same_request("Sign", save_screenshot=save_screenshot) else: - instructions.review_start(output_count=2) - instructions.review_fees() - instructions.confirm_transaction() + instructions.review_start(output_count=2, save_screenshot=save_screenshot) + instructions.review_fees(save_screenshot=save_screenshot) + instructions.confirm_transaction(save_screenshot=save_screenshot) return instructions diff --git a/tests/snapshots/flex/test_dashboard/00000.png b/tests/snapshots/flex/test_dashboard/00000.png index 5250af4d9..3bc7b4840 100644 Binary files a/tests/snapshots/flex/test_dashboard/00000.png and b/tests/snapshots/flex/test_dashboard/00000.png differ diff --git a/tests/snapshots/flex/test_dashboard/00001.png b/tests/snapshots/flex/test_dashboard/00001.png index 3c1772865..167cd96c0 100644 Binary files a/tests/snapshots/flex/test_dashboard/00001.png and b/tests/snapshots/flex/test_dashboard/00001.png differ diff --git a/tests/snapshots/flex/test_dashboard/00002.png b/tests/snapshots/flex/test_dashboard/00002.png index 5250af4d9..3bc7b4840 100644 Binary files a/tests/snapshots/flex/test_dashboard/00002.png and b/tests/snapshots/flex/test_dashboard/00002.png differ diff --git a/tests/snapshots/flex/test_get_extended_pubkey_non_standard_0_0/00000.png b/tests/snapshots/flex/test_get_extended_pubkey_non_standard_0_0/00000.png index 572a6b90f..669164d54 100644 Binary files a/tests/snapshots/flex/test_get_extended_pubkey_non_standard_0_0/00000.png and b/tests/snapshots/flex/test_get_extended_pubkey_non_standard_0_0/00000.png differ diff --git a/tests/snapshots/flex/test_get_extended_pubkey_non_standard_0_0/00001.png b/tests/snapshots/flex/test_get_extended_pubkey_non_standard_0_0/00001.png index b8270024b..daaf6ddf4 100644 Binary files a/tests/snapshots/flex/test_get_extended_pubkey_non_standard_0_0/00001.png and b/tests/snapshots/flex/test_get_extended_pubkey_non_standard_0_0/00001.png differ diff --git a/tests/snapshots/flex/test_get_extended_pubkey_non_standard_0_0/00002.png b/tests/snapshots/flex/test_get_extended_pubkey_non_standard_0_0/00002.png index 315b8ad18..0cffc3d93 100644 Binary files a/tests/snapshots/flex/test_get_extended_pubkey_non_standard_0_0/00002.png and b/tests/snapshots/flex/test_get_extended_pubkey_non_standard_0_0/00002.png differ diff --git a/tests/snapshots/flex/test_get_extended_pubkey_non_standard_0_0/00003.png b/tests/snapshots/flex/test_get_extended_pubkey_non_standard_0_0/00003.png index ec89a977b..86daec554 100644 Binary files a/tests/snapshots/flex/test_get_extended_pubkey_non_standard_0_0/00003.png and b/tests/snapshots/flex/test_get_extended_pubkey_non_standard_0_0/00003.png differ diff --git a/tests/snapshots/flex/test_get_extended_pubkey_non_standard_0_0/00004.png b/tests/snapshots/flex/test_get_extended_pubkey_non_standard_0_0/00004.png index 776019652..503e4d8b6 100644 Binary files a/tests/snapshots/flex/test_get_extended_pubkey_non_standard_0_0/00004.png and b/tests/snapshots/flex/test_get_extended_pubkey_non_standard_0_0/00004.png differ diff --git a/tests/snapshots/flex/test_get_extended_pubkey_non_standard_reject_0_0/00000.png b/tests/snapshots/flex/test_get_extended_pubkey_non_standard_reject_0_0/00000.png index 572a6b90f..669164d54 100644 Binary files a/tests/snapshots/flex/test_get_extended_pubkey_non_standard_reject_0_0/00000.png and b/tests/snapshots/flex/test_get_extended_pubkey_non_standard_reject_0_0/00000.png differ diff --git a/tests/snapshots/flex/test_get_extended_pubkey_non_standard_reject_0_0/00001.png b/tests/snapshots/flex/test_get_extended_pubkey_non_standard_reject_0_0/00001.png index b8270024b..daaf6ddf4 100644 Binary files a/tests/snapshots/flex/test_get_extended_pubkey_non_standard_reject_0_0/00001.png and b/tests/snapshots/flex/test_get_extended_pubkey_non_standard_reject_0_0/00001.png differ diff --git a/tests/snapshots/flex/test_get_extended_pubkey_non_standard_reject_0_0/00002.png b/tests/snapshots/flex/test_get_extended_pubkey_non_standard_reject_0_0/00002.png index c4db99e15..14ece860a 100644 Binary files a/tests/snapshots/flex/test_get_extended_pubkey_non_standard_reject_0_0/00002.png and b/tests/snapshots/flex/test_get_extended_pubkey_non_standard_reject_0_0/00002.png differ diff --git a/tests/snapshots/flex/test_get_extended_pubkey_non_standard_reject_0_0/00003.png b/tests/snapshots/flex/test_get_extended_pubkey_non_standard_reject_0_0/00003.png index a37d9a377..26101c3b6 100644 Binary files a/tests/snapshots/flex/test_get_extended_pubkey_non_standard_reject_0_0/00003.png and b/tests/snapshots/flex/test_get_extended_pubkey_non_standard_reject_0_0/00003.png differ diff --git a/tests/snapshots/flex/test_get_extended_pubkey_non_standard_reject_0_0/00004.png b/tests/snapshots/flex/test_get_extended_pubkey_non_standard_reject_0_0/00004.png index 776019652..503e4d8b6 100644 Binary files a/tests/snapshots/flex/test_get_extended_pubkey_non_standard_reject_0_0/00004.png and b/tests/snapshots/flex/test_get_extended_pubkey_non_standard_reject_0_0/00004.png differ diff --git a/tests/snapshots/flex/test_get_extended_pubkey_non_standard_reject_early_0_0/00000.png b/tests/snapshots/flex/test_get_extended_pubkey_non_standard_reject_early_0_0/00000.png index 572a6b90f..669164d54 100644 Binary files a/tests/snapshots/flex/test_get_extended_pubkey_non_standard_reject_early_0_0/00000.png and b/tests/snapshots/flex/test_get_extended_pubkey_non_standard_reject_early_0_0/00000.png differ diff --git a/tests/snapshots/flex/test_get_extended_pubkey_standard_display_m/44'/1'/0'_0_0/00000.png b/tests/snapshots/flex/test_get_extended_pubkey_standard_display_m/44'/1'/0'_0_0/00000.png index 2ced974f5..b6f632fe8 100644 Binary files a/tests/snapshots/flex/test_get_extended_pubkey_standard_display_m/44'/1'/0'_0_0/00000.png and b/tests/snapshots/flex/test_get_extended_pubkey_standard_display_m/44'/1'/0'_0_0/00000.png differ diff --git a/tests/snapshots/flex/test_get_extended_pubkey_standard_display_m/44'/1'/0'_0_0/00001.png b/tests/snapshots/flex/test_get_extended_pubkey_standard_display_m/44'/1'/0'_0_0/00001.png index 0f8bd095f..d3e9cb8e7 100644 Binary files a/tests/snapshots/flex/test_get_extended_pubkey_standard_display_m/44'/1'/0'_0_0/00001.png and b/tests/snapshots/flex/test_get_extended_pubkey_standard_display_m/44'/1'/0'_0_0/00001.png differ diff --git a/tests/snapshots/flex/test_get_extended_pubkey_standard_display_m/44'/1'/0'_0_0/00002.png b/tests/snapshots/flex/test_get_extended_pubkey_standard_display_m/44'/1'/0'_0_0/00002.png index dfe4ada1b..7e0019955 100644 Binary files a/tests/snapshots/flex/test_get_extended_pubkey_standard_display_m/44'/1'/0'_0_0/00002.png and b/tests/snapshots/flex/test_get_extended_pubkey_standard_display_m/44'/1'/0'_0_0/00002.png differ diff --git a/tests/snapshots/flex/test_get_extended_pubkey_standard_display_m/44'/1'/0'_0_0/00003.png b/tests/snapshots/flex/test_get_extended_pubkey_standard_display_m/44'/1'/0'_0_0/00003.png index e73d7fa05..129c1803d 100644 Binary files a/tests/snapshots/flex/test_get_extended_pubkey_standard_display_m/44'/1'/0'_0_0/00003.png and b/tests/snapshots/flex/test_get_extended_pubkey_standard_display_m/44'/1'/0'_0_0/00003.png differ diff --git a/tests/snapshots/flex/test_get_extended_pubkey_standard_display_m/44'/1'/10'_0_0/00000.png b/tests/snapshots/flex/test_get_extended_pubkey_standard_display_m/44'/1'/10'_0_0/00000.png index 2ced974f5..b6f632fe8 100644 Binary files a/tests/snapshots/flex/test_get_extended_pubkey_standard_display_m/44'/1'/10'_0_0/00000.png and b/tests/snapshots/flex/test_get_extended_pubkey_standard_display_m/44'/1'/10'_0_0/00000.png differ diff --git a/tests/snapshots/flex/test_get_extended_pubkey_standard_display_m/44'/1'/10'_0_0/00001.png b/tests/snapshots/flex/test_get_extended_pubkey_standard_display_m/44'/1'/10'_0_0/00001.png index 670198f69..03f43aab8 100644 Binary files a/tests/snapshots/flex/test_get_extended_pubkey_standard_display_m/44'/1'/10'_0_0/00001.png and b/tests/snapshots/flex/test_get_extended_pubkey_standard_display_m/44'/1'/10'_0_0/00001.png differ diff --git a/tests/snapshots/flex/test_get_extended_pubkey_standard_display_m/44'/1'/10'_0_0/00002.png b/tests/snapshots/flex/test_get_extended_pubkey_standard_display_m/44'/1'/10'_0_0/00002.png index 7883480ca..26fd6c175 100644 Binary files a/tests/snapshots/flex/test_get_extended_pubkey_standard_display_m/44'/1'/10'_0_0/00002.png and b/tests/snapshots/flex/test_get_extended_pubkey_standard_display_m/44'/1'/10'_0_0/00002.png differ diff --git a/tests/snapshots/flex/test_get_extended_pubkey_standard_display_m/44'/1'/10'_0_0/00003.png b/tests/snapshots/flex/test_get_extended_pubkey_standard_display_m/44'/1'/10'_0_0/00003.png index e73d7fa05..129c1803d 100644 Binary files a/tests/snapshots/flex/test_get_extended_pubkey_standard_display_m/44'/1'/10'_0_0/00003.png and b/tests/snapshots/flex/test_get_extended_pubkey_standard_display_m/44'/1'/10'_0_0/00003.png differ diff --git a/tests/snapshots/flex/test_get_extended_pubkey_standard_display_m/44'/1'/2'/1/42_0_0/00000.png b/tests/snapshots/flex/test_get_extended_pubkey_standard_display_m/44'/1'/2'/1/42_0_0/00000.png index 2ced974f5..b6f632fe8 100644 Binary files a/tests/snapshots/flex/test_get_extended_pubkey_standard_display_m/44'/1'/2'/1/42_0_0/00000.png and b/tests/snapshots/flex/test_get_extended_pubkey_standard_display_m/44'/1'/2'/1/42_0_0/00000.png differ diff --git a/tests/snapshots/flex/test_get_extended_pubkey_standard_display_m/44'/1'/2'/1/42_0_0/00001.png b/tests/snapshots/flex/test_get_extended_pubkey_standard_display_m/44'/1'/2'/1/42_0_0/00001.png index 5dd2e6b7c..21f5a1be5 100644 Binary files a/tests/snapshots/flex/test_get_extended_pubkey_standard_display_m/44'/1'/2'/1/42_0_0/00001.png and b/tests/snapshots/flex/test_get_extended_pubkey_standard_display_m/44'/1'/2'/1/42_0_0/00001.png differ diff --git a/tests/snapshots/flex/test_get_extended_pubkey_standard_display_m/44'/1'/2'/1/42_0_0/00002.png b/tests/snapshots/flex/test_get_extended_pubkey_standard_display_m/44'/1'/2'/1/42_0_0/00002.png index 866b59dfe..fb8ed2953 100644 Binary files a/tests/snapshots/flex/test_get_extended_pubkey_standard_display_m/44'/1'/2'/1/42_0_0/00002.png and b/tests/snapshots/flex/test_get_extended_pubkey_standard_display_m/44'/1'/2'/1/42_0_0/00002.png differ diff --git a/tests/snapshots/flex/test_get_extended_pubkey_standard_display_m/44'/1'/2'/1/42_0_0/00003.png b/tests/snapshots/flex/test_get_extended_pubkey_standard_display_m/44'/1'/2'/1/42_0_0/00003.png index e73d7fa05..129c1803d 100644 Binary files a/tests/snapshots/flex/test_get_extended_pubkey_standard_display_m/44'/1'/2'/1/42_0_0/00003.png and b/tests/snapshots/flex/test_get_extended_pubkey_standard_display_m/44'/1'/2'/1/42_0_0/00003.png differ diff --git a/tests/snapshots/flex/test_get_extended_pubkey_standard_display_m/48'/1'/4'/1'/0/7_0_0/00000.png b/tests/snapshots/flex/test_get_extended_pubkey_standard_display_m/48'/1'/4'/1'/0/7_0_0/00000.png index 2ced974f5..b6f632fe8 100644 Binary files a/tests/snapshots/flex/test_get_extended_pubkey_standard_display_m/48'/1'/4'/1'/0/7_0_0/00000.png and b/tests/snapshots/flex/test_get_extended_pubkey_standard_display_m/48'/1'/4'/1'/0/7_0_0/00000.png differ diff --git a/tests/snapshots/flex/test_get_extended_pubkey_standard_display_m/48'/1'/4'/1'/0/7_0_0/00001.png b/tests/snapshots/flex/test_get_extended_pubkey_standard_display_m/48'/1'/4'/1'/0/7_0_0/00001.png index dea762b1b..858fdb046 100644 Binary files a/tests/snapshots/flex/test_get_extended_pubkey_standard_display_m/48'/1'/4'/1'/0/7_0_0/00001.png and b/tests/snapshots/flex/test_get_extended_pubkey_standard_display_m/48'/1'/4'/1'/0/7_0_0/00001.png differ diff --git a/tests/snapshots/flex/test_get_extended_pubkey_standard_display_m/48'/1'/4'/1'/0/7_0_0/00002.png b/tests/snapshots/flex/test_get_extended_pubkey_standard_display_m/48'/1'/4'/1'/0/7_0_0/00002.png index 094172a39..f0c5d733a 100644 Binary files a/tests/snapshots/flex/test_get_extended_pubkey_standard_display_m/48'/1'/4'/1'/0/7_0_0/00002.png and b/tests/snapshots/flex/test_get_extended_pubkey_standard_display_m/48'/1'/4'/1'/0/7_0_0/00002.png differ diff --git a/tests/snapshots/flex/test_get_extended_pubkey_standard_display_m/48'/1'/4'/1'/0/7_0_0/00003.png b/tests/snapshots/flex/test_get_extended_pubkey_standard_display_m/48'/1'/4'/1'/0/7_0_0/00003.png index e73d7fa05..129c1803d 100644 Binary files a/tests/snapshots/flex/test_get_extended_pubkey_standard_display_m/48'/1'/4'/1'/0/7_0_0/00003.png and b/tests/snapshots/flex/test_get_extended_pubkey_standard_display_m/48'/1'/4'/1'/0/7_0_0/00003.png differ diff --git a/tests/snapshots/flex/test_get_extended_pubkey_standard_display_m/49'/1'/1'/1/3_0_0/00000.png b/tests/snapshots/flex/test_get_extended_pubkey_standard_display_m/49'/1'/1'/1/3_0_0/00000.png index 2ced974f5..b6f632fe8 100644 Binary files a/tests/snapshots/flex/test_get_extended_pubkey_standard_display_m/49'/1'/1'/1/3_0_0/00000.png and b/tests/snapshots/flex/test_get_extended_pubkey_standard_display_m/49'/1'/1'/1/3_0_0/00000.png differ diff --git a/tests/snapshots/flex/test_get_extended_pubkey_standard_display_m/49'/1'/1'/1/3_0_0/00001.png b/tests/snapshots/flex/test_get_extended_pubkey_standard_display_m/49'/1'/1'/1/3_0_0/00001.png index e23d3a391..ae1c7ff44 100644 Binary files a/tests/snapshots/flex/test_get_extended_pubkey_standard_display_m/49'/1'/1'/1/3_0_0/00001.png and b/tests/snapshots/flex/test_get_extended_pubkey_standard_display_m/49'/1'/1'/1/3_0_0/00001.png differ diff --git a/tests/snapshots/flex/test_get_extended_pubkey_standard_display_m/49'/1'/1'/1/3_0_0/00002.png b/tests/snapshots/flex/test_get_extended_pubkey_standard_display_m/49'/1'/1'/1/3_0_0/00002.png index b4bfb711a..84354546f 100644 Binary files a/tests/snapshots/flex/test_get_extended_pubkey_standard_display_m/49'/1'/1'/1/3_0_0/00002.png and b/tests/snapshots/flex/test_get_extended_pubkey_standard_display_m/49'/1'/1'/1/3_0_0/00002.png differ diff --git a/tests/snapshots/flex/test_get_extended_pubkey_standard_display_m/49'/1'/1'/1/3_0_0/00003.png b/tests/snapshots/flex/test_get_extended_pubkey_standard_display_m/49'/1'/1'/1/3_0_0/00003.png index e73d7fa05..129c1803d 100644 Binary files a/tests/snapshots/flex/test_get_extended_pubkey_standard_display_m/49'/1'/1'/1/3_0_0/00003.png and b/tests/snapshots/flex/test_get_extended_pubkey_standard_display_m/49'/1'/1'/1/3_0_0/00003.png differ diff --git a/tests/snapshots/flex/test_get_extended_pubkey_standard_display_m/84'/1'/2'/0/10_0_0/00000.png b/tests/snapshots/flex/test_get_extended_pubkey_standard_display_m/84'/1'/2'/0/10_0_0/00000.png index 2ced974f5..b6f632fe8 100644 Binary files a/tests/snapshots/flex/test_get_extended_pubkey_standard_display_m/84'/1'/2'/0/10_0_0/00000.png and b/tests/snapshots/flex/test_get_extended_pubkey_standard_display_m/84'/1'/2'/0/10_0_0/00000.png differ diff --git a/tests/snapshots/flex/test_get_extended_pubkey_standard_display_m/84'/1'/2'/0/10_0_0/00001.png b/tests/snapshots/flex/test_get_extended_pubkey_standard_display_m/84'/1'/2'/0/10_0_0/00001.png index 93eeedc41..0b3082552 100644 Binary files a/tests/snapshots/flex/test_get_extended_pubkey_standard_display_m/84'/1'/2'/0/10_0_0/00001.png and b/tests/snapshots/flex/test_get_extended_pubkey_standard_display_m/84'/1'/2'/0/10_0_0/00001.png differ diff --git a/tests/snapshots/flex/test_get_extended_pubkey_standard_display_m/84'/1'/2'/0/10_0_0/00002.png b/tests/snapshots/flex/test_get_extended_pubkey_standard_display_m/84'/1'/2'/0/10_0_0/00002.png index cd9d18d0c..7a903ad66 100644 Binary files a/tests/snapshots/flex/test_get_extended_pubkey_standard_display_m/84'/1'/2'/0/10_0_0/00002.png and b/tests/snapshots/flex/test_get_extended_pubkey_standard_display_m/84'/1'/2'/0/10_0_0/00002.png differ diff --git a/tests/snapshots/flex/test_get_extended_pubkey_standard_display_m/84'/1'/2'/0/10_0_0/00003.png b/tests/snapshots/flex/test_get_extended_pubkey_standard_display_m/84'/1'/2'/0/10_0_0/00003.png index e73d7fa05..129c1803d 100644 Binary files a/tests/snapshots/flex/test_get_extended_pubkey_standard_display_m/84'/1'/2'/0/10_0_0/00003.png and b/tests/snapshots/flex/test_get_extended_pubkey_standard_display_m/84'/1'/2'/0/10_0_0/00003.png differ diff --git a/tests/snapshots/flex/test_get_extended_pubkey_standard_display_m/86'/1'/4'/1/12_0_0/00000.png b/tests/snapshots/flex/test_get_extended_pubkey_standard_display_m/86'/1'/4'/1/12_0_0/00000.png index 2ced974f5..b6f632fe8 100644 Binary files a/tests/snapshots/flex/test_get_extended_pubkey_standard_display_m/86'/1'/4'/1/12_0_0/00000.png and b/tests/snapshots/flex/test_get_extended_pubkey_standard_display_m/86'/1'/4'/1/12_0_0/00000.png differ diff --git a/tests/snapshots/flex/test_get_extended_pubkey_standard_display_m/86'/1'/4'/1/12_0_0/00001.png b/tests/snapshots/flex/test_get_extended_pubkey_standard_display_m/86'/1'/4'/1/12_0_0/00001.png index 5f37d6e75..942aa2f91 100644 Binary files a/tests/snapshots/flex/test_get_extended_pubkey_standard_display_m/86'/1'/4'/1/12_0_0/00001.png and b/tests/snapshots/flex/test_get_extended_pubkey_standard_display_m/86'/1'/4'/1/12_0_0/00001.png differ diff --git a/tests/snapshots/flex/test_get_extended_pubkey_standard_display_m/86'/1'/4'/1/12_0_0/00002.png b/tests/snapshots/flex/test_get_extended_pubkey_standard_display_m/86'/1'/4'/1/12_0_0/00002.png index 8f46c3b76..e863f552d 100644 Binary files a/tests/snapshots/flex/test_get_extended_pubkey_standard_display_m/86'/1'/4'/1/12_0_0/00002.png and b/tests/snapshots/flex/test_get_extended_pubkey_standard_display_m/86'/1'/4'/1/12_0_0/00002.png differ diff --git a/tests/snapshots/flex/test_get_extended_pubkey_standard_display_m/86'/1'/4'/1/12_0_0/00003.png b/tests/snapshots/flex/test_get_extended_pubkey_standard_display_m/86'/1'/4'/1/12_0_0/00003.png index e73d7fa05..129c1803d 100644 Binary files a/tests/snapshots/flex/test_get_extended_pubkey_standard_display_m/86'/1'/4'/1/12_0_0/00003.png and b/tests/snapshots/flex/test_get_extended_pubkey_standard_display_m/86'/1'/4'/1/12_0_0/00003.png differ diff --git a/tests/snapshots/flex/test_get_wallet_address_multisig_legacy_v1_ui_0_0/00000.png b/tests/snapshots/flex/test_get_wallet_address_multisig_legacy_v1_ui_0_0/00000.png index 112cbc35b..be26a6650 100644 Binary files a/tests/snapshots/flex/test_get_wallet_address_multisig_legacy_v1_ui_0_0/00000.png and b/tests/snapshots/flex/test_get_wallet_address_multisig_legacy_v1_ui_0_0/00000.png differ diff --git a/tests/snapshots/flex/test_get_wallet_address_multisig_legacy_v1_ui_0_0/00001.png b/tests/snapshots/flex/test_get_wallet_address_multisig_legacy_v1_ui_0_0/00001.png index c16a92793..8506f19d6 100644 Binary files a/tests/snapshots/flex/test_get_wallet_address_multisig_legacy_v1_ui_0_0/00001.png and b/tests/snapshots/flex/test_get_wallet_address_multisig_legacy_v1_ui_0_0/00001.png differ diff --git a/tests/snapshots/flex/test_get_wallet_address_multisig_legacy_v1_ui_0_0/00002.png b/tests/snapshots/flex/test_get_wallet_address_multisig_legacy_v1_ui_0_0/00002.png index de3efda0e..227e27473 100644 Binary files a/tests/snapshots/flex/test_get_wallet_address_multisig_legacy_v1_ui_0_0/00002.png and b/tests/snapshots/flex/test_get_wallet_address_multisig_legacy_v1_ui_0_0/00002.png differ diff --git a/tests/snapshots/flex/test_get_wallet_address_singlesig_legacy_v1_ui_0_0_0/00000.png b/tests/snapshots/flex/test_get_wallet_address_singlesig_legacy_v1_ui_0_0_0/00000.png index bb9bc14f7..24df22f80 100644 Binary files a/tests/snapshots/flex/test_get_wallet_address_singlesig_legacy_v1_ui_0_0_0/00000.png and b/tests/snapshots/flex/test_get_wallet_address_singlesig_legacy_v1_ui_0_0_0/00000.png differ diff --git a/tests/snapshots/flex/test_get_wallet_address_singlesig_legacy_v1_ui_0_0_0/00001.png b/tests/snapshots/flex/test_get_wallet_address_singlesig_legacy_v1_ui_0_0_0/00001.png index 4da45ae31..ffeaa2bf3 100644 Binary files a/tests/snapshots/flex/test_get_wallet_address_singlesig_legacy_v1_ui_0_0_0/00001.png and b/tests/snapshots/flex/test_get_wallet_address_singlesig_legacy_v1_ui_0_0_0/00001.png differ diff --git a/tests/snapshots/flex/test_get_wallet_address_singlesig_legacy_v1_ui_1_0_0/00000.png b/tests/snapshots/flex/test_get_wallet_address_singlesig_legacy_v1_ui_1_0_0/00000.png index bb9bc14f7..24df22f80 100644 Binary files a/tests/snapshots/flex/test_get_wallet_address_singlesig_legacy_v1_ui_1_0_0/00000.png and b/tests/snapshots/flex/test_get_wallet_address_singlesig_legacy_v1_ui_1_0_0/00000.png differ diff --git a/tests/snapshots/flex/test_get_wallet_address_singlesig_legacy_v1_ui_1_0_0/00001.png b/tests/snapshots/flex/test_get_wallet_address_singlesig_legacy_v1_ui_1_0_0/00001.png index 3ca0fc2c0..f5d37c5a1 100644 Binary files a/tests/snapshots/flex/test_get_wallet_address_singlesig_legacy_v1_ui_1_0_0/00001.png and b/tests/snapshots/flex/test_get_wallet_address_singlesig_legacy_v1_ui_1_0_0/00001.png differ diff --git a/tests/snapshots/flex/test_register_miniscript_long_policy_0_0/00000.png b/tests/snapshots/flex/test_register_miniscript_long_policy_0_0/00000.png index db082dbd9..3d1f87e6f 100644 Binary files a/tests/snapshots/flex/test_register_miniscript_long_policy_0_0/00000.png and b/tests/snapshots/flex/test_register_miniscript_long_policy_0_0/00000.png differ diff --git a/tests/snapshots/flex/test_register_miniscript_long_policy_0_0/00001.png b/tests/snapshots/flex/test_register_miniscript_long_policy_0_0/00001.png index 15cc2fbed..7e5bbf6ab 100644 Binary files a/tests/snapshots/flex/test_register_miniscript_long_policy_0_0/00001.png and b/tests/snapshots/flex/test_register_miniscript_long_policy_0_0/00001.png differ diff --git a/tests/snapshots/flex/test_register_miniscript_long_policy_0_0/00002.png b/tests/snapshots/flex/test_register_miniscript_long_policy_0_0/00002.png index 06f74a98b..2f6f79804 100644 Binary files a/tests/snapshots/flex/test_register_miniscript_long_policy_0_0/00002.png and b/tests/snapshots/flex/test_register_miniscript_long_policy_0_0/00002.png differ diff --git a/tests/snapshots/flex/test_register_miniscript_long_policy_0_0/00003.png b/tests/snapshots/flex/test_register_miniscript_long_policy_0_0/00003.png index 77972ecf0..6ac7af9a7 100644 Binary files a/tests/snapshots/flex/test_register_miniscript_long_policy_0_0/00003.png and b/tests/snapshots/flex/test_register_miniscript_long_policy_0_0/00003.png differ diff --git a/tests/snapshots/flex/test_register_miniscript_long_policy_1_0/00000.png b/tests/snapshots/flex/test_register_miniscript_long_policy_1_0/00000.png index 219c24e78..0666862ae 100644 Binary files a/tests/snapshots/flex/test_register_miniscript_long_policy_1_0/00000.png and b/tests/snapshots/flex/test_register_miniscript_long_policy_1_0/00000.png differ diff --git a/tests/snapshots/flex/test_register_miniscript_long_policy_1_0/00001.png b/tests/snapshots/flex/test_register_miniscript_long_policy_1_0/00001.png index 6d292e546..8eaddfd38 100644 Binary files a/tests/snapshots/flex/test_register_miniscript_long_policy_1_0/00001.png and b/tests/snapshots/flex/test_register_miniscript_long_policy_1_0/00001.png differ diff --git a/tests/snapshots/flex/test_register_miniscript_long_policy_1_0/00002.png b/tests/snapshots/flex/test_register_miniscript_long_policy_1_0/00002.png index 56c30b1db..1ae925a23 100644 Binary files a/tests/snapshots/flex/test_register_miniscript_long_policy_1_0/00002.png and b/tests/snapshots/flex/test_register_miniscript_long_policy_1_0/00002.png differ diff --git a/tests/snapshots/flex/test_register_miniscript_long_policy_1_0/00003.png b/tests/snapshots/flex/test_register_miniscript_long_policy_1_0/00003.png index 00ddecee0..084107e3e 100644 Binary files a/tests/snapshots/flex/test_register_miniscript_long_policy_1_0/00003.png and b/tests/snapshots/flex/test_register_miniscript_long_policy_1_0/00003.png differ diff --git a/tests/snapshots/flex/test_register_miniscript_long_policy_2_0/00000.png b/tests/snapshots/flex/test_register_miniscript_long_policy_2_0/00000.png index 219c24e78..0666862ae 100644 Binary files a/tests/snapshots/flex/test_register_miniscript_long_policy_2_0/00000.png and b/tests/snapshots/flex/test_register_miniscript_long_policy_2_0/00000.png differ diff --git a/tests/snapshots/flex/test_register_miniscript_long_policy_2_0/00001.png b/tests/snapshots/flex/test_register_miniscript_long_policy_2_0/00001.png index 9a327076d..e88719d0e 100644 Binary files a/tests/snapshots/flex/test_register_miniscript_long_policy_2_0/00001.png and b/tests/snapshots/flex/test_register_miniscript_long_policy_2_0/00001.png differ diff --git a/tests/snapshots/flex/test_register_miniscript_long_policy_2_0/00002.png b/tests/snapshots/flex/test_register_miniscript_long_policy_2_0/00002.png index c1c7747d1..b7d0f7a43 100644 Binary files a/tests/snapshots/flex/test_register_miniscript_long_policy_2_0/00002.png and b/tests/snapshots/flex/test_register_miniscript_long_policy_2_0/00002.png differ diff --git a/tests/snapshots/flex/test_register_miniscript_long_policy_2_0/00003.png b/tests/snapshots/flex/test_register_miniscript_long_policy_2_0/00003.png index 00ddecee0..084107e3e 100644 Binary files a/tests/snapshots/flex/test_register_miniscript_long_policy_2_0/00003.png and b/tests/snapshots/flex/test_register_miniscript_long_policy_2_0/00003.png differ diff --git a/tests/snapshots/flex/test_register_miniscript_long_policy_3_0/00000.png b/tests/snapshots/flex/test_register_miniscript_long_policy_3_0/00000.png index 219c24e78..0666862ae 100644 Binary files a/tests/snapshots/flex/test_register_miniscript_long_policy_3_0/00000.png and b/tests/snapshots/flex/test_register_miniscript_long_policy_3_0/00000.png differ diff --git a/tests/snapshots/flex/test_register_miniscript_long_policy_3_0/00001.png b/tests/snapshots/flex/test_register_miniscript_long_policy_3_0/00001.png index b3604ac61..59e46e2a0 100644 Binary files a/tests/snapshots/flex/test_register_miniscript_long_policy_3_0/00001.png and b/tests/snapshots/flex/test_register_miniscript_long_policy_3_0/00001.png differ diff --git a/tests/snapshots/flex/test_register_miniscript_long_policy_3_0/00002.png b/tests/snapshots/flex/test_register_miniscript_long_policy_3_0/00002.png index 7097ab019..0505eed7a 100644 Binary files a/tests/snapshots/flex/test_register_miniscript_long_policy_3_0/00002.png and b/tests/snapshots/flex/test_register_miniscript_long_policy_3_0/00002.png differ diff --git a/tests/snapshots/flex/test_register_miniscript_long_policy_3_0/00003.png b/tests/snapshots/flex/test_register_miniscript_long_policy_3_0/00003.png index 00ddecee0..084107e3e 100644 Binary files a/tests/snapshots/flex/test_register_miniscript_long_policy_3_0/00003.png and b/tests/snapshots/flex/test_register_miniscript_long_policy_3_0/00003.png differ diff --git a/tests/snapshots/flex/test_register_unusual_singlesig_accounts_Unusual_Legacy_0_0/00000.png b/tests/snapshots/flex/test_register_unusual_singlesig_accounts_Unusual_Legacy_0_0/00000.png index 9f0313910..9a1a87733 100644 Binary files a/tests/snapshots/flex/test_register_unusual_singlesig_accounts_Unusual_Legacy_0_0/00000.png and b/tests/snapshots/flex/test_register_unusual_singlesig_accounts_Unusual_Legacy_0_0/00000.png differ diff --git a/tests/snapshots/flex/test_register_unusual_singlesig_accounts_Unusual_Legacy_0_0/00001.png b/tests/snapshots/flex/test_register_unusual_singlesig_accounts_Unusual_Legacy_0_0/00001.png index 11a7ae48c..d29821b1b 100644 Binary files a/tests/snapshots/flex/test_register_unusual_singlesig_accounts_Unusual_Legacy_0_0/00001.png and b/tests/snapshots/flex/test_register_unusual_singlesig_accounts_Unusual_Legacy_0_0/00001.png differ diff --git a/tests/snapshots/flex/test_register_unusual_singlesig_accounts_Unusual_Legacy_0_0/00002.png b/tests/snapshots/flex/test_register_unusual_singlesig_accounts_Unusual_Legacy_0_0/00002.png index 2e1a485b1..c4e970cb1 100644 Binary files a/tests/snapshots/flex/test_register_unusual_singlesig_accounts_Unusual_Legacy_0_0/00002.png and b/tests/snapshots/flex/test_register_unusual_singlesig_accounts_Unusual_Legacy_0_0/00002.png differ diff --git a/tests/snapshots/flex/test_register_unusual_singlesig_accounts_Unusual_Legacy_1_0/00000.png b/tests/snapshots/flex/test_register_unusual_singlesig_accounts_Unusual_Legacy_1_0/00000.png index 219c24e78..0666862ae 100644 Binary files a/tests/snapshots/flex/test_register_unusual_singlesig_accounts_Unusual_Legacy_1_0/00000.png and b/tests/snapshots/flex/test_register_unusual_singlesig_accounts_Unusual_Legacy_1_0/00000.png differ diff --git a/tests/snapshots/flex/test_register_unusual_singlesig_accounts_Unusual_Legacy_1_0/00001.png b/tests/snapshots/flex/test_register_unusual_singlesig_accounts_Unusual_Legacy_1_0/00001.png index 6d292e546..8eaddfd38 100644 Binary files a/tests/snapshots/flex/test_register_unusual_singlesig_accounts_Unusual_Legacy_1_0/00001.png and b/tests/snapshots/flex/test_register_unusual_singlesig_accounts_Unusual_Legacy_1_0/00001.png differ diff --git a/tests/snapshots/flex/test_register_unusual_singlesig_accounts_Unusual_Legacy_1_0/00002.png b/tests/snapshots/flex/test_register_unusual_singlesig_accounts_Unusual_Legacy_1_0/00002.png index 5a9765900..bd7e6d2e6 100644 Binary files a/tests/snapshots/flex/test_register_unusual_singlesig_accounts_Unusual_Legacy_1_0/00002.png and b/tests/snapshots/flex/test_register_unusual_singlesig_accounts_Unusual_Legacy_1_0/00002.png differ diff --git a/tests/snapshots/flex/test_register_unusual_singlesig_accounts_Unusual_Legacy_1_0/00003.png b/tests/snapshots/flex/test_register_unusual_singlesig_accounts_Unusual_Legacy_1_0/00003.png index 00ddecee0..084107e3e 100644 Binary files a/tests/snapshots/flex/test_register_unusual_singlesig_accounts_Unusual_Legacy_1_0/00003.png and b/tests/snapshots/flex/test_register_unusual_singlesig_accounts_Unusual_Legacy_1_0/00003.png differ diff --git a/tests/snapshots/flex/test_register_unusual_singlesig_accounts_Unusual_Native_Segwit_0_0/00000.png b/tests/snapshots/flex/test_register_unusual_singlesig_accounts_Unusual_Native_Segwit_0_0/00000.png index 9f0313910..9a1a87733 100644 Binary files a/tests/snapshots/flex/test_register_unusual_singlesig_accounts_Unusual_Native_Segwit_0_0/00000.png and b/tests/snapshots/flex/test_register_unusual_singlesig_accounts_Unusual_Native_Segwit_0_0/00000.png differ diff --git a/tests/snapshots/flex/test_register_unusual_singlesig_accounts_Unusual_Native_Segwit_0_0/00001.png b/tests/snapshots/flex/test_register_unusual_singlesig_accounts_Unusual_Native_Segwit_0_0/00001.png index ecb0395f3..1be1573f3 100644 Binary files a/tests/snapshots/flex/test_register_unusual_singlesig_accounts_Unusual_Native_Segwit_0_0/00001.png and b/tests/snapshots/flex/test_register_unusual_singlesig_accounts_Unusual_Native_Segwit_0_0/00001.png differ diff --git a/tests/snapshots/flex/test_register_unusual_singlesig_accounts_Unusual_Native_Segwit_0_0/00002.png b/tests/snapshots/flex/test_register_unusual_singlesig_accounts_Unusual_Native_Segwit_0_0/00002.png index 2e1a485b1..c4e970cb1 100644 Binary files a/tests/snapshots/flex/test_register_unusual_singlesig_accounts_Unusual_Native_Segwit_0_0/00002.png and b/tests/snapshots/flex/test_register_unusual_singlesig_accounts_Unusual_Native_Segwit_0_0/00002.png differ diff --git a/tests/snapshots/flex/test_register_unusual_singlesig_accounts_Unusual_Native_Segwit_1_0/00000.png b/tests/snapshots/flex/test_register_unusual_singlesig_accounts_Unusual_Native_Segwit_1_0/00000.png index 219c24e78..0666862ae 100644 Binary files a/tests/snapshots/flex/test_register_unusual_singlesig_accounts_Unusual_Native_Segwit_1_0/00000.png and b/tests/snapshots/flex/test_register_unusual_singlesig_accounts_Unusual_Native_Segwit_1_0/00000.png differ diff --git a/tests/snapshots/flex/test_register_unusual_singlesig_accounts_Unusual_Native_Segwit_1_0/00001.png b/tests/snapshots/flex/test_register_unusual_singlesig_accounts_Unusual_Native_Segwit_1_0/00001.png index 6d292e546..8eaddfd38 100644 Binary files a/tests/snapshots/flex/test_register_unusual_singlesig_accounts_Unusual_Native_Segwit_1_0/00001.png and b/tests/snapshots/flex/test_register_unusual_singlesig_accounts_Unusual_Native_Segwit_1_0/00001.png differ diff --git a/tests/snapshots/flex/test_register_unusual_singlesig_accounts_Unusual_Native_Segwit_1_0/00002.png b/tests/snapshots/flex/test_register_unusual_singlesig_accounts_Unusual_Native_Segwit_1_0/00002.png index 5a9765900..bd7e6d2e6 100644 Binary files a/tests/snapshots/flex/test_register_unusual_singlesig_accounts_Unusual_Native_Segwit_1_0/00002.png and b/tests/snapshots/flex/test_register_unusual_singlesig_accounts_Unusual_Native_Segwit_1_0/00002.png differ diff --git a/tests/snapshots/flex/test_register_unusual_singlesig_accounts_Unusual_Native_Segwit_1_0/00003.png b/tests/snapshots/flex/test_register_unusual_singlesig_accounts_Unusual_Native_Segwit_1_0/00003.png index 00ddecee0..084107e3e 100644 Binary files a/tests/snapshots/flex/test_register_unusual_singlesig_accounts_Unusual_Native_Segwit_1_0/00003.png and b/tests/snapshots/flex/test_register_unusual_singlesig_accounts_Unusual_Native_Segwit_1_0/00003.png differ diff --git a/tests/snapshots/flex/test_register_unusual_singlesig_accounts_Unusual_Nested_Segwit_0_0/00000.png b/tests/snapshots/flex/test_register_unusual_singlesig_accounts_Unusual_Nested_Segwit_0_0/00000.png index 9f0313910..9a1a87733 100644 Binary files a/tests/snapshots/flex/test_register_unusual_singlesig_accounts_Unusual_Nested_Segwit_0_0/00000.png and b/tests/snapshots/flex/test_register_unusual_singlesig_accounts_Unusual_Nested_Segwit_0_0/00000.png differ diff --git a/tests/snapshots/flex/test_register_unusual_singlesig_accounts_Unusual_Nested_Segwit_0_0/00001.png b/tests/snapshots/flex/test_register_unusual_singlesig_accounts_Unusual_Nested_Segwit_0_0/00001.png index af6d80203..a07b29cc9 100644 Binary files a/tests/snapshots/flex/test_register_unusual_singlesig_accounts_Unusual_Nested_Segwit_0_0/00001.png and b/tests/snapshots/flex/test_register_unusual_singlesig_accounts_Unusual_Nested_Segwit_0_0/00001.png differ diff --git a/tests/snapshots/flex/test_register_unusual_singlesig_accounts_Unusual_Nested_Segwit_0_0/00002.png b/tests/snapshots/flex/test_register_unusual_singlesig_accounts_Unusual_Nested_Segwit_0_0/00002.png index 2e1a485b1..c4e970cb1 100644 Binary files a/tests/snapshots/flex/test_register_unusual_singlesig_accounts_Unusual_Nested_Segwit_0_0/00002.png and b/tests/snapshots/flex/test_register_unusual_singlesig_accounts_Unusual_Nested_Segwit_0_0/00002.png differ diff --git a/tests/snapshots/flex/test_register_unusual_singlesig_accounts_Unusual_Nested_Segwit_1_0/00000.png b/tests/snapshots/flex/test_register_unusual_singlesig_accounts_Unusual_Nested_Segwit_1_0/00000.png index 219c24e78..0666862ae 100644 Binary files a/tests/snapshots/flex/test_register_unusual_singlesig_accounts_Unusual_Nested_Segwit_1_0/00000.png and b/tests/snapshots/flex/test_register_unusual_singlesig_accounts_Unusual_Nested_Segwit_1_0/00000.png differ diff --git a/tests/snapshots/flex/test_register_unusual_singlesig_accounts_Unusual_Nested_Segwit_1_0/00001.png b/tests/snapshots/flex/test_register_unusual_singlesig_accounts_Unusual_Nested_Segwit_1_0/00001.png index 6d292e546..8eaddfd38 100644 Binary files a/tests/snapshots/flex/test_register_unusual_singlesig_accounts_Unusual_Nested_Segwit_1_0/00001.png and b/tests/snapshots/flex/test_register_unusual_singlesig_accounts_Unusual_Nested_Segwit_1_0/00001.png differ diff --git a/tests/snapshots/flex/test_register_unusual_singlesig_accounts_Unusual_Nested_Segwit_1_0/00002.png b/tests/snapshots/flex/test_register_unusual_singlesig_accounts_Unusual_Nested_Segwit_1_0/00002.png index 5a9765900..bd7e6d2e6 100644 Binary files a/tests/snapshots/flex/test_register_unusual_singlesig_accounts_Unusual_Nested_Segwit_1_0/00002.png and b/tests/snapshots/flex/test_register_unusual_singlesig_accounts_Unusual_Nested_Segwit_1_0/00002.png differ diff --git a/tests/snapshots/flex/test_register_unusual_singlesig_accounts_Unusual_Nested_Segwit_1_0/00003.png b/tests/snapshots/flex/test_register_unusual_singlesig_accounts_Unusual_Nested_Segwit_1_0/00003.png index 00ddecee0..084107e3e 100644 Binary files a/tests/snapshots/flex/test_register_unusual_singlesig_accounts_Unusual_Nested_Segwit_1_0/00003.png and b/tests/snapshots/flex/test_register_unusual_singlesig_accounts_Unusual_Nested_Segwit_1_0/00003.png differ diff --git a/tests/snapshots/flex/test_register_unusual_singlesig_accounts_Unusual_Taproot_0_0/00000.png b/tests/snapshots/flex/test_register_unusual_singlesig_accounts_Unusual_Taproot_0_0/00000.png index 9f0313910..9a1a87733 100644 Binary files a/tests/snapshots/flex/test_register_unusual_singlesig_accounts_Unusual_Taproot_0_0/00000.png and b/tests/snapshots/flex/test_register_unusual_singlesig_accounts_Unusual_Taproot_0_0/00000.png differ diff --git a/tests/snapshots/flex/test_register_unusual_singlesig_accounts_Unusual_Taproot_0_0/00001.png b/tests/snapshots/flex/test_register_unusual_singlesig_accounts_Unusual_Taproot_0_0/00001.png index 38f09e33e..9f8fd7768 100644 Binary files a/tests/snapshots/flex/test_register_unusual_singlesig_accounts_Unusual_Taproot_0_0/00001.png and b/tests/snapshots/flex/test_register_unusual_singlesig_accounts_Unusual_Taproot_0_0/00001.png differ diff --git a/tests/snapshots/flex/test_register_unusual_singlesig_accounts_Unusual_Taproot_0_0/00002.png b/tests/snapshots/flex/test_register_unusual_singlesig_accounts_Unusual_Taproot_0_0/00002.png index 2e1a485b1..c4e970cb1 100644 Binary files a/tests/snapshots/flex/test_register_unusual_singlesig_accounts_Unusual_Taproot_0_0/00002.png and b/tests/snapshots/flex/test_register_unusual_singlesig_accounts_Unusual_Taproot_0_0/00002.png differ diff --git a/tests/snapshots/flex/test_register_unusual_singlesig_accounts_Unusual_Taproot_1_0/00000.png b/tests/snapshots/flex/test_register_unusual_singlesig_accounts_Unusual_Taproot_1_0/00000.png index 219c24e78..0666862ae 100644 Binary files a/tests/snapshots/flex/test_register_unusual_singlesig_accounts_Unusual_Taproot_1_0/00000.png and b/tests/snapshots/flex/test_register_unusual_singlesig_accounts_Unusual_Taproot_1_0/00000.png differ diff --git a/tests/snapshots/flex/test_register_unusual_singlesig_accounts_Unusual_Taproot_1_0/00001.png b/tests/snapshots/flex/test_register_unusual_singlesig_accounts_Unusual_Taproot_1_0/00001.png index 6d292e546..8eaddfd38 100644 Binary files a/tests/snapshots/flex/test_register_unusual_singlesig_accounts_Unusual_Taproot_1_0/00001.png and b/tests/snapshots/flex/test_register_unusual_singlesig_accounts_Unusual_Taproot_1_0/00001.png differ diff --git a/tests/snapshots/flex/test_register_unusual_singlesig_accounts_Unusual_Taproot_1_0/00002.png b/tests/snapshots/flex/test_register_unusual_singlesig_accounts_Unusual_Taproot_1_0/00002.png index 5a9765900..bd7e6d2e6 100644 Binary files a/tests/snapshots/flex/test_register_unusual_singlesig_accounts_Unusual_Taproot_1_0/00002.png and b/tests/snapshots/flex/test_register_unusual_singlesig_accounts_Unusual_Taproot_1_0/00002.png differ diff --git a/tests/snapshots/flex/test_register_unusual_singlesig_accounts_Unusual_Taproot_1_0/00003.png b/tests/snapshots/flex/test_register_unusual_singlesig_accounts_Unusual_Taproot_1_0/00003.png index 00ddecee0..084107e3e 100644 Binary files a/tests/snapshots/flex/test_register_unusual_singlesig_accounts_Unusual_Taproot_1_0/00003.png and b/tests/snapshots/flex/test_register_unusual_singlesig_accounts_Unusual_Taproot_1_0/00003.png differ diff --git a/tests/snapshots/flex/test_register_wallet_accept_legacy_0_0/00000.png b/tests/snapshots/flex/test_register_wallet_accept_legacy_0_0/00000.png index 9f0313910..9a1a87733 100644 Binary files a/tests/snapshots/flex/test_register_wallet_accept_legacy_0_0/00000.png and b/tests/snapshots/flex/test_register_wallet_accept_legacy_0_0/00000.png differ diff --git a/tests/snapshots/flex/test_register_wallet_accept_legacy_0_0/00001.png b/tests/snapshots/flex/test_register_wallet_accept_legacy_0_0/00001.png index 7683322c6..171f03f2c 100644 Binary files a/tests/snapshots/flex/test_register_wallet_accept_legacy_0_0/00001.png and b/tests/snapshots/flex/test_register_wallet_accept_legacy_0_0/00001.png differ diff --git a/tests/snapshots/flex/test_register_wallet_accept_legacy_0_0/00002.png b/tests/snapshots/flex/test_register_wallet_accept_legacy_0_0/00002.png index 2e1a485b1..c4e970cb1 100644 Binary files a/tests/snapshots/flex/test_register_wallet_accept_legacy_0_0/00002.png and b/tests/snapshots/flex/test_register_wallet_accept_legacy_0_0/00002.png differ diff --git a/tests/snapshots/flex/test_register_wallet_accept_legacy_1_0/00000.png b/tests/snapshots/flex/test_register_wallet_accept_legacy_1_0/00000.png index 219c24e78..0666862ae 100644 Binary files a/tests/snapshots/flex/test_register_wallet_accept_legacy_1_0/00000.png and b/tests/snapshots/flex/test_register_wallet_accept_legacy_1_0/00000.png differ diff --git a/tests/snapshots/flex/test_register_wallet_accept_legacy_1_0/00001.png b/tests/snapshots/flex/test_register_wallet_accept_legacy_1_0/00001.png index 64ae28514..e58442a27 100644 Binary files a/tests/snapshots/flex/test_register_wallet_accept_legacy_1_0/00001.png and b/tests/snapshots/flex/test_register_wallet_accept_legacy_1_0/00001.png differ diff --git a/tests/snapshots/flex/test_register_wallet_accept_legacy_1_0/00002.png b/tests/snapshots/flex/test_register_wallet_accept_legacy_1_0/00002.png index c3108faaf..81ab894ea 100644 Binary files a/tests/snapshots/flex/test_register_wallet_accept_legacy_1_0/00002.png and b/tests/snapshots/flex/test_register_wallet_accept_legacy_1_0/00002.png differ diff --git a/tests/snapshots/flex/test_register_wallet_accept_legacy_1_0/00003.png b/tests/snapshots/flex/test_register_wallet_accept_legacy_1_0/00003.png index 00ddecee0..084107e3e 100644 Binary files a/tests/snapshots/flex/test_register_wallet_accept_legacy_1_0/00003.png and b/tests/snapshots/flex/test_register_wallet_accept_legacy_1_0/00003.png differ diff --git a/tests/snapshots/flex/test_register_wallet_accept_legacy_2_0/00000.png b/tests/snapshots/flex/test_register_wallet_accept_legacy_2_0/00000.png index 219c24e78..0666862ae 100644 Binary files a/tests/snapshots/flex/test_register_wallet_accept_legacy_2_0/00000.png and b/tests/snapshots/flex/test_register_wallet_accept_legacy_2_0/00000.png differ diff --git a/tests/snapshots/flex/test_register_wallet_accept_legacy_2_0/00001.png b/tests/snapshots/flex/test_register_wallet_accept_legacy_2_0/00001.png index 1d5913de5..16d271aea 100644 Binary files a/tests/snapshots/flex/test_register_wallet_accept_legacy_2_0/00001.png and b/tests/snapshots/flex/test_register_wallet_accept_legacy_2_0/00001.png differ diff --git a/tests/snapshots/flex/test_register_wallet_accept_legacy_2_0/00002.png b/tests/snapshots/flex/test_register_wallet_accept_legacy_2_0/00002.png index a2ef1e368..f2d9b7101 100644 Binary files a/tests/snapshots/flex/test_register_wallet_accept_legacy_2_0/00002.png and b/tests/snapshots/flex/test_register_wallet_accept_legacy_2_0/00002.png differ diff --git a/tests/snapshots/flex/test_register_wallet_accept_legacy_2_0/00003.png b/tests/snapshots/flex/test_register_wallet_accept_legacy_2_0/00003.png index 00ddecee0..084107e3e 100644 Binary files a/tests/snapshots/flex/test_register_wallet_accept_legacy_2_0/00003.png and b/tests/snapshots/flex/test_register_wallet_accept_legacy_2_0/00003.png differ diff --git a/tests/snapshots/flex/test_register_wallet_accept_legacy_v1_0_0/00000.png b/tests/snapshots/flex/test_register_wallet_accept_legacy_v1_0_0/00000.png index 9f0313910..9a1a87733 100644 Binary files a/tests/snapshots/flex/test_register_wallet_accept_legacy_v1_0_0/00000.png and b/tests/snapshots/flex/test_register_wallet_accept_legacy_v1_0_0/00000.png differ diff --git a/tests/snapshots/flex/test_register_wallet_accept_legacy_v1_0_0/00001.png b/tests/snapshots/flex/test_register_wallet_accept_legacy_v1_0_0/00001.png index 76a4e481f..c4187896d 100644 Binary files a/tests/snapshots/flex/test_register_wallet_accept_legacy_v1_0_0/00001.png and b/tests/snapshots/flex/test_register_wallet_accept_legacy_v1_0_0/00001.png differ diff --git a/tests/snapshots/flex/test_register_wallet_accept_legacy_v1_0_0/00002.png b/tests/snapshots/flex/test_register_wallet_accept_legacy_v1_0_0/00002.png index 2e1a485b1..c4e970cb1 100644 Binary files a/tests/snapshots/flex/test_register_wallet_accept_legacy_v1_0_0/00002.png and b/tests/snapshots/flex/test_register_wallet_accept_legacy_v1_0_0/00002.png differ diff --git a/tests/snapshots/flex/test_register_wallet_accept_legacy_v1_1_0/00000.png b/tests/snapshots/flex/test_register_wallet_accept_legacy_v1_1_0/00000.png index 219c24e78..0666862ae 100644 Binary files a/tests/snapshots/flex/test_register_wallet_accept_legacy_v1_1_0/00000.png and b/tests/snapshots/flex/test_register_wallet_accept_legacy_v1_1_0/00000.png differ diff --git a/tests/snapshots/flex/test_register_wallet_accept_legacy_v1_1_0/00001.png b/tests/snapshots/flex/test_register_wallet_accept_legacy_v1_1_0/00001.png index 64ae28514..e58442a27 100644 Binary files a/tests/snapshots/flex/test_register_wallet_accept_legacy_v1_1_0/00001.png and b/tests/snapshots/flex/test_register_wallet_accept_legacy_v1_1_0/00001.png differ diff --git a/tests/snapshots/flex/test_register_wallet_accept_legacy_v1_1_0/00002.png b/tests/snapshots/flex/test_register_wallet_accept_legacy_v1_1_0/00002.png index 0842765e8..0b43d8069 100644 Binary files a/tests/snapshots/flex/test_register_wallet_accept_legacy_v1_1_0/00002.png and b/tests/snapshots/flex/test_register_wallet_accept_legacy_v1_1_0/00002.png differ diff --git a/tests/snapshots/flex/test_register_wallet_accept_legacy_v1_1_0/00003.png b/tests/snapshots/flex/test_register_wallet_accept_legacy_v1_1_0/00003.png index 00ddecee0..084107e3e 100644 Binary files a/tests/snapshots/flex/test_register_wallet_accept_legacy_v1_1_0/00003.png and b/tests/snapshots/flex/test_register_wallet_accept_legacy_v1_1_0/00003.png differ diff --git a/tests/snapshots/flex/test_register_wallet_accept_legacy_v1_2_0/00000.png b/tests/snapshots/flex/test_register_wallet_accept_legacy_v1_2_0/00000.png index 219c24e78..0666862ae 100644 Binary files a/tests/snapshots/flex/test_register_wallet_accept_legacy_v1_2_0/00000.png and b/tests/snapshots/flex/test_register_wallet_accept_legacy_v1_2_0/00000.png differ diff --git a/tests/snapshots/flex/test_register_wallet_accept_legacy_v1_2_0/00001.png b/tests/snapshots/flex/test_register_wallet_accept_legacy_v1_2_0/00001.png index 1d5913de5..16d271aea 100644 Binary files a/tests/snapshots/flex/test_register_wallet_accept_legacy_v1_2_0/00001.png and b/tests/snapshots/flex/test_register_wallet_accept_legacy_v1_2_0/00001.png differ diff --git a/tests/snapshots/flex/test_register_wallet_accept_legacy_v1_2_0/00002.png b/tests/snapshots/flex/test_register_wallet_accept_legacy_v1_2_0/00002.png index e84d41a15..c3a8c3972 100644 Binary files a/tests/snapshots/flex/test_register_wallet_accept_legacy_v1_2_0/00002.png and b/tests/snapshots/flex/test_register_wallet_accept_legacy_v1_2_0/00002.png differ diff --git a/tests/snapshots/flex/test_register_wallet_accept_legacy_v1_2_0/00003.png b/tests/snapshots/flex/test_register_wallet_accept_legacy_v1_2_0/00003.png index 00ddecee0..084107e3e 100644 Binary files a/tests/snapshots/flex/test_register_wallet_accept_legacy_v1_2_0/00003.png and b/tests/snapshots/flex/test_register_wallet_accept_legacy_v1_2_0/00003.png differ diff --git a/tests/snapshots/flex/test_register_wallet_accept_sh_wit_0_0/00000.png b/tests/snapshots/flex/test_register_wallet_accept_sh_wit_0_0/00000.png index 9f0313910..9a1a87733 100644 Binary files a/tests/snapshots/flex/test_register_wallet_accept_sh_wit_0_0/00000.png and b/tests/snapshots/flex/test_register_wallet_accept_sh_wit_0_0/00000.png differ diff --git a/tests/snapshots/flex/test_register_wallet_accept_sh_wit_0_0/00001.png b/tests/snapshots/flex/test_register_wallet_accept_sh_wit_0_0/00001.png index 63bcedb5e..eb8749053 100644 Binary files a/tests/snapshots/flex/test_register_wallet_accept_sh_wit_0_0/00001.png and b/tests/snapshots/flex/test_register_wallet_accept_sh_wit_0_0/00001.png differ diff --git a/tests/snapshots/flex/test_register_wallet_accept_sh_wit_0_0/00002.png b/tests/snapshots/flex/test_register_wallet_accept_sh_wit_0_0/00002.png index 2e1a485b1..c4e970cb1 100644 Binary files a/tests/snapshots/flex/test_register_wallet_accept_sh_wit_0_0/00002.png and b/tests/snapshots/flex/test_register_wallet_accept_sh_wit_0_0/00002.png differ diff --git a/tests/snapshots/flex/test_register_wallet_accept_sh_wit_1_0/00000.png b/tests/snapshots/flex/test_register_wallet_accept_sh_wit_1_0/00000.png index 219c24e78..0666862ae 100644 Binary files a/tests/snapshots/flex/test_register_wallet_accept_sh_wit_1_0/00000.png and b/tests/snapshots/flex/test_register_wallet_accept_sh_wit_1_0/00000.png differ diff --git a/tests/snapshots/flex/test_register_wallet_accept_sh_wit_1_0/00001.png b/tests/snapshots/flex/test_register_wallet_accept_sh_wit_1_0/00001.png index 64ae28514..e58442a27 100644 Binary files a/tests/snapshots/flex/test_register_wallet_accept_sh_wit_1_0/00001.png and b/tests/snapshots/flex/test_register_wallet_accept_sh_wit_1_0/00001.png differ diff --git a/tests/snapshots/flex/test_register_wallet_accept_sh_wit_1_0/00002.png b/tests/snapshots/flex/test_register_wallet_accept_sh_wit_1_0/00002.png index 52c7e0199..0ee129f65 100644 Binary files a/tests/snapshots/flex/test_register_wallet_accept_sh_wit_1_0/00002.png and b/tests/snapshots/flex/test_register_wallet_accept_sh_wit_1_0/00002.png differ diff --git a/tests/snapshots/flex/test_register_wallet_accept_sh_wit_1_0/00003.png b/tests/snapshots/flex/test_register_wallet_accept_sh_wit_1_0/00003.png index 00ddecee0..084107e3e 100644 Binary files a/tests/snapshots/flex/test_register_wallet_accept_sh_wit_1_0/00003.png and b/tests/snapshots/flex/test_register_wallet_accept_sh_wit_1_0/00003.png differ diff --git a/tests/snapshots/flex/test_register_wallet_accept_sh_wit_2_0/00000.png b/tests/snapshots/flex/test_register_wallet_accept_sh_wit_2_0/00000.png index 219c24e78..0666862ae 100644 Binary files a/tests/snapshots/flex/test_register_wallet_accept_sh_wit_2_0/00000.png and b/tests/snapshots/flex/test_register_wallet_accept_sh_wit_2_0/00000.png differ diff --git a/tests/snapshots/flex/test_register_wallet_accept_sh_wit_2_0/00001.png b/tests/snapshots/flex/test_register_wallet_accept_sh_wit_2_0/00001.png index 1d5913de5..16d271aea 100644 Binary files a/tests/snapshots/flex/test_register_wallet_accept_sh_wit_2_0/00001.png and b/tests/snapshots/flex/test_register_wallet_accept_sh_wit_2_0/00001.png differ diff --git a/tests/snapshots/flex/test_register_wallet_accept_sh_wit_2_0/00002.png b/tests/snapshots/flex/test_register_wallet_accept_sh_wit_2_0/00002.png index 8aea267d0..600259061 100644 Binary files a/tests/snapshots/flex/test_register_wallet_accept_sh_wit_2_0/00002.png and b/tests/snapshots/flex/test_register_wallet_accept_sh_wit_2_0/00002.png differ diff --git a/tests/snapshots/flex/test_register_wallet_accept_sh_wit_2_0/00003.png b/tests/snapshots/flex/test_register_wallet_accept_sh_wit_2_0/00003.png index 00ddecee0..084107e3e 100644 Binary files a/tests/snapshots/flex/test_register_wallet_accept_sh_wit_2_0/00003.png and b/tests/snapshots/flex/test_register_wallet_accept_sh_wit_2_0/00003.png differ diff --git a/tests/snapshots/flex/test_register_wallet_accept_sh_wit_v1_0_0/00000.png b/tests/snapshots/flex/test_register_wallet_accept_sh_wit_v1_0_0/00000.png index 9f0313910..9a1a87733 100644 Binary files a/tests/snapshots/flex/test_register_wallet_accept_sh_wit_v1_0_0/00000.png and b/tests/snapshots/flex/test_register_wallet_accept_sh_wit_v1_0_0/00000.png differ diff --git a/tests/snapshots/flex/test_register_wallet_accept_sh_wit_v1_0_0/00001.png b/tests/snapshots/flex/test_register_wallet_accept_sh_wit_v1_0_0/00001.png index 917aae73d..a59114e58 100644 Binary files a/tests/snapshots/flex/test_register_wallet_accept_sh_wit_v1_0_0/00001.png and b/tests/snapshots/flex/test_register_wallet_accept_sh_wit_v1_0_0/00001.png differ diff --git a/tests/snapshots/flex/test_register_wallet_accept_sh_wit_v1_0_0/00002.png b/tests/snapshots/flex/test_register_wallet_accept_sh_wit_v1_0_0/00002.png index 2e1a485b1..c4e970cb1 100644 Binary files a/tests/snapshots/flex/test_register_wallet_accept_sh_wit_v1_0_0/00002.png and b/tests/snapshots/flex/test_register_wallet_accept_sh_wit_v1_0_0/00002.png differ diff --git a/tests/snapshots/flex/test_register_wallet_accept_sh_wit_v1_1_0/00000.png b/tests/snapshots/flex/test_register_wallet_accept_sh_wit_v1_1_0/00000.png index 219c24e78..0666862ae 100644 Binary files a/tests/snapshots/flex/test_register_wallet_accept_sh_wit_v1_1_0/00000.png and b/tests/snapshots/flex/test_register_wallet_accept_sh_wit_v1_1_0/00000.png differ diff --git a/tests/snapshots/flex/test_register_wallet_accept_sh_wit_v1_1_0/00001.png b/tests/snapshots/flex/test_register_wallet_accept_sh_wit_v1_1_0/00001.png index 64ae28514..e58442a27 100644 Binary files a/tests/snapshots/flex/test_register_wallet_accept_sh_wit_v1_1_0/00001.png and b/tests/snapshots/flex/test_register_wallet_accept_sh_wit_v1_1_0/00001.png differ diff --git a/tests/snapshots/flex/test_register_wallet_accept_sh_wit_v1_1_0/00002.png b/tests/snapshots/flex/test_register_wallet_accept_sh_wit_v1_1_0/00002.png index 5e9eea659..265cf05b6 100644 Binary files a/tests/snapshots/flex/test_register_wallet_accept_sh_wit_v1_1_0/00002.png and b/tests/snapshots/flex/test_register_wallet_accept_sh_wit_v1_1_0/00002.png differ diff --git a/tests/snapshots/flex/test_register_wallet_accept_sh_wit_v1_1_0/00003.png b/tests/snapshots/flex/test_register_wallet_accept_sh_wit_v1_1_0/00003.png index 00ddecee0..084107e3e 100644 Binary files a/tests/snapshots/flex/test_register_wallet_accept_sh_wit_v1_1_0/00003.png and b/tests/snapshots/flex/test_register_wallet_accept_sh_wit_v1_1_0/00003.png differ diff --git a/tests/snapshots/flex/test_register_wallet_accept_sh_wit_v1_2_0/00000.png b/tests/snapshots/flex/test_register_wallet_accept_sh_wit_v1_2_0/00000.png index 219c24e78..0666862ae 100644 Binary files a/tests/snapshots/flex/test_register_wallet_accept_sh_wit_v1_2_0/00000.png and b/tests/snapshots/flex/test_register_wallet_accept_sh_wit_v1_2_0/00000.png differ diff --git a/tests/snapshots/flex/test_register_wallet_accept_sh_wit_v1_2_0/00001.png b/tests/snapshots/flex/test_register_wallet_accept_sh_wit_v1_2_0/00001.png index 1d5913de5..16d271aea 100644 Binary files a/tests/snapshots/flex/test_register_wallet_accept_sh_wit_v1_2_0/00001.png and b/tests/snapshots/flex/test_register_wallet_accept_sh_wit_v1_2_0/00001.png differ diff --git a/tests/snapshots/flex/test_register_wallet_accept_sh_wit_v1_2_0/00002.png b/tests/snapshots/flex/test_register_wallet_accept_sh_wit_v1_2_0/00002.png index 16e2e8511..04d828bbb 100644 Binary files a/tests/snapshots/flex/test_register_wallet_accept_sh_wit_v1_2_0/00002.png and b/tests/snapshots/flex/test_register_wallet_accept_sh_wit_v1_2_0/00002.png differ diff --git a/tests/snapshots/flex/test_register_wallet_accept_sh_wit_v1_2_0/00003.png b/tests/snapshots/flex/test_register_wallet_accept_sh_wit_v1_2_0/00003.png index 00ddecee0..084107e3e 100644 Binary files a/tests/snapshots/flex/test_register_wallet_accept_sh_wit_v1_2_0/00003.png and b/tests/snapshots/flex/test_register_wallet_accept_sh_wit_v1_2_0/00003.png differ diff --git a/tests/snapshots/flex/test_register_wallet_accept_wit_0_0/00000.png b/tests/snapshots/flex/test_register_wallet_accept_wit_0_0/00000.png index 9f0313910..9a1a87733 100644 Binary files a/tests/snapshots/flex/test_register_wallet_accept_wit_0_0/00000.png and b/tests/snapshots/flex/test_register_wallet_accept_wit_0_0/00000.png differ diff --git a/tests/snapshots/flex/test_register_wallet_accept_wit_0_0/00001.png b/tests/snapshots/flex/test_register_wallet_accept_wit_0_0/00001.png index 22affa697..2d80aeb39 100644 Binary files a/tests/snapshots/flex/test_register_wallet_accept_wit_0_0/00001.png and b/tests/snapshots/flex/test_register_wallet_accept_wit_0_0/00001.png differ diff --git a/tests/snapshots/flex/test_register_wallet_accept_wit_0_0/00002.png b/tests/snapshots/flex/test_register_wallet_accept_wit_0_0/00002.png index 2e1a485b1..c4e970cb1 100644 Binary files a/tests/snapshots/flex/test_register_wallet_accept_wit_0_0/00002.png and b/tests/snapshots/flex/test_register_wallet_accept_wit_0_0/00002.png differ diff --git a/tests/snapshots/flex/test_register_wallet_accept_wit_1_0/00000.png b/tests/snapshots/flex/test_register_wallet_accept_wit_1_0/00000.png index 219c24e78..0666862ae 100644 Binary files a/tests/snapshots/flex/test_register_wallet_accept_wit_1_0/00000.png and b/tests/snapshots/flex/test_register_wallet_accept_wit_1_0/00000.png differ diff --git a/tests/snapshots/flex/test_register_wallet_accept_wit_1_0/00001.png b/tests/snapshots/flex/test_register_wallet_accept_wit_1_0/00001.png index 64ae28514..e58442a27 100644 Binary files a/tests/snapshots/flex/test_register_wallet_accept_wit_1_0/00001.png and b/tests/snapshots/flex/test_register_wallet_accept_wit_1_0/00001.png differ diff --git a/tests/snapshots/flex/test_register_wallet_accept_wit_1_0/00002.png b/tests/snapshots/flex/test_register_wallet_accept_wit_1_0/00002.png index 69241c21a..4450f382a 100644 Binary files a/tests/snapshots/flex/test_register_wallet_accept_wit_1_0/00002.png and b/tests/snapshots/flex/test_register_wallet_accept_wit_1_0/00002.png differ diff --git a/tests/snapshots/flex/test_register_wallet_accept_wit_1_0/00003.png b/tests/snapshots/flex/test_register_wallet_accept_wit_1_0/00003.png index 00ddecee0..084107e3e 100644 Binary files a/tests/snapshots/flex/test_register_wallet_accept_wit_1_0/00003.png and b/tests/snapshots/flex/test_register_wallet_accept_wit_1_0/00003.png differ diff --git a/tests/snapshots/flex/test_register_wallet_accept_wit_2_0/00000.png b/tests/snapshots/flex/test_register_wallet_accept_wit_2_0/00000.png index 219c24e78..0666862ae 100644 Binary files a/tests/snapshots/flex/test_register_wallet_accept_wit_2_0/00000.png and b/tests/snapshots/flex/test_register_wallet_accept_wit_2_0/00000.png differ diff --git a/tests/snapshots/flex/test_register_wallet_accept_wit_2_0/00001.png b/tests/snapshots/flex/test_register_wallet_accept_wit_2_0/00001.png index 1d5913de5..16d271aea 100644 Binary files a/tests/snapshots/flex/test_register_wallet_accept_wit_2_0/00001.png and b/tests/snapshots/flex/test_register_wallet_accept_wit_2_0/00001.png differ diff --git a/tests/snapshots/flex/test_register_wallet_accept_wit_2_0/00002.png b/tests/snapshots/flex/test_register_wallet_accept_wit_2_0/00002.png index 56c30b1db..1ae925a23 100644 Binary files a/tests/snapshots/flex/test_register_wallet_accept_wit_2_0/00002.png and b/tests/snapshots/flex/test_register_wallet_accept_wit_2_0/00002.png differ diff --git a/tests/snapshots/flex/test_register_wallet_accept_wit_2_0/00003.png b/tests/snapshots/flex/test_register_wallet_accept_wit_2_0/00003.png index 00ddecee0..084107e3e 100644 Binary files a/tests/snapshots/flex/test_register_wallet_accept_wit_2_0/00003.png and b/tests/snapshots/flex/test_register_wallet_accept_wit_2_0/00003.png differ diff --git a/tests/snapshots/flex/test_register_wallet_accept_wit_v1_0_0/00000.png b/tests/snapshots/flex/test_register_wallet_accept_wit_v1_0_0/00000.png index 9f0313910..9a1a87733 100644 Binary files a/tests/snapshots/flex/test_register_wallet_accept_wit_v1_0_0/00000.png and b/tests/snapshots/flex/test_register_wallet_accept_wit_v1_0_0/00000.png differ diff --git a/tests/snapshots/flex/test_register_wallet_accept_wit_v1_0_0/00001.png b/tests/snapshots/flex/test_register_wallet_accept_wit_v1_0_0/00001.png index 4a5812d61..55e1934f7 100644 Binary files a/tests/snapshots/flex/test_register_wallet_accept_wit_v1_0_0/00001.png and b/tests/snapshots/flex/test_register_wallet_accept_wit_v1_0_0/00001.png differ diff --git a/tests/snapshots/flex/test_register_wallet_accept_wit_v1_0_0/00002.png b/tests/snapshots/flex/test_register_wallet_accept_wit_v1_0_0/00002.png index 2e1a485b1..c4e970cb1 100644 Binary files a/tests/snapshots/flex/test_register_wallet_accept_wit_v1_0_0/00002.png and b/tests/snapshots/flex/test_register_wallet_accept_wit_v1_0_0/00002.png differ diff --git a/tests/snapshots/flex/test_register_wallet_accept_wit_v1_1_0/00000.png b/tests/snapshots/flex/test_register_wallet_accept_wit_v1_1_0/00000.png index 219c24e78..0666862ae 100644 Binary files a/tests/snapshots/flex/test_register_wallet_accept_wit_v1_1_0/00000.png and b/tests/snapshots/flex/test_register_wallet_accept_wit_v1_1_0/00000.png differ diff --git a/tests/snapshots/flex/test_register_wallet_accept_wit_v1_1_0/00001.png b/tests/snapshots/flex/test_register_wallet_accept_wit_v1_1_0/00001.png index 64ae28514..e58442a27 100644 Binary files a/tests/snapshots/flex/test_register_wallet_accept_wit_v1_1_0/00001.png and b/tests/snapshots/flex/test_register_wallet_accept_wit_v1_1_0/00001.png differ diff --git a/tests/snapshots/flex/test_register_wallet_accept_wit_v1_1_0/00002.png b/tests/snapshots/flex/test_register_wallet_accept_wit_v1_1_0/00002.png index db6ce181f..9d7e42344 100644 Binary files a/tests/snapshots/flex/test_register_wallet_accept_wit_v1_1_0/00002.png and b/tests/snapshots/flex/test_register_wallet_accept_wit_v1_1_0/00002.png differ diff --git a/tests/snapshots/flex/test_register_wallet_accept_wit_v1_1_0/00003.png b/tests/snapshots/flex/test_register_wallet_accept_wit_v1_1_0/00003.png index 00ddecee0..084107e3e 100644 Binary files a/tests/snapshots/flex/test_register_wallet_accept_wit_v1_1_0/00003.png and b/tests/snapshots/flex/test_register_wallet_accept_wit_v1_1_0/00003.png differ diff --git a/tests/snapshots/flex/test_register_wallet_accept_wit_v1_2_0/00000.png b/tests/snapshots/flex/test_register_wallet_accept_wit_v1_2_0/00000.png index 219c24e78..0666862ae 100644 Binary files a/tests/snapshots/flex/test_register_wallet_accept_wit_v1_2_0/00000.png and b/tests/snapshots/flex/test_register_wallet_accept_wit_v1_2_0/00000.png differ diff --git a/tests/snapshots/flex/test_register_wallet_accept_wit_v1_2_0/00001.png b/tests/snapshots/flex/test_register_wallet_accept_wit_v1_2_0/00001.png index 1d5913de5..16d271aea 100644 Binary files a/tests/snapshots/flex/test_register_wallet_accept_wit_v1_2_0/00001.png and b/tests/snapshots/flex/test_register_wallet_accept_wit_v1_2_0/00001.png differ diff --git a/tests/snapshots/flex/test_register_wallet_accept_wit_v1_2_0/00002.png b/tests/snapshots/flex/test_register_wallet_accept_wit_v1_2_0/00002.png index 333d78551..2423089ab 100644 Binary files a/tests/snapshots/flex/test_register_wallet_accept_wit_v1_2_0/00002.png and b/tests/snapshots/flex/test_register_wallet_accept_wit_v1_2_0/00002.png differ diff --git a/tests/snapshots/flex/test_register_wallet_accept_wit_v1_2_0/00003.png b/tests/snapshots/flex/test_register_wallet_accept_wit_v1_2_0/00003.png index 00ddecee0..084107e3e 100644 Binary files a/tests/snapshots/flex/test_register_wallet_accept_wit_v1_2_0/00003.png and b/tests/snapshots/flex/test_register_wallet_accept_wit_v1_2_0/00003.png differ diff --git a/tests/snapshots/flex/test_register_wallet_invalid_pubkey_version_0_0/00000.png b/tests/snapshots/flex/test_register_wallet_invalid_pubkey_version_0_0/00000.png index 9f0313910..9a1a87733 100644 Binary files a/tests/snapshots/flex/test_register_wallet_invalid_pubkey_version_0_0/00000.png and b/tests/snapshots/flex/test_register_wallet_invalid_pubkey_version_0_0/00000.png differ diff --git a/tests/snapshots/flex/test_register_wallet_invalid_pubkey_version_0_0/00001.png b/tests/snapshots/flex/test_register_wallet_invalid_pubkey_version_0_0/00001.png index 22affa697..2d80aeb39 100644 Binary files a/tests/snapshots/flex/test_register_wallet_invalid_pubkey_version_0_0/00001.png and b/tests/snapshots/flex/test_register_wallet_invalid_pubkey_version_0_0/00001.png differ diff --git a/tests/snapshots/flex/test_register_wallet_invalid_pubkey_version_0_0/00002.png b/tests/snapshots/flex/test_register_wallet_invalid_pubkey_version_0_0/00002.png index 2e1a485b1..c4e970cb1 100644 Binary files a/tests/snapshots/flex/test_register_wallet_invalid_pubkey_version_0_0/00002.png and b/tests/snapshots/flex/test_register_wallet_invalid_pubkey_version_0_0/00002.png differ diff --git a/tests/snapshots/flex/test_register_wallet_reject_header_0_0/00000.png b/tests/snapshots/flex/test_register_wallet_reject_header_0_0/00000.png index 9f0313910..9a1a87733 100644 Binary files a/tests/snapshots/flex/test_register_wallet_reject_header_0_0/00000.png and b/tests/snapshots/flex/test_register_wallet_reject_header_0_0/00000.png differ diff --git a/tests/snapshots/flex/test_register_wallet_reject_header_0_0/00001.png b/tests/snapshots/flex/test_register_wallet_reject_header_0_0/00001.png index 22affa697..2d80aeb39 100644 Binary files a/tests/snapshots/flex/test_register_wallet_reject_header_0_0/00001.png and b/tests/snapshots/flex/test_register_wallet_reject_header_0_0/00001.png differ diff --git a/tests/snapshots/flex/test_register_wallet_reject_header_0_0/00002.png b/tests/snapshots/flex/test_register_wallet_reject_header_0_0/00002.png index 2e1a485b1..c4e970cb1 100644 Binary files a/tests/snapshots/flex/test_register_wallet_reject_header_0_0/00002.png and b/tests/snapshots/flex/test_register_wallet_reject_header_0_0/00002.png differ diff --git a/tests/snapshots/flex/test_register_wallet_reject_header_v1_0_0/00000.png b/tests/snapshots/flex/test_register_wallet_reject_header_v1_0_0/00000.png index 9f0313910..9a1a87733 100644 Binary files a/tests/snapshots/flex/test_register_wallet_reject_header_v1_0_0/00000.png and b/tests/snapshots/flex/test_register_wallet_reject_header_v1_0_0/00000.png differ diff --git a/tests/snapshots/flex/test_register_wallet_reject_header_v1_0_0/00001.png b/tests/snapshots/flex/test_register_wallet_reject_header_v1_0_0/00001.png index 4a5812d61..55e1934f7 100644 Binary files a/tests/snapshots/flex/test_register_wallet_reject_header_v1_0_0/00001.png and b/tests/snapshots/flex/test_register_wallet_reject_header_v1_0_0/00001.png differ diff --git a/tests/snapshots/flex/test_register_wallet_reject_header_v1_0_0/00002.png b/tests/snapshots/flex/test_register_wallet_reject_header_v1_0_0/00002.png index 2e1a485b1..c4e970cb1 100644 Binary files a/tests/snapshots/flex/test_register_wallet_reject_header_v1_0_0/00002.png and b/tests/snapshots/flex/test_register_wallet_reject_header_v1_0_0/00002.png differ diff --git a/tests/snapshots/flex/test_register_wallet_tr_script_pk_0_0/00000.png b/tests/snapshots/flex/test_register_wallet_tr_script_pk_0_0/00000.png index 9f0313910..9a1a87733 100644 Binary files a/tests/snapshots/flex/test_register_wallet_tr_script_pk_0_0/00000.png and b/tests/snapshots/flex/test_register_wallet_tr_script_pk_0_0/00000.png differ diff --git a/tests/snapshots/flex/test_register_wallet_tr_script_pk_0_0/00001.png b/tests/snapshots/flex/test_register_wallet_tr_script_pk_0_0/00001.png index cc46fbdd9..ef958a0d3 100644 Binary files a/tests/snapshots/flex/test_register_wallet_tr_script_pk_0_0/00001.png and b/tests/snapshots/flex/test_register_wallet_tr_script_pk_0_0/00001.png differ diff --git a/tests/snapshots/flex/test_register_wallet_tr_script_pk_0_0/00002.png b/tests/snapshots/flex/test_register_wallet_tr_script_pk_0_0/00002.png index 2e1a485b1..c4e970cb1 100644 Binary files a/tests/snapshots/flex/test_register_wallet_tr_script_pk_0_0/00002.png and b/tests/snapshots/flex/test_register_wallet_tr_script_pk_0_0/00002.png differ diff --git a/tests/snapshots/flex/test_register_wallet_tr_script_pk_1_0/00000.png b/tests/snapshots/flex/test_register_wallet_tr_script_pk_1_0/00000.png index 219c24e78..0666862ae 100644 Binary files a/tests/snapshots/flex/test_register_wallet_tr_script_pk_1_0/00000.png and b/tests/snapshots/flex/test_register_wallet_tr_script_pk_1_0/00000.png differ diff --git a/tests/snapshots/flex/test_register_wallet_tr_script_pk_1_0/00001.png b/tests/snapshots/flex/test_register_wallet_tr_script_pk_1_0/00001.png index 64ae28514..e58442a27 100644 Binary files a/tests/snapshots/flex/test_register_wallet_tr_script_pk_1_0/00001.png and b/tests/snapshots/flex/test_register_wallet_tr_script_pk_1_0/00001.png differ diff --git a/tests/snapshots/flex/test_register_wallet_tr_script_pk_1_0/00002.png b/tests/snapshots/flex/test_register_wallet_tr_script_pk_1_0/00002.png index 69241c21a..4450f382a 100644 Binary files a/tests/snapshots/flex/test_register_wallet_tr_script_pk_1_0/00002.png and b/tests/snapshots/flex/test_register_wallet_tr_script_pk_1_0/00002.png differ diff --git a/tests/snapshots/flex/test_register_wallet_tr_script_pk_1_0/00003.png b/tests/snapshots/flex/test_register_wallet_tr_script_pk_1_0/00003.png index 00ddecee0..084107e3e 100644 Binary files a/tests/snapshots/flex/test_register_wallet_tr_script_pk_1_0/00003.png and b/tests/snapshots/flex/test_register_wallet_tr_script_pk_1_0/00003.png differ diff --git a/tests/snapshots/flex/test_register_wallet_tr_script_pk_2_0/00000.png b/tests/snapshots/flex/test_register_wallet_tr_script_pk_2_0/00000.png index 219c24e78..0666862ae 100644 Binary files a/tests/snapshots/flex/test_register_wallet_tr_script_pk_2_0/00000.png and b/tests/snapshots/flex/test_register_wallet_tr_script_pk_2_0/00000.png differ diff --git a/tests/snapshots/flex/test_register_wallet_tr_script_pk_2_0/00001.png b/tests/snapshots/flex/test_register_wallet_tr_script_pk_2_0/00001.png index 1d5913de5..16d271aea 100644 Binary files a/tests/snapshots/flex/test_register_wallet_tr_script_pk_2_0/00001.png and b/tests/snapshots/flex/test_register_wallet_tr_script_pk_2_0/00001.png differ diff --git a/tests/snapshots/flex/test_register_wallet_tr_script_pk_2_0/00002.png b/tests/snapshots/flex/test_register_wallet_tr_script_pk_2_0/00002.png index 56c30b1db..1ae925a23 100644 Binary files a/tests/snapshots/flex/test_register_wallet_tr_script_pk_2_0/00002.png and b/tests/snapshots/flex/test_register_wallet_tr_script_pk_2_0/00002.png differ diff --git a/tests/snapshots/flex/test_register_wallet_tr_script_pk_2_0/00003.png b/tests/snapshots/flex/test_register_wallet_tr_script_pk_2_0/00003.png index 00ddecee0..084107e3e 100644 Binary files a/tests/snapshots/flex/test_register_wallet_tr_script_pk_2_0/00003.png and b/tests/snapshots/flex/test_register_wallet_tr_script_pk_2_0/00003.png differ diff --git a/tests/snapshots/flex/test_register_wallet_tr_script_sortedmulti_0_0/00000.png b/tests/snapshots/flex/test_register_wallet_tr_script_sortedmulti_0_0/00000.png index 9f0313910..9a1a87733 100644 Binary files a/tests/snapshots/flex/test_register_wallet_tr_script_sortedmulti_0_0/00000.png and b/tests/snapshots/flex/test_register_wallet_tr_script_sortedmulti_0_0/00000.png differ diff --git a/tests/snapshots/flex/test_register_wallet_tr_script_sortedmulti_0_0/00001.png b/tests/snapshots/flex/test_register_wallet_tr_script_sortedmulti_0_0/00001.png index 89b83589b..4d200c543 100644 Binary files a/tests/snapshots/flex/test_register_wallet_tr_script_sortedmulti_0_0/00001.png and b/tests/snapshots/flex/test_register_wallet_tr_script_sortedmulti_0_0/00001.png differ diff --git a/tests/snapshots/flex/test_register_wallet_tr_script_sortedmulti_0_0/00002.png b/tests/snapshots/flex/test_register_wallet_tr_script_sortedmulti_0_0/00002.png index 2e1a485b1..c4e970cb1 100644 Binary files a/tests/snapshots/flex/test_register_wallet_tr_script_sortedmulti_0_0/00002.png and b/tests/snapshots/flex/test_register_wallet_tr_script_sortedmulti_0_0/00002.png differ diff --git a/tests/snapshots/flex/test_register_wallet_tr_script_sortedmulti_1_0/00000.png b/tests/snapshots/flex/test_register_wallet_tr_script_sortedmulti_1_0/00000.png index 219c24e78..0666862ae 100644 Binary files a/tests/snapshots/flex/test_register_wallet_tr_script_sortedmulti_1_0/00000.png and b/tests/snapshots/flex/test_register_wallet_tr_script_sortedmulti_1_0/00000.png differ diff --git a/tests/snapshots/flex/test_register_wallet_tr_script_sortedmulti_1_0/00001.png b/tests/snapshots/flex/test_register_wallet_tr_script_sortedmulti_1_0/00001.png index 6d292e546..8eaddfd38 100644 Binary files a/tests/snapshots/flex/test_register_wallet_tr_script_sortedmulti_1_0/00001.png and b/tests/snapshots/flex/test_register_wallet_tr_script_sortedmulti_1_0/00001.png differ diff --git a/tests/snapshots/flex/test_register_wallet_tr_script_sortedmulti_1_0/00002.png b/tests/snapshots/flex/test_register_wallet_tr_script_sortedmulti_1_0/00002.png index 8aea267d0..600259061 100644 Binary files a/tests/snapshots/flex/test_register_wallet_tr_script_sortedmulti_1_0/00002.png and b/tests/snapshots/flex/test_register_wallet_tr_script_sortedmulti_1_0/00002.png differ diff --git a/tests/snapshots/flex/test_register_wallet_tr_script_sortedmulti_1_0/00003.png b/tests/snapshots/flex/test_register_wallet_tr_script_sortedmulti_1_0/00003.png index 00ddecee0..084107e3e 100644 Binary files a/tests/snapshots/flex/test_register_wallet_tr_script_sortedmulti_1_0/00003.png and b/tests/snapshots/flex/test_register_wallet_tr_script_sortedmulti_1_0/00003.png differ diff --git a/tests/snapshots/flex/test_register_wallet_tr_script_sortedmulti_2_0/00000.png b/tests/snapshots/flex/test_register_wallet_tr_script_sortedmulti_2_0/00000.png index 219c24e78..0666862ae 100644 Binary files a/tests/snapshots/flex/test_register_wallet_tr_script_sortedmulti_2_0/00000.png and b/tests/snapshots/flex/test_register_wallet_tr_script_sortedmulti_2_0/00000.png differ diff --git a/tests/snapshots/flex/test_register_wallet_tr_script_sortedmulti_2_0/00001.png b/tests/snapshots/flex/test_register_wallet_tr_script_sortedmulti_2_0/00001.png index 9a327076d..e88719d0e 100644 Binary files a/tests/snapshots/flex/test_register_wallet_tr_script_sortedmulti_2_0/00001.png and b/tests/snapshots/flex/test_register_wallet_tr_script_sortedmulti_2_0/00001.png differ diff --git a/tests/snapshots/flex/test_register_wallet_tr_script_sortedmulti_2_0/00002.png b/tests/snapshots/flex/test_register_wallet_tr_script_sortedmulti_2_0/00002.png index 69241c21a..4450f382a 100644 Binary files a/tests/snapshots/flex/test_register_wallet_tr_script_sortedmulti_2_0/00002.png and b/tests/snapshots/flex/test_register_wallet_tr_script_sortedmulti_2_0/00002.png differ diff --git a/tests/snapshots/flex/test_register_wallet_tr_script_sortedmulti_2_0/00003.png b/tests/snapshots/flex/test_register_wallet_tr_script_sortedmulti_2_0/00003.png index 00ddecee0..084107e3e 100644 Binary files a/tests/snapshots/flex/test_register_wallet_tr_script_sortedmulti_2_0/00003.png and b/tests/snapshots/flex/test_register_wallet_tr_script_sortedmulti_2_0/00003.png differ diff --git a/tests/snapshots/flex/test_register_wallet_tr_script_sortedmulti_3_0/00000.png b/tests/snapshots/flex/test_register_wallet_tr_script_sortedmulti_3_0/00000.png index 219c24e78..0666862ae 100644 Binary files a/tests/snapshots/flex/test_register_wallet_tr_script_sortedmulti_3_0/00000.png and b/tests/snapshots/flex/test_register_wallet_tr_script_sortedmulti_3_0/00000.png differ diff --git a/tests/snapshots/flex/test_register_wallet_tr_script_sortedmulti_3_0/00001.png b/tests/snapshots/flex/test_register_wallet_tr_script_sortedmulti_3_0/00001.png index b95cac7f6..a50c2f95f 100644 Binary files a/tests/snapshots/flex/test_register_wallet_tr_script_sortedmulti_3_0/00001.png and b/tests/snapshots/flex/test_register_wallet_tr_script_sortedmulti_3_0/00001.png differ diff --git a/tests/snapshots/flex/test_register_wallet_tr_script_sortedmulti_3_0/00002.png b/tests/snapshots/flex/test_register_wallet_tr_script_sortedmulti_3_0/00002.png index 56c30b1db..1ae925a23 100644 Binary files a/tests/snapshots/flex/test_register_wallet_tr_script_sortedmulti_3_0/00002.png and b/tests/snapshots/flex/test_register_wallet_tr_script_sortedmulti_3_0/00002.png differ diff --git a/tests/snapshots/flex/test_register_wallet_tr_script_sortedmulti_3_0/00003.png b/tests/snapshots/flex/test_register_wallet_tr_script_sortedmulti_3_0/00003.png index 00ddecee0..084107e3e 100644 Binary files a/tests/snapshots/flex/test_register_wallet_tr_script_sortedmulti_3_0/00003.png and b/tests/snapshots/flex/test_register_wallet_tr_script_sortedmulti_3_0/00003.png differ diff --git a/tests/snapshots/flex/test_register_wallet_tr_with_nums_keypath_0_0/00000.png b/tests/snapshots/flex/test_register_wallet_tr_with_nums_keypath_0_0/00000.png index 9f0313910..9a1a87733 100644 Binary files a/tests/snapshots/flex/test_register_wallet_tr_with_nums_keypath_0_0/00000.png and b/tests/snapshots/flex/test_register_wallet_tr_with_nums_keypath_0_0/00000.png differ diff --git a/tests/snapshots/flex/test_register_wallet_tr_with_nums_keypath_0_0/00001.png b/tests/snapshots/flex/test_register_wallet_tr_with_nums_keypath_0_0/00001.png index 6999a9c34..d82ce98bc 100644 Binary files a/tests/snapshots/flex/test_register_wallet_tr_with_nums_keypath_0_0/00001.png and b/tests/snapshots/flex/test_register_wallet_tr_with_nums_keypath_0_0/00001.png differ diff --git a/tests/snapshots/flex/test_register_wallet_tr_with_nums_keypath_0_0/00002.png b/tests/snapshots/flex/test_register_wallet_tr_with_nums_keypath_0_0/00002.png index 2e1a485b1..c4e970cb1 100644 Binary files a/tests/snapshots/flex/test_register_wallet_tr_with_nums_keypath_0_0/00002.png and b/tests/snapshots/flex/test_register_wallet_tr_with_nums_keypath_0_0/00002.png differ diff --git a/tests/snapshots/flex/test_register_wallet_tr_with_nums_keypath_1_0/00000.png b/tests/snapshots/flex/test_register_wallet_tr_with_nums_keypath_1_0/00000.png index 219c24e78..0666862ae 100644 Binary files a/tests/snapshots/flex/test_register_wallet_tr_with_nums_keypath_1_0/00000.png and b/tests/snapshots/flex/test_register_wallet_tr_with_nums_keypath_1_0/00000.png differ diff --git a/tests/snapshots/flex/test_register_wallet_tr_with_nums_keypath_1_0/00001.png b/tests/snapshots/flex/test_register_wallet_tr_with_nums_keypath_1_0/00001.png index 5ba01dcf5..8da837df0 100644 Binary files a/tests/snapshots/flex/test_register_wallet_tr_with_nums_keypath_1_0/00001.png and b/tests/snapshots/flex/test_register_wallet_tr_with_nums_keypath_1_0/00001.png differ diff --git a/tests/snapshots/flex/test_register_wallet_tr_with_nums_keypath_1_0/00002.png b/tests/snapshots/flex/test_register_wallet_tr_with_nums_keypath_1_0/00002.png index d7f999bc2..b4569e490 100644 Binary files a/tests/snapshots/flex/test_register_wallet_tr_with_nums_keypath_1_0/00002.png and b/tests/snapshots/flex/test_register_wallet_tr_with_nums_keypath_1_0/00002.png differ diff --git a/tests/snapshots/flex/test_register_wallet_tr_with_nums_keypath_1_0/00003.png b/tests/snapshots/flex/test_register_wallet_tr_with_nums_keypath_1_0/00003.png index 00ddecee0..084107e3e 100644 Binary files a/tests/snapshots/flex/test_register_wallet_tr_with_nums_keypath_1_0/00003.png and b/tests/snapshots/flex/test_register_wallet_tr_with_nums_keypath_1_0/00003.png differ diff --git a/tests/snapshots/flex/test_register_wallet_tr_with_nums_keypath_2_0/00000.png b/tests/snapshots/flex/test_register_wallet_tr_with_nums_keypath_2_0/00000.png index 219c24e78..0666862ae 100644 Binary files a/tests/snapshots/flex/test_register_wallet_tr_with_nums_keypath_2_0/00000.png and b/tests/snapshots/flex/test_register_wallet_tr_with_nums_keypath_2_0/00000.png differ diff --git a/tests/snapshots/flex/test_register_wallet_tr_with_nums_keypath_2_0/00001.png b/tests/snapshots/flex/test_register_wallet_tr_with_nums_keypath_2_0/00001.png index 1d5913de5..16d271aea 100644 Binary files a/tests/snapshots/flex/test_register_wallet_tr_with_nums_keypath_2_0/00001.png and b/tests/snapshots/flex/test_register_wallet_tr_with_nums_keypath_2_0/00001.png differ diff --git a/tests/snapshots/flex/test_register_wallet_tr_with_nums_keypath_2_0/00002.png b/tests/snapshots/flex/test_register_wallet_tr_with_nums_keypath_2_0/00002.png index 56c30b1db..1ae925a23 100644 Binary files a/tests/snapshots/flex/test_register_wallet_tr_with_nums_keypath_2_0/00002.png and b/tests/snapshots/flex/test_register_wallet_tr_with_nums_keypath_2_0/00002.png differ diff --git a/tests/snapshots/flex/test_register_wallet_tr_with_nums_keypath_2_0/00003.png b/tests/snapshots/flex/test_register_wallet_tr_with_nums_keypath_2_0/00003.png index 00ddecee0..084107e3e 100644 Binary files a/tests/snapshots/flex/test_register_wallet_tr_with_nums_keypath_2_0/00003.png and b/tests/snapshots/flex/test_register_wallet_tr_with_nums_keypath_2_0/00003.png differ diff --git a/tests/snapshots/flex/test_register_wallet_with_long_name_0_0/00000.png b/tests/snapshots/flex/test_register_wallet_with_long_name_0_0/00000.png index 9f0313910..9a1a87733 100644 Binary files a/tests/snapshots/flex/test_register_wallet_with_long_name_0_0/00000.png and b/tests/snapshots/flex/test_register_wallet_with_long_name_0_0/00000.png differ diff --git a/tests/snapshots/flex/test_register_wallet_with_long_name_0_0/00001.png b/tests/snapshots/flex/test_register_wallet_with_long_name_0_0/00001.png index 3e3ad570d..bbbb16ec3 100644 Binary files a/tests/snapshots/flex/test_register_wallet_with_long_name_0_0/00001.png and b/tests/snapshots/flex/test_register_wallet_with_long_name_0_0/00001.png differ diff --git a/tests/snapshots/flex/test_register_wallet_with_long_name_0_0/00002.png b/tests/snapshots/flex/test_register_wallet_with_long_name_0_0/00002.png index 2e1a485b1..c4e970cb1 100644 Binary files a/tests/snapshots/flex/test_register_wallet_with_long_name_0_0/00002.png and b/tests/snapshots/flex/test_register_wallet_with_long_name_0_0/00002.png differ diff --git a/tests/snapshots/flex/test_register_wallet_with_long_name_1_0/00000.png b/tests/snapshots/flex/test_register_wallet_with_long_name_1_0/00000.png index 219c24e78..0666862ae 100644 Binary files a/tests/snapshots/flex/test_register_wallet_with_long_name_1_0/00000.png and b/tests/snapshots/flex/test_register_wallet_with_long_name_1_0/00000.png differ diff --git a/tests/snapshots/flex/test_register_wallet_with_long_name_1_0/00001.png b/tests/snapshots/flex/test_register_wallet_with_long_name_1_0/00001.png index 64ae28514..e58442a27 100644 Binary files a/tests/snapshots/flex/test_register_wallet_with_long_name_1_0/00001.png and b/tests/snapshots/flex/test_register_wallet_with_long_name_1_0/00001.png differ diff --git a/tests/snapshots/flex/test_register_wallet_with_long_name_1_0/00002.png b/tests/snapshots/flex/test_register_wallet_with_long_name_1_0/00002.png index 69241c21a..4450f382a 100644 Binary files a/tests/snapshots/flex/test_register_wallet_with_long_name_1_0/00002.png and b/tests/snapshots/flex/test_register_wallet_with_long_name_1_0/00002.png differ diff --git a/tests/snapshots/flex/test_register_wallet_with_long_name_1_0/00003.png b/tests/snapshots/flex/test_register_wallet_with_long_name_1_0/00003.png index 00ddecee0..084107e3e 100644 Binary files a/tests/snapshots/flex/test_register_wallet_with_long_name_1_0/00003.png and b/tests/snapshots/flex/test_register_wallet_with_long_name_1_0/00003.png differ diff --git a/tests/snapshots/flex/test_register_wallet_with_long_name_2_0/00000.png b/tests/snapshots/flex/test_register_wallet_with_long_name_2_0/00000.png index 219c24e78..0666862ae 100644 Binary files a/tests/snapshots/flex/test_register_wallet_with_long_name_2_0/00000.png and b/tests/snapshots/flex/test_register_wallet_with_long_name_2_0/00000.png differ diff --git a/tests/snapshots/flex/test_register_wallet_with_long_name_2_0/00001.png b/tests/snapshots/flex/test_register_wallet_with_long_name_2_0/00001.png index 1d5913de5..16d271aea 100644 Binary files a/tests/snapshots/flex/test_register_wallet_with_long_name_2_0/00001.png and b/tests/snapshots/flex/test_register_wallet_with_long_name_2_0/00001.png differ diff --git a/tests/snapshots/flex/test_register_wallet_with_long_name_2_0/00002.png b/tests/snapshots/flex/test_register_wallet_with_long_name_2_0/00002.png index 56c30b1db..1ae925a23 100644 Binary files a/tests/snapshots/flex/test_register_wallet_with_long_name_2_0/00002.png and b/tests/snapshots/flex/test_register_wallet_with_long_name_2_0/00002.png differ diff --git a/tests/snapshots/flex/test_register_wallet_with_long_name_2_0/00003.png b/tests/snapshots/flex/test_register_wallet_with_long_name_2_0/00003.png index 00ddecee0..084107e3e 100644 Binary files a/tests/snapshots/flex/test_register_wallet_with_long_name_2_0/00003.png and b/tests/snapshots/flex/test_register_wallet_with_long_name_2_0/00003.png differ diff --git a/tests/snapshots/flex/test_sighash_all_anyone_input_changed_1_0/00000.png b/tests/snapshots/flex/test_sighash_all_anyone_input_changed_1_0/00000.png index 0cfe1e08b..a3186a71a 100644 Binary files a/tests/snapshots/flex/test_sighash_all_anyone_input_changed_1_0/00000.png and b/tests/snapshots/flex/test_sighash_all_anyone_input_changed_1_0/00000.png differ diff --git a/tests/snapshots/flex/test_sighash_all_anyone_input_changed_2_0/00000.png b/tests/snapshots/flex/test_sighash_all_anyone_input_changed_2_0/00000.png index 55343f768..5b77a9dcd 100644 Binary files a/tests/snapshots/flex/test_sighash_all_anyone_input_changed_2_0/00000.png and b/tests/snapshots/flex/test_sighash_all_anyone_input_changed_2_0/00000.png differ diff --git a/tests/snapshots/flex/test_sighash_all_anyone_input_changed_2_1/00000.png b/tests/snapshots/flex/test_sighash_all_anyone_input_changed_2_1/00000.png index de71ee577..3a690c15b 100644 Binary files a/tests/snapshots/flex/test_sighash_all_anyone_input_changed_2_1/00000.png and b/tests/snapshots/flex/test_sighash_all_anyone_input_changed_2_1/00000.png differ diff --git a/tests/snapshots/flex/test_sighash_all_anyone_input_changed_2_2/00000.png b/tests/snapshots/flex/test_sighash_all_anyone_input_changed_2_2/00000.png index 78571a283..747e80924 100644 Binary files a/tests/snapshots/flex/test_sighash_all_anyone_input_changed_2_2/00000.png and b/tests/snapshots/flex/test_sighash_all_anyone_input_changed_2_2/00000.png differ diff --git a/tests/snapshots/flex/test_sighash_all_anyone_output_changed_1_0/00000.png b/tests/snapshots/flex/test_sighash_all_anyone_output_changed_1_0/00000.png index 0cfe1e08b..a3186a71a 100644 Binary files a/tests/snapshots/flex/test_sighash_all_anyone_output_changed_1_0/00000.png and b/tests/snapshots/flex/test_sighash_all_anyone_output_changed_1_0/00000.png differ diff --git a/tests/snapshots/flex/test_sighash_all_anyone_output_changed_2_0/00000.png b/tests/snapshots/flex/test_sighash_all_anyone_output_changed_2_0/00000.png index 55343f768..5b77a9dcd 100644 Binary files a/tests/snapshots/flex/test_sighash_all_anyone_output_changed_2_0/00000.png and b/tests/snapshots/flex/test_sighash_all_anyone_output_changed_2_0/00000.png differ diff --git a/tests/snapshots/flex/test_sighash_all_anyone_output_changed_2_1/00000.png b/tests/snapshots/flex/test_sighash_all_anyone_output_changed_2_1/00000.png index 2b925f3fd..0ac58635d 100644 Binary files a/tests/snapshots/flex/test_sighash_all_anyone_output_changed_2_1/00000.png and b/tests/snapshots/flex/test_sighash_all_anyone_output_changed_2_1/00000.png differ diff --git a/tests/snapshots/flex/test_sighash_all_anyone_output_changed_2_2/00000.png b/tests/snapshots/flex/test_sighash_all_anyone_output_changed_2_2/00000.png index 78571a283..747e80924 100644 Binary files a/tests/snapshots/flex/test_sighash_all_anyone_output_changed_2_2/00000.png and b/tests/snapshots/flex/test_sighash_all_anyone_output_changed_2_2/00000.png differ diff --git a/tests/snapshots/flex/test_sighash_all_anyone_sign_1_0/00000.png b/tests/snapshots/flex/test_sighash_all_anyone_sign_1_0/00000.png index 0cfe1e08b..a3186a71a 100644 Binary files a/tests/snapshots/flex/test_sighash_all_anyone_sign_1_0/00000.png and b/tests/snapshots/flex/test_sighash_all_anyone_sign_1_0/00000.png differ diff --git a/tests/snapshots/flex/test_sighash_all_anyone_sign_2_0/00000.png b/tests/snapshots/flex/test_sighash_all_anyone_sign_2_0/00000.png index 55343f768..5b77a9dcd 100644 Binary files a/tests/snapshots/flex/test_sighash_all_anyone_sign_2_0/00000.png and b/tests/snapshots/flex/test_sighash_all_anyone_sign_2_0/00000.png differ diff --git a/tests/snapshots/flex/test_sighash_all_anyone_sign_2_1/00000.png b/tests/snapshots/flex/test_sighash_all_anyone_sign_2_1/00000.png index de71ee577..3a690c15b 100644 Binary files a/tests/snapshots/flex/test_sighash_all_anyone_sign_2_1/00000.png and b/tests/snapshots/flex/test_sighash_all_anyone_sign_2_1/00000.png differ diff --git a/tests/snapshots/flex/test_sighash_all_anyone_sign_2_2/00000.png b/tests/snapshots/flex/test_sighash_all_anyone_sign_2_2/00000.png index 78571a283..747e80924 100644 Binary files a/tests/snapshots/flex/test_sighash_all_anyone_sign_2_2/00000.png and b/tests/snapshots/flex/test_sighash_all_anyone_sign_2_2/00000.png differ diff --git a/tests/snapshots/flex/test_sighash_all_input_modified_0_0/00000.png b/tests/snapshots/flex/test_sighash_all_input_modified_0_0/00000.png index 0cfe1e08b..a3186a71a 100644 Binary files a/tests/snapshots/flex/test_sighash_all_input_modified_0_0/00000.png and b/tests/snapshots/flex/test_sighash_all_input_modified_0_0/00000.png differ diff --git a/tests/snapshots/flex/test_sighash_all_input_modified_1_0/00000.png b/tests/snapshots/flex/test_sighash_all_input_modified_1_0/00000.png index 55343f768..5b77a9dcd 100644 Binary files a/tests/snapshots/flex/test_sighash_all_input_modified_1_0/00000.png and b/tests/snapshots/flex/test_sighash_all_input_modified_1_0/00000.png differ diff --git a/tests/snapshots/flex/test_sighash_all_input_modified_1_1/00000.png b/tests/snapshots/flex/test_sighash_all_input_modified_1_1/00000.png index de71ee577..3a690c15b 100644 Binary files a/tests/snapshots/flex/test_sighash_all_input_modified_1_1/00000.png and b/tests/snapshots/flex/test_sighash_all_input_modified_1_1/00000.png differ diff --git a/tests/snapshots/flex/test_sighash_all_input_modified_1_2/00000.png b/tests/snapshots/flex/test_sighash_all_input_modified_1_2/00000.png index 78571a283..747e80924 100644 Binary files a/tests/snapshots/flex/test_sighash_all_input_modified_1_2/00000.png and b/tests/snapshots/flex/test_sighash_all_input_modified_1_2/00000.png differ diff --git a/tests/snapshots/flex/test_sighash_all_output_modified_0_0/00000.png b/tests/snapshots/flex/test_sighash_all_output_modified_0_0/00000.png index 0cfe1e08b..a3186a71a 100644 Binary files a/tests/snapshots/flex/test_sighash_all_output_modified_0_0/00000.png and b/tests/snapshots/flex/test_sighash_all_output_modified_0_0/00000.png differ diff --git a/tests/snapshots/flex/test_sighash_all_output_modified_1_0/00000.png b/tests/snapshots/flex/test_sighash_all_output_modified_1_0/00000.png index 55343f768..5b77a9dcd 100644 Binary files a/tests/snapshots/flex/test_sighash_all_output_modified_1_0/00000.png and b/tests/snapshots/flex/test_sighash_all_output_modified_1_0/00000.png differ diff --git a/tests/snapshots/flex/test_sighash_all_output_modified_1_1/00000.png b/tests/snapshots/flex/test_sighash_all_output_modified_1_1/00000.png index 2b925f3fd..0ac58635d 100644 Binary files a/tests/snapshots/flex/test_sighash_all_output_modified_1_1/00000.png and b/tests/snapshots/flex/test_sighash_all_output_modified_1_1/00000.png differ diff --git a/tests/snapshots/flex/test_sighash_all_output_modified_1_2/00000.png b/tests/snapshots/flex/test_sighash_all_output_modified_1_2/00000.png index 78571a283..747e80924 100644 Binary files a/tests/snapshots/flex/test_sighash_all_output_modified_1_2/00000.png and b/tests/snapshots/flex/test_sighash_all_output_modified_1_2/00000.png differ diff --git a/tests/snapshots/flex/test_sighash_all_sign_psbt_0_0/00000.png b/tests/snapshots/flex/test_sighash_all_sign_psbt_0_0/00000.png index 0cfe1e08b..a3186a71a 100644 Binary files a/tests/snapshots/flex/test_sighash_all_sign_psbt_0_0/00000.png and b/tests/snapshots/flex/test_sighash_all_sign_psbt_0_0/00000.png differ diff --git a/tests/snapshots/flex/test_sighash_all_sign_psbt_1_0/00000.png b/tests/snapshots/flex/test_sighash_all_sign_psbt_1_0/00000.png index 55343f768..5b77a9dcd 100644 Binary files a/tests/snapshots/flex/test_sighash_all_sign_psbt_1_0/00000.png and b/tests/snapshots/flex/test_sighash_all_sign_psbt_1_0/00000.png differ diff --git a/tests/snapshots/flex/test_sighash_all_sign_psbt_1_1/00000.png b/tests/snapshots/flex/test_sighash_all_sign_psbt_1_1/00000.png index de71ee577..3a690c15b 100644 Binary files a/tests/snapshots/flex/test_sighash_all_sign_psbt_1_1/00000.png and b/tests/snapshots/flex/test_sighash_all_sign_psbt_1_1/00000.png differ diff --git a/tests/snapshots/flex/test_sighash_all_sign_psbt_1_2/00000.png b/tests/snapshots/flex/test_sighash_all_sign_psbt_1_2/00000.png index 78571a283..747e80924 100644 Binary files a/tests/snapshots/flex/test_sighash_all_sign_psbt_1_2/00000.png and b/tests/snapshots/flex/test_sighash_all_sign_psbt_1_2/00000.png differ diff --git a/tests/snapshots/flex/test_sighash_none_anyone_input_changed_1_0/00000.png b/tests/snapshots/flex/test_sighash_none_anyone_input_changed_1_0/00000.png index 0cfe1e08b..a3186a71a 100644 Binary files a/tests/snapshots/flex/test_sighash_none_anyone_input_changed_1_0/00000.png and b/tests/snapshots/flex/test_sighash_none_anyone_input_changed_1_0/00000.png differ diff --git a/tests/snapshots/flex/test_sighash_none_anyone_input_changed_2_0/00000.png b/tests/snapshots/flex/test_sighash_none_anyone_input_changed_2_0/00000.png index 55343f768..5b77a9dcd 100644 Binary files a/tests/snapshots/flex/test_sighash_none_anyone_input_changed_2_0/00000.png and b/tests/snapshots/flex/test_sighash_none_anyone_input_changed_2_0/00000.png differ diff --git a/tests/snapshots/flex/test_sighash_none_anyone_input_changed_2_1/00000.png b/tests/snapshots/flex/test_sighash_none_anyone_input_changed_2_1/00000.png index de71ee577..3a690c15b 100644 Binary files a/tests/snapshots/flex/test_sighash_none_anyone_input_changed_2_1/00000.png and b/tests/snapshots/flex/test_sighash_none_anyone_input_changed_2_1/00000.png differ diff --git a/tests/snapshots/flex/test_sighash_none_anyone_input_changed_2_2/00000.png b/tests/snapshots/flex/test_sighash_none_anyone_input_changed_2_2/00000.png index 78571a283..747e80924 100644 Binary files a/tests/snapshots/flex/test_sighash_none_anyone_input_changed_2_2/00000.png and b/tests/snapshots/flex/test_sighash_none_anyone_input_changed_2_2/00000.png differ diff --git a/tests/snapshots/flex/test_sighash_none_anyone_output_changed_1_0/00000.png b/tests/snapshots/flex/test_sighash_none_anyone_output_changed_1_0/00000.png index 0cfe1e08b..a3186a71a 100644 Binary files a/tests/snapshots/flex/test_sighash_none_anyone_output_changed_1_0/00000.png and b/tests/snapshots/flex/test_sighash_none_anyone_output_changed_1_0/00000.png differ diff --git a/tests/snapshots/flex/test_sighash_none_anyone_output_changed_2_0/00000.png b/tests/snapshots/flex/test_sighash_none_anyone_output_changed_2_0/00000.png index 55343f768..5b77a9dcd 100644 Binary files a/tests/snapshots/flex/test_sighash_none_anyone_output_changed_2_0/00000.png and b/tests/snapshots/flex/test_sighash_none_anyone_output_changed_2_0/00000.png differ diff --git a/tests/snapshots/flex/test_sighash_none_anyone_output_changed_2_1/00000.png b/tests/snapshots/flex/test_sighash_none_anyone_output_changed_2_1/00000.png index 2b925f3fd..0ac58635d 100644 Binary files a/tests/snapshots/flex/test_sighash_none_anyone_output_changed_2_1/00000.png and b/tests/snapshots/flex/test_sighash_none_anyone_output_changed_2_1/00000.png differ diff --git a/tests/snapshots/flex/test_sighash_none_anyone_output_changed_2_2/00000.png b/tests/snapshots/flex/test_sighash_none_anyone_output_changed_2_2/00000.png index 78571a283..747e80924 100644 Binary files a/tests/snapshots/flex/test_sighash_none_anyone_output_changed_2_2/00000.png and b/tests/snapshots/flex/test_sighash_none_anyone_output_changed_2_2/00000.png differ diff --git a/tests/snapshots/flex/test_sighash_none_anyone_sign_1_0/00000.png b/tests/snapshots/flex/test_sighash_none_anyone_sign_1_0/00000.png index 0cfe1e08b..a3186a71a 100644 Binary files a/tests/snapshots/flex/test_sighash_none_anyone_sign_1_0/00000.png and b/tests/snapshots/flex/test_sighash_none_anyone_sign_1_0/00000.png differ diff --git a/tests/snapshots/flex/test_sighash_none_anyone_sign_2_0/00000.png b/tests/snapshots/flex/test_sighash_none_anyone_sign_2_0/00000.png index 55343f768..5b77a9dcd 100644 Binary files a/tests/snapshots/flex/test_sighash_none_anyone_sign_2_0/00000.png and b/tests/snapshots/flex/test_sighash_none_anyone_sign_2_0/00000.png differ diff --git a/tests/snapshots/flex/test_sighash_none_anyone_sign_2_1/00000.png b/tests/snapshots/flex/test_sighash_none_anyone_sign_2_1/00000.png index de71ee577..3a690c15b 100644 Binary files a/tests/snapshots/flex/test_sighash_none_anyone_sign_2_1/00000.png and b/tests/snapshots/flex/test_sighash_none_anyone_sign_2_1/00000.png differ diff --git a/tests/snapshots/flex/test_sighash_none_anyone_sign_2_2/00000.png b/tests/snapshots/flex/test_sighash_none_anyone_sign_2_2/00000.png index 78571a283..747e80924 100644 Binary files a/tests/snapshots/flex/test_sighash_none_anyone_sign_2_2/00000.png and b/tests/snapshots/flex/test_sighash_none_anyone_sign_2_2/00000.png differ diff --git a/tests/snapshots/flex/test_sighash_none_input_modified_1_0/00000.png b/tests/snapshots/flex/test_sighash_none_input_modified_1_0/00000.png index 0cfe1e08b..a3186a71a 100644 Binary files a/tests/snapshots/flex/test_sighash_none_input_modified_1_0/00000.png and b/tests/snapshots/flex/test_sighash_none_input_modified_1_0/00000.png differ diff --git a/tests/snapshots/flex/test_sighash_none_input_modified_2_0/00000.png b/tests/snapshots/flex/test_sighash_none_input_modified_2_0/00000.png index 55343f768..5b77a9dcd 100644 Binary files a/tests/snapshots/flex/test_sighash_none_input_modified_2_0/00000.png and b/tests/snapshots/flex/test_sighash_none_input_modified_2_0/00000.png differ diff --git a/tests/snapshots/flex/test_sighash_none_input_modified_2_1/00000.png b/tests/snapshots/flex/test_sighash_none_input_modified_2_1/00000.png index de71ee577..3a690c15b 100644 Binary files a/tests/snapshots/flex/test_sighash_none_input_modified_2_1/00000.png and b/tests/snapshots/flex/test_sighash_none_input_modified_2_1/00000.png differ diff --git a/tests/snapshots/flex/test_sighash_none_input_modified_2_2/00000.png b/tests/snapshots/flex/test_sighash_none_input_modified_2_2/00000.png index 78571a283..747e80924 100644 Binary files a/tests/snapshots/flex/test_sighash_none_input_modified_2_2/00000.png and b/tests/snapshots/flex/test_sighash_none_input_modified_2_2/00000.png differ diff --git a/tests/snapshots/flex/test_sighash_none_output_modified_1_0/00000.png b/tests/snapshots/flex/test_sighash_none_output_modified_1_0/00000.png index 0cfe1e08b..a3186a71a 100644 Binary files a/tests/snapshots/flex/test_sighash_none_output_modified_1_0/00000.png and b/tests/snapshots/flex/test_sighash_none_output_modified_1_0/00000.png differ diff --git a/tests/snapshots/flex/test_sighash_none_output_modified_2_0/00000.png b/tests/snapshots/flex/test_sighash_none_output_modified_2_0/00000.png index 55343f768..5b77a9dcd 100644 Binary files a/tests/snapshots/flex/test_sighash_none_output_modified_2_0/00000.png and b/tests/snapshots/flex/test_sighash_none_output_modified_2_0/00000.png differ diff --git a/tests/snapshots/flex/test_sighash_none_output_modified_2_1/00000.png b/tests/snapshots/flex/test_sighash_none_output_modified_2_1/00000.png index 2b925f3fd..0ac58635d 100644 Binary files a/tests/snapshots/flex/test_sighash_none_output_modified_2_1/00000.png and b/tests/snapshots/flex/test_sighash_none_output_modified_2_1/00000.png differ diff --git a/tests/snapshots/flex/test_sighash_none_output_modified_2_2/00000.png b/tests/snapshots/flex/test_sighash_none_output_modified_2_2/00000.png index 78571a283..747e80924 100644 Binary files a/tests/snapshots/flex/test_sighash_none_output_modified_2_2/00000.png and b/tests/snapshots/flex/test_sighash_none_output_modified_2_2/00000.png differ diff --git a/tests/snapshots/flex/test_sighash_none_sign_psbt_1_0/00000.png b/tests/snapshots/flex/test_sighash_none_sign_psbt_1_0/00000.png index 0cfe1e08b..a3186a71a 100644 Binary files a/tests/snapshots/flex/test_sighash_none_sign_psbt_1_0/00000.png and b/tests/snapshots/flex/test_sighash_none_sign_psbt_1_0/00000.png differ diff --git a/tests/snapshots/flex/test_sighash_none_sign_psbt_2_0/00000.png b/tests/snapshots/flex/test_sighash_none_sign_psbt_2_0/00000.png index 55343f768..5b77a9dcd 100644 Binary files a/tests/snapshots/flex/test_sighash_none_sign_psbt_2_0/00000.png and b/tests/snapshots/flex/test_sighash_none_sign_psbt_2_0/00000.png differ diff --git a/tests/snapshots/flex/test_sighash_none_sign_psbt_2_1/00000.png b/tests/snapshots/flex/test_sighash_none_sign_psbt_2_1/00000.png index de71ee577..3a690c15b 100644 Binary files a/tests/snapshots/flex/test_sighash_none_sign_psbt_2_1/00000.png and b/tests/snapshots/flex/test_sighash_none_sign_psbt_2_1/00000.png differ diff --git a/tests/snapshots/flex/test_sighash_none_sign_psbt_2_2/00000.png b/tests/snapshots/flex/test_sighash_none_sign_psbt_2_2/00000.png index 78571a283..747e80924 100644 Binary files a/tests/snapshots/flex/test_sighash_none_sign_psbt_2_2/00000.png and b/tests/snapshots/flex/test_sighash_none_sign_psbt_2_2/00000.png differ diff --git a/tests/snapshots/flex/test_sighash_segwitv0_sighash1_0_0/00000.png b/tests/snapshots/flex/test_sighash_segwitv0_sighash1_0_0/00000.png index 0cfe1e08b..a3186a71a 100644 Binary files a/tests/snapshots/flex/test_sighash_segwitv0_sighash1_0_0/00000.png and b/tests/snapshots/flex/test_sighash_segwitv0_sighash1_0_0/00000.png differ diff --git a/tests/snapshots/flex/test_sighash_segwitv0_sighash1_1_0/00000.png b/tests/snapshots/flex/test_sighash_segwitv0_sighash1_1_0/00000.png index 7dd34c9fc..b17ff891e 100644 Binary files a/tests/snapshots/flex/test_sighash_segwitv0_sighash1_1_0/00000.png and b/tests/snapshots/flex/test_sighash_segwitv0_sighash1_1_0/00000.png differ diff --git a/tests/snapshots/flex/test_sighash_segwitv0_sighash1_2_0/00000.png b/tests/snapshots/flex/test_sighash_segwitv0_sighash1_2_0/00000.png index 645da9d44..65b864d7d 100644 Binary files a/tests/snapshots/flex/test_sighash_segwitv0_sighash1_2_0/00000.png and b/tests/snapshots/flex/test_sighash_segwitv0_sighash1_2_0/00000.png differ diff --git a/tests/snapshots/flex/test_sighash_segwitv0_sighash1_2_1/00000.png b/tests/snapshots/flex/test_sighash_segwitv0_sighash1_2_1/00000.png index 78571a283..747e80924 100644 Binary files a/tests/snapshots/flex/test_sighash_segwitv0_sighash1_2_1/00000.png and b/tests/snapshots/flex/test_sighash_segwitv0_sighash1_2_1/00000.png differ diff --git a/tests/snapshots/flex/test_sighash_segwitv0_sighash2_1_0/00000.png b/tests/snapshots/flex/test_sighash_segwitv0_sighash2_1_0/00000.png index 0cfe1e08b..a3186a71a 100644 Binary files a/tests/snapshots/flex/test_sighash_segwitv0_sighash2_1_0/00000.png and b/tests/snapshots/flex/test_sighash_segwitv0_sighash2_1_0/00000.png differ diff --git a/tests/snapshots/flex/test_sighash_segwitv0_sighash2_2_0/00000.png b/tests/snapshots/flex/test_sighash_segwitv0_sighash2_2_0/00000.png index 7dd34c9fc..b17ff891e 100644 Binary files a/tests/snapshots/flex/test_sighash_segwitv0_sighash2_2_0/00000.png and b/tests/snapshots/flex/test_sighash_segwitv0_sighash2_2_0/00000.png differ diff --git a/tests/snapshots/flex/test_sighash_segwitv0_sighash2_3_0/00000.png b/tests/snapshots/flex/test_sighash_segwitv0_sighash2_3_0/00000.png index 645da9d44..65b864d7d 100644 Binary files a/tests/snapshots/flex/test_sighash_segwitv0_sighash2_3_0/00000.png and b/tests/snapshots/flex/test_sighash_segwitv0_sighash2_3_0/00000.png differ diff --git a/tests/snapshots/flex/test_sighash_segwitv0_sighash2_3_1/00000.png b/tests/snapshots/flex/test_sighash_segwitv0_sighash2_3_1/00000.png index 78571a283..747e80924 100644 Binary files a/tests/snapshots/flex/test_sighash_segwitv0_sighash2_3_1/00000.png and b/tests/snapshots/flex/test_sighash_segwitv0_sighash2_3_1/00000.png differ diff --git a/tests/snapshots/flex/test_sighash_segwitv0_sighash3_1_0/00000.png b/tests/snapshots/flex/test_sighash_segwitv0_sighash3_1_0/00000.png index 0cfe1e08b..a3186a71a 100644 Binary files a/tests/snapshots/flex/test_sighash_segwitv0_sighash3_1_0/00000.png and b/tests/snapshots/flex/test_sighash_segwitv0_sighash3_1_0/00000.png differ diff --git a/tests/snapshots/flex/test_sighash_segwitv0_sighash3_2_0/00000.png b/tests/snapshots/flex/test_sighash_segwitv0_sighash3_2_0/00000.png index 7dd34c9fc..b17ff891e 100644 Binary files a/tests/snapshots/flex/test_sighash_segwitv0_sighash3_2_0/00000.png and b/tests/snapshots/flex/test_sighash_segwitv0_sighash3_2_0/00000.png differ diff --git a/tests/snapshots/flex/test_sighash_segwitv0_sighash3_3_0/00000.png b/tests/snapshots/flex/test_sighash_segwitv0_sighash3_3_0/00000.png index 645da9d44..65b864d7d 100644 Binary files a/tests/snapshots/flex/test_sighash_segwitv0_sighash3_3_0/00000.png and b/tests/snapshots/flex/test_sighash_segwitv0_sighash3_3_0/00000.png differ diff --git a/tests/snapshots/flex/test_sighash_segwitv0_sighash3_3_1/00000.png b/tests/snapshots/flex/test_sighash_segwitv0_sighash3_3_1/00000.png index 78571a283..747e80924 100644 Binary files a/tests/snapshots/flex/test_sighash_segwitv0_sighash3_3_1/00000.png and b/tests/snapshots/flex/test_sighash_segwitv0_sighash3_3_1/00000.png differ diff --git a/tests/snapshots/flex/test_sighash_segwitv0_sighash81_1_0/00000.png b/tests/snapshots/flex/test_sighash_segwitv0_sighash81_1_0/00000.png index 0cfe1e08b..a3186a71a 100644 Binary files a/tests/snapshots/flex/test_sighash_segwitv0_sighash81_1_0/00000.png and b/tests/snapshots/flex/test_sighash_segwitv0_sighash81_1_0/00000.png differ diff --git a/tests/snapshots/flex/test_sighash_segwitv0_sighash81_2_0/00000.png b/tests/snapshots/flex/test_sighash_segwitv0_sighash81_2_0/00000.png index 7dd34c9fc..b17ff891e 100644 Binary files a/tests/snapshots/flex/test_sighash_segwitv0_sighash81_2_0/00000.png and b/tests/snapshots/flex/test_sighash_segwitv0_sighash81_2_0/00000.png differ diff --git a/tests/snapshots/flex/test_sighash_segwitv0_sighash81_3_0/00000.png b/tests/snapshots/flex/test_sighash_segwitv0_sighash81_3_0/00000.png index 645da9d44..65b864d7d 100644 Binary files a/tests/snapshots/flex/test_sighash_segwitv0_sighash81_3_0/00000.png and b/tests/snapshots/flex/test_sighash_segwitv0_sighash81_3_0/00000.png differ diff --git a/tests/snapshots/flex/test_sighash_segwitv0_sighash81_3_1/00000.png b/tests/snapshots/flex/test_sighash_segwitv0_sighash81_3_1/00000.png index 78571a283..747e80924 100644 Binary files a/tests/snapshots/flex/test_sighash_segwitv0_sighash81_3_1/00000.png and b/tests/snapshots/flex/test_sighash_segwitv0_sighash81_3_1/00000.png differ diff --git a/tests/snapshots/flex/test_sighash_segwitv0_sighash82_1_0/00000.png b/tests/snapshots/flex/test_sighash_segwitv0_sighash82_1_0/00000.png index 0cfe1e08b..a3186a71a 100644 Binary files a/tests/snapshots/flex/test_sighash_segwitv0_sighash82_1_0/00000.png and b/tests/snapshots/flex/test_sighash_segwitv0_sighash82_1_0/00000.png differ diff --git a/tests/snapshots/flex/test_sighash_segwitv0_sighash82_2_0/00000.png b/tests/snapshots/flex/test_sighash_segwitv0_sighash82_2_0/00000.png index 7dd34c9fc..b17ff891e 100644 Binary files a/tests/snapshots/flex/test_sighash_segwitv0_sighash82_2_0/00000.png and b/tests/snapshots/flex/test_sighash_segwitv0_sighash82_2_0/00000.png differ diff --git a/tests/snapshots/flex/test_sighash_segwitv0_sighash82_3_0/00000.png b/tests/snapshots/flex/test_sighash_segwitv0_sighash82_3_0/00000.png index 645da9d44..65b864d7d 100644 Binary files a/tests/snapshots/flex/test_sighash_segwitv0_sighash82_3_0/00000.png and b/tests/snapshots/flex/test_sighash_segwitv0_sighash82_3_0/00000.png differ diff --git a/tests/snapshots/flex/test_sighash_segwitv0_sighash82_3_1/00000.png b/tests/snapshots/flex/test_sighash_segwitv0_sighash82_3_1/00000.png index 78571a283..747e80924 100644 Binary files a/tests/snapshots/flex/test_sighash_segwitv0_sighash82_3_1/00000.png and b/tests/snapshots/flex/test_sighash_segwitv0_sighash82_3_1/00000.png differ diff --git a/tests/snapshots/flex/test_sighash_segwitv0_sighash83_1_0/00000.png b/tests/snapshots/flex/test_sighash_segwitv0_sighash83_1_0/00000.png index 0cfe1e08b..a3186a71a 100644 Binary files a/tests/snapshots/flex/test_sighash_segwitv0_sighash83_1_0/00000.png and b/tests/snapshots/flex/test_sighash_segwitv0_sighash83_1_0/00000.png differ diff --git a/tests/snapshots/flex/test_sighash_segwitv0_sighash83_2_0/00000.png b/tests/snapshots/flex/test_sighash_segwitv0_sighash83_2_0/00000.png index 7dd34c9fc..b17ff891e 100644 Binary files a/tests/snapshots/flex/test_sighash_segwitv0_sighash83_2_0/00000.png and b/tests/snapshots/flex/test_sighash_segwitv0_sighash83_2_0/00000.png differ diff --git a/tests/snapshots/flex/test_sighash_segwitv0_sighash83_3_0/00000.png b/tests/snapshots/flex/test_sighash_segwitv0_sighash83_3_0/00000.png index 645da9d44..65b864d7d 100644 Binary files a/tests/snapshots/flex/test_sighash_segwitv0_sighash83_3_0/00000.png and b/tests/snapshots/flex/test_sighash_segwitv0_sighash83_3_0/00000.png differ diff --git a/tests/snapshots/flex/test_sighash_segwitv0_sighash83_3_1/00000.png b/tests/snapshots/flex/test_sighash_segwitv0_sighash83_3_1/00000.png index 78571a283..747e80924 100644 Binary files a/tests/snapshots/flex/test_sighash_segwitv0_sighash83_3_1/00000.png and b/tests/snapshots/flex/test_sighash_segwitv0_sighash83_3_1/00000.png differ diff --git a/tests/snapshots/flex/test_sighash_single_anyone_input_changed_1_0/00000.png b/tests/snapshots/flex/test_sighash_single_anyone_input_changed_1_0/00000.png index 0cfe1e08b..a3186a71a 100644 Binary files a/tests/snapshots/flex/test_sighash_single_anyone_input_changed_1_0/00000.png and b/tests/snapshots/flex/test_sighash_single_anyone_input_changed_1_0/00000.png differ diff --git a/tests/snapshots/flex/test_sighash_single_anyone_input_changed_2_0/00000.png b/tests/snapshots/flex/test_sighash_single_anyone_input_changed_2_0/00000.png index 55343f768..5b77a9dcd 100644 Binary files a/tests/snapshots/flex/test_sighash_single_anyone_input_changed_2_0/00000.png and b/tests/snapshots/flex/test_sighash_single_anyone_input_changed_2_0/00000.png differ diff --git a/tests/snapshots/flex/test_sighash_single_anyone_input_changed_2_1/00000.png b/tests/snapshots/flex/test_sighash_single_anyone_input_changed_2_1/00000.png index de71ee577..3a690c15b 100644 Binary files a/tests/snapshots/flex/test_sighash_single_anyone_input_changed_2_1/00000.png and b/tests/snapshots/flex/test_sighash_single_anyone_input_changed_2_1/00000.png differ diff --git a/tests/snapshots/flex/test_sighash_single_anyone_input_changed_2_2/00000.png b/tests/snapshots/flex/test_sighash_single_anyone_input_changed_2_2/00000.png index 78571a283..747e80924 100644 Binary files a/tests/snapshots/flex/test_sighash_single_anyone_input_changed_2_2/00000.png and b/tests/snapshots/flex/test_sighash_single_anyone_input_changed_2_2/00000.png differ diff --git a/tests/snapshots/flex/test_sighash_single_anyone_output_changed_1_0/00000.png b/tests/snapshots/flex/test_sighash_single_anyone_output_changed_1_0/00000.png index 0cfe1e08b..a3186a71a 100644 Binary files a/tests/snapshots/flex/test_sighash_single_anyone_output_changed_1_0/00000.png and b/tests/snapshots/flex/test_sighash_single_anyone_output_changed_1_0/00000.png differ diff --git a/tests/snapshots/flex/test_sighash_single_anyone_output_changed_2_0/00000.png b/tests/snapshots/flex/test_sighash_single_anyone_output_changed_2_0/00000.png index 55343f768..5b77a9dcd 100644 Binary files a/tests/snapshots/flex/test_sighash_single_anyone_output_changed_2_0/00000.png and b/tests/snapshots/flex/test_sighash_single_anyone_output_changed_2_0/00000.png differ diff --git a/tests/snapshots/flex/test_sighash_single_anyone_output_changed_2_1/00000.png b/tests/snapshots/flex/test_sighash_single_anyone_output_changed_2_1/00000.png index 2b925f3fd..0ac58635d 100644 Binary files a/tests/snapshots/flex/test_sighash_single_anyone_output_changed_2_1/00000.png and b/tests/snapshots/flex/test_sighash_single_anyone_output_changed_2_1/00000.png differ diff --git a/tests/snapshots/flex/test_sighash_single_anyone_output_changed_2_2/00000.png b/tests/snapshots/flex/test_sighash_single_anyone_output_changed_2_2/00000.png index 78571a283..747e80924 100644 Binary files a/tests/snapshots/flex/test_sighash_single_anyone_output_changed_2_2/00000.png and b/tests/snapshots/flex/test_sighash_single_anyone_output_changed_2_2/00000.png differ diff --git a/tests/snapshots/flex/test_sighash_single_anyone_sign_1_0/00000.png b/tests/snapshots/flex/test_sighash_single_anyone_sign_1_0/00000.png index 0cfe1e08b..a3186a71a 100644 Binary files a/tests/snapshots/flex/test_sighash_single_anyone_sign_1_0/00000.png and b/tests/snapshots/flex/test_sighash_single_anyone_sign_1_0/00000.png differ diff --git a/tests/snapshots/flex/test_sighash_single_anyone_sign_2_0/00000.png b/tests/snapshots/flex/test_sighash_single_anyone_sign_2_0/00000.png index 55343f768..5b77a9dcd 100644 Binary files a/tests/snapshots/flex/test_sighash_single_anyone_sign_2_0/00000.png and b/tests/snapshots/flex/test_sighash_single_anyone_sign_2_0/00000.png differ diff --git a/tests/snapshots/flex/test_sighash_single_anyone_sign_2_1/00000.png b/tests/snapshots/flex/test_sighash_single_anyone_sign_2_1/00000.png index de71ee577..3a690c15b 100644 Binary files a/tests/snapshots/flex/test_sighash_single_anyone_sign_2_1/00000.png and b/tests/snapshots/flex/test_sighash_single_anyone_sign_2_1/00000.png differ diff --git a/tests/snapshots/flex/test_sighash_single_anyone_sign_2_2/00000.png b/tests/snapshots/flex/test_sighash_single_anyone_sign_2_2/00000.png index 78571a283..747e80924 100644 Binary files a/tests/snapshots/flex/test_sighash_single_anyone_sign_2_2/00000.png and b/tests/snapshots/flex/test_sighash_single_anyone_sign_2_2/00000.png differ diff --git a/tests/snapshots/flex/test_sighash_single_input_modified_1_0/00000.png b/tests/snapshots/flex/test_sighash_single_input_modified_1_0/00000.png index 0cfe1e08b..a3186a71a 100644 Binary files a/tests/snapshots/flex/test_sighash_single_input_modified_1_0/00000.png and b/tests/snapshots/flex/test_sighash_single_input_modified_1_0/00000.png differ diff --git a/tests/snapshots/flex/test_sighash_single_input_modified_2_0/00000.png b/tests/snapshots/flex/test_sighash_single_input_modified_2_0/00000.png index 55343f768..5b77a9dcd 100644 Binary files a/tests/snapshots/flex/test_sighash_single_input_modified_2_0/00000.png and b/tests/snapshots/flex/test_sighash_single_input_modified_2_0/00000.png differ diff --git a/tests/snapshots/flex/test_sighash_single_input_modified_2_1/00000.png b/tests/snapshots/flex/test_sighash_single_input_modified_2_1/00000.png index de71ee577..3a690c15b 100644 Binary files a/tests/snapshots/flex/test_sighash_single_input_modified_2_1/00000.png and b/tests/snapshots/flex/test_sighash_single_input_modified_2_1/00000.png differ diff --git a/tests/snapshots/flex/test_sighash_single_input_modified_2_2/00000.png b/tests/snapshots/flex/test_sighash_single_input_modified_2_2/00000.png index 78571a283..747e80924 100644 Binary files a/tests/snapshots/flex/test_sighash_single_input_modified_2_2/00000.png and b/tests/snapshots/flex/test_sighash_single_input_modified_2_2/00000.png differ diff --git a/tests/snapshots/flex/test_sighash_single_output_different_index_modified_1_0/00000.png b/tests/snapshots/flex/test_sighash_single_output_different_index_modified_1_0/00000.png index 0cfe1e08b..a3186a71a 100644 Binary files a/tests/snapshots/flex/test_sighash_single_output_different_index_modified_1_0/00000.png and b/tests/snapshots/flex/test_sighash_single_output_different_index_modified_1_0/00000.png differ diff --git a/tests/snapshots/flex/test_sighash_single_output_different_index_modified_2_0/00000.png b/tests/snapshots/flex/test_sighash_single_output_different_index_modified_2_0/00000.png index 97e237fcd..ebd2bdb92 100644 Binary files a/tests/snapshots/flex/test_sighash_single_output_different_index_modified_2_0/00000.png and b/tests/snapshots/flex/test_sighash_single_output_different_index_modified_2_0/00000.png differ diff --git a/tests/snapshots/flex/test_sighash_single_output_different_index_modified_2_1/00000.png b/tests/snapshots/flex/test_sighash_single_output_different_index_modified_2_1/00000.png index 2b925f3fd..0ac58635d 100644 Binary files a/tests/snapshots/flex/test_sighash_single_output_different_index_modified_2_1/00000.png and b/tests/snapshots/flex/test_sighash_single_output_different_index_modified_2_1/00000.png differ diff --git a/tests/snapshots/flex/test_sighash_single_output_different_index_modified_2_2/00000.png b/tests/snapshots/flex/test_sighash_single_output_different_index_modified_2_2/00000.png index 78571a283..747e80924 100644 Binary files a/tests/snapshots/flex/test_sighash_single_output_different_index_modified_2_2/00000.png and b/tests/snapshots/flex/test_sighash_single_output_different_index_modified_2_2/00000.png differ diff --git a/tests/snapshots/flex/test_sighash_single_output_same_index_modified_1_0/00000.png b/tests/snapshots/flex/test_sighash_single_output_same_index_modified_1_0/00000.png index 0cfe1e08b..a3186a71a 100644 Binary files a/tests/snapshots/flex/test_sighash_single_output_same_index_modified_1_0/00000.png and b/tests/snapshots/flex/test_sighash_single_output_same_index_modified_1_0/00000.png differ diff --git a/tests/snapshots/flex/test_sighash_single_output_same_index_modified_2_0/00000.png b/tests/snapshots/flex/test_sighash_single_output_same_index_modified_2_0/00000.png index 55343f768..5b77a9dcd 100644 Binary files a/tests/snapshots/flex/test_sighash_single_output_same_index_modified_2_0/00000.png and b/tests/snapshots/flex/test_sighash_single_output_same_index_modified_2_0/00000.png differ diff --git a/tests/snapshots/flex/test_sighash_single_output_same_index_modified_2_1/00000.png b/tests/snapshots/flex/test_sighash_single_output_same_index_modified_2_1/00000.png index 2b925f3fd..0ac58635d 100644 Binary files a/tests/snapshots/flex/test_sighash_single_output_same_index_modified_2_1/00000.png and b/tests/snapshots/flex/test_sighash_single_output_same_index_modified_2_1/00000.png differ diff --git a/tests/snapshots/flex/test_sighash_single_output_same_index_modified_2_2/00000.png b/tests/snapshots/flex/test_sighash_single_output_same_index_modified_2_2/00000.png index 78571a283..747e80924 100644 Binary files a/tests/snapshots/flex/test_sighash_single_output_same_index_modified_2_2/00000.png and b/tests/snapshots/flex/test_sighash_single_output_same_index_modified_2_2/00000.png differ diff --git a/tests/snapshots/flex/test_sighash_single_sign_psbt_1_0/00000.png b/tests/snapshots/flex/test_sighash_single_sign_psbt_1_0/00000.png index 0cfe1e08b..a3186a71a 100644 Binary files a/tests/snapshots/flex/test_sighash_single_sign_psbt_1_0/00000.png and b/tests/snapshots/flex/test_sighash_single_sign_psbt_1_0/00000.png differ diff --git a/tests/snapshots/flex/test_sighash_single_sign_psbt_2_0/00000.png b/tests/snapshots/flex/test_sighash_single_sign_psbt_2_0/00000.png index 55343f768..5b77a9dcd 100644 Binary files a/tests/snapshots/flex/test_sighash_single_sign_psbt_2_0/00000.png and b/tests/snapshots/flex/test_sighash_single_sign_psbt_2_0/00000.png differ diff --git a/tests/snapshots/flex/test_sighash_single_sign_psbt_2_1/00000.png b/tests/snapshots/flex/test_sighash_single_sign_psbt_2_1/00000.png index de71ee577..3a690c15b 100644 Binary files a/tests/snapshots/flex/test_sighash_single_sign_psbt_2_1/00000.png and b/tests/snapshots/flex/test_sighash_single_sign_psbt_2_1/00000.png differ diff --git a/tests/snapshots/flex/test_sighash_single_sign_psbt_2_2/00000.png b/tests/snapshots/flex/test_sighash_single_sign_psbt_2_2/00000.png index 78571a283..747e80924 100644 Binary files a/tests/snapshots/flex/test_sighash_single_sign_psbt_2_2/00000.png and b/tests/snapshots/flex/test_sighash_single_sign_psbt_2_2/00000.png differ diff --git a/tests/snapshots/flex/test_sighash_unsupported_0_0/00000.png b/tests/snapshots/flex/test_sighash_unsupported_0_0/00000.png index 0cfe1e08b..a3186a71a 100644 Binary files a/tests/snapshots/flex/test_sighash_unsupported_0_0/00000.png and b/tests/snapshots/flex/test_sighash_unsupported_0_0/00000.png differ diff --git a/tests/snapshots/flex/test_sighash_unsupported_1_0/00000.png b/tests/snapshots/flex/test_sighash_unsupported_1_0/00000.png index 55343f768..5b77a9dcd 100644 Binary files a/tests/snapshots/flex/test_sighash_unsupported_1_0/00000.png and b/tests/snapshots/flex/test_sighash_unsupported_1_0/00000.png differ diff --git a/tests/snapshots/flex/test_sighash_unsupported_1_1/00000.png b/tests/snapshots/flex/test_sighash_unsupported_1_1/00000.png index de71ee577..3a690c15b 100644 Binary files a/tests/snapshots/flex/test_sighash_unsupported_1_1/00000.png and b/tests/snapshots/flex/test_sighash_unsupported_1_1/00000.png differ diff --git a/tests/snapshots/flex/test_sighash_unsupported_1_2/00000.png b/tests/snapshots/flex/test_sighash_unsupported_1_2/00000.png index 78571a283..747e80924 100644 Binary files a/tests/snapshots/flex/test_sighash_unsupported_1_2/00000.png and b/tests/snapshots/flex/test_sighash_unsupported_1_2/00000.png differ diff --git a/tests/snapshots/flex/test_sighash_unsupported_for_segwitv0_0_0/00000.png b/tests/snapshots/flex/test_sighash_unsupported_for_segwitv0_0_0/00000.png index 0cfe1e08b..a3186a71a 100644 Binary files a/tests/snapshots/flex/test_sighash_unsupported_for_segwitv0_0_0/00000.png and b/tests/snapshots/flex/test_sighash_unsupported_for_segwitv0_0_0/00000.png differ diff --git a/tests/snapshots/flex/test_sighash_unsupported_for_segwitv0_1_0/00000.png b/tests/snapshots/flex/test_sighash_unsupported_for_segwitv0_1_0/00000.png index 55343f768..5b77a9dcd 100644 Binary files a/tests/snapshots/flex/test_sighash_unsupported_for_segwitv0_1_0/00000.png and b/tests/snapshots/flex/test_sighash_unsupported_for_segwitv0_1_0/00000.png differ diff --git a/tests/snapshots/flex/test_sighash_unsupported_for_segwitv0_1_1/00000.png b/tests/snapshots/flex/test_sighash_unsupported_for_segwitv0_1_1/00000.png index de71ee577..3a690c15b 100644 Binary files a/tests/snapshots/flex/test_sighash_unsupported_for_segwitv0_1_1/00000.png and b/tests/snapshots/flex/test_sighash_unsupported_for_segwitv0_1_1/00000.png differ diff --git a/tests/snapshots/flex/test_sighash_unsupported_for_segwitv0_1_2/00000.png b/tests/snapshots/flex/test_sighash_unsupported_for_segwitv0_1_2/00000.png index 78571a283..747e80924 100644 Binary files a/tests/snapshots/flex/test_sighash_unsupported_for_segwitv0_1_2/00000.png and b/tests/snapshots/flex/test_sighash_unsupported_for_segwitv0_1_2/00000.png differ diff --git a/tests/snapshots/flex/test_sign_message_0_0/00000.png b/tests/snapshots/flex/test_sign_message_0_0/00000.png index 13f5f15bb..138db7fb3 100644 Binary files a/tests/snapshots/flex/test_sign_message_0_0/00000.png and b/tests/snapshots/flex/test_sign_message_0_0/00000.png differ diff --git a/tests/snapshots/flex/test_sign_message_0_1/00000.png b/tests/snapshots/flex/test_sign_message_0_1/00000.png index a924390a8..78287b60e 100644 Binary files a/tests/snapshots/flex/test_sign_message_0_1/00000.png and b/tests/snapshots/flex/test_sign_message_0_1/00000.png differ diff --git a/tests/snapshots/flex/test_sign_message_0_2/00000.png b/tests/snapshots/flex/test_sign_message_0_2/00000.png index a4d8a88de..398860cc1 100644 Binary files a/tests/snapshots/flex/test_sign_message_0_2/00000.png and b/tests/snapshots/flex/test_sign_message_0_2/00000.png differ diff --git a/tests/snapshots/flex/test_sign_message_accept_0_0/00000.png b/tests/snapshots/flex/test_sign_message_accept_0_0/00000.png index 13f5f15bb..138db7fb3 100644 Binary files a/tests/snapshots/flex/test_sign_message_accept_0_0/00000.png and b/tests/snapshots/flex/test_sign_message_accept_0_0/00000.png differ diff --git a/tests/snapshots/flex/test_sign_message_accept_0_1/00000.png b/tests/snapshots/flex/test_sign_message_accept_0_1/00000.png index 7d4b26a44..0cb625c0e 100644 Binary files a/tests/snapshots/flex/test_sign_message_accept_0_1/00000.png and b/tests/snapshots/flex/test_sign_message_accept_0_1/00000.png differ diff --git a/tests/snapshots/flex/test_sign_message_accept_0_2/00000.png b/tests/snapshots/flex/test_sign_message_accept_0_2/00000.png index a4d8a88de..398860cc1 100644 Binary files a/tests/snapshots/flex/test_sign_message_accept_0_2/00000.png and b/tests/snapshots/flex/test_sign_message_accept_0_2/00000.png differ diff --git a/tests/snapshots/flex/test_sign_message_accept_long_0_0/00000.png b/tests/snapshots/flex/test_sign_message_accept_long_0_0/00000.png index 13f5f15bb..138db7fb3 100644 Binary files a/tests/snapshots/flex/test_sign_message_accept_long_0_0/00000.png and b/tests/snapshots/flex/test_sign_message_accept_long_0_0/00000.png differ diff --git a/tests/snapshots/flex/test_sign_message_accept_long_0_1/00000.png b/tests/snapshots/flex/test_sign_message_accept_long_0_1/00000.png index bc06c3280..ca7161f98 100644 Binary files a/tests/snapshots/flex/test_sign_message_accept_long_0_1/00000.png and b/tests/snapshots/flex/test_sign_message_accept_long_0_1/00000.png differ diff --git a/tests/snapshots/flex/test_sign_message_accept_long_1_0/00000.png b/tests/snapshots/flex/test_sign_message_accept_long_1_0/00000.png index 1e5966aa8..c9c9b2b5a 100644 Binary files a/tests/snapshots/flex/test_sign_message_accept_long_1_0/00000.png and b/tests/snapshots/flex/test_sign_message_accept_long_1_0/00000.png differ diff --git a/tests/snapshots/flex/test_sign_message_accept_long_2_0/00000.png b/tests/snapshots/flex/test_sign_message_accept_long_2_0/00000.png index 67d3062ff..f0d37501d 100644 Binary files a/tests/snapshots/flex/test_sign_message_accept_long_2_0/00000.png and b/tests/snapshots/flex/test_sign_message_accept_long_2_0/00000.png differ diff --git a/tests/snapshots/flex/test_sign_message_accept_long_3_0/00000.png b/tests/snapshots/flex/test_sign_message_accept_long_3_0/00000.png index baaae1a78..8a59230b5 100644 Binary files a/tests/snapshots/flex/test_sign_message_accept_long_3_0/00000.png and b/tests/snapshots/flex/test_sign_message_accept_long_3_0/00000.png differ diff --git a/tests/snapshots/flex/test_sign_message_accept_long_4_0/00000.png b/tests/snapshots/flex/test_sign_message_accept_long_4_0/00000.png index b0713524b..7624d4090 100644 Binary files a/tests/snapshots/flex/test_sign_message_accept_long_4_0/00000.png and b/tests/snapshots/flex/test_sign_message_accept_long_4_0/00000.png differ diff --git a/tests/snapshots/flex/test_sign_message_accept_long_4_1/00000.png b/tests/snapshots/flex/test_sign_message_accept_long_4_1/00000.png index a4d8a88de..398860cc1 100644 Binary files a/tests/snapshots/flex/test_sign_message_accept_long_4_1/00000.png and b/tests/snapshots/flex/test_sign_message_accept_long_4_1/00000.png differ diff --git a/tests/snapshots/flex/test_sign_message_accept_non_ascii_0_0/00000.png b/tests/snapshots/flex/test_sign_message_accept_non_ascii_0_0/00000.png index 13f5f15bb..138db7fb3 100644 Binary files a/tests/snapshots/flex/test_sign_message_accept_non_ascii_0_0/00000.png and b/tests/snapshots/flex/test_sign_message_accept_non_ascii_0_0/00000.png differ diff --git a/tests/snapshots/flex/test_sign_message_accept_non_ascii_0_1/00000.png b/tests/snapshots/flex/test_sign_message_accept_non_ascii_0_1/00000.png index 7820f684a..7ab692211 100644 Binary files a/tests/snapshots/flex/test_sign_message_accept_non_ascii_0_1/00000.png and b/tests/snapshots/flex/test_sign_message_accept_non_ascii_0_1/00000.png differ diff --git a/tests/snapshots/flex/test_sign_message_accept_non_ascii_0_2/00000.png b/tests/snapshots/flex/test_sign_message_accept_non_ascii_0_2/00000.png index a4d8a88de..398860cc1 100644 Binary files a/tests/snapshots/flex/test_sign_message_accept_non_ascii_0_2/00000.png and b/tests/snapshots/flex/test_sign_message_accept_non_ascii_0_2/00000.png differ diff --git a/tests/snapshots/flex/test_sign_message_accept_too_long_0_0/00000.png b/tests/snapshots/flex/test_sign_message_accept_too_long_0_0/00000.png index 13f5f15bb..138db7fb3 100644 Binary files a/tests/snapshots/flex/test_sign_message_accept_too_long_0_0/00000.png and b/tests/snapshots/flex/test_sign_message_accept_too_long_0_0/00000.png differ diff --git a/tests/snapshots/flex/test_sign_message_accept_too_long_0_1/00000.png b/tests/snapshots/flex/test_sign_message_accept_too_long_0_1/00000.png index a912452c3..867113c22 100644 Binary files a/tests/snapshots/flex/test_sign_message_accept_too_long_0_1/00000.png and b/tests/snapshots/flex/test_sign_message_accept_too_long_0_1/00000.png differ diff --git a/tests/snapshots/flex/test_sign_message_accept_too_long_0_2/00000.png b/tests/snapshots/flex/test_sign_message_accept_too_long_0_2/00000.png index a4d8a88de..398860cc1 100644 Binary files a/tests/snapshots/flex/test_sign_message_accept_too_long_0_2/00000.png and b/tests/snapshots/flex/test_sign_message_accept_too_long_0_2/00000.png differ diff --git a/tests/snapshots/flex/test_sign_message_hash_reject_0_0/00000.png b/tests/snapshots/flex/test_sign_message_hash_reject_0_0/00000.png index 13f5f15bb..138db7fb3 100644 Binary files a/tests/snapshots/flex/test_sign_message_hash_reject_0_0/00000.png and b/tests/snapshots/flex/test_sign_message_hash_reject_0_0/00000.png differ diff --git a/tests/snapshots/flex/test_sign_message_hash_reject_0_1/00000.png b/tests/snapshots/flex/test_sign_message_hash_reject_0_1/00000.png index 70030efc3..6eab94f2d 100644 Binary files a/tests/snapshots/flex/test_sign_message_hash_reject_0_1/00000.png and b/tests/snapshots/flex/test_sign_message_hash_reject_0_1/00000.png differ diff --git a/tests/snapshots/flex/test_sign_message_reject_0_0/00000.png b/tests/snapshots/flex/test_sign_message_reject_0_0/00000.png index 13f5f15bb..138db7fb3 100644 Binary files a/tests/snapshots/flex/test_sign_message_reject_0_0/00000.png and b/tests/snapshots/flex/test_sign_message_reject_0_0/00000.png differ diff --git a/tests/snapshots/flex/test_sign_message_reject_0_1/00000.png b/tests/snapshots/flex/test_sign_message_reject_0_1/00000.png index 89b4002c5..e2f8b7c31 100644 Binary files a/tests/snapshots/flex/test_sign_message_reject_0_1/00000.png and b/tests/snapshots/flex/test_sign_message_reject_0_1/00000.png differ diff --git a/tests/snapshots/flex/test_sign_psbt_against_wrong_tapleaf_hash_0_0/00000.png b/tests/snapshots/flex/test_sign_psbt_against_wrong_tapleaf_hash_0_0/00000.png index 1d82bb540..0b3fb7e8e 100644 Binary files a/tests/snapshots/flex/test_sign_psbt_against_wrong_tapleaf_hash_0_0/00000.png and b/tests/snapshots/flex/test_sign_psbt_against_wrong_tapleaf_hash_0_0/00000.png differ diff --git a/tests/snapshots/flex/test_sign_psbt_against_wrong_tapleaf_hash_0_0/00001.png b/tests/snapshots/flex/test_sign_psbt_against_wrong_tapleaf_hash_0_0/00001.png index 403a25c16..6d222fa86 100644 Binary files a/tests/snapshots/flex/test_sign_psbt_against_wrong_tapleaf_hash_0_0/00001.png and b/tests/snapshots/flex/test_sign_psbt_against_wrong_tapleaf_hash_0_0/00001.png differ diff --git a/tests/snapshots/flex/test_sign_psbt_against_wrong_tapleaf_hash_0_0/00002.png b/tests/snapshots/flex/test_sign_psbt_against_wrong_tapleaf_hash_0_0/00002.png index f937c30c8..1c52feb94 100644 Binary files a/tests/snapshots/flex/test_sign_psbt_against_wrong_tapleaf_hash_0_0/00002.png and b/tests/snapshots/flex/test_sign_psbt_against_wrong_tapleaf_hash_0_0/00002.png differ diff --git a/tests/snapshots/flex/test_sign_psbt_against_wrong_tapleaf_hash_1_0/00000.png b/tests/snapshots/flex/test_sign_psbt_against_wrong_tapleaf_hash_1_0/00000.png index 0cfe1e08b..a3186a71a 100644 Binary files a/tests/snapshots/flex/test_sign_psbt_against_wrong_tapleaf_hash_1_0/00000.png and b/tests/snapshots/flex/test_sign_psbt_against_wrong_tapleaf_hash_1_0/00000.png differ diff --git a/tests/snapshots/flex/test_sign_psbt_against_wrong_tapleaf_hash_2_0/00000.png b/tests/snapshots/flex/test_sign_psbt_against_wrong_tapleaf_hash_2_0/00000.png index 6707b0670..473860ef8 100644 Binary files a/tests/snapshots/flex/test_sign_psbt_against_wrong_tapleaf_hash_2_0/00000.png and b/tests/snapshots/flex/test_sign_psbt_against_wrong_tapleaf_hash_2_0/00000.png differ diff --git a/tests/snapshots/flex/test_sign_psbt_against_wrong_tapleaf_hash_2_1/00000.png b/tests/snapshots/flex/test_sign_psbt_against_wrong_tapleaf_hash_2_1/00000.png index 958a6f427..92d6d4315 100644 Binary files a/tests/snapshots/flex/test_sign_psbt_against_wrong_tapleaf_hash_2_1/00000.png and b/tests/snapshots/flex/test_sign_psbt_against_wrong_tapleaf_hash_2_1/00000.png differ diff --git a/tests/snapshots/flex/test_sign_psbt_against_wrong_tapleaf_hash_2_2/00000.png b/tests/snapshots/flex/test_sign_psbt_against_wrong_tapleaf_hash_2_2/00000.png index 78571a283..747e80924 100644 Binary files a/tests/snapshots/flex/test_sign_psbt_against_wrong_tapleaf_hash_2_2/00000.png and b/tests/snapshots/flex/test_sign_psbt_against_wrong_tapleaf_hash_2_2/00000.png differ diff --git a/tests/snapshots/flex/test_sign_psbt_fail_11_changes_0_0/00000.png b/tests/snapshots/flex/test_sign_psbt_fail_11_changes_0_0/00000.png deleted file mode 100644 index 0cfe1e08b..000000000 Binary files a/tests/snapshots/flex/test_sign_psbt_fail_11_changes_0_0/00000.png and /dev/null differ diff --git a/tests/snapshots/flex/test_sign_psbt_fail_11_changes_v1_0_0/00000.png b/tests/snapshots/flex/test_sign_psbt_fail_11_changes_v1_0_0/00000.png deleted file mode 100644 index 0cfe1e08b..000000000 Binary files a/tests/snapshots/flex/test_sign_psbt_fail_11_changes_v1_0_0/00000.png and /dev/null differ diff --git a/tests/snapshots/flex/test_sign_psbt_highfee_0_0/00000.png b/tests/snapshots/flex/test_sign_psbt_highfee_0_0/00000.png index 0cfe1e08b..a3186a71a 100644 Binary files a/tests/snapshots/flex/test_sign_psbt_highfee_0_0/00000.png and b/tests/snapshots/flex/test_sign_psbt_highfee_0_0/00000.png differ diff --git a/tests/snapshots/flex/test_sign_psbt_highfee_1_0/00000.png b/tests/snapshots/flex/test_sign_psbt_highfee_1_0/00000.png index b56f8e243..9672ad3a3 100644 Binary files a/tests/snapshots/flex/test_sign_psbt_highfee_1_0/00000.png and b/tests/snapshots/flex/test_sign_psbt_highfee_1_0/00000.png differ diff --git a/tests/snapshots/flex/test_sign_psbt_highfee_2_1/00000.png b/tests/snapshots/flex/test_sign_psbt_highfee_2_1/00000.png index 3a5b65f4e..5971ea81b 100644 Binary files a/tests/snapshots/flex/test_sign_psbt_highfee_2_1/00000.png and b/tests/snapshots/flex/test_sign_psbt_highfee_2_1/00000.png differ diff --git a/tests/snapshots/flex/test_sign_psbt_highfee_2_2/00000.png b/tests/snapshots/flex/test_sign_psbt_highfee_2_2/00000.png index 78571a283..747e80924 100644 Binary files a/tests/snapshots/flex/test_sign_psbt_highfee_2_2/00000.png and b/tests/snapshots/flex/test_sign_psbt_highfee_2_2/00000.png differ diff --git a/tests/snapshots/flex/test_sign_psbt_miniscript_multikey_0_0/00000.png b/tests/snapshots/flex/test_sign_psbt_miniscript_multikey_0_0/00000.png index 1d82bb540..0b3fb7e8e 100644 Binary files a/tests/snapshots/flex/test_sign_psbt_miniscript_multikey_0_0/00000.png and b/tests/snapshots/flex/test_sign_psbt_miniscript_multikey_0_0/00000.png differ diff --git a/tests/snapshots/flex/test_sign_psbt_miniscript_multikey_0_0/00001.png b/tests/snapshots/flex/test_sign_psbt_miniscript_multikey_0_0/00001.png index f770c73d6..8831753a8 100644 Binary files a/tests/snapshots/flex/test_sign_psbt_miniscript_multikey_0_0/00001.png and b/tests/snapshots/flex/test_sign_psbt_miniscript_multikey_0_0/00001.png differ diff --git a/tests/snapshots/flex/test_sign_psbt_miniscript_multikey_0_0/00002.png b/tests/snapshots/flex/test_sign_psbt_miniscript_multikey_0_0/00002.png index f937c30c8..1c52feb94 100644 Binary files a/tests/snapshots/flex/test_sign_psbt_miniscript_multikey_0_0/00002.png and b/tests/snapshots/flex/test_sign_psbt_miniscript_multikey_0_0/00002.png differ diff --git a/tests/snapshots/flex/test_sign_psbt_miniscript_multikey_1_0/00000.png b/tests/snapshots/flex/test_sign_psbt_miniscript_multikey_1_0/00000.png index 0cfe1e08b..a3186a71a 100644 Binary files a/tests/snapshots/flex/test_sign_psbt_miniscript_multikey_1_0/00000.png and b/tests/snapshots/flex/test_sign_psbt_miniscript_multikey_1_0/00000.png differ diff --git a/tests/snapshots/flex/test_sign_psbt_miniscript_multikey_2_0/00000.png b/tests/snapshots/flex/test_sign_psbt_miniscript_multikey_2_0/00000.png index a021dd1c9..13598b2e7 100644 Binary files a/tests/snapshots/flex/test_sign_psbt_miniscript_multikey_2_0/00000.png and b/tests/snapshots/flex/test_sign_psbt_miniscript_multikey_2_0/00000.png differ diff --git a/tests/snapshots/flex/test_sign_psbt_miniscript_multikey_2_1/00000.png b/tests/snapshots/flex/test_sign_psbt_miniscript_multikey_2_1/00000.png index d336221f4..5e3cc3623 100644 Binary files a/tests/snapshots/flex/test_sign_psbt_miniscript_multikey_2_1/00000.png and b/tests/snapshots/flex/test_sign_psbt_miniscript_multikey_2_1/00000.png differ diff --git a/tests/snapshots/flex/test_sign_psbt_miniscript_multikey_2_2/00000.png b/tests/snapshots/flex/test_sign_psbt_miniscript_multikey_2_2/00000.png index 78571a283..747e80924 100644 Binary files a/tests/snapshots/flex/test_sign_psbt_miniscript_multikey_2_2/00000.png and b/tests/snapshots/flex/test_sign_psbt_miniscript_multikey_2_2/00000.png differ diff --git a/tests/snapshots/flex/test_sign_psbt_multisig_sh_wsh_0_0/00000.png b/tests/snapshots/flex/test_sign_psbt_multisig_sh_wsh_0_0/00000.png index 1d82bb540..0b3fb7e8e 100644 Binary files a/tests/snapshots/flex/test_sign_psbt_multisig_sh_wsh_0_0/00000.png and b/tests/snapshots/flex/test_sign_psbt_multisig_sh_wsh_0_0/00000.png differ diff --git a/tests/snapshots/flex/test_sign_psbt_multisig_sh_wsh_0_0/00001.png b/tests/snapshots/flex/test_sign_psbt_multisig_sh_wsh_0_0/00001.png index 472f17198..436d65ded 100644 Binary files a/tests/snapshots/flex/test_sign_psbt_multisig_sh_wsh_0_0/00001.png and b/tests/snapshots/flex/test_sign_psbt_multisig_sh_wsh_0_0/00001.png differ diff --git a/tests/snapshots/flex/test_sign_psbt_multisig_sh_wsh_0_0/00002.png b/tests/snapshots/flex/test_sign_psbt_multisig_sh_wsh_0_0/00002.png index f937c30c8..1c52feb94 100644 Binary files a/tests/snapshots/flex/test_sign_psbt_multisig_sh_wsh_0_0/00002.png and b/tests/snapshots/flex/test_sign_psbt_multisig_sh_wsh_0_0/00002.png differ diff --git a/tests/snapshots/flex/test_sign_psbt_multisig_sh_wsh_1_0/00000.png b/tests/snapshots/flex/test_sign_psbt_multisig_sh_wsh_1_0/00000.png index 0cfe1e08b..a3186a71a 100644 Binary files a/tests/snapshots/flex/test_sign_psbt_multisig_sh_wsh_1_0/00000.png and b/tests/snapshots/flex/test_sign_psbt_multisig_sh_wsh_1_0/00000.png differ diff --git a/tests/snapshots/flex/test_sign_psbt_multisig_sh_wsh_2_0/00000.png b/tests/snapshots/flex/test_sign_psbt_multisig_sh_wsh_2_0/00000.png index 4a160ad9c..2d3300f4f 100644 Binary files a/tests/snapshots/flex/test_sign_psbt_multisig_sh_wsh_2_0/00000.png and b/tests/snapshots/flex/test_sign_psbt_multisig_sh_wsh_2_0/00000.png differ diff --git a/tests/snapshots/flex/test_sign_psbt_multisig_sh_wsh_2_1/00000.png b/tests/snapshots/flex/test_sign_psbt_multisig_sh_wsh_2_1/00000.png index 9c14a15b0..489ae96b5 100644 Binary files a/tests/snapshots/flex/test_sign_psbt_multisig_sh_wsh_2_1/00000.png and b/tests/snapshots/flex/test_sign_psbt_multisig_sh_wsh_2_1/00000.png differ diff --git a/tests/snapshots/flex/test_sign_psbt_multisig_sh_wsh_2_2/00000.png b/tests/snapshots/flex/test_sign_psbt_multisig_sh_wsh_2_2/00000.png index 78571a283..747e80924 100644 Binary files a/tests/snapshots/flex/test_sign_psbt_multisig_sh_wsh_2_2/00000.png and b/tests/snapshots/flex/test_sign_psbt_multisig_sh_wsh_2_2/00000.png differ diff --git a/tests/snapshots/flex/test_sign_psbt_multisig_sh_wsh_missing_nonwitnessutxo_0_0/00000.png b/tests/snapshots/flex/test_sign_psbt_multisig_sh_wsh_missing_nonwitnessutxo_0_0/00000.png index 1d82bb540..0b3fb7e8e 100644 Binary files a/tests/snapshots/flex/test_sign_psbt_multisig_sh_wsh_missing_nonwitnessutxo_0_0/00000.png and b/tests/snapshots/flex/test_sign_psbt_multisig_sh_wsh_missing_nonwitnessutxo_0_0/00000.png differ diff --git a/tests/snapshots/flex/test_sign_psbt_multisig_sh_wsh_missing_nonwitnessutxo_0_0/00001.png b/tests/snapshots/flex/test_sign_psbt_multisig_sh_wsh_missing_nonwitnessutxo_0_0/00001.png index 472f17198..436d65ded 100644 Binary files a/tests/snapshots/flex/test_sign_psbt_multisig_sh_wsh_missing_nonwitnessutxo_0_0/00001.png and b/tests/snapshots/flex/test_sign_psbt_multisig_sh_wsh_missing_nonwitnessutxo_0_0/00001.png differ diff --git a/tests/snapshots/flex/test_sign_psbt_multisig_sh_wsh_missing_nonwitnessutxo_0_0/00002.png b/tests/snapshots/flex/test_sign_psbt_multisig_sh_wsh_missing_nonwitnessutxo_0_0/00002.png index f937c30c8..1c52feb94 100644 Binary files a/tests/snapshots/flex/test_sign_psbt_multisig_sh_wsh_missing_nonwitnessutxo_0_0/00002.png and b/tests/snapshots/flex/test_sign_psbt_multisig_sh_wsh_missing_nonwitnessutxo_0_0/00002.png differ diff --git a/tests/snapshots/flex/test_sign_psbt_multisig_sh_wsh_missing_nonwitnessutxo_2_0/00000.png b/tests/snapshots/flex/test_sign_psbt_multisig_sh_wsh_missing_nonwitnessutxo_2_0/00000.png index 0cfe1e08b..a3186a71a 100644 Binary files a/tests/snapshots/flex/test_sign_psbt_multisig_sh_wsh_missing_nonwitnessutxo_2_0/00000.png and b/tests/snapshots/flex/test_sign_psbt_multisig_sh_wsh_missing_nonwitnessutxo_2_0/00000.png differ diff --git a/tests/snapshots/flex/test_sign_psbt_multisig_sh_wsh_missing_nonwitnessutxo_3_0/00000.png b/tests/snapshots/flex/test_sign_psbt_multisig_sh_wsh_missing_nonwitnessutxo_3_0/00000.png index 4a160ad9c..2d3300f4f 100644 Binary files a/tests/snapshots/flex/test_sign_psbt_multisig_sh_wsh_missing_nonwitnessutxo_3_0/00000.png and b/tests/snapshots/flex/test_sign_psbt_multisig_sh_wsh_missing_nonwitnessutxo_3_0/00000.png differ diff --git a/tests/snapshots/flex/test_sign_psbt_multisig_sh_wsh_missing_nonwitnessutxo_3_1/00000.png b/tests/snapshots/flex/test_sign_psbt_multisig_sh_wsh_missing_nonwitnessutxo_3_1/00000.png index 9c14a15b0..489ae96b5 100644 Binary files a/tests/snapshots/flex/test_sign_psbt_multisig_sh_wsh_missing_nonwitnessutxo_3_1/00000.png and b/tests/snapshots/flex/test_sign_psbt_multisig_sh_wsh_missing_nonwitnessutxo_3_1/00000.png differ diff --git a/tests/snapshots/flex/test_sign_psbt_multisig_sh_wsh_missing_nonwitnessutxo_3_2/00000.png b/tests/snapshots/flex/test_sign_psbt_multisig_sh_wsh_missing_nonwitnessutxo_3_2/00000.png index 78571a283..747e80924 100644 Binary files a/tests/snapshots/flex/test_sign_psbt_multisig_sh_wsh_missing_nonwitnessutxo_3_2/00000.png and b/tests/snapshots/flex/test_sign_psbt_multisig_sh_wsh_missing_nonwitnessutxo_3_2/00000.png differ diff --git a/tests/snapshots/flex/test_sign_psbt_multisig_wsh_0_0/00000.png b/tests/snapshots/flex/test_sign_psbt_multisig_wsh_0_0/00000.png index 1d82bb540..0b3fb7e8e 100644 Binary files a/tests/snapshots/flex/test_sign_psbt_multisig_wsh_0_0/00000.png and b/tests/snapshots/flex/test_sign_psbt_multisig_wsh_0_0/00000.png differ diff --git a/tests/snapshots/flex/test_sign_psbt_multisig_wsh_0_0/00001.png b/tests/snapshots/flex/test_sign_psbt_multisig_wsh_0_0/00001.png index 472f17198..436d65ded 100644 Binary files a/tests/snapshots/flex/test_sign_psbt_multisig_wsh_0_0/00001.png and b/tests/snapshots/flex/test_sign_psbt_multisig_wsh_0_0/00001.png differ diff --git a/tests/snapshots/flex/test_sign_psbt_multisig_wsh_0_0/00002.png b/tests/snapshots/flex/test_sign_psbt_multisig_wsh_0_0/00002.png index f937c30c8..1c52feb94 100644 Binary files a/tests/snapshots/flex/test_sign_psbt_multisig_wsh_0_0/00002.png and b/tests/snapshots/flex/test_sign_psbt_multisig_wsh_0_0/00002.png differ diff --git a/tests/snapshots/flex/test_sign_psbt_multisig_wsh_1_0/00000.png b/tests/snapshots/flex/test_sign_psbt_multisig_wsh_1_0/00000.png index 0cfe1e08b..a3186a71a 100644 Binary files a/tests/snapshots/flex/test_sign_psbt_multisig_wsh_1_0/00000.png and b/tests/snapshots/flex/test_sign_psbt_multisig_wsh_1_0/00000.png differ diff --git a/tests/snapshots/flex/test_sign_psbt_multisig_wsh_2_0/00000.png b/tests/snapshots/flex/test_sign_psbt_multisig_wsh_2_0/00000.png index fdc19b654..faf8a722a 100644 Binary files a/tests/snapshots/flex/test_sign_psbt_multisig_wsh_2_0/00000.png and b/tests/snapshots/flex/test_sign_psbt_multisig_wsh_2_0/00000.png differ diff --git a/tests/snapshots/flex/test_sign_psbt_multisig_wsh_3_0/00000.png b/tests/snapshots/flex/test_sign_psbt_multisig_wsh_3_0/00000.png index e9b91e7cd..9dcca09cf 100644 Binary files a/tests/snapshots/flex/test_sign_psbt_multisig_wsh_3_0/00000.png and b/tests/snapshots/flex/test_sign_psbt_multisig_wsh_3_0/00000.png differ diff --git a/tests/snapshots/flex/test_sign_psbt_multisig_wsh_3_1/00000.png b/tests/snapshots/flex/test_sign_psbt_multisig_wsh_3_1/00000.png index 78571a283..747e80924 100644 Binary files a/tests/snapshots/flex/test_sign_psbt_multisig_wsh_3_1/00000.png and b/tests/snapshots/flex/test_sign_psbt_multisig_wsh_3_1/00000.png differ diff --git a/tests/snapshots/flex/test_sign_psbt_multisig_wsh_v1_0_0/00000.png b/tests/snapshots/flex/test_sign_psbt_multisig_wsh_v1_0_0/00000.png index 1d82bb540..0b3fb7e8e 100644 Binary files a/tests/snapshots/flex/test_sign_psbt_multisig_wsh_v1_0_0/00000.png and b/tests/snapshots/flex/test_sign_psbt_multisig_wsh_v1_0_0/00000.png differ diff --git a/tests/snapshots/flex/test_sign_psbt_multisig_wsh_v1_0_0/00001.png b/tests/snapshots/flex/test_sign_psbt_multisig_wsh_v1_0_0/00001.png index 472f17198..436d65ded 100644 Binary files a/tests/snapshots/flex/test_sign_psbt_multisig_wsh_v1_0_0/00001.png and b/tests/snapshots/flex/test_sign_psbt_multisig_wsh_v1_0_0/00001.png differ diff --git a/tests/snapshots/flex/test_sign_psbt_multisig_wsh_v1_0_0/00002.png b/tests/snapshots/flex/test_sign_psbt_multisig_wsh_v1_0_0/00002.png index f937c30c8..1c52feb94 100644 Binary files a/tests/snapshots/flex/test_sign_psbt_multisig_wsh_v1_0_0/00002.png and b/tests/snapshots/flex/test_sign_psbt_multisig_wsh_v1_0_0/00002.png differ diff --git a/tests/snapshots/flex/test_sign_psbt_multisig_wsh_v1_1_0/00000.png b/tests/snapshots/flex/test_sign_psbt_multisig_wsh_v1_1_0/00000.png index 0cfe1e08b..a3186a71a 100644 Binary files a/tests/snapshots/flex/test_sign_psbt_multisig_wsh_v1_1_0/00000.png and b/tests/snapshots/flex/test_sign_psbt_multisig_wsh_v1_1_0/00000.png differ diff --git a/tests/snapshots/flex/test_sign_psbt_multisig_wsh_v1_2_0/00000.png b/tests/snapshots/flex/test_sign_psbt_multisig_wsh_v1_2_0/00000.png index fdc19b654..faf8a722a 100644 Binary files a/tests/snapshots/flex/test_sign_psbt_multisig_wsh_v1_2_0/00000.png and b/tests/snapshots/flex/test_sign_psbt_multisig_wsh_v1_2_0/00000.png differ diff --git a/tests/snapshots/flex/test_sign_psbt_multisig_wsh_v1_3_0/00000.png b/tests/snapshots/flex/test_sign_psbt_multisig_wsh_v1_3_0/00000.png index e9b91e7cd..9dcca09cf 100644 Binary files a/tests/snapshots/flex/test_sign_psbt_multisig_wsh_v1_3_0/00000.png and b/tests/snapshots/flex/test_sign_psbt_multisig_wsh_v1_3_0/00000.png differ diff --git a/tests/snapshots/flex/test_sign_psbt_multisig_wsh_v1_3_1/00000.png b/tests/snapshots/flex/test_sign_psbt_multisig_wsh_v1_3_1/00000.png index 78571a283..747e80924 100644 Binary files a/tests/snapshots/flex/test_sign_psbt_multisig_wsh_v1_3_1/00000.png and b/tests/snapshots/flex/test_sign_psbt_multisig_wsh_v1_3_1/00000.png differ diff --git a/tests/snapshots/flex/test_sign_psbt_singlesig_large_amount_0_0/00000.png b/tests/snapshots/flex/test_sign_psbt_singlesig_large_amount_0_0/00000.png index 0cfe1e08b..a3186a71a 100644 Binary files a/tests/snapshots/flex/test_sign_psbt_singlesig_large_amount_0_0/00000.png and b/tests/snapshots/flex/test_sign_psbt_singlesig_large_amount_0_0/00000.png differ diff --git a/tests/snapshots/flex/test_sign_psbt_singlesig_large_amount_1_0/00000.png b/tests/snapshots/flex/test_sign_psbt_singlesig_large_amount_1_0/00000.png index 68768785b..aa725c05d 100644 Binary files a/tests/snapshots/flex/test_sign_psbt_singlesig_large_amount_1_0/00000.png and b/tests/snapshots/flex/test_sign_psbt_singlesig_large_amount_1_0/00000.png differ diff --git a/tests/snapshots/flex/test_sign_psbt_singlesig_large_amount_1_1/00000.png b/tests/snapshots/flex/test_sign_psbt_singlesig_large_amount_1_1/00000.png index 61420dd21..ce9822688 100644 Binary files a/tests/snapshots/flex/test_sign_psbt_singlesig_large_amount_1_1/00000.png and b/tests/snapshots/flex/test_sign_psbt_singlesig_large_amount_1_1/00000.png differ diff --git a/tests/snapshots/flex/test_sign_psbt_singlesig_large_amount_1_2/00000.png b/tests/snapshots/flex/test_sign_psbt_singlesig_large_amount_1_2/00000.png index 78571a283..747e80924 100644 Binary files a/tests/snapshots/flex/test_sign_psbt_singlesig_large_amount_1_2/00000.png and b/tests/snapshots/flex/test_sign_psbt_singlesig_large_amount_1_2/00000.png differ diff --git a/tests/snapshots/flex/test_sign_psbt_singlesig_large_amount_2_0/00000.png b/tests/snapshots/flex/test_sign_psbt_singlesig_large_amount_2_0/00000.png deleted file mode 100644 index be51a9d55..000000000 Binary files a/tests/snapshots/flex/test_sign_psbt_singlesig_large_amount_2_0/00000.png and /dev/null differ diff --git a/tests/snapshots/flex/test_sign_psbt_singlesig_large_amount_v1_0_0/00000.png b/tests/snapshots/flex/test_sign_psbt_singlesig_large_amount_v1_0_0/00000.png deleted file mode 100644 index 0cfe1e08b..000000000 Binary files a/tests/snapshots/flex/test_sign_psbt_singlesig_large_amount_v1_0_0/00000.png and /dev/null differ diff --git a/tests/snapshots/flex/test_sign_psbt_singlesig_large_amount_v1_1_0/00000.png b/tests/snapshots/flex/test_sign_psbt_singlesig_large_amount_v1_1_0/00000.png deleted file mode 100644 index 68768785b..000000000 Binary files a/tests/snapshots/flex/test_sign_psbt_singlesig_large_amount_v1_1_0/00000.png and /dev/null differ diff --git a/tests/snapshots/flex/test_sign_psbt_singlesig_large_amount_v1_1_1/00000.png b/tests/snapshots/flex/test_sign_psbt_singlesig_large_amount_v1_1_1/00000.png deleted file mode 100644 index 61420dd21..000000000 Binary files a/tests/snapshots/flex/test_sign_psbt_singlesig_large_amount_v1_1_1/00000.png and /dev/null differ diff --git a/tests/snapshots/flex/test_sign_psbt_singlesig_large_amount_v1_1_2/00000.png b/tests/snapshots/flex/test_sign_psbt_singlesig_large_amount_v1_1_2/00000.png deleted file mode 100644 index 78571a283..000000000 Binary files a/tests/snapshots/flex/test_sign_psbt_singlesig_large_amount_v1_1_2/00000.png and /dev/null differ diff --git a/tests/snapshots/flex/test_sign_psbt_singlesig_large_amount_v1_2_0/00000.png b/tests/snapshots/flex/test_sign_psbt_singlesig_large_amount_v1_2_0/00000.png deleted file mode 100644 index be51a9d55..000000000 Binary files a/tests/snapshots/flex/test_sign_psbt_singlesig_large_amount_v1_2_0/00000.png and /dev/null differ diff --git a/tests/snapshots/flex/test_sign_psbt_singlesig_pkh_1to1_0_0/00000.png b/tests/snapshots/flex/test_sign_psbt_singlesig_pkh_1to1_0_0/00000.png index 0cfe1e08b..a3186a71a 100644 Binary files a/tests/snapshots/flex/test_sign_psbt_singlesig_pkh_1to1_0_0/00000.png and b/tests/snapshots/flex/test_sign_psbt_singlesig_pkh_1to1_0_0/00000.png differ diff --git a/tests/snapshots/flex/test_sign_psbt_singlesig_pkh_1to1_1_0/00000.png b/tests/snapshots/flex/test_sign_psbt_singlesig_pkh_1to1_1_0/00000.png index f11fedcda..da707caa6 100644 Binary files a/tests/snapshots/flex/test_sign_psbt_singlesig_pkh_1to1_1_0/00000.png and b/tests/snapshots/flex/test_sign_psbt_singlesig_pkh_1to1_1_0/00000.png differ diff --git a/tests/snapshots/flex/test_sign_psbt_singlesig_pkh_1to1_1_1/00000.png b/tests/snapshots/flex/test_sign_psbt_singlesig_pkh_1to1_1_1/00000.png index 684bc4014..bf42e9d22 100644 Binary files a/tests/snapshots/flex/test_sign_psbt_singlesig_pkh_1to1_1_1/00000.png and b/tests/snapshots/flex/test_sign_psbt_singlesig_pkh_1to1_1_1/00000.png differ diff --git a/tests/snapshots/flex/test_sign_psbt_singlesig_pkh_1to1_1_2/00000.png b/tests/snapshots/flex/test_sign_psbt_singlesig_pkh_1to1_1_2/00000.png index 78571a283..747e80924 100644 Binary files a/tests/snapshots/flex/test_sign_psbt_singlesig_pkh_1to1_1_2/00000.png and b/tests/snapshots/flex/test_sign_psbt_singlesig_pkh_1to1_1_2/00000.png differ diff --git a/tests/snapshots/flex/test_sign_psbt_singlesig_pkh_1to1_other_encodings_0_0_0/00000.png b/tests/snapshots/flex/test_sign_psbt_singlesig_pkh_1to1_other_encodings_0_0_0/00000.png index 0cfe1e08b..a3186a71a 100644 Binary files a/tests/snapshots/flex/test_sign_psbt_singlesig_pkh_1to1_other_encodings_0_0_0/00000.png and b/tests/snapshots/flex/test_sign_psbt_singlesig_pkh_1to1_other_encodings_0_0_0/00000.png differ diff --git a/tests/snapshots/flex/test_sign_psbt_singlesig_pkh_1to1_other_encodings_0_1_0/00000.png b/tests/snapshots/flex/test_sign_psbt_singlesig_pkh_1to1_other_encodings_0_1_0/00000.png index f11fedcda..da707caa6 100644 Binary files a/tests/snapshots/flex/test_sign_psbt_singlesig_pkh_1to1_other_encodings_0_1_0/00000.png and b/tests/snapshots/flex/test_sign_psbt_singlesig_pkh_1to1_other_encodings_0_1_0/00000.png differ diff --git a/tests/snapshots/flex/test_sign_psbt_singlesig_pkh_1to1_other_encodings_0_1_1/00000.png b/tests/snapshots/flex/test_sign_psbt_singlesig_pkh_1to1_other_encodings_0_1_1/00000.png index 684bc4014..bf42e9d22 100644 Binary files a/tests/snapshots/flex/test_sign_psbt_singlesig_pkh_1to1_other_encodings_0_1_1/00000.png and b/tests/snapshots/flex/test_sign_psbt_singlesig_pkh_1to1_other_encodings_0_1_1/00000.png differ diff --git a/tests/snapshots/flex/test_sign_psbt_singlesig_pkh_1to1_other_encodings_0_1_2/00000.png b/tests/snapshots/flex/test_sign_psbt_singlesig_pkh_1to1_other_encodings_0_1_2/00000.png index 78571a283..747e80924 100644 Binary files a/tests/snapshots/flex/test_sign_psbt_singlesig_pkh_1to1_other_encodings_0_1_2/00000.png and b/tests/snapshots/flex/test_sign_psbt_singlesig_pkh_1to1_other_encodings_0_1_2/00000.png differ diff --git a/tests/snapshots/flex/test_sign_psbt_singlesig_pkh_1to1_other_encodings_1_0_0/00000.png b/tests/snapshots/flex/test_sign_psbt_singlesig_pkh_1to1_other_encodings_1_0_0/00000.png index 0cfe1e08b..a3186a71a 100644 Binary files a/tests/snapshots/flex/test_sign_psbt_singlesig_pkh_1to1_other_encodings_1_0_0/00000.png and b/tests/snapshots/flex/test_sign_psbt_singlesig_pkh_1to1_other_encodings_1_0_0/00000.png differ diff --git a/tests/snapshots/flex/test_sign_psbt_singlesig_pkh_1to1_other_encodings_1_1_0/00000.png b/tests/snapshots/flex/test_sign_psbt_singlesig_pkh_1to1_other_encodings_1_1_0/00000.png index f11fedcda..da707caa6 100644 Binary files a/tests/snapshots/flex/test_sign_psbt_singlesig_pkh_1to1_other_encodings_1_1_0/00000.png and b/tests/snapshots/flex/test_sign_psbt_singlesig_pkh_1to1_other_encodings_1_1_0/00000.png differ diff --git a/tests/snapshots/flex/test_sign_psbt_singlesig_pkh_1to1_other_encodings_1_1_1/00000.png b/tests/snapshots/flex/test_sign_psbt_singlesig_pkh_1to1_other_encodings_1_1_1/00000.png index 684bc4014..bf42e9d22 100644 Binary files a/tests/snapshots/flex/test_sign_psbt_singlesig_pkh_1to1_other_encodings_1_1_1/00000.png and b/tests/snapshots/flex/test_sign_psbt_singlesig_pkh_1to1_other_encodings_1_1_1/00000.png differ diff --git a/tests/snapshots/flex/test_sign_psbt_singlesig_pkh_1to1_other_encodings_1_1_2/00000.png b/tests/snapshots/flex/test_sign_psbt_singlesig_pkh_1to1_other_encodings_1_1_2/00000.png index 78571a283..747e80924 100644 Binary files a/tests/snapshots/flex/test_sign_psbt_singlesig_pkh_1to1_other_encodings_1_1_2/00000.png and b/tests/snapshots/flex/test_sign_psbt_singlesig_pkh_1to1_other_encodings_1_1_2/00000.png differ diff --git a/tests/snapshots/flex/test_sign_psbt_singlesig_pkh_1to1_v1_0_0/00000.png b/tests/snapshots/flex/test_sign_psbt_singlesig_pkh_1to1_v1_0_0/00000.png index 0cfe1e08b..a3186a71a 100644 Binary files a/tests/snapshots/flex/test_sign_psbt_singlesig_pkh_1to1_v1_0_0/00000.png and b/tests/snapshots/flex/test_sign_psbt_singlesig_pkh_1to1_v1_0_0/00000.png differ diff --git a/tests/snapshots/flex/test_sign_psbt_singlesig_pkh_1to1_v1_1_0/00000.png b/tests/snapshots/flex/test_sign_psbt_singlesig_pkh_1to1_v1_1_0/00000.png index f11fedcda..da707caa6 100644 Binary files a/tests/snapshots/flex/test_sign_psbt_singlesig_pkh_1to1_v1_1_0/00000.png and b/tests/snapshots/flex/test_sign_psbt_singlesig_pkh_1to1_v1_1_0/00000.png differ diff --git a/tests/snapshots/flex/test_sign_psbt_singlesig_pkh_1to1_v1_1_1/00000.png b/tests/snapshots/flex/test_sign_psbt_singlesig_pkh_1to1_v1_1_1/00000.png index 684bc4014..bf42e9d22 100644 Binary files a/tests/snapshots/flex/test_sign_psbt_singlesig_pkh_1to1_v1_1_1/00000.png and b/tests/snapshots/flex/test_sign_psbt_singlesig_pkh_1to1_v1_1_1/00000.png differ diff --git a/tests/snapshots/flex/test_sign_psbt_singlesig_pkh_1to1_v1_1_2/00000.png b/tests/snapshots/flex/test_sign_psbt_singlesig_pkh_1to1_v1_1_2/00000.png index 78571a283..747e80924 100644 Binary files a/tests/snapshots/flex/test_sign_psbt_singlesig_pkh_1to1_v1_1_2/00000.png and b/tests/snapshots/flex/test_sign_psbt_singlesig_pkh_1to1_v1_1_2/00000.png differ diff --git a/tests/snapshots/flex/test_sign_psbt_singlesig_sh_wpkh_1to2_0_0/00000.png b/tests/snapshots/flex/test_sign_psbt_singlesig_sh_wpkh_1to2_0_0/00000.png index 0cfe1e08b..a3186a71a 100644 Binary files a/tests/snapshots/flex/test_sign_psbt_singlesig_sh_wpkh_1to2_0_0/00000.png and b/tests/snapshots/flex/test_sign_psbt_singlesig_sh_wpkh_1to2_0_0/00000.png differ diff --git a/tests/snapshots/flex/test_sign_psbt_singlesig_sh_wpkh_1to2_1_0/00000.png b/tests/snapshots/flex/test_sign_psbt_singlesig_sh_wpkh_1to2_1_0/00000.png index b3096658d..bbe81e453 100644 Binary files a/tests/snapshots/flex/test_sign_psbt_singlesig_sh_wpkh_1to2_1_0/00000.png and b/tests/snapshots/flex/test_sign_psbt_singlesig_sh_wpkh_1to2_1_0/00000.png differ diff --git a/tests/snapshots/flex/test_sign_psbt_singlesig_sh_wpkh_1to2_2_0/00000.png b/tests/snapshots/flex/test_sign_psbt_singlesig_sh_wpkh_1to2_2_0/00000.png index 1487210d6..c6e881660 100644 Binary files a/tests/snapshots/flex/test_sign_psbt_singlesig_sh_wpkh_1to2_2_0/00000.png and b/tests/snapshots/flex/test_sign_psbt_singlesig_sh_wpkh_1to2_2_0/00000.png differ diff --git a/tests/snapshots/flex/test_sign_psbt_singlesig_sh_wpkh_1to2_2_1/00000.png b/tests/snapshots/flex/test_sign_psbt_singlesig_sh_wpkh_1to2_2_1/00000.png index 78571a283..747e80924 100644 Binary files a/tests/snapshots/flex/test_sign_psbt_singlesig_sh_wpkh_1to2_2_1/00000.png and b/tests/snapshots/flex/test_sign_psbt_singlesig_sh_wpkh_1to2_2_1/00000.png differ diff --git a/tests/snapshots/flex/test_sign_psbt_singlesig_sh_wpkh_1to2_v1_0_0/00000.png b/tests/snapshots/flex/test_sign_psbt_singlesig_sh_wpkh_1to2_v1_0_0/00000.png index 0cfe1e08b..a3186a71a 100644 Binary files a/tests/snapshots/flex/test_sign_psbt_singlesig_sh_wpkh_1to2_v1_0_0/00000.png and b/tests/snapshots/flex/test_sign_psbt_singlesig_sh_wpkh_1to2_v1_0_0/00000.png differ diff --git a/tests/snapshots/flex/test_sign_psbt_singlesig_sh_wpkh_1to2_v1_1_0/00000.png b/tests/snapshots/flex/test_sign_psbt_singlesig_sh_wpkh_1to2_v1_1_0/00000.png index b3096658d..bbe81e453 100644 Binary files a/tests/snapshots/flex/test_sign_psbt_singlesig_sh_wpkh_1to2_v1_1_0/00000.png and b/tests/snapshots/flex/test_sign_psbt_singlesig_sh_wpkh_1to2_v1_1_0/00000.png differ diff --git a/tests/snapshots/flex/test_sign_psbt_singlesig_sh_wpkh_1to2_v1_2_0/00000.png b/tests/snapshots/flex/test_sign_psbt_singlesig_sh_wpkh_1to2_v1_2_0/00000.png index 1487210d6..c6e881660 100644 Binary files a/tests/snapshots/flex/test_sign_psbt_singlesig_sh_wpkh_1to2_v1_2_0/00000.png and b/tests/snapshots/flex/test_sign_psbt_singlesig_sh_wpkh_1to2_v1_2_0/00000.png differ diff --git a/tests/snapshots/flex/test_sign_psbt_singlesig_sh_wpkh_1to2_v1_2_1/00000.png b/tests/snapshots/flex/test_sign_psbt_singlesig_sh_wpkh_1to2_v1_2_1/00000.png index 78571a283..747e80924 100644 Binary files a/tests/snapshots/flex/test_sign_psbt_singlesig_sh_wpkh_1to2_v1_2_1/00000.png and b/tests/snapshots/flex/test_sign_psbt_singlesig_sh_wpkh_1to2_v1_2_1/00000.png differ diff --git a/tests/snapshots/flex/test_sign_psbt_singlesig_wpkh_1to2_0_0/00000.png b/tests/snapshots/flex/test_sign_psbt_singlesig_wpkh_1to2_0_0/00000.png index 0cfe1e08b..a3186a71a 100644 Binary files a/tests/snapshots/flex/test_sign_psbt_singlesig_wpkh_1to2_0_0/00000.png and b/tests/snapshots/flex/test_sign_psbt_singlesig_wpkh_1to2_0_0/00000.png differ diff --git a/tests/snapshots/flex/test_sign_psbt_singlesig_wpkh_1to2_1_0/00000.png b/tests/snapshots/flex/test_sign_psbt_singlesig_wpkh_1to2_1_0/00000.png index 7dd34c9fc..b17ff891e 100644 Binary files a/tests/snapshots/flex/test_sign_psbt_singlesig_wpkh_1to2_1_0/00000.png and b/tests/snapshots/flex/test_sign_psbt_singlesig_wpkh_1to2_1_0/00000.png differ diff --git a/tests/snapshots/flex/test_sign_psbt_singlesig_wpkh_1to2_2_0/00000.png b/tests/snapshots/flex/test_sign_psbt_singlesig_wpkh_1to2_2_0/00000.png index 645da9d44..65b864d7d 100644 Binary files a/tests/snapshots/flex/test_sign_psbt_singlesig_wpkh_1to2_2_0/00000.png and b/tests/snapshots/flex/test_sign_psbt_singlesig_wpkh_1to2_2_0/00000.png differ diff --git a/tests/snapshots/flex/test_sign_psbt_singlesig_wpkh_1to2_2_1/00000.png b/tests/snapshots/flex/test_sign_psbt_singlesig_wpkh_1to2_2_1/00000.png index 78571a283..747e80924 100644 Binary files a/tests/snapshots/flex/test_sign_psbt_singlesig_wpkh_1to2_2_1/00000.png and b/tests/snapshots/flex/test_sign_psbt_singlesig_wpkh_1to2_2_1/00000.png differ diff --git a/tests/snapshots/flex/test_sign_psbt_singlesig_wpkh_1to2_v1_0_0/00000.png b/tests/snapshots/flex/test_sign_psbt_singlesig_wpkh_1to2_v1_0_0/00000.png index 0cfe1e08b..a3186a71a 100644 Binary files a/tests/snapshots/flex/test_sign_psbt_singlesig_wpkh_1to2_v1_0_0/00000.png and b/tests/snapshots/flex/test_sign_psbt_singlesig_wpkh_1to2_v1_0_0/00000.png differ diff --git a/tests/snapshots/flex/test_sign_psbt_singlesig_wpkh_1to2_v1_1_0/00000.png b/tests/snapshots/flex/test_sign_psbt_singlesig_wpkh_1to2_v1_1_0/00000.png index 7dd34c9fc..b17ff891e 100644 Binary files a/tests/snapshots/flex/test_sign_psbt_singlesig_wpkh_1to2_v1_1_0/00000.png and b/tests/snapshots/flex/test_sign_psbt_singlesig_wpkh_1to2_v1_1_0/00000.png differ diff --git a/tests/snapshots/flex/test_sign_psbt_singlesig_wpkh_1to2_v1_2_0/00000.png b/tests/snapshots/flex/test_sign_psbt_singlesig_wpkh_1to2_v1_2_0/00000.png index 645da9d44..65b864d7d 100644 Binary files a/tests/snapshots/flex/test_sign_psbt_singlesig_wpkh_1to2_v1_2_0/00000.png and b/tests/snapshots/flex/test_sign_psbt_singlesig_wpkh_1to2_v1_2_0/00000.png differ diff --git a/tests/snapshots/flex/test_sign_psbt_singlesig_wpkh_1to2_v1_2_1/00000.png b/tests/snapshots/flex/test_sign_psbt_singlesig_wpkh_1to2_v1_2_1/00000.png index 78571a283..747e80924 100644 Binary files a/tests/snapshots/flex/test_sign_psbt_singlesig_wpkh_1to2_v1_2_1/00000.png and b/tests/snapshots/flex/test_sign_psbt_singlesig_wpkh_1to2_v1_2_1/00000.png differ diff --git a/tests/snapshots/flex/test_sign_psbt_singlesig_wpkh_2to2_0_0/00000.png b/tests/snapshots/flex/test_sign_psbt_singlesig_wpkh_2to2_0_0/00000.png index 0cfe1e08b..a3186a71a 100644 Binary files a/tests/snapshots/flex/test_sign_psbt_singlesig_wpkh_2to2_0_0/00000.png and b/tests/snapshots/flex/test_sign_psbt_singlesig_wpkh_2to2_0_0/00000.png differ diff --git a/tests/snapshots/flex/test_sign_psbt_singlesig_wpkh_2to2_1_0/00000.png b/tests/snapshots/flex/test_sign_psbt_singlesig_wpkh_2to2_1_0/00000.png index 9c7fd74eb..fd2031c36 100644 Binary files a/tests/snapshots/flex/test_sign_psbt_singlesig_wpkh_2to2_1_0/00000.png and b/tests/snapshots/flex/test_sign_psbt_singlesig_wpkh_2to2_1_0/00000.png differ diff --git a/tests/snapshots/flex/test_sign_psbt_singlesig_wpkh_2to2_1_1/00000.png b/tests/snapshots/flex/test_sign_psbt_singlesig_wpkh_2to2_1_1/00000.png index 2a2902c5b..da7e26eb4 100644 Binary files a/tests/snapshots/flex/test_sign_psbt_singlesig_wpkh_2to2_1_1/00000.png and b/tests/snapshots/flex/test_sign_psbt_singlesig_wpkh_2to2_1_1/00000.png differ diff --git a/tests/snapshots/flex/test_sign_psbt_singlesig_wpkh_2to2_1_2/00000.png b/tests/snapshots/flex/test_sign_psbt_singlesig_wpkh_2to2_1_2/00000.png index 78571a283..747e80924 100644 Binary files a/tests/snapshots/flex/test_sign_psbt_singlesig_wpkh_2to2_1_2/00000.png and b/tests/snapshots/flex/test_sign_psbt_singlesig_wpkh_2to2_1_2/00000.png differ diff --git a/tests/snapshots/flex/test_sign_psbt_singlesig_wpkh_2to2_missing_nonwitnessutxo_1_0/00000.png b/tests/snapshots/flex/test_sign_psbt_singlesig_wpkh_2to2_missing_nonwitnessutxo_1_0/00000.png index 0cfe1e08b..a3186a71a 100644 Binary files a/tests/snapshots/flex/test_sign_psbt_singlesig_wpkh_2to2_missing_nonwitnessutxo_1_0/00000.png and b/tests/snapshots/flex/test_sign_psbt_singlesig_wpkh_2to2_missing_nonwitnessutxo_1_0/00000.png differ diff --git a/tests/snapshots/flex/test_sign_psbt_singlesig_wpkh_2to2_missing_nonwitnessutxo_2_0/00000.png b/tests/snapshots/flex/test_sign_psbt_singlesig_wpkh_2to2_missing_nonwitnessutxo_2_0/00000.png index 9c7fd74eb..fd2031c36 100644 Binary files a/tests/snapshots/flex/test_sign_psbt_singlesig_wpkh_2to2_missing_nonwitnessutxo_2_0/00000.png and b/tests/snapshots/flex/test_sign_psbt_singlesig_wpkh_2to2_missing_nonwitnessutxo_2_0/00000.png differ diff --git a/tests/snapshots/flex/test_sign_psbt_singlesig_wpkh_2to2_missing_nonwitnessutxo_2_1/00000.png b/tests/snapshots/flex/test_sign_psbt_singlesig_wpkh_2to2_missing_nonwitnessutxo_2_1/00000.png index 2a2902c5b..da7e26eb4 100644 Binary files a/tests/snapshots/flex/test_sign_psbt_singlesig_wpkh_2to2_missing_nonwitnessutxo_2_1/00000.png and b/tests/snapshots/flex/test_sign_psbt_singlesig_wpkh_2to2_missing_nonwitnessutxo_2_1/00000.png differ diff --git a/tests/snapshots/flex/test_sign_psbt_singlesig_wpkh_2to2_missing_nonwitnessutxo_2_2/00000.png b/tests/snapshots/flex/test_sign_psbt_singlesig_wpkh_2to2_missing_nonwitnessutxo_2_2/00000.png index 78571a283..747e80924 100644 Binary files a/tests/snapshots/flex/test_sign_psbt_singlesig_wpkh_2to2_missing_nonwitnessutxo_2_2/00000.png and b/tests/snapshots/flex/test_sign_psbt_singlesig_wpkh_2to2_missing_nonwitnessutxo_2_2/00000.png differ diff --git a/tests/snapshots/flex/test_sign_psbt_singlesig_wpkh_2to2_v1_0_0/00000.png b/tests/snapshots/flex/test_sign_psbt_singlesig_wpkh_2to2_v1_0_0/00000.png index 0cfe1e08b..a3186a71a 100644 Binary files a/tests/snapshots/flex/test_sign_psbt_singlesig_wpkh_2to2_v1_0_0/00000.png and b/tests/snapshots/flex/test_sign_psbt_singlesig_wpkh_2to2_v1_0_0/00000.png differ diff --git a/tests/snapshots/flex/test_sign_psbt_singlesig_wpkh_2to2_v1_1_0/00000.png b/tests/snapshots/flex/test_sign_psbt_singlesig_wpkh_2to2_v1_1_0/00000.png index 9c7fd74eb..fd2031c36 100644 Binary files a/tests/snapshots/flex/test_sign_psbt_singlesig_wpkh_2to2_v1_1_0/00000.png and b/tests/snapshots/flex/test_sign_psbt_singlesig_wpkh_2to2_v1_1_0/00000.png differ diff --git a/tests/snapshots/flex/test_sign_psbt_singlesig_wpkh_2to2_v1_1_1/00000.png b/tests/snapshots/flex/test_sign_psbt_singlesig_wpkh_2to2_v1_1_1/00000.png index 2a2902c5b..da7e26eb4 100644 Binary files a/tests/snapshots/flex/test_sign_psbt_singlesig_wpkh_2to2_v1_1_1/00000.png and b/tests/snapshots/flex/test_sign_psbt_singlesig_wpkh_2to2_v1_1_1/00000.png differ diff --git a/tests/snapshots/flex/test_sign_psbt_singlesig_wpkh_2to2_v1_1_2/00000.png b/tests/snapshots/flex/test_sign_psbt_singlesig_wpkh_2to2_v1_1_2/00000.png index 78571a283..747e80924 100644 Binary files a/tests/snapshots/flex/test_sign_psbt_singlesig_wpkh_2to2_v1_1_2/00000.png and b/tests/snapshots/flex/test_sign_psbt_singlesig_wpkh_2to2_v1_1_2/00000.png differ diff --git a/tests/snapshots/flex/test_sign_psbt_singlesig_wpkh_4to3_0_0/00000.png b/tests/snapshots/flex/test_sign_psbt_singlesig_wpkh_4to3_0_0/00000.png deleted file mode 100644 index 0cfe1e08b..000000000 Binary files a/tests/snapshots/flex/test_sign_psbt_singlesig_wpkh_4to3_0_0/00000.png and /dev/null differ diff --git a/tests/snapshots/flex/test_sign_psbt_singlesig_wpkh_4to3_1_0/00000.png b/tests/snapshots/flex/test_sign_psbt_singlesig_wpkh_4to3_1_0/00000.png deleted file mode 100644 index c11806e04..000000000 Binary files a/tests/snapshots/flex/test_sign_psbt_singlesig_wpkh_4to3_1_0/00000.png and /dev/null differ diff --git a/tests/snapshots/flex/test_sign_psbt_singlesig_wpkh_4to3_2_0/00000.png b/tests/snapshots/flex/test_sign_psbt_singlesig_wpkh_4to3_2_0/00000.png deleted file mode 100644 index 31d6e396b..000000000 Binary files a/tests/snapshots/flex/test_sign_psbt_singlesig_wpkh_4to3_2_0/00000.png and /dev/null differ diff --git a/tests/snapshots/flex/test_sign_psbt_singlesig_wpkh_4to3_2_1/00000.png b/tests/snapshots/flex/test_sign_psbt_singlesig_wpkh_4to3_2_1/00000.png deleted file mode 100644 index 913f83fb6..000000000 Binary files a/tests/snapshots/flex/test_sign_psbt_singlesig_wpkh_4to3_2_1/00000.png and /dev/null differ diff --git a/tests/snapshots/flex/test_sign_psbt_singlesig_wpkh_4to3_2_2/00000.png b/tests/snapshots/flex/test_sign_psbt_singlesig_wpkh_4to3_2_2/00000.png deleted file mode 100644 index 78571a283..000000000 Binary files a/tests/snapshots/flex/test_sign_psbt_singlesig_wpkh_4to3_2_2/00000.png and /dev/null differ diff --git a/tests/snapshots/flex/test_sign_psbt_singlesig_wpkh_4to3_3_0/00000.png b/tests/snapshots/flex/test_sign_psbt_singlesig_wpkh_4to3_3_0/00000.png deleted file mode 100644 index be51a9d55..000000000 Binary files a/tests/snapshots/flex/test_sign_psbt_singlesig_wpkh_4to3_3_0/00000.png and /dev/null differ diff --git a/tests/snapshots/flex/test_sign_psbt_singlesig_wpkh_4to3_v1_0_0/00000.png b/tests/snapshots/flex/test_sign_psbt_singlesig_wpkh_4to3_v1_0_0/00000.png deleted file mode 100644 index 0cfe1e08b..000000000 Binary files a/tests/snapshots/flex/test_sign_psbt_singlesig_wpkh_4to3_v1_0_0/00000.png and /dev/null differ diff --git a/tests/snapshots/flex/test_sign_psbt_singlesig_wpkh_4to3_v1_1_0/00000.png b/tests/snapshots/flex/test_sign_psbt_singlesig_wpkh_4to3_v1_1_0/00000.png deleted file mode 100644 index c11806e04..000000000 Binary files a/tests/snapshots/flex/test_sign_psbt_singlesig_wpkh_4to3_v1_1_0/00000.png and /dev/null differ diff --git a/tests/snapshots/flex/test_sign_psbt_singlesig_wpkh_4to3_v1_2_0/00000.png b/tests/snapshots/flex/test_sign_psbt_singlesig_wpkh_4to3_v1_2_0/00000.png deleted file mode 100644 index 31d6e396b..000000000 Binary files a/tests/snapshots/flex/test_sign_psbt_singlesig_wpkh_4to3_v1_2_0/00000.png and /dev/null differ diff --git a/tests/snapshots/flex/test_sign_psbt_singlesig_wpkh_4to3_v1_2_1/00000.png b/tests/snapshots/flex/test_sign_psbt_singlesig_wpkh_4to3_v1_2_1/00000.png deleted file mode 100644 index 913f83fb6..000000000 Binary files a/tests/snapshots/flex/test_sign_psbt_singlesig_wpkh_4to3_v1_2_1/00000.png and /dev/null differ diff --git a/tests/snapshots/flex/test_sign_psbt_singlesig_wpkh_4to3_v1_2_2/00000.png b/tests/snapshots/flex/test_sign_psbt_singlesig_wpkh_4to3_v1_2_2/00000.png deleted file mode 100644 index 78571a283..000000000 Binary files a/tests/snapshots/flex/test_sign_psbt_singlesig_wpkh_4to3_v1_2_2/00000.png and /dev/null differ diff --git a/tests/snapshots/flex/test_sign_psbt_singlesig_wpkh_4to3_v1_3_0/00000.png b/tests/snapshots/flex/test_sign_psbt_singlesig_wpkh_4to3_v1_3_0/00000.png deleted file mode 100644 index be51a9d55..000000000 Binary files a/tests/snapshots/flex/test_sign_psbt_singlesig_wpkh_4to3_v1_3_0/00000.png and /dev/null differ diff --git a/tests/snapshots/flex/test_sign_psbt_singlesig_wpkh_selftransfer_0_0/00000.png b/tests/snapshots/flex/test_sign_psbt_singlesig_wpkh_selftransfer_0_0/00000.png index 0cfe1e08b..a3186a71a 100644 Binary files a/tests/snapshots/flex/test_sign_psbt_singlesig_wpkh_selftransfer_0_0/00000.png and b/tests/snapshots/flex/test_sign_psbt_singlesig_wpkh_selftransfer_0_0/00000.png differ diff --git a/tests/snapshots/flex/test_sign_psbt_singlesig_wpkh_selftransfer_1_0/00000.png b/tests/snapshots/flex/test_sign_psbt_singlesig_wpkh_selftransfer_1_0/00000.png index 50a6e716f..b901325b9 100644 Binary files a/tests/snapshots/flex/test_sign_psbt_singlesig_wpkh_selftransfer_1_0/00000.png and b/tests/snapshots/flex/test_sign_psbt_singlesig_wpkh_selftransfer_1_0/00000.png differ diff --git a/tests/snapshots/flex/test_sign_psbt_singlesig_wpkh_selftransfer_1_1/00000.png b/tests/snapshots/flex/test_sign_psbt_singlesig_wpkh_selftransfer_1_1/00000.png index 78571a283..747e80924 100644 Binary files a/tests/snapshots/flex/test_sign_psbt_singlesig_wpkh_selftransfer_1_1/00000.png and b/tests/snapshots/flex/test_sign_psbt_singlesig_wpkh_selftransfer_1_1/00000.png differ diff --git a/tests/snapshots/flex/test_sign_psbt_taproot_1to2_sighash_all_0_0/00000.png b/tests/snapshots/flex/test_sign_psbt_taproot_1to2_sighash_all_0_0/00000.png index 0cfe1e08b..a3186a71a 100644 Binary files a/tests/snapshots/flex/test_sign_psbt_taproot_1to2_sighash_all_0_0/00000.png and b/tests/snapshots/flex/test_sign_psbt_taproot_1to2_sighash_all_0_0/00000.png differ diff --git a/tests/snapshots/flex/test_sign_psbt_taproot_1to2_sighash_all_1_0/00000.png b/tests/snapshots/flex/test_sign_psbt_taproot_1to2_sighash_all_1_0/00000.png index 09a732225..c3abbcff4 100644 Binary files a/tests/snapshots/flex/test_sign_psbt_taproot_1to2_sighash_all_1_0/00000.png and b/tests/snapshots/flex/test_sign_psbt_taproot_1to2_sighash_all_1_0/00000.png differ diff --git a/tests/snapshots/flex/test_sign_psbt_taproot_1to2_sighash_all_1_1/00000.png b/tests/snapshots/flex/test_sign_psbt_taproot_1to2_sighash_all_1_1/00000.png index 9063de9fe..7efe911cd 100644 Binary files a/tests/snapshots/flex/test_sign_psbt_taproot_1to2_sighash_all_1_1/00000.png and b/tests/snapshots/flex/test_sign_psbt_taproot_1to2_sighash_all_1_1/00000.png differ diff --git a/tests/snapshots/flex/test_sign_psbt_taproot_1to2_sighash_all_1_2/00000.png b/tests/snapshots/flex/test_sign_psbt_taproot_1to2_sighash_all_1_2/00000.png index 78571a283..747e80924 100644 Binary files a/tests/snapshots/flex/test_sign_psbt_taproot_1to2_sighash_all_1_2/00000.png and b/tests/snapshots/flex/test_sign_psbt_taproot_1to2_sighash_all_1_2/00000.png differ diff --git a/tests/snapshots/flex/test_sign_psbt_taproot_1to2_sighash_default_0_0_0/00000.png b/tests/snapshots/flex/test_sign_psbt_taproot_1to2_sighash_default_0_0_0/00000.png index 0cfe1e08b..a3186a71a 100644 Binary files a/tests/snapshots/flex/test_sign_psbt_taproot_1to2_sighash_default_0_0_0/00000.png and b/tests/snapshots/flex/test_sign_psbt_taproot_1to2_sighash_default_0_0_0/00000.png differ diff --git a/tests/snapshots/flex/test_sign_psbt_taproot_1to2_sighash_default_0_1_0/00000.png b/tests/snapshots/flex/test_sign_psbt_taproot_1to2_sighash_default_0_1_0/00000.png index 09a732225..c3abbcff4 100644 Binary files a/tests/snapshots/flex/test_sign_psbt_taproot_1to2_sighash_default_0_1_0/00000.png and b/tests/snapshots/flex/test_sign_psbt_taproot_1to2_sighash_default_0_1_0/00000.png differ diff --git a/tests/snapshots/flex/test_sign_psbt_taproot_1to2_sighash_default_0_1_1/00000.png b/tests/snapshots/flex/test_sign_psbt_taproot_1to2_sighash_default_0_1_1/00000.png index 9063de9fe..7efe911cd 100644 Binary files a/tests/snapshots/flex/test_sign_psbt_taproot_1to2_sighash_default_0_1_1/00000.png and b/tests/snapshots/flex/test_sign_psbt_taproot_1to2_sighash_default_0_1_1/00000.png differ diff --git a/tests/snapshots/flex/test_sign_psbt_taproot_1to2_sighash_default_0_1_2/00000.png b/tests/snapshots/flex/test_sign_psbt_taproot_1to2_sighash_default_0_1_2/00000.png index 78571a283..747e80924 100644 Binary files a/tests/snapshots/flex/test_sign_psbt_taproot_1to2_sighash_default_0_1_2/00000.png and b/tests/snapshots/flex/test_sign_psbt_taproot_1to2_sighash_default_0_1_2/00000.png differ diff --git a/tests/snapshots/flex/test_sign_psbt_taproot_1to2_sighash_default_1_0_0/00000.png b/tests/snapshots/flex/test_sign_psbt_taproot_1to2_sighash_default_1_0_0/00000.png index 0cfe1e08b..a3186a71a 100644 Binary files a/tests/snapshots/flex/test_sign_psbt_taproot_1to2_sighash_default_1_0_0/00000.png and b/tests/snapshots/flex/test_sign_psbt_taproot_1to2_sighash_default_1_0_0/00000.png differ diff --git a/tests/snapshots/flex/test_sign_psbt_taproot_1to2_sighash_default_1_1_0/00000.png b/tests/snapshots/flex/test_sign_psbt_taproot_1to2_sighash_default_1_1_0/00000.png index 09a732225..c3abbcff4 100644 Binary files a/tests/snapshots/flex/test_sign_psbt_taproot_1to2_sighash_default_1_1_0/00000.png and b/tests/snapshots/flex/test_sign_psbt_taproot_1to2_sighash_default_1_1_0/00000.png differ diff --git a/tests/snapshots/flex/test_sign_psbt_taproot_1to2_sighash_default_1_1_1/00000.png b/tests/snapshots/flex/test_sign_psbt_taproot_1to2_sighash_default_1_1_1/00000.png index 9063de9fe..7efe911cd 100644 Binary files a/tests/snapshots/flex/test_sign_psbt_taproot_1to2_sighash_default_1_1_1/00000.png and b/tests/snapshots/flex/test_sign_psbt_taproot_1to2_sighash_default_1_1_1/00000.png differ diff --git a/tests/snapshots/flex/test_sign_psbt_taproot_1to2_sighash_default_1_1_2/00000.png b/tests/snapshots/flex/test_sign_psbt_taproot_1to2_sighash_default_1_1_2/00000.png index 78571a283..747e80924 100644 Binary files a/tests/snapshots/flex/test_sign_psbt_taproot_1to2_sighash_default_1_1_2/00000.png and b/tests/snapshots/flex/test_sign_psbt_taproot_1to2_sighash_default_1_1_2/00000.png differ diff --git a/tests/snapshots/flex/test_sign_psbt_taproot_1to2_v1_0_0/00000.png b/tests/snapshots/flex/test_sign_psbt_taproot_1to2_v1_0_0/00000.png index 0cfe1e08b..a3186a71a 100644 Binary files a/tests/snapshots/flex/test_sign_psbt_taproot_1to2_v1_0_0/00000.png and b/tests/snapshots/flex/test_sign_psbt_taproot_1to2_v1_0_0/00000.png differ diff --git a/tests/snapshots/flex/test_sign_psbt_taproot_1to2_v1_1_0/00000.png b/tests/snapshots/flex/test_sign_psbt_taproot_1to2_v1_1_0/00000.png index 09a732225..c3abbcff4 100644 Binary files a/tests/snapshots/flex/test_sign_psbt_taproot_1to2_v1_1_0/00000.png and b/tests/snapshots/flex/test_sign_psbt_taproot_1to2_v1_1_0/00000.png differ diff --git a/tests/snapshots/flex/test_sign_psbt_taproot_1to2_v1_1_1/00000.png b/tests/snapshots/flex/test_sign_psbt_taproot_1to2_v1_1_1/00000.png index 9063de9fe..7efe911cd 100644 Binary files a/tests/snapshots/flex/test_sign_psbt_taproot_1to2_v1_1_1/00000.png and b/tests/snapshots/flex/test_sign_psbt_taproot_1to2_v1_1_1/00000.png differ diff --git a/tests/snapshots/flex/test_sign_psbt_taproot_1to2_v1_1_2/00000.png b/tests/snapshots/flex/test_sign_psbt_taproot_1to2_v1_1_2/00000.png index 78571a283..747e80924 100644 Binary files a/tests/snapshots/flex/test_sign_psbt_taproot_1to2_v1_1_2/00000.png and b/tests/snapshots/flex/test_sign_psbt_taproot_1to2_v1_1_2/00000.png differ diff --git a/tests/snapshots/flex/test_sign_psbt_tr_script_pk_sighash_all_0_0/00000.png b/tests/snapshots/flex/test_sign_psbt_tr_script_pk_sighash_all_0_0/00000.png index 1d82bb540..0b3fb7e8e 100644 Binary files a/tests/snapshots/flex/test_sign_psbt_tr_script_pk_sighash_all_0_0/00000.png and b/tests/snapshots/flex/test_sign_psbt_tr_script_pk_sighash_all_0_0/00000.png differ diff --git a/tests/snapshots/flex/test_sign_psbt_tr_script_pk_sighash_all_0_0/00001.png b/tests/snapshots/flex/test_sign_psbt_tr_script_pk_sighash_all_0_0/00001.png index 5681eb4c4..25fc87d6a 100644 Binary files a/tests/snapshots/flex/test_sign_psbt_tr_script_pk_sighash_all_0_0/00001.png and b/tests/snapshots/flex/test_sign_psbt_tr_script_pk_sighash_all_0_0/00001.png differ diff --git a/tests/snapshots/flex/test_sign_psbt_tr_script_pk_sighash_all_0_0/00002.png b/tests/snapshots/flex/test_sign_psbt_tr_script_pk_sighash_all_0_0/00002.png index f937c30c8..1c52feb94 100644 Binary files a/tests/snapshots/flex/test_sign_psbt_tr_script_pk_sighash_all_0_0/00002.png and b/tests/snapshots/flex/test_sign_psbt_tr_script_pk_sighash_all_0_0/00002.png differ diff --git a/tests/snapshots/flex/test_sign_psbt_tr_script_pk_sighash_all_1_0/00000.png b/tests/snapshots/flex/test_sign_psbt_tr_script_pk_sighash_all_1_0/00000.png index 0cfe1e08b..a3186a71a 100644 Binary files a/tests/snapshots/flex/test_sign_psbt_tr_script_pk_sighash_all_1_0/00000.png and b/tests/snapshots/flex/test_sign_psbt_tr_script_pk_sighash_all_1_0/00000.png differ diff --git a/tests/snapshots/flex/test_sign_psbt_tr_script_pk_sighash_all_2_0/00000.png b/tests/snapshots/flex/test_sign_psbt_tr_script_pk_sighash_all_2_0/00000.png index 0747c53a4..744260542 100644 Binary files a/tests/snapshots/flex/test_sign_psbt_tr_script_pk_sighash_all_2_0/00000.png and b/tests/snapshots/flex/test_sign_psbt_tr_script_pk_sighash_all_2_0/00000.png differ diff --git a/tests/snapshots/flex/test_sign_psbt_tr_script_pk_sighash_all_2_1/00000.png b/tests/snapshots/flex/test_sign_psbt_tr_script_pk_sighash_all_2_1/00000.png index ded485dc7..fb99d9b8b 100644 Binary files a/tests/snapshots/flex/test_sign_psbt_tr_script_pk_sighash_all_2_1/00000.png and b/tests/snapshots/flex/test_sign_psbt_tr_script_pk_sighash_all_2_1/00000.png differ diff --git a/tests/snapshots/flex/test_sign_psbt_tr_script_pk_sighash_all_2_2/00000.png b/tests/snapshots/flex/test_sign_psbt_tr_script_pk_sighash_all_2_2/00000.png index 78571a283..747e80924 100644 Binary files a/tests/snapshots/flex/test_sign_psbt_tr_script_pk_sighash_all_2_2/00000.png and b/tests/snapshots/flex/test_sign_psbt_tr_script_pk_sighash_all_2_2/00000.png differ diff --git a/tests/snapshots/flex/test_sign_psbt_with_external_inputs_0_1_0/00000.png b/tests/snapshots/flex/test_sign_psbt_with_external_inputs_0_1_0/00000.png index 0cfe1e08b..a3186a71a 100644 Binary files a/tests/snapshots/flex/test_sign_psbt_with_external_inputs_0_1_0/00000.png and b/tests/snapshots/flex/test_sign_psbt_with_external_inputs_0_1_0/00000.png differ diff --git a/tests/snapshots/flex/test_sign_psbt_with_external_inputs_0_2_0/00000.png b/tests/snapshots/flex/test_sign_psbt_with_external_inputs_0_2_0/00000.png index c56fc5ab6..c8a0e5b83 100644 Binary files a/tests/snapshots/flex/test_sign_psbt_with_external_inputs_0_2_0/00000.png and b/tests/snapshots/flex/test_sign_psbt_with_external_inputs_0_2_0/00000.png differ diff --git a/tests/snapshots/flex/test_sign_psbt_with_external_inputs_0_3_0/00000.png b/tests/snapshots/flex/test_sign_psbt_with_external_inputs_0_3_0/00000.png index d048b6b77..a4b5ad33e 100644 Binary files a/tests/snapshots/flex/test_sign_psbt_with_external_inputs_0_3_0/00000.png and b/tests/snapshots/flex/test_sign_psbt_with_external_inputs_0_3_0/00000.png differ diff --git a/tests/snapshots/flex/test_sign_psbt_with_external_inputs_0_4_0/00000.png b/tests/snapshots/flex/test_sign_psbt_with_external_inputs_0_4_0/00000.png index 70842470b..748ca3b98 100644 Binary files a/tests/snapshots/flex/test_sign_psbt_with_external_inputs_0_4_0/00000.png and b/tests/snapshots/flex/test_sign_psbt_with_external_inputs_0_4_0/00000.png differ diff --git a/tests/snapshots/flex/test_sign_psbt_with_external_inputs_0_5_0/00000.png b/tests/snapshots/flex/test_sign_psbt_with_external_inputs_0_5_0/00000.png index 361cd6cb2..2a80c601b 100644 Binary files a/tests/snapshots/flex/test_sign_psbt_with_external_inputs_0_5_0/00000.png and b/tests/snapshots/flex/test_sign_psbt_with_external_inputs_0_5_0/00000.png differ diff --git a/tests/snapshots/flex/test_sign_psbt_with_external_inputs_0_6_0/00000.png b/tests/snapshots/flex/test_sign_psbt_with_external_inputs_0_6_0/00000.png index d9a91c336..182ce4f97 100644 Binary files a/tests/snapshots/flex/test_sign_psbt_with_external_inputs_0_6_0/00000.png and b/tests/snapshots/flex/test_sign_psbt_with_external_inputs_0_6_0/00000.png differ diff --git a/tests/snapshots/flex/test_sign_psbt_with_external_inputs_0_6_1/00000.png b/tests/snapshots/flex/test_sign_psbt_with_external_inputs_0_6_1/00000.png index 2376f31a5..5fec75e2a 100644 Binary files a/tests/snapshots/flex/test_sign_psbt_with_external_inputs_0_6_1/00000.png and b/tests/snapshots/flex/test_sign_psbt_with_external_inputs_0_6_1/00000.png differ diff --git a/tests/snapshots/flex/test_sign_psbt_with_external_inputs_0_6_2/00000.png b/tests/snapshots/flex/test_sign_psbt_with_external_inputs_0_6_2/00000.png index 78571a283..747e80924 100644 Binary files a/tests/snapshots/flex/test_sign_psbt_with_external_inputs_0_6_2/00000.png and b/tests/snapshots/flex/test_sign_psbt_with_external_inputs_0_6_2/00000.png differ diff --git a/tests/snapshots/flex/test_sign_psbt_with_external_inputs_1_1_0/00000.png b/tests/snapshots/flex/test_sign_psbt_with_external_inputs_1_1_0/00000.png index 0cfe1e08b..a3186a71a 100644 Binary files a/tests/snapshots/flex/test_sign_psbt_with_external_inputs_1_1_0/00000.png and b/tests/snapshots/flex/test_sign_psbt_with_external_inputs_1_1_0/00000.png differ diff --git a/tests/snapshots/flex/test_sign_psbt_with_external_inputs_1_2_0/00000.png b/tests/snapshots/flex/test_sign_psbt_with_external_inputs_1_2_0/00000.png index c56fc5ab6..c8a0e5b83 100644 Binary files a/tests/snapshots/flex/test_sign_psbt_with_external_inputs_1_2_0/00000.png and b/tests/snapshots/flex/test_sign_psbt_with_external_inputs_1_2_0/00000.png differ diff --git a/tests/snapshots/flex/test_sign_psbt_with_external_inputs_1_3_0/00000.png b/tests/snapshots/flex/test_sign_psbt_with_external_inputs_1_3_0/00000.png index 932ab5bf9..723b82b0c 100644 Binary files a/tests/snapshots/flex/test_sign_psbt_with_external_inputs_1_3_0/00000.png and b/tests/snapshots/flex/test_sign_psbt_with_external_inputs_1_3_0/00000.png differ diff --git a/tests/snapshots/flex/test_sign_psbt_with_external_inputs_1_4_0/00000.png b/tests/snapshots/flex/test_sign_psbt_with_external_inputs_1_4_0/00000.png index 28b82ed90..63e356230 100644 Binary files a/tests/snapshots/flex/test_sign_psbt_with_external_inputs_1_4_0/00000.png and b/tests/snapshots/flex/test_sign_psbt_with_external_inputs_1_4_0/00000.png differ diff --git a/tests/snapshots/flex/test_sign_psbt_with_external_inputs_1_5_0/00000.png b/tests/snapshots/flex/test_sign_psbt_with_external_inputs_1_5_0/00000.png index 0d3e08de3..1aa3f52e4 100644 Binary files a/tests/snapshots/flex/test_sign_psbt_with_external_inputs_1_5_0/00000.png and b/tests/snapshots/flex/test_sign_psbt_with_external_inputs_1_5_0/00000.png differ diff --git a/tests/snapshots/flex/test_sign_psbt_with_external_inputs_1_5_1/00000.png b/tests/snapshots/flex/test_sign_psbt_with_external_inputs_1_5_1/00000.png index 2376f31a5..5fec75e2a 100644 Binary files a/tests/snapshots/flex/test_sign_psbt_with_external_inputs_1_5_1/00000.png and b/tests/snapshots/flex/test_sign_psbt_with_external_inputs_1_5_1/00000.png differ diff --git a/tests/snapshots/flex/test_sign_psbt_with_external_inputs_1_5_2/00000.png b/tests/snapshots/flex/test_sign_psbt_with_external_inputs_1_5_2/00000.png index 78571a283..747e80924 100644 Binary files a/tests/snapshots/flex/test_sign_psbt_with_external_inputs_1_5_2/00000.png and b/tests/snapshots/flex/test_sign_psbt_with_external_inputs_1_5_2/00000.png differ diff --git a/tests/snapshots/flex/test_sign_psbt_with_external_inputs_2_1_0/00000.png b/tests/snapshots/flex/test_sign_psbt_with_external_inputs_2_1_0/00000.png index 0cfe1e08b..a3186a71a 100644 Binary files a/tests/snapshots/flex/test_sign_psbt_with_external_inputs_2_1_0/00000.png and b/tests/snapshots/flex/test_sign_psbt_with_external_inputs_2_1_0/00000.png differ diff --git a/tests/snapshots/flex/test_sign_psbt_with_external_inputs_2_2_0/00000.png b/tests/snapshots/flex/test_sign_psbt_with_external_inputs_2_2_0/00000.png index c56fc5ab6..c8a0e5b83 100644 Binary files a/tests/snapshots/flex/test_sign_psbt_with_external_inputs_2_2_0/00000.png and b/tests/snapshots/flex/test_sign_psbt_with_external_inputs_2_2_0/00000.png differ diff --git a/tests/snapshots/flex/test_sign_psbt_with_external_inputs_2_3_0/00000.png b/tests/snapshots/flex/test_sign_psbt_with_external_inputs_2_3_0/00000.png index d048b6b77..a4b5ad33e 100644 Binary files a/tests/snapshots/flex/test_sign_psbt_with_external_inputs_2_3_0/00000.png and b/tests/snapshots/flex/test_sign_psbt_with_external_inputs_2_3_0/00000.png differ diff --git a/tests/snapshots/flex/test_sign_psbt_with_external_inputs_2_4_0/00000.png b/tests/snapshots/flex/test_sign_psbt_with_external_inputs_2_4_0/00000.png index 70842470b..748ca3b98 100644 Binary files a/tests/snapshots/flex/test_sign_psbt_with_external_inputs_2_4_0/00000.png and b/tests/snapshots/flex/test_sign_psbt_with_external_inputs_2_4_0/00000.png differ diff --git a/tests/snapshots/flex/test_sign_psbt_with_external_inputs_2_5_0/00000.png b/tests/snapshots/flex/test_sign_psbt_with_external_inputs_2_5_0/00000.png index 0d3e08de3..1aa3f52e4 100644 Binary files a/tests/snapshots/flex/test_sign_psbt_with_external_inputs_2_5_0/00000.png and b/tests/snapshots/flex/test_sign_psbt_with_external_inputs_2_5_0/00000.png differ diff --git a/tests/snapshots/flex/test_sign_psbt_with_external_inputs_2_5_1/00000.png b/tests/snapshots/flex/test_sign_psbt_with_external_inputs_2_5_1/00000.png index 2376f31a5..5fec75e2a 100644 Binary files a/tests/snapshots/flex/test_sign_psbt_with_external_inputs_2_5_1/00000.png and b/tests/snapshots/flex/test_sign_psbt_with_external_inputs_2_5_1/00000.png differ diff --git a/tests/snapshots/flex/test_sign_psbt_with_external_inputs_2_5_2/00000.png b/tests/snapshots/flex/test_sign_psbt_with_external_inputs_2_5_2/00000.png index 78571a283..747e80924 100644 Binary files a/tests/snapshots/flex/test_sign_psbt_with_external_inputs_2_5_2/00000.png and b/tests/snapshots/flex/test_sign_psbt_with_external_inputs_2_5_2/00000.png differ diff --git a/tests/snapshots/flex/test_sign_psbt_with_naked_opreturn_0_0/00000.png b/tests/snapshots/flex/test_sign_psbt_with_naked_opreturn_0_0/00000.png index 0cfe1e08b..a3186a71a 100644 Binary files a/tests/snapshots/flex/test_sign_psbt_with_naked_opreturn_0_0/00000.png and b/tests/snapshots/flex/test_sign_psbt_with_naked_opreturn_0_0/00000.png differ diff --git a/tests/snapshots/flex/test_sign_psbt_with_naked_opreturn_1_0/00000.png b/tests/snapshots/flex/test_sign_psbt_with_naked_opreturn_1_0/00000.png index 999a8cddf..5b8a3335a 100644 Binary files a/tests/snapshots/flex/test_sign_psbt_with_naked_opreturn_1_0/00000.png and b/tests/snapshots/flex/test_sign_psbt_with_naked_opreturn_1_0/00000.png differ diff --git a/tests/snapshots/flex/test_sign_psbt_with_naked_opreturn_2_0/00000.png b/tests/snapshots/flex/test_sign_psbt_with_naked_opreturn_2_0/00000.png index be5ad5983..1acf26b8c 100644 Binary files a/tests/snapshots/flex/test_sign_psbt_with_naked_opreturn_2_0/00000.png and b/tests/snapshots/flex/test_sign_psbt_with_naked_opreturn_2_0/00000.png differ diff --git a/tests/snapshots/flex/test_sign_psbt_with_naked_opreturn_2_1/00000.png b/tests/snapshots/flex/test_sign_psbt_with_naked_opreturn_2_1/00000.png index 78571a283..747e80924 100644 Binary files a/tests/snapshots/flex/test_sign_psbt_with_naked_opreturn_2_1/00000.png and b/tests/snapshots/flex/test_sign_psbt_with_naked_opreturn_2_1/00000.png differ diff --git a/tests/snapshots/flex/test_sign_psbt_with_opreturn_0_0/00000.png b/tests/snapshots/flex/test_sign_psbt_with_opreturn_0_0/00000.png index 0cfe1e08b..a3186a71a 100644 Binary files a/tests/snapshots/flex/test_sign_psbt_with_opreturn_0_0/00000.png and b/tests/snapshots/flex/test_sign_psbt_with_opreturn_0_0/00000.png differ diff --git a/tests/snapshots/flex/test_sign_psbt_with_opreturn_1_0/00000.png b/tests/snapshots/flex/test_sign_psbt_with_opreturn_1_0/00000.png index 3bfde3528..1c454b88d 100644 Binary files a/tests/snapshots/flex/test_sign_psbt_with_opreturn_1_0/00000.png and b/tests/snapshots/flex/test_sign_psbt_with_opreturn_1_0/00000.png differ diff --git a/tests/snapshots/flex/test_sign_psbt_with_opreturn_1_1/00000.png b/tests/snapshots/flex/test_sign_psbt_with_opreturn_1_1/00000.png index 4d0c871ea..f072d6cea 100644 Binary files a/tests/snapshots/flex/test_sign_psbt_with_opreturn_1_1/00000.png and b/tests/snapshots/flex/test_sign_psbt_with_opreturn_1_1/00000.png differ diff --git a/tests/snapshots/flex/test_sign_psbt_with_opreturn_2_0/00000.png b/tests/snapshots/flex/test_sign_psbt_with_opreturn_2_0/00000.png index be5ad5983..1acf26b8c 100644 Binary files a/tests/snapshots/flex/test_sign_psbt_with_opreturn_2_0/00000.png and b/tests/snapshots/flex/test_sign_psbt_with_opreturn_2_0/00000.png differ diff --git a/tests/snapshots/flex/test_sign_psbt_with_opreturn_2_1/00000.png b/tests/snapshots/flex/test_sign_psbt_with_opreturn_2_1/00000.png index 78571a283..747e80924 100644 Binary files a/tests/snapshots/flex/test_sign_psbt_with_opreturn_2_1/00000.png and b/tests/snapshots/flex/test_sign_psbt_with_opreturn_2_1/00000.png differ diff --git a/tests/snapshots/flex/test_sign_psbt_with_opreturn_v1_0_0/00000.png b/tests/snapshots/flex/test_sign_psbt_with_opreturn_v1_0_0/00000.png index 0cfe1e08b..a3186a71a 100644 Binary files a/tests/snapshots/flex/test_sign_psbt_with_opreturn_v1_0_0/00000.png and b/tests/snapshots/flex/test_sign_psbt_with_opreturn_v1_0_0/00000.png differ diff --git a/tests/snapshots/flex/test_sign_psbt_with_opreturn_v1_1_0/00000.png b/tests/snapshots/flex/test_sign_psbt_with_opreturn_v1_1_0/00000.png index 3bfde3528..1c454b88d 100644 Binary files a/tests/snapshots/flex/test_sign_psbt_with_opreturn_v1_1_0/00000.png and b/tests/snapshots/flex/test_sign_psbt_with_opreturn_v1_1_0/00000.png differ diff --git a/tests/snapshots/flex/test_sign_psbt_with_opreturn_v1_1_1/00000.png b/tests/snapshots/flex/test_sign_psbt_with_opreturn_v1_1_1/00000.png index 4d0c871ea..f072d6cea 100644 Binary files a/tests/snapshots/flex/test_sign_psbt_with_opreturn_v1_1_1/00000.png and b/tests/snapshots/flex/test_sign_psbt_with_opreturn_v1_1_1/00000.png differ diff --git a/tests/snapshots/flex/test_sign_psbt_with_opreturn_v1_2_0/00000.png b/tests/snapshots/flex/test_sign_psbt_with_opreturn_v1_2_0/00000.png index be5ad5983..1acf26b8c 100644 Binary files a/tests/snapshots/flex/test_sign_psbt_with_opreturn_v1_2_0/00000.png and b/tests/snapshots/flex/test_sign_psbt_with_opreturn_v1_2_0/00000.png differ diff --git a/tests/snapshots/flex/test_sign_psbt_with_opreturn_v1_2_1/00000.png b/tests/snapshots/flex/test_sign_psbt_with_opreturn_v1_2_1/00000.png index 78571a283..747e80924 100644 Binary files a/tests/snapshots/flex/test_sign_psbt_with_opreturn_v1_2_1/00000.png and b/tests/snapshots/flex/test_sign_psbt_with_opreturn_v1_2_1/00000.png differ diff --git a/tests/snapshots/flex/test_sign_psbt_with_segwit_v16_0_0/00000.png b/tests/snapshots/flex/test_sign_psbt_with_segwit_v16_0_0/00000.png index 0cfe1e08b..a3186a71a 100644 Binary files a/tests/snapshots/flex/test_sign_psbt_with_segwit_v16_0_0/00000.png and b/tests/snapshots/flex/test_sign_psbt_with_segwit_v16_0_0/00000.png differ diff --git a/tests/snapshots/flex/test_sign_psbt_with_segwit_v16_1_0/00000.png b/tests/snapshots/flex/test_sign_psbt_with_segwit_v16_1_0/00000.png index 5ddb3a8c8..572570653 100644 Binary files a/tests/snapshots/flex/test_sign_psbt_with_segwit_v16_1_0/00000.png and b/tests/snapshots/flex/test_sign_psbt_with_segwit_v16_1_0/00000.png differ diff --git a/tests/snapshots/flex/test_sign_psbt_with_segwit_v16_1_1/00000.png b/tests/snapshots/flex/test_sign_psbt_with_segwit_v16_1_1/00000.png index 5238c2733..4d06ae5cb 100644 Binary files a/tests/snapshots/flex/test_sign_psbt_with_segwit_v16_1_1/00000.png and b/tests/snapshots/flex/test_sign_psbt_with_segwit_v16_1_1/00000.png differ diff --git a/tests/snapshots/flex/test_sign_psbt_with_segwit_v16_1_2/00000.png b/tests/snapshots/flex/test_sign_psbt_with_segwit_v16_1_2/00000.png index 78571a283..747e80924 100644 Binary files a/tests/snapshots/flex/test_sign_psbt_with_segwit_v16_1_2/00000.png and b/tests/snapshots/flex/test_sign_psbt_with_segwit_v16_1_2/00000.png differ diff --git a/tests/snapshots/flex/test_sign_psbt_with_segwit_v16_v1_0_0/00000.png b/tests/snapshots/flex/test_sign_psbt_with_segwit_v16_v1_0_0/00000.png index 0cfe1e08b..a3186a71a 100644 Binary files a/tests/snapshots/flex/test_sign_psbt_with_segwit_v16_v1_0_0/00000.png and b/tests/snapshots/flex/test_sign_psbt_with_segwit_v16_v1_0_0/00000.png differ diff --git a/tests/snapshots/flex/test_sign_psbt_with_segwit_v16_v1_1_0/00000.png b/tests/snapshots/flex/test_sign_psbt_with_segwit_v16_v1_1_0/00000.png index 5ddb3a8c8..572570653 100644 Binary files a/tests/snapshots/flex/test_sign_psbt_with_segwit_v16_v1_1_0/00000.png and b/tests/snapshots/flex/test_sign_psbt_with_segwit_v16_v1_1_0/00000.png differ diff --git a/tests/snapshots/flex/test_sign_psbt_with_segwit_v16_v1_1_1/00000.png b/tests/snapshots/flex/test_sign_psbt_with_segwit_v16_v1_1_1/00000.png index 5238c2733..4d06ae5cb 100644 Binary files a/tests/snapshots/flex/test_sign_psbt_with_segwit_v16_v1_1_1/00000.png and b/tests/snapshots/flex/test_sign_psbt_with_segwit_v16_v1_1_1/00000.png differ diff --git a/tests/snapshots/flex/test_sign_psbt_with_segwit_v16_v1_1_2/00000.png b/tests/snapshots/flex/test_sign_psbt_with_segwit_v16_v1_1_2/00000.png index 78571a283..747e80924 100644 Binary files a/tests/snapshots/flex/test_sign_psbt_with_segwit_v16_v1_1_2/00000.png and b/tests/snapshots/flex/test_sign_psbt_with_segwit_v16_v1_1_2/00000.png differ diff --git a/tests/snapshots/nanos/test_sign_psbt_singlesig_large_amount_0_0/00002.png b/tests/snapshots/nanos/test_sign_psbt_singlesig_large_amount_0_0/00002.png index 62c5c93b1..6960550a6 100644 Binary files a/tests/snapshots/nanos/test_sign_psbt_singlesig_large_amount_0_0/00002.png and b/tests/snapshots/nanos/test_sign_psbt_singlesig_large_amount_0_0/00002.png differ diff --git a/tests/snapshots/nanos/test_sign_psbt_singlesig_large_amount_0_0/00003.png b/tests/snapshots/nanos/test_sign_psbt_singlesig_large_amount_0_0/00003.png index 265c5506d..89d87c094 100644 Binary files a/tests/snapshots/nanos/test_sign_psbt_singlesig_large_amount_0_0/00003.png and b/tests/snapshots/nanos/test_sign_psbt_singlesig_large_amount_0_0/00003.png differ diff --git a/tests/snapshots/nanos/test_sign_psbt_singlesig_large_amount_0_0/00004.png b/tests/snapshots/nanos/test_sign_psbt_singlesig_large_amount_0_0/00004.png index 593b9d039..2db373a98 100644 Binary files a/tests/snapshots/nanos/test_sign_psbt_singlesig_large_amount_0_0/00004.png and b/tests/snapshots/nanos/test_sign_psbt_singlesig_large_amount_0_0/00004.png differ diff --git a/tests/snapshots/nanos/test_sign_psbt_singlesig_large_amount_0_0/00005.png b/tests/snapshots/nanos/test_sign_psbt_singlesig_large_amount_0_0/00005.png index 12b06a78e..bf97a6ac0 100644 Binary files a/tests/snapshots/nanos/test_sign_psbt_singlesig_large_amount_0_0/00005.png and b/tests/snapshots/nanos/test_sign_psbt_singlesig_large_amount_0_0/00005.png differ diff --git a/tests/snapshots/nanos/test_sign_psbt_singlesig_large_amount_v1_0_0/00005.png b/tests/snapshots/nanos/test_sign_psbt_singlesig_large_amount_0_0/00006.png similarity index 100% rename from tests/snapshots/nanos/test_sign_psbt_singlesig_large_amount_v1_0_0/00005.png rename to tests/snapshots/nanos/test_sign_psbt_singlesig_large_amount_0_0/00006.png diff --git a/tests/snapshots/nanos/test_sign_psbt_singlesig_large_amount_v1_0_0/00000.png b/tests/snapshots/nanos/test_sign_psbt_singlesig_large_amount_v1_0_0/00000.png deleted file mode 100644 index cd4545e54..000000000 Binary files a/tests/snapshots/nanos/test_sign_psbt_singlesig_large_amount_v1_0_0/00000.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_sign_psbt_singlesig_large_amount_v1_0_0/00001.png b/tests/snapshots/nanos/test_sign_psbt_singlesig_large_amount_v1_0_0/00001.png deleted file mode 100644 index 15460bf25..000000000 Binary files a/tests/snapshots/nanos/test_sign_psbt_singlesig_large_amount_v1_0_0/00001.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_sign_psbt_singlesig_large_amount_v1_0_0/00002.png b/tests/snapshots/nanos/test_sign_psbt_singlesig_large_amount_v1_0_0/00002.png deleted file mode 100644 index 62c5c93b1..000000000 Binary files a/tests/snapshots/nanos/test_sign_psbt_singlesig_large_amount_v1_0_0/00002.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_sign_psbt_singlesig_large_amount_v1_0_0/00003.png b/tests/snapshots/nanos/test_sign_psbt_singlesig_large_amount_v1_0_0/00003.png deleted file mode 100644 index 265c5506d..000000000 Binary files a/tests/snapshots/nanos/test_sign_psbt_singlesig_large_amount_v1_0_0/00003.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_sign_psbt_singlesig_large_amount_v1_0_0/00004.png b/tests/snapshots/nanos/test_sign_psbt_singlesig_large_amount_v1_0_0/00004.png deleted file mode 100644 index 593b9d039..000000000 Binary files a/tests/snapshots/nanos/test_sign_psbt_singlesig_large_amount_v1_0_0/00004.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_sign_psbt_singlesig_large_amount_v1_0_1/00000.png b/tests/snapshots/nanos/test_sign_psbt_singlesig_large_amount_v1_0_1/00000.png deleted file mode 100644 index b744c60a2..000000000 Binary files a/tests/snapshots/nanos/test_sign_psbt_singlesig_large_amount_v1_0_1/00000.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_sign_psbt_singlesig_large_amount_v1_0_1/00001.png b/tests/snapshots/nanos/test_sign_psbt_singlesig_large_amount_v1_0_1/00001.png deleted file mode 100644 index 9ccdcd1f0..000000000 Binary files a/tests/snapshots/nanos/test_sign_psbt_singlesig_large_amount_v1_0_1/00001.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_sign_psbt_singlesig_wpkh_4to3_0_0/00000.png b/tests/snapshots/nanos/test_sign_psbt_singlesig_wpkh_4to3_0_0/00000.png deleted file mode 100644 index cd4545e54..000000000 Binary files a/tests/snapshots/nanos/test_sign_psbt_singlesig_wpkh_4to3_0_0/00000.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_sign_psbt_singlesig_wpkh_4to3_0_0/00001.png b/tests/snapshots/nanos/test_sign_psbt_singlesig_wpkh_4to3_0_0/00001.png deleted file mode 100644 index 7f75368c7..000000000 Binary files a/tests/snapshots/nanos/test_sign_psbt_singlesig_wpkh_4to3_0_0/00001.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_sign_psbt_singlesig_wpkh_4to3_0_0/00002.png b/tests/snapshots/nanos/test_sign_psbt_singlesig_wpkh_4to3_0_0/00002.png deleted file mode 100644 index 62c5c93b1..000000000 Binary files a/tests/snapshots/nanos/test_sign_psbt_singlesig_wpkh_4to3_0_0/00002.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_sign_psbt_singlesig_wpkh_4to3_0_0/00003.png b/tests/snapshots/nanos/test_sign_psbt_singlesig_wpkh_4to3_0_0/00003.png deleted file mode 100644 index 265c5506d..000000000 Binary files a/tests/snapshots/nanos/test_sign_psbt_singlesig_wpkh_4to3_0_0/00003.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_sign_psbt_singlesig_wpkh_4to3_0_0/00004.png b/tests/snapshots/nanos/test_sign_psbt_singlesig_wpkh_4to3_0_0/00004.png deleted file mode 100644 index 593b9d039..000000000 Binary files a/tests/snapshots/nanos/test_sign_psbt_singlesig_wpkh_4to3_0_0/00004.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_sign_psbt_singlesig_wpkh_4to3_0_0/00005.png b/tests/snapshots/nanos/test_sign_psbt_singlesig_wpkh_4to3_0_0/00005.png deleted file mode 100644 index 12b06a78e..000000000 Binary files a/tests/snapshots/nanos/test_sign_psbt_singlesig_wpkh_4to3_0_0/00005.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_sign_psbt_singlesig_wpkh_4to3_1_0/00000.png b/tests/snapshots/nanos/test_sign_psbt_singlesig_wpkh_4to3_1_0/00000.png deleted file mode 100644 index a63982497..000000000 Binary files a/tests/snapshots/nanos/test_sign_psbt_singlesig_wpkh_4to3_1_0/00000.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_sign_psbt_singlesig_wpkh_4to3_1_0/00001.png b/tests/snapshots/nanos/test_sign_psbt_singlesig_wpkh_4to3_1_0/00001.png deleted file mode 100644 index 03d00da6a..000000000 Binary files a/tests/snapshots/nanos/test_sign_psbt_singlesig_wpkh_4to3_1_0/00001.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_sign_psbt_singlesig_wpkh_4to3_1_0/00002.png b/tests/snapshots/nanos/test_sign_psbt_singlesig_wpkh_4to3_1_0/00002.png deleted file mode 100644 index cad37cf5e..000000000 Binary files a/tests/snapshots/nanos/test_sign_psbt_singlesig_wpkh_4to3_1_0/00002.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_sign_psbt_singlesig_wpkh_4to3_1_0/00003.png b/tests/snapshots/nanos/test_sign_psbt_singlesig_wpkh_4to3_1_0/00003.png deleted file mode 100644 index 3e11559bc..000000000 Binary files a/tests/snapshots/nanos/test_sign_psbt_singlesig_wpkh_4to3_1_0/00003.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_sign_psbt_singlesig_wpkh_4to3_1_0/00004.png b/tests/snapshots/nanos/test_sign_psbt_singlesig_wpkh_4to3_1_0/00004.png deleted file mode 100644 index 062e5e811..000000000 Binary files a/tests/snapshots/nanos/test_sign_psbt_singlesig_wpkh_4to3_1_0/00004.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_sign_psbt_singlesig_wpkh_4to3_1_0/00005.png b/tests/snapshots/nanos/test_sign_psbt_singlesig_wpkh_4to3_1_0/00005.png deleted file mode 100644 index 12b06a78e..000000000 Binary files a/tests/snapshots/nanos/test_sign_psbt_singlesig_wpkh_4to3_1_0/00005.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_sign_psbt_singlesig_wpkh_4to3_1_1/00000.png b/tests/snapshots/nanos/test_sign_psbt_singlesig_wpkh_4to3_1_1/00000.png deleted file mode 100644 index 57a28b5d5..000000000 Binary files a/tests/snapshots/nanos/test_sign_psbt_singlesig_wpkh_4to3_1_1/00000.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_sign_psbt_singlesig_wpkh_4to3_1_1/00001.png b/tests/snapshots/nanos/test_sign_psbt_singlesig_wpkh_4to3_1_1/00001.png deleted file mode 100644 index 9ccdcd1f0..000000000 Binary files a/tests/snapshots/nanos/test_sign_psbt_singlesig_wpkh_4to3_1_1/00001.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_sign_psbt_singlesig_wpkh_4to3_v1_0_0/00000.png b/tests/snapshots/nanos/test_sign_psbt_singlesig_wpkh_4to3_v1_0_0/00000.png deleted file mode 100644 index cd4545e54..000000000 Binary files a/tests/snapshots/nanos/test_sign_psbt_singlesig_wpkh_4to3_v1_0_0/00000.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_sign_psbt_singlesig_wpkh_4to3_v1_0_0/00001.png b/tests/snapshots/nanos/test_sign_psbt_singlesig_wpkh_4to3_v1_0_0/00001.png deleted file mode 100644 index 7f75368c7..000000000 Binary files a/tests/snapshots/nanos/test_sign_psbt_singlesig_wpkh_4to3_v1_0_0/00001.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_sign_psbt_singlesig_wpkh_4to3_v1_0_0/00002.png b/tests/snapshots/nanos/test_sign_psbt_singlesig_wpkh_4to3_v1_0_0/00002.png deleted file mode 100644 index 62c5c93b1..000000000 Binary files a/tests/snapshots/nanos/test_sign_psbt_singlesig_wpkh_4to3_v1_0_0/00002.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_sign_psbt_singlesig_wpkh_4to3_v1_0_0/00003.png b/tests/snapshots/nanos/test_sign_psbt_singlesig_wpkh_4to3_v1_0_0/00003.png deleted file mode 100644 index 265c5506d..000000000 Binary files a/tests/snapshots/nanos/test_sign_psbt_singlesig_wpkh_4to3_v1_0_0/00003.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_sign_psbt_singlesig_wpkh_4to3_v1_0_0/00004.png b/tests/snapshots/nanos/test_sign_psbt_singlesig_wpkh_4to3_v1_0_0/00004.png deleted file mode 100644 index 593b9d039..000000000 Binary files a/tests/snapshots/nanos/test_sign_psbt_singlesig_wpkh_4to3_v1_0_0/00004.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_sign_psbt_singlesig_wpkh_4to3_v1_0_0/00005.png b/tests/snapshots/nanos/test_sign_psbt_singlesig_wpkh_4to3_v1_0_0/00005.png deleted file mode 100644 index 12b06a78e..000000000 Binary files a/tests/snapshots/nanos/test_sign_psbt_singlesig_wpkh_4to3_v1_0_0/00005.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_sign_psbt_singlesig_wpkh_4to3_v1_1_0/00000.png b/tests/snapshots/nanos/test_sign_psbt_singlesig_wpkh_4to3_v1_1_0/00000.png deleted file mode 100644 index a63982497..000000000 Binary files a/tests/snapshots/nanos/test_sign_psbt_singlesig_wpkh_4to3_v1_1_0/00000.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_sign_psbt_singlesig_wpkh_4to3_v1_1_0/00001.png b/tests/snapshots/nanos/test_sign_psbt_singlesig_wpkh_4to3_v1_1_0/00001.png deleted file mode 100644 index 03d00da6a..000000000 Binary files a/tests/snapshots/nanos/test_sign_psbt_singlesig_wpkh_4to3_v1_1_0/00001.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_sign_psbt_singlesig_wpkh_4to3_v1_1_0/00002.png b/tests/snapshots/nanos/test_sign_psbt_singlesig_wpkh_4to3_v1_1_0/00002.png deleted file mode 100644 index cad37cf5e..000000000 Binary files a/tests/snapshots/nanos/test_sign_psbt_singlesig_wpkh_4to3_v1_1_0/00002.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_sign_psbt_singlesig_wpkh_4to3_v1_1_0/00003.png b/tests/snapshots/nanos/test_sign_psbt_singlesig_wpkh_4to3_v1_1_0/00003.png deleted file mode 100644 index 3e11559bc..000000000 Binary files a/tests/snapshots/nanos/test_sign_psbt_singlesig_wpkh_4to3_v1_1_0/00003.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_sign_psbt_singlesig_wpkh_4to3_v1_1_0/00004.png b/tests/snapshots/nanos/test_sign_psbt_singlesig_wpkh_4to3_v1_1_0/00004.png deleted file mode 100644 index 062e5e811..000000000 Binary files a/tests/snapshots/nanos/test_sign_psbt_singlesig_wpkh_4to3_v1_1_0/00004.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_sign_psbt_singlesig_wpkh_4to3_v1_1_0/00005.png b/tests/snapshots/nanos/test_sign_psbt_singlesig_wpkh_4to3_v1_1_0/00005.png deleted file mode 100644 index 12b06a78e..000000000 Binary files a/tests/snapshots/nanos/test_sign_psbt_singlesig_wpkh_4to3_v1_1_0/00005.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_sign_psbt_singlesig_wpkh_4to3_v1_1_1/00000.png b/tests/snapshots/nanos/test_sign_psbt_singlesig_wpkh_4to3_v1_1_1/00000.png deleted file mode 100644 index 57a28b5d5..000000000 Binary files a/tests/snapshots/nanos/test_sign_psbt_singlesig_wpkh_4to3_v1_1_1/00000.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_sign_psbt_singlesig_wpkh_4to3_v1_1_1/00001.png b/tests/snapshots/nanos/test_sign_psbt_singlesig_wpkh_4to3_v1_1_1/00001.png deleted file mode 100644 index 9ccdcd1f0..000000000 Binary files a/tests/snapshots/nanos/test_sign_psbt_singlesig_wpkh_4to3_v1_1_1/00001.png and /dev/null differ diff --git a/tests/snapshots/nanosp/test_sign_psbt_singlesig_large_amount_0_0/00002.png b/tests/snapshots/nanosp/test_sign_psbt_singlesig_large_amount_0_0/00002.png index 99f53dd6c..20efb47d7 100644 Binary files a/tests/snapshots/nanosp/test_sign_psbt_singlesig_large_amount_0_0/00002.png and b/tests/snapshots/nanosp/test_sign_psbt_singlesig_large_amount_0_0/00002.png differ diff --git a/tests/snapshots/nanosp/test_sign_psbt_singlesig_large_amount_0_0/00003.png b/tests/snapshots/nanosp/test_sign_psbt_singlesig_large_amount_0_0/00003.png index adea5145e..bd1388fed 100644 Binary files a/tests/snapshots/nanosp/test_sign_psbt_singlesig_large_amount_0_0/00003.png and b/tests/snapshots/nanosp/test_sign_psbt_singlesig_large_amount_0_0/00003.png differ diff --git a/tests/snapshots/nanosp/test_sign_psbt_singlesig_large_amount_v1_0_0/00003.png b/tests/snapshots/nanosp/test_sign_psbt_singlesig_large_amount_0_0/00004.png similarity index 100% rename from tests/snapshots/nanosp/test_sign_psbt_singlesig_large_amount_v1_0_0/00003.png rename to tests/snapshots/nanosp/test_sign_psbt_singlesig_large_amount_0_0/00004.png diff --git a/tests/snapshots/nanosp/test_sign_psbt_singlesig_large_amount_v1_0_0/00000.png b/tests/snapshots/nanosp/test_sign_psbt_singlesig_large_amount_v1_0_0/00000.png deleted file mode 100644 index 73cd118fd..000000000 Binary files a/tests/snapshots/nanosp/test_sign_psbt_singlesig_large_amount_v1_0_0/00000.png and /dev/null differ diff --git a/tests/snapshots/nanosp/test_sign_psbt_singlesig_large_amount_v1_0_0/00001.png b/tests/snapshots/nanosp/test_sign_psbt_singlesig_large_amount_v1_0_0/00001.png deleted file mode 100644 index 75480f35c..000000000 Binary files a/tests/snapshots/nanosp/test_sign_psbt_singlesig_large_amount_v1_0_0/00001.png and /dev/null differ diff --git a/tests/snapshots/nanosp/test_sign_psbt_singlesig_large_amount_v1_0_0/00002.png b/tests/snapshots/nanosp/test_sign_psbt_singlesig_large_amount_v1_0_0/00002.png deleted file mode 100644 index 99f53dd6c..000000000 Binary files a/tests/snapshots/nanosp/test_sign_psbt_singlesig_large_amount_v1_0_0/00002.png and /dev/null differ diff --git a/tests/snapshots/nanosp/test_sign_psbt_singlesig_large_amount_v1_0_1/00000.png b/tests/snapshots/nanosp/test_sign_psbt_singlesig_large_amount_v1_0_1/00000.png deleted file mode 100644 index 905cdba55..000000000 Binary files a/tests/snapshots/nanosp/test_sign_psbt_singlesig_large_amount_v1_0_1/00000.png and /dev/null differ diff --git a/tests/snapshots/nanosp/test_sign_psbt_singlesig_large_amount_v1_0_1/00001.png b/tests/snapshots/nanosp/test_sign_psbt_singlesig_large_amount_v1_0_1/00001.png deleted file mode 100644 index 1366e8dae..000000000 Binary files a/tests/snapshots/nanosp/test_sign_psbt_singlesig_large_amount_v1_0_1/00001.png and /dev/null differ diff --git a/tests/snapshots/nanosp/test_sign_psbt_singlesig_wpkh_4to3_0_0/00000.png b/tests/snapshots/nanosp/test_sign_psbt_singlesig_wpkh_4to3_0_0/00000.png deleted file mode 100644 index 73cd118fd..000000000 Binary files a/tests/snapshots/nanosp/test_sign_psbt_singlesig_wpkh_4to3_0_0/00000.png and /dev/null differ diff --git a/tests/snapshots/nanosp/test_sign_psbt_singlesig_wpkh_4to3_0_0/00001.png b/tests/snapshots/nanosp/test_sign_psbt_singlesig_wpkh_4to3_0_0/00001.png deleted file mode 100644 index 9e01669d1..000000000 Binary files a/tests/snapshots/nanosp/test_sign_psbt_singlesig_wpkh_4to3_0_0/00001.png and /dev/null differ diff --git a/tests/snapshots/nanosp/test_sign_psbt_singlesig_wpkh_4to3_0_0/00002.png b/tests/snapshots/nanosp/test_sign_psbt_singlesig_wpkh_4to3_0_0/00002.png deleted file mode 100644 index 99f53dd6c..000000000 Binary files a/tests/snapshots/nanosp/test_sign_psbt_singlesig_wpkh_4to3_0_0/00002.png and /dev/null differ diff --git a/tests/snapshots/nanosp/test_sign_psbt_singlesig_wpkh_4to3_1_0/00000.png b/tests/snapshots/nanosp/test_sign_psbt_singlesig_wpkh_4to3_1_0/00000.png deleted file mode 100644 index b0e1548fa..000000000 Binary files a/tests/snapshots/nanosp/test_sign_psbt_singlesig_wpkh_4to3_1_0/00000.png and /dev/null differ diff --git a/tests/snapshots/nanosp/test_sign_psbt_singlesig_wpkh_4to3_1_0/00001.png b/tests/snapshots/nanosp/test_sign_psbt_singlesig_wpkh_4to3_1_0/00001.png deleted file mode 100644 index c2b649401..000000000 Binary files a/tests/snapshots/nanosp/test_sign_psbt_singlesig_wpkh_4to3_1_0/00001.png and /dev/null differ diff --git a/tests/snapshots/nanosp/test_sign_psbt_singlesig_wpkh_4to3_1_0/00002.png b/tests/snapshots/nanosp/test_sign_psbt_singlesig_wpkh_4to3_1_0/00002.png deleted file mode 100644 index 037d61c4d..000000000 Binary files a/tests/snapshots/nanosp/test_sign_psbt_singlesig_wpkh_4to3_1_0/00002.png and /dev/null differ diff --git a/tests/snapshots/nanosp/test_sign_psbt_singlesig_wpkh_4to3_1_0/00003.png b/tests/snapshots/nanosp/test_sign_psbt_singlesig_wpkh_4to3_1_0/00003.png deleted file mode 100644 index adea5145e..000000000 Binary files a/tests/snapshots/nanosp/test_sign_psbt_singlesig_wpkh_4to3_1_0/00003.png and /dev/null differ diff --git a/tests/snapshots/nanosp/test_sign_psbt_singlesig_wpkh_4to3_1_1/00000.png b/tests/snapshots/nanosp/test_sign_psbt_singlesig_wpkh_4to3_1_1/00000.png deleted file mode 100644 index 25f4bd2ba..000000000 Binary files a/tests/snapshots/nanosp/test_sign_psbt_singlesig_wpkh_4to3_1_1/00000.png and /dev/null differ diff --git a/tests/snapshots/nanosp/test_sign_psbt_singlesig_wpkh_4to3_1_1/00001.png b/tests/snapshots/nanosp/test_sign_psbt_singlesig_wpkh_4to3_1_1/00001.png deleted file mode 100644 index 1366e8dae..000000000 Binary files a/tests/snapshots/nanosp/test_sign_psbt_singlesig_wpkh_4to3_1_1/00001.png and /dev/null differ diff --git a/tests/snapshots/nanosp/test_sign_psbt_singlesig_wpkh_4to3_v1_0_0/00000.png b/tests/snapshots/nanosp/test_sign_psbt_singlesig_wpkh_4to3_v1_0_0/00000.png deleted file mode 100644 index 73cd118fd..000000000 Binary files a/tests/snapshots/nanosp/test_sign_psbt_singlesig_wpkh_4to3_v1_0_0/00000.png and /dev/null differ diff --git a/tests/snapshots/nanosp/test_sign_psbt_singlesig_wpkh_4to3_v1_0_0/00001.png b/tests/snapshots/nanosp/test_sign_psbt_singlesig_wpkh_4to3_v1_0_0/00001.png deleted file mode 100644 index 9e01669d1..000000000 Binary files a/tests/snapshots/nanosp/test_sign_psbt_singlesig_wpkh_4to3_v1_0_0/00001.png and /dev/null differ diff --git a/tests/snapshots/nanosp/test_sign_psbt_singlesig_wpkh_4to3_v1_0_0/00002.png b/tests/snapshots/nanosp/test_sign_psbt_singlesig_wpkh_4to3_v1_0_0/00002.png deleted file mode 100644 index 99f53dd6c..000000000 Binary files a/tests/snapshots/nanosp/test_sign_psbt_singlesig_wpkh_4to3_v1_0_0/00002.png and /dev/null differ diff --git a/tests/snapshots/nanosp/test_sign_psbt_singlesig_wpkh_4to3_v1_0_0/00003.png b/tests/snapshots/nanosp/test_sign_psbt_singlesig_wpkh_4to3_v1_0_0/00003.png deleted file mode 100644 index adea5145e..000000000 Binary files a/tests/snapshots/nanosp/test_sign_psbt_singlesig_wpkh_4to3_v1_0_0/00003.png and /dev/null differ diff --git a/tests/snapshots/nanosp/test_sign_psbt_singlesig_wpkh_4to3_v1_1_0/00000.png b/tests/snapshots/nanosp/test_sign_psbt_singlesig_wpkh_4to3_v1_1_0/00000.png deleted file mode 100644 index b0e1548fa..000000000 Binary files a/tests/snapshots/nanosp/test_sign_psbt_singlesig_wpkh_4to3_v1_1_0/00000.png and /dev/null differ diff --git a/tests/snapshots/nanosp/test_sign_psbt_singlesig_wpkh_4to3_v1_1_0/00001.png b/tests/snapshots/nanosp/test_sign_psbt_singlesig_wpkh_4to3_v1_1_0/00001.png deleted file mode 100644 index c2b649401..000000000 Binary files a/tests/snapshots/nanosp/test_sign_psbt_singlesig_wpkh_4to3_v1_1_0/00001.png and /dev/null differ diff --git a/tests/snapshots/nanosp/test_sign_psbt_singlesig_wpkh_4to3_v1_1_0/00002.png b/tests/snapshots/nanosp/test_sign_psbt_singlesig_wpkh_4to3_v1_1_0/00002.png deleted file mode 100644 index 037d61c4d..000000000 Binary files a/tests/snapshots/nanosp/test_sign_psbt_singlesig_wpkh_4to3_v1_1_0/00002.png and /dev/null differ diff --git a/tests/snapshots/nanosp/test_sign_psbt_singlesig_wpkh_4to3_v1_1_0/00003.png b/tests/snapshots/nanosp/test_sign_psbt_singlesig_wpkh_4to3_v1_1_0/00003.png deleted file mode 100644 index adea5145e..000000000 Binary files a/tests/snapshots/nanosp/test_sign_psbt_singlesig_wpkh_4to3_v1_1_0/00003.png and /dev/null differ diff --git a/tests/snapshots/nanosp/test_sign_psbt_singlesig_wpkh_4to3_v1_1_1/00000.png b/tests/snapshots/nanosp/test_sign_psbt_singlesig_wpkh_4to3_v1_1_1/00000.png deleted file mode 100644 index 25f4bd2ba..000000000 Binary files a/tests/snapshots/nanosp/test_sign_psbt_singlesig_wpkh_4to3_v1_1_1/00000.png and /dev/null differ diff --git a/tests/snapshots/nanosp/test_sign_psbt_singlesig_wpkh_4to3_v1_1_1/00001.png b/tests/snapshots/nanosp/test_sign_psbt_singlesig_wpkh_4to3_v1_1_1/00001.png deleted file mode 100644 index 1366e8dae..000000000 Binary files a/tests/snapshots/nanosp/test_sign_psbt_singlesig_wpkh_4to3_v1_1_1/00001.png and /dev/null differ diff --git a/tests/snapshots/nanox/test_sign_psbt_singlesig_large_amount_0_0/00002.png b/tests/snapshots/nanox/test_sign_psbt_singlesig_large_amount_0_0/00002.png index 99f53dd6c..20efb47d7 100644 Binary files a/tests/snapshots/nanox/test_sign_psbt_singlesig_large_amount_0_0/00002.png and b/tests/snapshots/nanox/test_sign_psbt_singlesig_large_amount_0_0/00002.png differ diff --git a/tests/snapshots/nanox/test_sign_psbt_singlesig_large_amount_0_0/00003.png b/tests/snapshots/nanox/test_sign_psbt_singlesig_large_amount_0_0/00003.png index adea5145e..bd1388fed 100644 Binary files a/tests/snapshots/nanox/test_sign_psbt_singlesig_large_amount_0_0/00003.png and b/tests/snapshots/nanox/test_sign_psbt_singlesig_large_amount_0_0/00003.png differ diff --git a/tests/snapshots/nanosp/test_sign_psbt_singlesig_wpkh_4to3_0_0/00003.png b/tests/snapshots/nanox/test_sign_psbt_singlesig_large_amount_0_0/00004.png similarity index 100% rename from tests/snapshots/nanosp/test_sign_psbt_singlesig_wpkh_4to3_0_0/00003.png rename to tests/snapshots/nanox/test_sign_psbt_singlesig_large_amount_0_0/00004.png diff --git a/tests/snapshots/nanox/test_sign_psbt_singlesig_large_amount_v1_0_0/00000.png b/tests/snapshots/nanox/test_sign_psbt_singlesig_large_amount_v1_0_0/00000.png deleted file mode 100644 index 73cd118fd..000000000 Binary files a/tests/snapshots/nanox/test_sign_psbt_singlesig_large_amount_v1_0_0/00000.png and /dev/null differ diff --git a/tests/snapshots/nanox/test_sign_psbt_singlesig_large_amount_v1_0_0/00001.png b/tests/snapshots/nanox/test_sign_psbt_singlesig_large_amount_v1_0_0/00001.png deleted file mode 100644 index 75480f35c..000000000 Binary files a/tests/snapshots/nanox/test_sign_psbt_singlesig_large_amount_v1_0_0/00001.png and /dev/null differ diff --git a/tests/snapshots/nanox/test_sign_psbt_singlesig_large_amount_v1_0_0/00002.png b/tests/snapshots/nanox/test_sign_psbt_singlesig_large_amount_v1_0_0/00002.png deleted file mode 100644 index 99f53dd6c..000000000 Binary files a/tests/snapshots/nanox/test_sign_psbt_singlesig_large_amount_v1_0_0/00002.png and /dev/null differ diff --git a/tests/snapshots/nanox/test_sign_psbt_singlesig_large_amount_v1_0_0/00003.png b/tests/snapshots/nanox/test_sign_psbt_singlesig_large_amount_v1_0_0/00003.png deleted file mode 100644 index adea5145e..000000000 Binary files a/tests/snapshots/nanox/test_sign_psbt_singlesig_large_amount_v1_0_0/00003.png and /dev/null differ diff --git a/tests/snapshots/nanox/test_sign_psbt_singlesig_large_amount_v1_0_1/00000.png b/tests/snapshots/nanox/test_sign_psbt_singlesig_large_amount_v1_0_1/00000.png deleted file mode 100644 index 905cdba55..000000000 Binary files a/tests/snapshots/nanox/test_sign_psbt_singlesig_large_amount_v1_0_1/00000.png and /dev/null differ diff --git a/tests/snapshots/nanox/test_sign_psbt_singlesig_large_amount_v1_0_1/00001.png b/tests/snapshots/nanox/test_sign_psbt_singlesig_large_amount_v1_0_1/00001.png deleted file mode 100644 index 1366e8dae..000000000 Binary files a/tests/snapshots/nanox/test_sign_psbt_singlesig_large_amount_v1_0_1/00001.png and /dev/null differ diff --git a/tests/snapshots/nanox/test_sign_psbt_singlesig_wpkh_4to3_0_0/00000.png b/tests/snapshots/nanox/test_sign_psbt_singlesig_wpkh_4to3_0_0/00000.png deleted file mode 100644 index 73cd118fd..000000000 Binary files a/tests/snapshots/nanox/test_sign_psbt_singlesig_wpkh_4to3_0_0/00000.png and /dev/null differ diff --git a/tests/snapshots/nanox/test_sign_psbt_singlesig_wpkh_4to3_0_0/00001.png b/tests/snapshots/nanox/test_sign_psbt_singlesig_wpkh_4to3_0_0/00001.png deleted file mode 100644 index 9e01669d1..000000000 Binary files a/tests/snapshots/nanox/test_sign_psbt_singlesig_wpkh_4to3_0_0/00001.png and /dev/null differ diff --git a/tests/snapshots/nanox/test_sign_psbt_singlesig_wpkh_4to3_0_0/00002.png b/tests/snapshots/nanox/test_sign_psbt_singlesig_wpkh_4to3_0_0/00002.png deleted file mode 100644 index 99f53dd6c..000000000 Binary files a/tests/snapshots/nanox/test_sign_psbt_singlesig_wpkh_4to3_0_0/00002.png and /dev/null differ diff --git a/tests/snapshots/nanox/test_sign_psbt_singlesig_wpkh_4to3_0_0/00003.png b/tests/snapshots/nanox/test_sign_psbt_singlesig_wpkh_4to3_0_0/00003.png deleted file mode 100644 index adea5145e..000000000 Binary files a/tests/snapshots/nanox/test_sign_psbt_singlesig_wpkh_4to3_0_0/00003.png and /dev/null differ diff --git a/tests/snapshots/nanox/test_sign_psbt_singlesig_wpkh_4to3_1_0/00000.png b/tests/snapshots/nanox/test_sign_psbt_singlesig_wpkh_4to3_1_0/00000.png deleted file mode 100644 index b0e1548fa..000000000 Binary files a/tests/snapshots/nanox/test_sign_psbt_singlesig_wpkh_4to3_1_0/00000.png and /dev/null differ diff --git a/tests/snapshots/nanox/test_sign_psbt_singlesig_wpkh_4to3_1_0/00001.png b/tests/snapshots/nanox/test_sign_psbt_singlesig_wpkh_4to3_1_0/00001.png deleted file mode 100644 index c2b649401..000000000 Binary files a/tests/snapshots/nanox/test_sign_psbt_singlesig_wpkh_4to3_1_0/00001.png and /dev/null differ diff --git a/tests/snapshots/nanox/test_sign_psbt_singlesig_wpkh_4to3_1_0/00002.png b/tests/snapshots/nanox/test_sign_psbt_singlesig_wpkh_4to3_1_0/00002.png deleted file mode 100644 index 037d61c4d..000000000 Binary files a/tests/snapshots/nanox/test_sign_psbt_singlesig_wpkh_4to3_1_0/00002.png and /dev/null differ diff --git a/tests/snapshots/nanox/test_sign_psbt_singlesig_wpkh_4to3_1_0/00003.png b/tests/snapshots/nanox/test_sign_psbt_singlesig_wpkh_4to3_1_0/00003.png deleted file mode 100644 index adea5145e..000000000 Binary files a/tests/snapshots/nanox/test_sign_psbt_singlesig_wpkh_4to3_1_0/00003.png and /dev/null differ diff --git a/tests/snapshots/nanox/test_sign_psbt_singlesig_wpkh_4to3_1_1/00000.png b/tests/snapshots/nanox/test_sign_psbt_singlesig_wpkh_4to3_1_1/00000.png deleted file mode 100644 index 25f4bd2ba..000000000 Binary files a/tests/snapshots/nanox/test_sign_psbt_singlesig_wpkh_4to3_1_1/00000.png and /dev/null differ diff --git a/tests/snapshots/nanox/test_sign_psbt_singlesig_wpkh_4to3_1_1/00001.png b/tests/snapshots/nanox/test_sign_psbt_singlesig_wpkh_4to3_1_1/00001.png deleted file mode 100644 index 1366e8dae..000000000 Binary files a/tests/snapshots/nanox/test_sign_psbt_singlesig_wpkh_4to3_1_1/00001.png and /dev/null differ diff --git a/tests/snapshots/nanox/test_sign_psbt_singlesig_wpkh_4to3_v1_0_0/00000.png b/tests/snapshots/nanox/test_sign_psbt_singlesig_wpkh_4to3_v1_0_0/00000.png deleted file mode 100644 index 73cd118fd..000000000 Binary files a/tests/snapshots/nanox/test_sign_psbt_singlesig_wpkh_4to3_v1_0_0/00000.png and /dev/null differ diff --git a/tests/snapshots/nanox/test_sign_psbt_singlesig_wpkh_4to3_v1_0_0/00001.png b/tests/snapshots/nanox/test_sign_psbt_singlesig_wpkh_4to3_v1_0_0/00001.png deleted file mode 100644 index 9e01669d1..000000000 Binary files a/tests/snapshots/nanox/test_sign_psbt_singlesig_wpkh_4to3_v1_0_0/00001.png and /dev/null differ diff --git a/tests/snapshots/nanox/test_sign_psbt_singlesig_wpkh_4to3_v1_0_0/00002.png b/tests/snapshots/nanox/test_sign_psbt_singlesig_wpkh_4to3_v1_0_0/00002.png deleted file mode 100644 index 99f53dd6c..000000000 Binary files a/tests/snapshots/nanox/test_sign_psbt_singlesig_wpkh_4to3_v1_0_0/00002.png and /dev/null differ diff --git a/tests/snapshots/nanox/test_sign_psbt_singlesig_wpkh_4to3_v1_0_0/00003.png b/tests/snapshots/nanox/test_sign_psbt_singlesig_wpkh_4to3_v1_0_0/00003.png deleted file mode 100644 index adea5145e..000000000 Binary files a/tests/snapshots/nanox/test_sign_psbt_singlesig_wpkh_4to3_v1_0_0/00003.png and /dev/null differ diff --git a/tests/snapshots/nanox/test_sign_psbt_singlesig_wpkh_4to3_v1_1_0/00000.png b/tests/snapshots/nanox/test_sign_psbt_singlesig_wpkh_4to3_v1_1_0/00000.png deleted file mode 100644 index b0e1548fa..000000000 Binary files a/tests/snapshots/nanox/test_sign_psbt_singlesig_wpkh_4to3_v1_1_0/00000.png and /dev/null differ diff --git a/tests/snapshots/nanox/test_sign_psbt_singlesig_wpkh_4to3_v1_1_0/00001.png b/tests/snapshots/nanox/test_sign_psbt_singlesig_wpkh_4to3_v1_1_0/00001.png deleted file mode 100644 index c2b649401..000000000 Binary files a/tests/snapshots/nanox/test_sign_psbt_singlesig_wpkh_4to3_v1_1_0/00001.png and /dev/null differ diff --git a/tests/snapshots/nanox/test_sign_psbt_singlesig_wpkh_4to3_v1_1_0/00002.png b/tests/snapshots/nanox/test_sign_psbt_singlesig_wpkh_4to3_v1_1_0/00002.png deleted file mode 100644 index 037d61c4d..000000000 Binary files a/tests/snapshots/nanox/test_sign_psbt_singlesig_wpkh_4to3_v1_1_0/00002.png and /dev/null differ diff --git a/tests/snapshots/nanox/test_sign_psbt_singlesig_wpkh_4to3_v1_1_0/00003.png b/tests/snapshots/nanox/test_sign_psbt_singlesig_wpkh_4to3_v1_1_0/00003.png deleted file mode 100644 index adea5145e..000000000 Binary files a/tests/snapshots/nanox/test_sign_psbt_singlesig_wpkh_4to3_v1_1_0/00003.png and /dev/null differ diff --git a/tests/snapshots/nanox/test_sign_psbt_singlesig_wpkh_4to3_v1_1_1/00000.png b/tests/snapshots/nanox/test_sign_psbt_singlesig_wpkh_4to3_v1_1_1/00000.png deleted file mode 100644 index 25f4bd2ba..000000000 Binary files a/tests/snapshots/nanox/test_sign_psbt_singlesig_wpkh_4to3_v1_1_1/00000.png and /dev/null differ diff --git a/tests/snapshots/nanox/test_sign_psbt_singlesig_wpkh_4to3_v1_1_1/00001.png b/tests/snapshots/nanox/test_sign_psbt_singlesig_wpkh_4to3_v1_1_1/00001.png deleted file mode 100644 index 1366e8dae..000000000 Binary files a/tests/snapshots/nanox/test_sign_psbt_singlesig_wpkh_4to3_v1_1_1/00001.png and /dev/null differ diff --git a/tests/snapshots/stax/test_sign_psbt_fail_11_changes_0_0/00000.png b/tests/snapshots/stax/test_sign_psbt_fail_11_changes_0_0/00000.png deleted file mode 100644 index 7a8fa15fa..000000000 Binary files a/tests/snapshots/stax/test_sign_psbt_fail_11_changes_0_0/00000.png and /dev/null differ diff --git a/tests/snapshots/stax/test_sign_psbt_fail_11_changes_v1_0_0/00000.png b/tests/snapshots/stax/test_sign_psbt_fail_11_changes_v1_0_0/00000.png deleted file mode 100644 index 7a8fa15fa..000000000 Binary files a/tests/snapshots/stax/test_sign_psbt_fail_11_changes_v1_0_0/00000.png and /dev/null differ diff --git a/tests/snapshots/stax/test_sign_psbt_singlesig_large_amount_1_0/00000.png b/tests/snapshots/stax/test_sign_psbt_singlesig_large_amount_1_0/00000.png index 90c32b5d4..4603353a7 100644 Binary files a/tests/snapshots/stax/test_sign_psbt_singlesig_large_amount_1_0/00000.png and b/tests/snapshots/stax/test_sign_psbt_singlesig_large_amount_1_0/00000.png differ diff --git a/tests/snapshots/stax/test_sign_psbt_singlesig_large_amount_2_0/00000.png b/tests/snapshots/stax/test_sign_psbt_singlesig_large_amount_2_0/00000.png deleted file mode 100644 index 2ba6d27d5..000000000 Binary files a/tests/snapshots/stax/test_sign_psbt_singlesig_large_amount_2_0/00000.png and /dev/null differ diff --git a/tests/snapshots/stax/test_sign_psbt_singlesig_large_amount_v1_0_0/00000.png b/tests/snapshots/stax/test_sign_psbt_singlesig_large_amount_v1_0_0/00000.png deleted file mode 100644 index 7a8fa15fa..000000000 Binary files a/tests/snapshots/stax/test_sign_psbt_singlesig_large_amount_v1_0_0/00000.png and /dev/null differ diff --git a/tests/snapshots/stax/test_sign_psbt_singlesig_large_amount_v1_1_0/00000.png b/tests/snapshots/stax/test_sign_psbt_singlesig_large_amount_v1_1_0/00000.png deleted file mode 100644 index 90c32b5d4..000000000 Binary files a/tests/snapshots/stax/test_sign_psbt_singlesig_large_amount_v1_1_0/00000.png and /dev/null differ diff --git a/tests/snapshots/stax/test_sign_psbt_singlesig_large_amount_v1_1_1/00000.png b/tests/snapshots/stax/test_sign_psbt_singlesig_large_amount_v1_1_1/00000.png deleted file mode 100644 index c5bac20c0..000000000 Binary files a/tests/snapshots/stax/test_sign_psbt_singlesig_large_amount_v1_1_1/00000.png and /dev/null differ diff --git a/tests/snapshots/stax/test_sign_psbt_singlesig_large_amount_v1_1_2/00000.png b/tests/snapshots/stax/test_sign_psbt_singlesig_large_amount_v1_1_2/00000.png deleted file mode 100644 index 066a141c3..000000000 Binary files a/tests/snapshots/stax/test_sign_psbt_singlesig_large_amount_v1_1_2/00000.png and /dev/null differ diff --git a/tests/snapshots/stax/test_sign_psbt_singlesig_large_amount_v1_2_0/00000.png b/tests/snapshots/stax/test_sign_psbt_singlesig_large_amount_v1_2_0/00000.png deleted file mode 100644 index 2ba6d27d5..000000000 Binary files a/tests/snapshots/stax/test_sign_psbt_singlesig_large_amount_v1_2_0/00000.png and /dev/null differ diff --git a/tests/snapshots/stax/test_sign_psbt_singlesig_wpkh_4to3_0_0/00000.png b/tests/snapshots/stax/test_sign_psbt_singlesig_wpkh_4to3_0_0/00000.png deleted file mode 100644 index 7a8fa15fa..000000000 Binary files a/tests/snapshots/stax/test_sign_psbt_singlesig_wpkh_4to3_0_0/00000.png and /dev/null differ diff --git a/tests/snapshots/stax/test_sign_psbt_singlesig_wpkh_4to3_1_0/00000.png b/tests/snapshots/stax/test_sign_psbt_singlesig_wpkh_4to3_1_0/00000.png deleted file mode 100644 index 9b7bcfc1e..000000000 Binary files a/tests/snapshots/stax/test_sign_psbt_singlesig_wpkh_4to3_1_0/00000.png and /dev/null differ diff --git a/tests/snapshots/stax/test_sign_psbt_singlesig_wpkh_4to3_2_0/00000.png b/tests/snapshots/stax/test_sign_psbt_singlesig_wpkh_4to3_2_0/00000.png deleted file mode 100644 index 434a59efe..000000000 Binary files a/tests/snapshots/stax/test_sign_psbt_singlesig_wpkh_4to3_2_0/00000.png and /dev/null differ diff --git a/tests/snapshots/stax/test_sign_psbt_singlesig_wpkh_4to3_2_1/00000.png b/tests/snapshots/stax/test_sign_psbt_singlesig_wpkh_4to3_2_1/00000.png deleted file mode 100644 index fb54c1117..000000000 Binary files a/tests/snapshots/stax/test_sign_psbt_singlesig_wpkh_4to3_2_1/00000.png and /dev/null differ diff --git a/tests/snapshots/stax/test_sign_psbt_singlesig_wpkh_4to3_2_2/00000.png b/tests/snapshots/stax/test_sign_psbt_singlesig_wpkh_4to3_2_2/00000.png deleted file mode 100644 index 066a141c3..000000000 Binary files a/tests/snapshots/stax/test_sign_psbt_singlesig_wpkh_4to3_2_2/00000.png and /dev/null differ diff --git a/tests/snapshots/stax/test_sign_psbt_singlesig_wpkh_4to3_3_0/00000.png b/tests/snapshots/stax/test_sign_psbt_singlesig_wpkh_4to3_3_0/00000.png deleted file mode 100644 index 2ba6d27d5..000000000 Binary files a/tests/snapshots/stax/test_sign_psbt_singlesig_wpkh_4to3_3_0/00000.png and /dev/null differ diff --git a/tests/snapshots/stax/test_sign_psbt_singlesig_wpkh_4to3_v1_0_0/00000.png b/tests/snapshots/stax/test_sign_psbt_singlesig_wpkh_4to3_v1_0_0/00000.png deleted file mode 100644 index 7a8fa15fa..000000000 Binary files a/tests/snapshots/stax/test_sign_psbt_singlesig_wpkh_4to3_v1_0_0/00000.png and /dev/null differ diff --git a/tests/snapshots/stax/test_sign_psbt_singlesig_wpkh_4to3_v1_1_0/00000.png b/tests/snapshots/stax/test_sign_psbt_singlesig_wpkh_4to3_v1_1_0/00000.png deleted file mode 100644 index 9b7bcfc1e..000000000 Binary files a/tests/snapshots/stax/test_sign_psbt_singlesig_wpkh_4to3_v1_1_0/00000.png and /dev/null differ diff --git a/tests/snapshots/stax/test_sign_psbt_singlesig_wpkh_4to3_v1_2_0/00000.png b/tests/snapshots/stax/test_sign_psbt_singlesig_wpkh_4to3_v1_2_0/00000.png deleted file mode 100644 index 434a59efe..000000000 Binary files a/tests/snapshots/stax/test_sign_psbt_singlesig_wpkh_4to3_v1_2_0/00000.png and /dev/null differ diff --git a/tests/snapshots/stax/test_sign_psbt_singlesig_wpkh_4to3_v1_2_1/00000.png b/tests/snapshots/stax/test_sign_psbt_singlesig_wpkh_4to3_v1_2_1/00000.png deleted file mode 100644 index fb54c1117..000000000 Binary files a/tests/snapshots/stax/test_sign_psbt_singlesig_wpkh_4to3_v1_2_1/00000.png and /dev/null differ diff --git a/tests/snapshots/stax/test_sign_psbt_singlesig_wpkh_4to3_v1_2_2/00000.png b/tests/snapshots/stax/test_sign_psbt_singlesig_wpkh_4to3_v1_2_2/00000.png deleted file mode 100644 index 066a141c3..000000000 Binary files a/tests/snapshots/stax/test_sign_psbt_singlesig_wpkh_4to3_v1_2_2/00000.png and /dev/null differ diff --git a/tests/snapshots/stax/test_sign_psbt_singlesig_wpkh_4to3_v1_3_0/00000.png b/tests/snapshots/stax/test_sign_psbt_singlesig_wpkh_4to3_v1_3_0/00000.png deleted file mode 100644 index 2ba6d27d5..000000000 Binary files a/tests/snapshots/stax/test_sign_psbt_singlesig_wpkh_4to3_v1_3_0/00000.png and /dev/null differ diff --git a/tests/test_sign_psbt.py b/tests/test_sign_psbt.py index e5a77d3c8..9b53ef4f5 100644 --- a/tests/test_sign_psbt.py +++ b/tests/test_sign_psbt.py @@ -551,7 +551,7 @@ def test_sign_psbt_singlesig_wpkh_4to3(navigator: Navigator, firmware: Firmware, assert sum_out < sum_in result = client.sign_psbt(psbt, wallet, None, navigator, - instructions=sign_psbt_instruction_approve_9(firmware), + instructions=sign_psbt_instruction_approve_9(firmware, save_screenshot=False), testname=test_name) assert len(result) == n_ins @@ -569,18 +569,11 @@ def test_sign_psbt_singlesig_large_amount(navigator: Navigator, firmware: Firmwa ], ) - in_amounts = [21_000_000*100_000_000] - out_amounts = [21_000_000*100_000_000 - 100_000] - - psbt = txmaker.createPsbt(wallet, in_amounts, out_amounts, [False]) - - sum_in = sum(in_amounts) - sum_out = sum(out_amounts) - - assert sum_out < sum_in + psbt = "cHNidP8BAF4BAAAAAdPD2ZYMl89dk/YzXHTZhrjEqcvlBkVYNrcVY7772qITAAAAAAAAAAAAAWC5BVrwdQcAIlEgxg2/6wYrgIO8mjVxHIi7Ulp5V3e27qVz+FL9IxOy09oAAAAAAAEA/TIEAgAAAAclqfEztd6haPTihR8HL8wA/Kp8piBhcXpI5S4po/o3mhEAAABQlT+qaJPjLsWie5ReYF8QhfMjLUJMEynIjXhu1ozm/LYqpjv5q2F8CIo7cL5XqtofM0pwFyUNP2A9yC69OxILY14/9WsfC9kzhSNxJJqz31wAAAAAH+8UM8hmhbfwVmgdUVKvgDziWQbx0Z+2xoBOBuooqxcRAAAAUI9Feva0k7dDnsbUKQBiq1F6cuXB1BDN1hdU5CCEUOT5ABP9pp/vGdRgKkIHzdWhAW0HATJhPGWaj10z88spC4znO4NEsTpPjgkVFGmEobsVAAAAAP3q3r5basCVBEZNiqqsvC+tEhWKU0yUuMpCljr0ehidBQAAAFAkms6omdQ3MvbyrK8/9Tv+2hOaq09VwCwhK2VxH8UEMsmU5fpv2Cq8cIVV3GK3OiAO52c8/suDahVuSjVl6sG5TTX5S8/Y/aX//2dwBK6ipAAAAAASS4NPwpbwISsUIXNCFJkH5alSTOu+wxEuJ9pplNX2xhMAAABQdwoAXZqCqiH8hpvQxMQfU0F6kqscEvbVSPspTbTSEu7F6hgz8U0KEEOlNbFjxPs4Hu+sP5dBxpY+YBPI475h6bYmFhT4gg1udS/XnDpK2tgAAAAAKzXUIDLUTw/k3NUP/qaBKLQkPrcPsLJbBXa7JElqAWgDAAAAUAOWvAx3SF/oOfSwhEIOarmr8pWXp14pNJ1QwEtAcqF8eV6VvtYXQwrJJyVD15nVSNiYtSt/470dwNEE1aThaL6W8S5eN405TuTMXtfdWX7oAAAAAK5Itews92iWAOXsA2+YOppP2fEv/nbPjws9ihQAg8vKDgAAAFA0gbWRZCsSJIacrjx/UyLUlJBEazXSzo6V4r5GUD89w83vR5m18tRv9Pqi/B7jmUn9Gm4NtfHIBSIpygO4FTsBipV0SJNhNd7rqcRWqdfeSwAAAADlS6FCal/jssfa+8dwZOBoGcYRdytfuh1Yd5gskbTS6gEAAABQ3Oj6gvNurIgVFhpTswGUA0cg23HLcehirTQro6XppoIOFmG8KWuxYGeAmp/EgvawehacJQTr/eAY0/zr4TwrKXsyTtNt4SfayRRcf/pwQY4AAAAABwBAB1rwdQcAFgAU0+7eJu+wC1UvKNIxz4CFDRczm/I4L20CAAAAABYAFPNyGL5lUjRibFPLi01BEjsLwASNM8SqBAAAAAAWABSuAZ+UnYYxIwc3Aj30hZG6rKwna4g7HQEAAAAAFgAUKKpV9FUdnX0XjRKi5566B7GilM6hNsIAAAAAABYAFPUxxs1RBp+b5Rgv3WHXHbJgLZ/uWTGkBQAAAAAWABRFAR8Q58ACMpSpRHc+W/AYljP3EW9EygAAAAAAFgAU25qB3Gwdk2er+8rT9SF8FAc+bfEAAAAAAQEfAEAHWvB1BwAWABTT7t4m77ALVS8o0jHPgIUNFzOb8iIGA5NNbsxZ4ylv9Q0vs4yPSxu05hJFFW48jPoNtiyScnRJGPWswv1UAACAAQAAgAAAAIABAAAAuCAAAAAA" result = client.sign_psbt(psbt, wallet, None, navigator, - instructions=sign_psbt_instruction_approve(firmware), + instructions=sign_psbt_instruction_approve( + firmware), testname=test_name) assert len(result) == 1 @@ -617,7 +610,7 @@ def test_sign_psbt_singlesig_wpkh_512to256(navigator: Navigator, firmware: Firmw ) result = client.sign_psbt(psbt, wallet, None, navigator, - instructions=sign_psbt_instruction_approve(firmware), + instructions=sign_psbt_instruction_approve(firmware, save_screenshot=False), testname=test_name) assert len(result) == n_inputs @@ -680,7 +673,7 @@ def test_sign_psbt_fail_wrong_non_witness_utxo(navigator: Navigator, firmware: F client._no_clone_psbt = True with pytest.raises(ExceptionRAPDU) as e: client.sign_psbt(psbt, wallet, None, navigator, - instructions=sign_psbt_instruction_approve(firmware), + instructions=sign_psbt_instruction_approve(firmware, save_screenshot=False), testname=test_name) assert DeviceException.exc.get(e.value.status) == IncorrectDataError assert len(e.value.data) == 0 diff --git a/tests/test_sign_psbt_v1.py b/tests/test_sign_psbt_v1.py index aa3afce09..bfe5420a4 100644 --- a/tests/test_sign_psbt_v1.py +++ b/tests/test_sign_psbt_v1.py @@ -1,34 +1,19 @@ # Tests using the V1 version of the wallet policy language, used before version 2.1.0 of the app # Make sure we remain compatible for some time. -import pytest - -import threading - -from decimal import Decimal - -from typing import List - from pathlib import Path from ledger_bitcoin import WalletPolicy, MultisigWallet, AddressType, WalletType, PartialSignature -from ledger_bitcoin.exception.errors import IncorrectDataError, NotSupportedError -from ledger_bitcoin.exception.device_exception import DeviceException from ledger_bitcoin.psbt import PSBT from ledger_bitcoin.wallet import AddressType -from test_utils import bip0340, txmaker +from test_utils import bip0340 -from embit.script import Script from embit.networks import NETWORKS -from ragger.navigator import Navigator, NavInsID -from ragger.error import ExceptionRAPDU +from ragger.navigator import Navigator from ragger.firmware import Firmware -import requests -import json - from ragger_bitcoin import RaggerClient from .instructions import * @@ -63,13 +48,15 @@ def test_sign_psbt_singlesig_pkh_1to1_v1(navigator: Navigator, firmware: Firmwar # "pubkey" : "02ee8608207e21028426f69e76447d7e3d5e077049f5e683c3136c2314762a4718", # "signature" : "3045022100e55b3ca788721aae8def2eadff710e524ffe8c9dec1764fdaa89584f9726e196022012a30fbcf9e1a24df31a1010356b794ab8de438b4250684757ed5772402540f401" result = client.sign_psbt(psbt, wallet, None, navigator, - instructions=sign_psbt_instruction_approve(firmware), + instructions=sign_psbt_instruction_approve( + firmware), testname=test_name) assert result == [( 0, PartialSignature( - pubkey=bytes.fromhex("02ee8608207e21028426f69e76447d7e3d5e077049f5e683c3136c2314762a4718"), + pubkey=bytes.fromhex( + "02ee8608207e21028426f69e76447d7e3d5e077049f5e683c3136c2314762a4718"), signature=bytes.fromhex( "3045022100e55b3ca788721aae8def2eadff710e524ffe8c9dec1764fdaa89584f9726e196022012a30fbcf9e1a24df31a1010356b794ab8de438b4250684757ed5772402540f401" ) @@ -80,7 +67,8 @@ def test_sign_psbt_singlesig_pkh_1to1_v1(navigator: Navigator, firmware: Firmwar def test_sign_psbt_singlesig_sh_wpkh_1to2_v1(navigator: Navigator, firmware: Firmware, client: RaggerClient, test_name: str): # PSBT for a wrapped segwit 1-input 2-output spend (1 change address) - psbt = open_psbt_from_file(f"{tests_root}/psbt/singlesig/sh-wpkh-1to2.psbt") + psbt = open_psbt_from_file( + f"{tests_root}/psbt/singlesig/sh-wpkh-1to2.psbt") wallet = WalletPolicy( "", @@ -96,13 +84,15 @@ def test_sign_psbt_singlesig_sh_wpkh_1to2_v1(navigator: Navigator, firmware: Fir # "pubkey" : "024ba3b77d933de9fa3f9583348c40f3caaf2effad5b6e244ece8abbfcc7244f67", # "signature" : "30440220720722b08489c2a50d10edea8e21880086c8e8f22889a16815e306daeea4665b02203fcf453fa490b76cf4f929714065fc90a519b7b97ab18914f9451b5a4b45241201" result = client.sign_psbt(psbt, wallet, None, navigator, - instructions=sign_psbt_instruction_approve_2(firmware), + instructions=sign_psbt_instruction_approve_2( + firmware), testname=test_name) assert result == [( 0, PartialSignature( - pubkey=bytes.fromhex("024ba3b77d933de9fa3f9583348c40f3caaf2effad5b6e244ece8abbfcc7244f67"), + pubkey=bytes.fromhex( + "024ba3b77d933de9fa3f9583348c40f3caaf2effad5b6e244ece8abbfcc7244f67"), signature=bytes.fromhex( "30440220720722b08489c2a50d10edea8e21880086c8e8f22889a16815e306daeea4665b02203fcf453fa490b76cf4f929714065fc90a519b7b97ab18914f9451b5a4b45241201" ) @@ -125,7 +115,8 @@ def test_sign_psbt_singlesig_wpkh_1to2_v1(navigator: Navigator, firmware: Firmwa ) result = client.sign_psbt(psbt, wallet, None, navigator, - instructions=sign_psbt_instruction_approve_2(firmware), + instructions=sign_psbt_instruction_approve_2( + firmware), testname=test_name) # expected sigs @@ -136,7 +127,8 @@ def test_sign_psbt_singlesig_wpkh_1to2_v1(navigator: Navigator, firmware: Firmwa assert result == [( 0, PartialSignature( - pubkey=bytes.fromhex("03ee2c3d98eb1f93c0a1aa8e5a4009b70eb7b44ead15f1666f136b012ad58d3068"), + pubkey=bytes.fromhex( + "03ee2c3d98eb1f93c0a1aa8e5a4009b70eb7b44ead15f1666f136b012ad58d3068"), signature=bytes.fromhex( "3045022100ab44f34dd7e87c9054591297a101e8500a0641d1d591878d0d23cf8096fa79e802205d12d1062d925e27b57bdcf994ecf332ad0a8e67b8fe407bab2101255da632aa01" ) @@ -160,7 +152,8 @@ def test_sign_psbt_singlesig_wpkh_2to2_v1(navigator: Navigator, firmware: Firmwa ) result = client.sign_psbt(psbt, wallet, None, navigator, - instructions=sign_psbt_instruction_approve(firmware), + instructions=sign_psbt_instruction_approve( + firmware), testname=test_name) # expected sigs @@ -174,7 +167,8 @@ def test_sign_psbt_singlesig_wpkh_2to2_v1(navigator: Navigator, firmware: Firmwa assert result == [( 0, PartialSignature( - pubkey=bytes.fromhex("03455ee7cedc97b0ba435b80066fc92c963a34c600317981d135330c4ee43ac7a3"), + pubkey=bytes.fromhex( + "03455ee7cedc97b0ba435b80066fc92c963a34c600317981d135330c4ee43ac7a3"), signature=bytes.fromhex( "304402206b3e877655f08c6e7b1b74d6d893a82cdf799f68a5ae7cecae63a71b0339e5ce022019b94aa3fb6635956e109f3d89c996b1bfbbaf3c619134b5a302badfaf52180e01" ) @@ -182,7 +176,8 @@ def test_sign_psbt_singlesig_wpkh_2to2_v1(navigator: Navigator, firmware: Firmwa ), ( 1, PartialSignature( - pubkey=bytes.fromhex("0271b5b779ad870838587797bcf6f0c7aec5abe76a709d724f48d2e26cf874f0a0"), + pubkey=bytes.fromhex( + "0271b5b779ad870838587797bcf6f0c7aec5abe76a709d724f48d2e26cf874f0a0"), signature=bytes.fromhex( "3045022100e2e98e4f8c70274f10145c89a5d86e216d0376bdf9f42f829e4315ea67d79d210220743589fd4f55e540540a976a5af58acd610fa5e188a5096dfe7d36baf3afb94001" ) @@ -209,13 +204,15 @@ def test_sign_psbt_multisig_wsh_v1(navigator: Navigator, firmware: Firmware, cli psbt = open_psbt_from_file(f"{tests_root}/psbt/multisig/wsh-2of2.psbt") result = client.sign_psbt(psbt, wallet, wallet_hmac, navigator, - instructions=sign_psbt_instruction_approve_6(firmware), + instructions=sign_psbt_instruction_approve_6( + firmware), testname=test_name) assert result == [( 0, PartialSignature( - pubkey=bytes.fromhex("036b16e8c1f979fa4cc0f05b6a300affff941459b6f20de77de55b0160ef8e4cac"), + pubkey=bytes.fromhex( + "036b16e8c1f979fa4cc0f05b6a300affff941459b6f20de77de55b0160ef8e4cac"), signature=bytes.fromhex( "304402206ab297c83ab66e573723892061d827c5ac0150e2044fed7ed34742fedbcfb26e0220319cdf4eaddff63fc308cdf53e225ea034024ef96de03fd0939b6deeea1e8bd301" ) @@ -226,7 +223,8 @@ def test_sign_psbt_multisig_wsh_v1(navigator: Navigator, firmware: Firmware, cli def test_sign_psbt_taproot_1to2_v1(navigator: Navigator, firmware: Firmware, client: RaggerClient, test_name: str): # PSBT for a p2tr 1-input 2-output spend (1 change address) - psbt = open_psbt_from_file(f"{tests_root}/psbt/singlesig/tr-1to2-sighash-all.psbt") + psbt = open_psbt_from_file( + f"{tests_root}/psbt/singlesig/tr-1to2-sighash-all.psbt") wallet = WalletPolicy( "", @@ -238,7 +236,8 @@ def test_sign_psbt_taproot_1to2_v1(navigator: Navigator, firmware: Firmware, cli ) result = client.sign_psbt(psbt, wallet, None, navigator, - instructions=sign_psbt_instruction_approve(firmware), + instructions=sign_psbt_instruction_approve( + firmware), testname=test_name) assert len(result) == 1 @@ -247,7 +246,8 @@ def test_sign_psbt_taproot_1to2_v1(navigator: Navigator, firmware: Firmware, cli # transaction was sent), and we verify the produced Schnorr signature with the reference bip340 implementation. # sighash verified with bitcoin-core - sighash0 = bytes.fromhex("7A999E5AD6F53EA6448E7026061D3B4523F957999C430A5A492DFACE74AE31B6") + sighash0 = bytes.fromhex( + "7A999E5AD6F53EA6448E7026061D3B4523F957999C430A5A492DFACE74AE31B6") # get the (tweaked) pubkey from the scriptPubKey pubkey0_psbt = psbt.inputs[0].witness_utxo.scriptPubKey[2:] @@ -260,177 +260,8 @@ def test_sign_psbt_taproot_1to2_v1(navigator: Navigator, firmware: Firmware, cli assert len(partial_sig0.signature) == 64+1 assert partial_sig0.signature[-1] == 0x01 - assert bip0340.schnorr_verify(sighash0, pubkey0_psbt, partial_sig0.signature[:-1]) - - -def test_sign_psbt_singlesig_wpkh_4to3_v1(navigator: Navigator, firmware: Firmware, client: - RaggerClient, test_name: str): - # PSBT for a segwit 4-input 3-output spend (1 change address) - # this test also checks that addresses, amounts and fees shown on screen are correct - - wallet = WalletPolicy( - "", - "wpkh(@0)", - [ - "[f5acc2fd/84'/1'/0']tpubDCtKfsNyRhULjZ9XMS4VKKtVcPdVDi8MKUbcSD9MJDyjRu1A2ND5MiipozyyspBT9bg8upEp7a8EAgFxNxXn1d7QkdbL52Ty5jiSLcxPt1P/**" - ], - version=WalletType.WALLET_POLICY_V1 - ) - - n_ins = 4 - n_outs = 3 - - in_amounts = [10000 + 10000 * i for i in range(n_ins)] - sum_in = sum(in_amounts) - out_amounts = [sum_in // n_outs - i for i in range(n_outs)] - - change_index = 1 - - psbt = txmaker.createPsbt( - wallet, - in_amounts, - out_amounts, - [i == change_index for i in range(n_outs)] - ) - - sum_out = sum(out_amounts) - - assert sum_out < sum_in - - result = client.sign_psbt(psbt, wallet, None, navigator, - instructions=sign_psbt_instruction_approve_9(firmware), - testname=test_name) - - assert len(result) == n_ins - - -def test_sign_psbt_singlesig_large_amount_v1(navigator: Navigator, firmware: Firmware, client: - RaggerClient, test_name: str): - # Test with a transaction with an extremely large amount - - wallet = WalletPolicy( - "", - "wpkh(@0)", - [ - "[f5acc2fd/84'/1'/0']tpubDCtKfsNyRhULjZ9XMS4VKKtVcPdVDi8MKUbcSD9MJDyjRu1A2ND5MiipozyyspBT9bg8upEp7a8EAgFxNxXn1d7QkdbL52Ty5jiSLcxPt1P/**" - ], - version=WalletType.WALLET_POLICY_V1 - ) - - in_amounts = [21_000_000*100_000_000] - out_amounts = [21_000_000*100_000_000 - 100_000] - - psbt = txmaker.createPsbt(wallet, in_amounts, out_amounts, [False]) - - sum_in = sum(in_amounts) - sum_out = sum(out_amounts) - - assert sum_out < sum_in - - result = client.sign_psbt(psbt, wallet, None, navigator, - instructions=sign_psbt_instruction_approve(firmware), - testname=test_name) - - assert len(result) == 1 - - -def test_sign_psbt_singlesig_wpkh_512to256_v1(navigator: Navigator, firmware: Firmware, client: - RaggerClient, test_name: str, enable_slow_tests: bool): - # PSBT for a transaction with 512 inputs and 256 outputs (maximum currently supported in the app) - # Very slow test (esp. with DEBUG enabled), so disabled unless the --enableslowtests option is used - - if not enable_slow_tests: - pytest.skip() - - n_inputs = 512 - n_outputs = 256 - - wallet = WalletPolicy( - "", - "tr(@0)", - [ - "[f5acc2fd/86'/1'/0']tpubDDKYE6BREvDsSWMazgHoyQWiJwYaDDYPbCFjYxN3HFXJP5fokeiK4hwK5tTLBNEDBwrDXn8cQ4v9b2xdW62Xr5yxoQdMu1v6c7UDXYVH27U/**" - ], - version=WalletType.WALLET_POLICY_V1 - ) - - psbt = txmaker.createPsbt( - wallet, - [10000 + 10000 * i for i in range(n_inputs)], - [999 + 99 * i for i in range(n_outputs)], - [i == 42 for i in range(n_outputs)] - ) - - result = client.sign_psbt(psbt, wallet, None, None) - - assert len(result) == n_inputs - - -def test_sign_psbt_fail_11_changes_v1(navigator: Navigator, firmware: Firmware, client: - RaggerClient, test_name: str): - # PSBT for transaction with 11 change addresses; the limit is 10, so it must fail with NotSupportedError - # before any user interaction - - wallet = WalletPolicy( - "", - "wpkh(@0)", - [ - "[f5acc2fd/84'/1'/0']tpubDCtKfsNyRhULjZ9XMS4VKKtVcPdVDi8MKUbcSD9MJDyjRu1A2ND5MiipozyyspBT9bg8upEp7a8EAgFxNxXn1d7QkdbL52Ty5jiSLcxPt1P/**" - ], - version=WalletType.WALLET_POLICY_V1 - ) - - psbt = txmaker.createPsbt( - wallet, - [11 * 100_000_000 + 1234], - [100_000_000] * 11, - [True] * 11, - ) - - with pytest.raises(ExceptionRAPDU) as e: - client.sign_psbt(psbt, wallet, None, navigator, - instructions=sign_psbt_instruction_tap(firmware), - testname=test_name) - - assert DeviceException.exc.get(e.value.status) == NotSupportedError - assert len(e.value.data) == 0 - - -def test_sign_psbt_fail_wrong_non_witness_utxo_v1(navigator: Navigator, firmware: Firmware, client: - RaggerClient, test_name: str): - # PSBT for transaction with the wrong non-witness utxo for an input. - # It must fail with IncorrectDataError before any user interaction. - - wallet = WalletPolicy( - "", - "wpkh(@0)", - [ - "[f5acc2fd/84'/1'/0']tpubDCtKfsNyRhULjZ9XMS4VKKtVcPdVDi8MKUbcSD9MJDyjRu1A2ND5MiipozyyspBT9bg8upEp7a8EAgFxNxXn1d7QkdbL52Ty5jiSLcxPt1P/**" - ], - version=WalletType.WALLET_POLICY_V1 - ) - - psbt = txmaker.createPsbt( - wallet, - [3 * 100_000_000], - [1 * 100_000_000, 2 * 100_000_000], - [False, True] - ) - - # Modify the non_witness_utxo so that the txid does not matches - wit = psbt.inputs[0].non_witness_utxo - wit.nLockTime = wit.nLockTime ^ 1 # change one bit of nLockTime arbitrarily to change the txid - wit.rehash() - psbt.inputs[0].non_witness_utxo = wit - - client._no_clone_psbt = True - with pytest.raises(ExceptionRAPDU) as e: - client.sign_psbt(psbt, wallet, None, navigator, - instructions=sign_psbt_instruction_approve(firmware), - testname=test_name) - assert DeviceException.exc.get(e.value.status) == IncorrectDataError - assert len(e.value.data) == 0 - client._no_clone_psbt = False + assert bip0340.schnorr_verify( + sighash0, pubkey0_psbt, partial_sig0.signature[:-1]) def test_sign_psbt_with_opreturn_v1(navigator: Navigator, firmware: Firmware, client: RaggerClient, test_name: str): @@ -448,7 +279,8 @@ def test_sign_psbt_with_opreturn_v1(navigator: Navigator, firmware: Firmware, cl psbt.deserialize(psbt_b64) hww_sigs = client.sign_psbt(psbt, wallet, None, navigator, - instructions=sign_psbt_instruction_approve_opreturn(firmware), + instructions=sign_psbt_instruction_approve_opreturn( + firmware), testname=test_name) assert len(hww_sigs) == 1 @@ -474,7 +306,8 @@ def test_sign_psbt_with_segwit_v16_v1(navigator: Navigator, firmware: Firmware, ) hww_sigs = client.sign_psbt(psbt, wallet, None, navigator, - instructions=sign_psbt_instruction_approve(firmware), + instructions=sign_psbt_instruction_approve( + firmware), testname=test_name) assert len(hww_sigs) == 1 diff --git a/tests_perf/README.md b/tests_perf/README.md new file mode 100644 index 000000000..bb75f6f93 --- /dev/null +++ b/tests_perf/README.md @@ -0,0 +1,41 @@ +# Benchmarks + +The tests in this folder are meant to measure the performance of various app operations. + +These tests are implemented in Python and can be executed either using the [Speculos](https://github.com/LedgerHQ/speculos) emulator or a Ledger Nano S+, Nano X, or Stax. + +Python dependencies are listed in [requirements.txt](requirements.txt), install them using [pip](https://pypi.org/project/pip/) + +``` +pip install -r requirements.txt +``` + +## Build + +The app must be built with the `AUTOAPPROVE_FOR_PERF_TESTS=1` parameter when calling `make`. This flag compiles the testnet app in a mode that requires no user interaction at all. + +## Launch with Speculos + +Performance measured in speculos is not a good proxy of the performance on a real device. + +Simply run: + +``` +pytest +``` + +## Launch with your device + +Compile and install the app on your device as normal. + +To run the tests on your Ledger device, you also need to install an optional dependency + +``` +pip install ledgercomm[hid] +``` + +Be sure to have you device connected through USB and open on the bitcoin testnet app, sideloaded from the build above. + +``` +pytest --hid +``` diff --git a/tests_perf/__init__.py b/tests_perf/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/tests_perf/conftest.py b/tests_perf/conftest.py new file mode 100644 index 000000000..577e6475c --- /dev/null +++ b/tests_perf/conftest.py @@ -0,0 +1,18 @@ + +from pathlib import Path +from test_utils.fixtures import * +import random +import sys +import os + +absolute_path = os.path.dirname(os.path.abspath(__file__)) +relative_bitcoin_path = ('../bitcoin_client') +absolute_bitcoin_client_path = os.path.join( + os.path.dirname(os.path.abspath(__file__)), '../') +sys.path.append(os.path.join(absolute_path, relative_bitcoin_path)) + +from ledger_bitcoin import Chain # noqa: E402 + +TESTS_ROOT_DIR = Path(__file__).parent + +random.seed(0) # make sure tests are repeatable diff --git a/tests_perf/requirements.txt b/tests_perf/requirements.txt new file mode 100644 index 000000000..b4588b87c --- /dev/null +++ b/tests_perf/requirements.txt @@ -0,0 +1,6 @@ +bip32>=3.4,<4.0 +embit>=0.8.0,<0.9.0 +ledgercomm>=1.2.1,<2.0.0 +pytest>=8.2.2,<9.0.0 +pytest-benchmark>=4.0.0,<5.0.0 +typing-extensions>=3.7,<4.0 diff --git a/tests_perf/setup.cfg b/tests_perf/setup.cfg new file mode 100644 index 000000000..2d726e2b4 --- /dev/null +++ b/tests_perf/setup.cfg @@ -0,0 +1,20 @@ +[tool:pytest] +addopts = --strict-markers + +[pylint] +disable = C0114, # missing-module-docstring + C0115, # missing-class-docstring + C0116, # missing-function-docstring + C0103, # invalid-name + R0801, # duplicate-code + R0913 # too-many-arguments +extension-pkg-whitelist=hid + +[pycodestyle] +max-line-length = 120 + +[mypy-hid.*] +ignore_missing_imports = True + +[mypy-pytest.*] +ignore_missing_imports = True diff --git a/tests_perf/test_perf_sign_psbt.py b/tests_perf/test_perf_sign_psbt.py new file mode 100644 index 000000000..5cae87e47 --- /dev/null +++ b/tests_perf/test_perf_sign_psbt.py @@ -0,0 +1,159 @@ + +from pathlib import Path +from hashlib import sha256 +import hmac + +import pytest + +from ledger_bitcoin import WalletPolicy, Client +from ledger_bitcoin.psbt import PSBT + +from test_utils import SpeculosGlobals, txmaker + +tests_root: Path = Path(__file__).parent + + +def make_psbt(wallet_policy: WalletPolicy, n_inputs: int, n_outputs: int) -> PSBT: + in_amounts = [10000 + 10000 * i for i in range(n_inputs)] + total_in = sum(in_amounts) + out_amounts = [total_in // n_outputs - i for i in range(n_outputs)] + + change_index = 1 + + psbt = txmaker.createPsbt( + wallet_policy, + in_amounts, + out_amounts, + [i == change_index for i in range(n_outputs)] + ) + + sum_in = sum(in_amounts) + sum_out = sum(out_amounts) + + assert sum_out < sum_in + + return psbt + + +def run_test(client: Client, wallet_policy: WalletPolicy, n_inputs: int, speculos_globals: SpeculosGlobals, benchmark): + + wallet_hmac = None + if wallet_policy.name != "": + wallet_hmac = hmac.new( + speculos_globals.wallet_registration_key, wallet_policy.id, sha256).digest() + + psbt = make_psbt(wallet_policy, n_inputs, 2) + + # the following code might count repetitions incorrectly for more than 10 keys + assert len(wallet_policy.keys_info) <= 10 + + n_internal_placeholders = 0 + for key_index, key_info in enumerate(wallet_policy.keys_info): + if key_info.startswith(f"[{speculos_globals.master_key_fingerprint.hex()}"): + # this is incorrect if more than 10 keys, as key indexes are more than one digit + n_internal_placeholders += wallet_policy.descriptor_template.count( + f"@{key_index}") + + assert n_internal_placeholders >= 1 + + def sign_tx(): + result = client.sign_psbt(psbt, wallet_policy, wallet_hmac) + + assert len(result) == n_inputs * n_internal_placeholders + + benchmark.pedantic(sign_tx, rounds=1) + + +@pytest.mark.parametrize("n_inputs", [1, 3, 10]) +def test_perf_sign_psbt_singlesig_pkh(client: Client, n_inputs: int, speculos_globals: SpeculosGlobals, benchmark): + # PSBT for a legacy 2-output spend (1 change address) + + wallet_policy = WalletPolicy( + "", + "pkh(@0/**)", + [ + "[f5acc2fd/44'/1'/0']tpubDCwYjpDhUdPGP5rS3wgNg13mTrrjBuG8V9VpWbyptX6TRPbNoZVXsoVUSkCjmQ8jJycjuDKBb9eataSymXakTTaGifxR6kmVsfFehH1ZgJT" + ], + ) + + run_test(client, wallet_policy, n_inputs, speculos_globals, benchmark) + + +@pytest.mark.parametrize("n_inputs", [1, 3, 10]) +def test_perf_sign_psbt_singlesig_wpkh(client: Client, n_inputs: int, speculos_globals: SpeculosGlobals, benchmark): + # PSBT for a segwit 2-output spend (1 change address) + + wallet_policy = WalletPolicy( + "", + "wpkh(@0/**)", + [ + "[f5acc2fd/84'/1'/0']tpubDCtKfsNyRhULjZ9XMS4VKKtVcPdVDi8MKUbcSD9MJDyjRu1A2ND5MiipozyyspBT9bg8upEp7a8EAgFxNxXn1d7QkdbL52Ty5jiSLcxPt1P" + ], + ) + + run_test(client, wallet_policy, n_inputs, speculos_globals, benchmark) + + +@pytest.mark.parametrize("n_inputs", [1, 3, 10]) +def test_perf_sign_psbt_singlesig_tr(client: Client, n_inputs: int, speculos_globals: SpeculosGlobals, benchmark): + # PSBT for a taproot 2-output spend (1 change address) + + wallet_policy = WalletPolicy( + name="", + descriptor_template="tr(@0/**)", + keys_info=[ + f"[f5acc2fd/86'/1'/0']tpubDDKYE6BREvDsSWMazgHoyQWiJwYaDDYPbCFjYxN3HFXJP5fokeiK4hwK5tTLBNEDBwrDXn8cQ4v9b2xdW62Xr5yxoQdMu1v6c7UDXYVH27U", + ], + ) + + run_test(client, wallet_policy, n_inputs, speculos_globals, benchmark) + + +@pytest.mark.parametrize("n_inputs", [1, 3, 10]) +def test_perf_sign_psbt_multisig2of3_wsh(client: Client, n_inputs: int, speculos_globals: SpeculosGlobals, benchmark): + wallet_policy = WalletPolicy( + name="Cold storage", + descriptor_template="wsh(sortedmulti(2,@0/**,@1/**,@2/**))", + keys_info=[ + "[f5acc2fd/48'/1'/0'/2']tpubDFAqEGNyad35aBCKUAXbQGDjdVhNueno5ZZVEn3sQbW5ci457gLR7HyTmHBg93oourBssgUxuWz1jX5uhc1qaqFo9VsybY1J5FuedLfm4dK", + "tpubDE7NQymr4AFtewpAsWtnreyq9ghkzQBXpCZjWLFVRAvnbf7vya2eMTvT2fPapNqL8SuVvLQdbUbMfWLVDCZKnsEBqp6UK93QEzL8Ck23AwF", + "tpubDF4kujkh5dAhC1pFgBToZybXdvJFXXGX4BWdDxWqP7EUpG8gxkfMQeDjGPDnTr9e4NrkFmDM1ocav3Jz6x79CRZbxGr9dzFokJLuvDDnyRh" + ], + ) + + run_test(client, wallet_policy, n_inputs, speculos_globals, benchmark) + + +@pytest.mark.parametrize("n_inputs", [1, 3, 10]) +def test_perf_sign_psbt_multisig3of5_wsh(client: Client, n_inputs: int, speculos_globals: SpeculosGlobals, benchmark): + wallet_policy = WalletPolicy( + name="Cold storage", + descriptor_template="wsh(sortedmulti(3,@0/**,@1/**,@2/**,@3/**,@4/**))", + keys_info=[ + "[f5acc2fd/48'/1'/0'/2']tpubDFAqEGNyad35aBCKUAXbQGDjdVhNueno5ZZVEn3sQbW5ci457gLR7HyTmHBg93oourBssgUxuWz1jX5uhc1qaqFo9VsybY1J5FuedLfm4dK", + "tpubDE7NQymr4AFtewpAsWtnreyq9ghkzQBXpCZjWLFVRAvnbf7vya2eMTvT2fPapNqL8SuVvLQdbUbMfWLVDCZKnsEBqp6UK93QEzL8Ck23AwF", + "tpubDF4kujkh5dAhC1pFgBToZybXdvJFXXGX4BWdDxWqP7EUpG8gxkfMQeDjGPDnTr9e4NrkFmDM1ocav3Jz6x79CRZbxGr9dzFokJLuvDDnyRh", + "tpubDD3ULTdBbyuMMMs8BCsJKgZgEnZjjbsbtV6ig3xtkQnaSc1gu9kNhmDDEW49HoLzDNA4y2TMqRzj4BugrrtcpXkjoHSoMVhJwfZLUFmv6yn", + "tpubDDyh1VAY2sHfGHE59muC5PWa3tosSTm62sNTDSmZUsx9TbyBdoVkZibYZuDoqJ8dJ6v6eYZz6SE1d6sDv45NgJFB1oqCLGzyiQBGyjexc7V" + ], + ) + + run_test(client, wallet_policy, n_inputs, speculos_globals, benchmark) + + +@pytest.mark.parametrize("n_inputs", [1, 3, 10]) +def test_perf_sign_psbt_tapminiscript_2paths(client: Client, n_inputs: int, speculos_globals: SpeculosGlobals, benchmark): + # A taproot miniscript policy where the two placeholders (in different spending paths) are internal + # The app signs for both spending paths. + wallet_policy = WalletPolicy( + name="Cold storage", + descriptor_template="wsh(or_d(multi(4,@0/<0;1>/*,@1/<0;1>/*,@2/<0;1>/*,@3/<0;1>/*),and_v(v:thresh(3,pkh(@0/<2;3>/*),a:pkh(@1/<2;3>/*),a:pkh(@2/<2;3>/*),a:pkh(@3/<2;3>/*)),older(65535))))", + keys_info=[ + "[f5acc2fd/48'/1'/0'/2']tpubDFAqEGNyad35aBCKUAXbQGDjdVhNueno5ZZVEn3sQbW5ci457gLR7HyTmHBg93oourBssgUxuWz1jX5uhc1qaqFo9VsybY1J5FuedLfm4dK", + "tpubDE7NQymr4AFtewpAsWtnreyq9ghkzQBXpCZjWLFVRAvnbf7vya2eMTvT2fPapNqL8SuVvLQdbUbMfWLVDCZKnsEBqp6UK93QEzL8Ck23AwF", + "tpubDF4kujkh5dAhC1pFgBToZybXdvJFXXGX4BWdDxWqP7EUpG8gxkfMQeDjGPDnTr9e4NrkFmDM1ocav3Jz6x79CRZbxGr9dzFokJLuvDDnyRh", + "tpubDD3ULTdBbyuMMMs8BCsJKgZgEnZjjbsbtV6ig3xtkQnaSc1gu9kNhmDDEW49HoLzDNA4y2TMqRzj4BugrrtcpXkjoHSoMVhJwfZLUFmv6yn", + ], + ) + + run_test(client, wallet_policy, n_inputs, speculos_globals, benchmark)