From df384c02d1b5669322105ccae94d5215ee960a97 Mon Sep 17 00:00:00 2001 From: Jon Griffiths Date: Fri, 5 Jul 2024 00:22:32 +1200 Subject: [PATCH] psbt: don't serialize witness data for input non-witness utxos Some test vectors in BIP 0174 are incorrect - they include witness data in non-witness UTXOs, which is not output (at least now) by core. Accept witness data if provided, but do not output it. This matches cores behaviour as can be seen by running utxoupdatepsbt on the test samples that have been fixed here. We keep some old test cases from the BIP to prove wallys re-serialization matches core. --- src/ctest/psbts.h | 10 ++++++++-- src/data/psbt.json | 26 ++++++++++++++++++-------- src/psbt.c | 6 +++--- 3 files changed, 29 insertions(+), 13 deletions(-) diff --git a/src/ctest/psbts.h b/src/ctest/psbts.h index a7b6cf7d9..a4d802a9c 100644 --- a/src/ctest/psbts.h +++ b/src/ctest/psbts.h @@ -527,13 +527,19 @@ static const struct psbt_test invalid_psbts[] = static const struct psbt_test valid_psbts[] = { /* PSBT v0 with one P2PKH input. Outputs are empty */ - {"cHNidP8BAHUCAAAAASaBcTce3/KF6Tet7qSze3gADAVmy7OtZGQXE8pCFxv2AAAAAAD+////AtPf9QUAAAAAGXapFNDFmQPFusKGh2DpD9UhpGZap2UgiKwA4fUFAAAAABepFDVF5uM7gyxHBQ8k0+65PJwDlIvHh7MuEwAAAQD9pQEBAAAAAAECiaPHHqtNIOA3G7ukzGmPopXJRjr6Ljl/hTPMti+VZ+UBAAAAFxYAFL4Y0VKpsBIDna89p95PUzSe7LmF/////4b4qkOnHf8USIk6UwpyN+9rRgi7st0tAXHmOuxqSJC0AQAAABcWABT+Pp7xp0XpdNkCxDVZQ6vLNL1TU/////8CAMLrCwAAAAAZdqkUhc/xCX/Z4Ai7NK9wnGIZeziXikiIrHL++E4sAAAAF6kUM5cluiHv1irHU6m80GfWx6ajnQWHAkcwRAIgJxK+IuAnDzlPVoMR3HyppolwuAJf3TskAinwf4pfOiQCIAGLONfc0xTnNMkna9b7QPZzMlvEuqFEyADS8vAtsnZcASED0uFWdJQbrUqZY3LLh+GFbTZSYG2YVi/jnF6efkE/IQUCSDBFAiEA0SuFLYXc2WHS9fSrZgZU327tzHlMDDPOXMMJ/7X85Y0CIGczio4OFyXBl/saiK9Z9R5E5CVbIBZ8hoQDHAXR8lkqASECI7cr7vCWXRC+B3jv7NYfysb3mk6haTkzgHNEZPhPKrMAAAAAAAAA", false, true}, + {"cHNidP8BAHUCAAAAASaBcTce3/KF6Tet7qSze3gADAVmy7OtZGQXE8pCFxv2AAAAAAD+////AtPf9QUAAAAAGXapFNDFmQPFusKGh2DpD9UhpGZap2UgiKwA4fUFAAAAABepFDVF5uM7gyxHBQ8k0+65PJwDlIvHh7MuEwAAAQD9pQEBAAAAAAECiaPHHqtNIOA3G7ukzGmPopXJRjr6Ljl/hTPMti+VZ+UBAAAAFxYAFL4Y0VKpsBIDna89p95PUzSe7LmF/////4b4qkOnHf8USIk6UwpyN+9rRgi7st0tAXHmOuxqSJC0AQAAABcWABT+Pp7xp0XpdNkCxDVZQ6vLNL1TU/////8CAMLrCwAAAAAZdqkUhc/xCX/Z4Ai7NK9wnGIZeziXikiIrHL++E4sAAAAF6kUM5cluiHv1irHU6m80GfWx6ajnQWHAkcwRAIgJxK+IuAnDzlPVoMR3HyppolwuAJf3TskAinwf4pfOiQCIAGLONfc0xTnNMkna9b7QPZzMlvEuqFEyADS8vAtsnZcASED0uFWdJQbrUqZY3LLh+GFbTZSYG2YVi/jnF6efkE/IQUCSDBFAiEA0SuFLYXc2WHS9fSrZgZU327tzHlMDDPOXMMJ/7X85Y0CIGczio4OFyXBl/saiK9Z9R5E5CVbIBZ8hoQDHAXR8lkqASECI7cr7vCWXRC+B3jv7NYfysb3mk6haTkzgHNEZPhPKrMAAAAAAAAA", false, false}, + + /* PSBT v0 with one P2PKH input. Outputs are empty (corrected serialization) */ + {"cHNidP8BAHUCAAAAASaBcTce3/KF6Tet7qSze3gADAVmy7OtZGQXE8pCFxv2AAAAAAD+////AtPf9QUAAAAAGXapFNDFmQPFusKGh2DpD9UhpGZap2UgiKwA4fUFAAAAABepFDVF5uM7gyxHBQ8k0+65PJwDlIvHh7MuEwAAAQDMAQAAAAKJo8ceq00g4Dcbu6TMaY+ilclGOvouOX+FM8y2L5Vn5QEAAAAXFgAUvhjRUqmwEgOdrz2n3k9TNJ7suYX/////hviqQ6cd/xRIiTpTCnI372tGCLuy3S0BceY67GpIkLQBAAAAFxYAFP4+nvGnRel02QLENVlDq8s0vVNT/////wIAwusLAAAAABl2qRSFz/EJf9ngCLs0r3CcYhl7OJeKSIiscv74TiwAAAAXqRQzlyW6Ie/WKsdTqbzQZ9bHpqOdBYcAAAAAAAAA", false, true}, /* PSBT v0 with one P2PKH input and one P2SH-P2WPKH input. First input is signed and finalized. Outputs are empty */ {"cHNidP8BAKACAAAAAqsJSaCMWvfEm4IS9Bfi8Vqz9cM9zxU4IagTn4d6W3vkAAAAAAD+////qwlJoIxa98SbghL0F+LxWrP1wz3PFTghqBOfh3pbe+QBAAAAAP7///8CYDvqCwAAAAAZdqkUdopAu9dAy+gdmI5x3ipNXHE5ax2IrI4kAAAAAAAAGXapFG9GILVT+glechue4O/p+gOcykWXiKwAAAAAAAEHakcwRAIgR1lmF5fAGwNrJZKJSGhiGDR9iYZLcZ4ff89X0eURZYcCIFMJ6r9Wqk2Ikf/REf3xM286KdqGbX+EhtdVRs7tr5MZASEDXNxh/HupccC1AaZGoqg7ECy0OIEhfKaC3Ibi1z+ogpIAAQEgAOH1BQAAAAAXqRQ1RebjO4MsRwUPJNPuuTycA5SLx4cBBBYAFIXRNTfy4mVAWjTbr6nj3aAfuCMIAAAA", false, true}, /* PSBT v0 with one P2PKH input which has a non-final scriptSig and has a sighash type specified. Outputs are empty */ - {"cHNidP8BAHUCAAAAASaBcTce3/KF6Tet7qSze3gADAVmy7OtZGQXE8pCFxv2AAAAAAD+////AtPf9QUAAAAAGXapFNDFmQPFusKGh2DpD9UhpGZap2UgiKwA4fUFAAAAABepFDVF5uM7gyxHBQ8k0+65PJwDlIvHh7MuEwAAAQD9pQEBAAAAAAECiaPHHqtNIOA3G7ukzGmPopXJRjr6Ljl/hTPMti+VZ+UBAAAAFxYAFL4Y0VKpsBIDna89p95PUzSe7LmF/////4b4qkOnHf8USIk6UwpyN+9rRgi7st0tAXHmOuxqSJC0AQAAABcWABT+Pp7xp0XpdNkCxDVZQ6vLNL1TU/////8CAMLrCwAAAAAZdqkUhc/xCX/Z4Ai7NK9wnGIZeziXikiIrHL++E4sAAAAF6kUM5cluiHv1irHU6m80GfWx6ajnQWHAkcwRAIgJxK+IuAnDzlPVoMR3HyppolwuAJf3TskAinwf4pfOiQCIAGLONfc0xTnNMkna9b7QPZzMlvEuqFEyADS8vAtsnZcASED0uFWdJQbrUqZY3LLh+GFbTZSYG2YVi/jnF6efkE/IQUCSDBFAiEA0SuFLYXc2WHS9fSrZgZU327tzHlMDDPOXMMJ/7X85Y0CIGczio4OFyXBl/saiK9Z9R5E5CVbIBZ8hoQDHAXR8lkqASECI7cr7vCWXRC+B3jv7NYfysb3mk6haTkzgHNEZPhPKrMAAAAAAQMEAQAAAAAAAA==", false, true}, + {"cHNidP8BAHUCAAAAASaBcTce3/KF6Tet7qSze3gADAVmy7OtZGQXE8pCFxv2AAAAAAD+////AtPf9QUAAAAAGXapFNDFmQPFusKGh2DpD9UhpGZap2UgiKwA4fUFAAAAABepFDVF5uM7gyxHBQ8k0+65PJwDlIvHh7MuEwAAAQD9pQEBAAAAAAECiaPHHqtNIOA3G7ukzGmPopXJRjr6Ljl/hTPMti+VZ+UBAAAAFxYAFL4Y0VKpsBIDna89p95PUzSe7LmF/////4b4qkOnHf8USIk6UwpyN+9rRgi7st0tAXHmOuxqSJC0AQAAABcWABT+Pp7xp0XpdNkCxDVZQ6vLNL1TU/////8CAMLrCwAAAAAZdqkUhc/xCX/Z4Ai7NK9wnGIZeziXikiIrHL++E4sAAAAF6kUM5cluiHv1irHU6m80GfWx6ajnQWHAkcwRAIgJxK+IuAnDzlPVoMR3HyppolwuAJf3TskAinwf4pfOiQCIAGLONfc0xTnNMkna9b7QPZzMlvEuqFEyADS8vAtsnZcASED0uFWdJQbrUqZY3LLh+GFbTZSYG2YVi/jnF6efkE/IQUCSDBFAiEA0SuFLYXc2WHS9fSrZgZU327tzHlMDDPOXMMJ/7X85Y0CIGczio4OFyXBl/saiK9Z9R5E5CVbIBZ8hoQDHAXR8lkqASECI7cr7vCWXRC+B3jv7NYfysb3mk6haTkzgHNEZPhPKrMAAAAAAQMEAQAAAAAAAA==", false, false}, + + /* PSBT v0 with one P2PKH input which has a non-final scriptSig and has a sighash type specified. Outputs are empty (corrected serialization) */ + {"cHNidP8BAHUCAAAAASaBcTce3/KF6Tet7qSze3gADAVmy7OtZGQXE8pCFxv2AAAAAAD+////AtPf9QUAAAAAGXapFNDFmQPFusKGh2DpD9UhpGZap2UgiKwA4fUFAAAAABepFDVF5uM7gyxHBQ8k0+65PJwDlIvHh7MuEwAAAQDMAQAAAAKJo8ceq00g4Dcbu6TMaY+ilclGOvouOX+FM8y2L5Vn5QEAAAAXFgAUvhjRUqmwEgOdrz2n3k9TNJ7suYX/////hviqQ6cd/xRIiTpTCnI372tGCLuy3S0BceY67GpIkLQBAAAAFxYAFP4+nvGnRel02QLENVlDq8s0vVNT/////wIAwusLAAAAABl2qRSFz/EJf9ngCLs0r3CcYhl7OJeKSIiscv74TiwAAAAXqRQzlyW6Ie/WKsdTqbzQZ9bHpqOdBYcAAAAAAAAA", false, true}, /* PSBT v0 with one P2PKH input and one P2SH-P2WPKH input both with non-final scriptSigs. P2SH-P2WPKH input's redeemScript is available. Outputs filled. */ {"cHNidP8BAKACAAAAAqsJSaCMWvfEm4IS9Bfi8Vqz9cM9zxU4IagTn4d6W3vkAAAAAAD+////qwlJoIxa98SbghL0F+LxWrP1wz3PFTghqBOfh3pbe+QBAAAAAP7///8CYDvqCwAAAAAZdqkUdopAu9dAy+gdmI5x3ipNXHE5ax2IrI4kAAAAAAAAGXapFG9GILVT+glechue4O/p+gOcykWXiKwAAAAAAAEA3wIAAAABJoFxNx7f8oXpN63upLN7eAAMBWbLs61kZBcTykIXG/YAAAAAakcwRAIgcLIkUSPmv0dNYMW1DAQ9TGkaXSQ18Jo0p2YqncJReQoCIAEynKnazygL3zB0DsA5BCJCLIHLRYOUV663b8Eu3ZWzASECZX0RjTNXuOD0ws1G23s59tnDjZpwq8ubLeXcjb/kzjH+////AtPf9QUAAAAAGXapFNDFmQPFusKGh2DpD9UhpGZap2UgiKwA4fUFAAAAABepFDVF5uM7gyxHBQ8k0+65PJwDlIvHh7MuEwAAAQEgAOH1BQAAAAAXqRQ1RebjO4MsRwUPJNPuuTycA5SLx4cBBBYAFIXRNTfy4mVAWjTbr6nj3aAfuCMIACICAurVlmh8qAYEPtw94RbN8p1eklfBls0FXPaYyNAr8k6ZELSmumcAAACAAAAAgAIAAIAAIgIDlPYr6d8ZlSxVh3aK63aYBhrSxKJciU9H2MFitNchPQUQtKa6ZwAAAIABAACAAgAAgAA=", false, true}, diff --git a/src/data/psbt.json b/src/data/psbt.json index f9b50bdbf..72f5e918b 100644 --- a/src/data/psbt.json +++ b/src/data/psbt.json @@ -747,7 +747,12 @@ "valid": [ { "comment": "PSBT v0 with one P2PKH input. Outputs are empty", - "psbt": "cHNidP8BAHUCAAAAASaBcTce3/KF6Tet7qSze3gADAVmy7OtZGQXE8pCFxv2AAAAAAD+////AtPf9QUAAAAAGXapFNDFmQPFusKGh2DpD9UhpGZap2UgiKwA4fUFAAAAABepFDVF5uM7gyxHBQ8k0+65PJwDlIvHh7MuEwAAAQD9pQEBAAAAAAECiaPHHqtNIOA3G7ukzGmPopXJRjr6Ljl/hTPMti+VZ+UBAAAAFxYAFL4Y0VKpsBIDna89p95PUzSe7LmF/////4b4qkOnHf8USIk6UwpyN+9rRgi7st0tAXHmOuxqSJC0AQAAABcWABT+Pp7xp0XpdNkCxDVZQ6vLNL1TU/////8CAMLrCwAAAAAZdqkUhc/xCX/Z4Ai7NK9wnGIZeziXikiIrHL++E4sAAAAF6kUM5cluiHv1irHU6m80GfWx6ajnQWHAkcwRAIgJxK+IuAnDzlPVoMR3HyppolwuAJf3TskAinwf4pfOiQCIAGLONfc0xTnNMkna9b7QPZzMlvEuqFEyADS8vAtsnZcASED0uFWdJQbrUqZY3LLh+GFbTZSYG2YVi/jnF6efkE/IQUCSDBFAiEA0SuFLYXc2WHS9fSrZgZU327tzHlMDDPOXMMJ/7X85Y0CIGczio4OFyXBl/saiK9Z9R5E5CVbIBZ8hoQDHAXR8lkqASECI7cr7vCWXRC+B3jv7NYfysb3mk6haTkzgHNEZPhPKrMAAAAAAAAA" + "psbt": "cHNidP8BAHUCAAAAASaBcTce3/KF6Tet7qSze3gADAVmy7OtZGQXE8pCFxv2AAAAAAD+////AtPf9QUAAAAAGXapFNDFmQPFusKGh2DpD9UhpGZap2UgiKwA4fUFAAAAABepFDVF5uM7gyxHBQ8k0+65PJwDlIvHh7MuEwAAAQD9pQEBAAAAAAECiaPHHqtNIOA3G7ukzGmPopXJRjr6Ljl/hTPMti+VZ+UBAAAAFxYAFL4Y0VKpsBIDna89p95PUzSe7LmF/////4b4qkOnHf8USIk6UwpyN+9rRgi7st0tAXHmOuxqSJC0AQAAABcWABT+Pp7xp0XpdNkCxDVZQ6vLNL1TU/////8CAMLrCwAAAAAZdqkUhc/xCX/Z4Ai7NK9wnGIZeziXikiIrHL++E4sAAAAF6kUM5cluiHv1irHU6m80GfWx6ajnQWHAkcwRAIgJxK+IuAnDzlPVoMR3HyppolwuAJf3TskAinwf4pfOiQCIAGLONfc0xTnNMkna9b7QPZzMlvEuqFEyADS8vAtsnZcASED0uFWdJQbrUqZY3LLh+GFbTZSYG2YVi/jnF6efkE/IQUCSDBFAiEA0SuFLYXc2WHS9fSrZgZU327tzHlMDDPOXMMJ/7X85Y0CIGczio4OFyXBl/saiK9Z9R5E5CVbIBZ8hoQDHAXR8lkqASECI7cr7vCWXRC+B3jv7NYfysb3mk6haTkzgHNEZPhPKrMAAAAAAAAA", + "can_round_trip": false + }, + { + "comment": "PSBT v0 with one P2PKH input. Outputs are empty (corrected serialization)", + "psbt": "cHNidP8BAHUCAAAAASaBcTce3/KF6Tet7qSze3gADAVmy7OtZGQXE8pCFxv2AAAAAAD+////AtPf9QUAAAAAGXapFNDFmQPFusKGh2DpD9UhpGZap2UgiKwA4fUFAAAAABepFDVF5uM7gyxHBQ8k0+65PJwDlIvHh7MuEwAAAQDMAQAAAAKJo8ceq00g4Dcbu6TMaY+ilclGOvouOX+FM8y2L5Vn5QEAAAAXFgAUvhjRUqmwEgOdrz2n3k9TNJ7suYX/////hviqQ6cd/xRIiTpTCnI372tGCLuy3S0BceY67GpIkLQBAAAAFxYAFP4+nvGnRel02QLENVlDq8s0vVNT/////wIAwusLAAAAABl2qRSFz/EJf9ngCLs0r3CcYhl7OJeKSIiscv74TiwAAAAXqRQzlyW6Ie/WKsdTqbzQZ9bHpqOdBYcAAAAAAAAA" }, { "comment": "PSBT v0 with one P2PKH input and one P2SH-P2WPKH input. First input is signed and finalized. Outputs are empty", @@ -755,7 +760,12 @@ }, { "comment": "PSBT v0 with one P2PKH input which has a non-final scriptSig and has a sighash type specified. Outputs are empty", - "psbt": "cHNidP8BAHUCAAAAASaBcTce3/KF6Tet7qSze3gADAVmy7OtZGQXE8pCFxv2AAAAAAD+////AtPf9QUAAAAAGXapFNDFmQPFusKGh2DpD9UhpGZap2UgiKwA4fUFAAAAABepFDVF5uM7gyxHBQ8k0+65PJwDlIvHh7MuEwAAAQD9pQEBAAAAAAECiaPHHqtNIOA3G7ukzGmPopXJRjr6Ljl/hTPMti+VZ+UBAAAAFxYAFL4Y0VKpsBIDna89p95PUzSe7LmF/////4b4qkOnHf8USIk6UwpyN+9rRgi7st0tAXHmOuxqSJC0AQAAABcWABT+Pp7xp0XpdNkCxDVZQ6vLNL1TU/////8CAMLrCwAAAAAZdqkUhc/xCX/Z4Ai7NK9wnGIZeziXikiIrHL++E4sAAAAF6kUM5cluiHv1irHU6m80GfWx6ajnQWHAkcwRAIgJxK+IuAnDzlPVoMR3HyppolwuAJf3TskAinwf4pfOiQCIAGLONfc0xTnNMkna9b7QPZzMlvEuqFEyADS8vAtsnZcASED0uFWdJQbrUqZY3LLh+GFbTZSYG2YVi/jnF6efkE/IQUCSDBFAiEA0SuFLYXc2WHS9fSrZgZU327tzHlMDDPOXMMJ/7X85Y0CIGczio4OFyXBl/saiK9Z9R5E5CVbIBZ8hoQDHAXR8lkqASECI7cr7vCWXRC+B3jv7NYfysb3mk6haTkzgHNEZPhPKrMAAAAAAQMEAQAAAAAAAA==" + "psbt": "cHNidP8BAHUCAAAAASaBcTce3/KF6Tet7qSze3gADAVmy7OtZGQXE8pCFxv2AAAAAAD+////AtPf9QUAAAAAGXapFNDFmQPFusKGh2DpD9UhpGZap2UgiKwA4fUFAAAAABepFDVF5uM7gyxHBQ8k0+65PJwDlIvHh7MuEwAAAQD9pQEBAAAAAAECiaPHHqtNIOA3G7ukzGmPopXJRjr6Ljl/hTPMti+VZ+UBAAAAFxYAFL4Y0VKpsBIDna89p95PUzSe7LmF/////4b4qkOnHf8USIk6UwpyN+9rRgi7st0tAXHmOuxqSJC0AQAAABcWABT+Pp7xp0XpdNkCxDVZQ6vLNL1TU/////8CAMLrCwAAAAAZdqkUhc/xCX/Z4Ai7NK9wnGIZeziXikiIrHL++E4sAAAAF6kUM5cluiHv1irHU6m80GfWx6ajnQWHAkcwRAIgJxK+IuAnDzlPVoMR3HyppolwuAJf3TskAinwf4pfOiQCIAGLONfc0xTnNMkna9b7QPZzMlvEuqFEyADS8vAtsnZcASED0uFWdJQbrUqZY3LLh+GFbTZSYG2YVi/jnF6efkE/IQUCSDBFAiEA0SuFLYXc2WHS9fSrZgZU327tzHlMDDPOXMMJ/7X85Y0CIGczio4OFyXBl/saiK9Z9R5E5CVbIBZ8hoQDHAXR8lkqASECI7cr7vCWXRC+B3jv7NYfysb3mk6haTkzgHNEZPhPKrMAAAAAAQMEAQAAAAAAAA==", + "can_round_trip": false + }, + { + "comment": "PSBT v0 with one P2PKH input which has a non-final scriptSig and has a sighash type specified. Outputs are empty (corrected serialization)", + "psbt": "cHNidP8BAHUCAAAAASaBcTce3/KF6Tet7qSze3gADAVmy7OtZGQXE8pCFxv2AAAAAAD+////AtPf9QUAAAAAGXapFNDFmQPFusKGh2DpD9UhpGZap2UgiKwA4fUFAAAAABepFDVF5uM7gyxHBQ8k0+65PJwDlIvHh7MuEwAAAQDMAQAAAAKJo8ceq00g4Dcbu6TMaY+ilclGOvouOX+FM8y2L5Vn5QEAAAAXFgAUvhjRUqmwEgOdrz2n3k9TNJ7suYX/////hviqQ6cd/xRIiTpTCnI372tGCLuy3S0BceY67GpIkLQBAAAAFxYAFP4+nvGnRel02QLENVlDq8s0vVNT/////wIAwusLAAAAABl2qRSFz/EJf9ngCLs0r3CcYhl7OJeKSIiscv74TiwAAAAXqRQzlyW6Ie/WKsdTqbzQZ9bHpqOdBYcAAAAAAAAA" }, { "comment": "PSBT v0 with one P2PKH input and one P2SH-P2WPKH input both with non-final scriptSigs. P2SH-P2WPKH input's redeemScript is available. Outputs filled.", @@ -1063,7 +1073,7 @@ "cTu1wcAMkf6FLqjd2sWM12xjz4bwobV6i1oWao61mPG4uvQPSg8J" ], "psbt": "cHNidP8BAH0CAAAAAZm8gI4B+QwhlZYFU8Bsxh/dt5y2hNyvgHE3Paqy38usAAAAAAD9////AqCGAQAAAAAAIlEgH4rIDI3It8R1lGsWS8Y/oJcgLGXWHP3esRcFTANbDkohR/QFAAAAABYAFLCINJ0ava7brRWRFXPb9gQPtXa8ZgAAAAABAPYCAAAAAAEBToRRljypw8i0XDdchLPfPCEu35IVDAQyJjE7+4BKY7wAAAAAAP3///8CAOH1BQAAAAAiUSCmhOhy2uqiFaiKEq1XHQ5GxEB0ZzKWUkQdDdvHekKkr1sQECQBAAAAIlEgBGBAMo//gsGI9gAqLi1eIQyQfI9OEKPTsHC70K9iFJICRzBEAiAdRYXGxB9GvJjW7wBs3MoIgEM9JLWr68YSY7DimIPiQgIgapXuVzcGsgW/2pALpgiUruJy1r/d7WzA33X2lVTTeKsBIQKv1oxXJ0mTvGCKH3aUGEMPzKG6eFsKZNMz7oK0e83kEWUAAAABASsA4fUFAAAAACJRIKaE6HLa6qIVqIoSrVcdDkbEQHRnMpZSRB0N28d6QqSvIRbkivPnCyb8Yoovvu2XYhO+SdnqbXkf3xdICTCTBzDQkAkAPcQ2kgAAAAAADPwJbGlnaHRuaW5nBAIAAQAiAgKvT3WyoYKdheBSaW4ey+TVgkhT0rRhx4m89r/o+gUyXQiwiDSdAwAAAAA=", - "result": "cHNidP8BAH0CAAAAAZm8gI4B+QwhlZYFU8Bsxh/dt5y2hNyvgHE3Paqy38usAAAAAAD9////AqCGAQAAAAAAIlEgH4rIDI3It8R1lGsWS8Y/oJcgLGXWHP3esRcFTANbDkohR/QFAAAAABYAFLCINJ0ava7brRWRFXPb9gQPtXa8ZgAAAAABAPYCAAAAAAEBToRRljypw8i0XDdchLPfPCEu35IVDAQyJjE7+4BKY7wAAAAAAP3///8CAOH1BQAAAAAiUSCmhOhy2uqiFaiKEq1XHQ5GxEB0ZzKWUkQdDdvHekKkr1sQECQBAAAAIlEgBGBAMo//gsGI9gAqLi1eIQyQfI9OEKPTsHC70K9iFJICRzBEAiAdRYXGxB9GvJjW7wBs3MoIgEM9JLWr68YSY7DimIPiQgIgapXuVzcGsgW/2pALpgiUruJy1r/d7WzA33X2lVTTeKsBIQKv1oxXJ0mTvGCKH3aUGEMPzKG6eFsKZNMz7oK0e83kEWUAAAABASsA4fUFAAAAACJRIKaE6HLa6qIVqIoSrVcdDkbEQHRnMpZSRB0N28d6QqSvARNAb6qU8xiqJKdn+lOZHuzM/JjOiII3rT+4m2sMFRsS0eKNF8zzEZo1UhUOl/D5mjJeNjSdlO3+eZR9fb/P8jWDByEW5Irz5wsm/GKKL77tl2ITvknZ6m15H98XSAkwkwcw0JAJAD3ENpIAAAAAAAz8CWxpZ2h0bmluZwQCAAEAIgICr091sqGCnYXgUmluHsvk1YJIU9K0YceJvPa/6PoFMl0IsIg0nQMAAAAA" + "result": "cHNidP8BAH0CAAAAAZm8gI4B+QwhlZYFU8Bsxh/dt5y2hNyvgHE3Paqy38usAAAAAAD9////AqCGAQAAAAAAIlEgH4rIDI3It8R1lGsWS8Y/oJcgLGXWHP3esRcFTANbDkohR/QFAAAAABYAFLCINJ0ava7brRWRFXPb9gQPtXa8ZgAAAAABAIkCAAAAAU6EUZY8qcPItFw3XISz3zwhLt+SFQwEMiYxO/uASmO8AAAAAAD9////AgDh9QUAAAAAIlEgpoToctrqohWoihKtVx0ORsRAdGcyllJEHQ3bx3pCpK9bEBAkAQAAACJRIARgQDKP/4LBiPYAKi4tXiEMkHyPThCj07Bwu9CvYhSSZQAAAAEBKwDh9QUAAAAAIlEgpoToctrqohWoihKtVx0ORsRAdGcyllJEHQ3bx3pCpK8BE0BvqpTzGKokp2f6U5ke7Mz8mM6IgjetP7ibawwVGxLR4o0XzPMRmjVSFQ6X8PmaMl42NJ2U7f55lH19v8/yNYMHIRbkivPnCyb8Yoovvu2XYhO+SdnqbXkf3xdICTCTBzDQkAkAPcQ2kgAAAAAADPwJbGlnaHRuaW5nBAIAAQAiAgKvT3WyoYKdheBSaW4ey+TVgkhT0rRhx4m89r/o+gUyXQiwiDSdAwAAAAA=" }, { "comment": "PSBTv2 taproot keyspend signature", @@ -1071,7 +1081,7 @@ "cUyfr12WV21eNED5Mk89ZZ9pqWxsd52BM4Cv8PgfAdx3jEAvPuwn" ], "psbt": "cHNidP8BAgQCAAAAAQMEZgAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQD2AgAAAAABAdHR2JpIQRe2veo0llU7ci/9IG5DaeZUaGVTi+/pyHU4AAAAAAD9////AlsQECQBAAAAIlEgxsZa5WXXXxm68nU6uTaApup9Xg9IpVmtlc6VQckjSIUA4fUFAAAAACJRIFp/XvAYFGGG7PtiHthtpLNjSMbyVdoUVCzFxeRehDklAkcwRAIgb9KN1urrT/JXGhu9PqGektpQksoTQqbI8Dk4dk0+sw0CIAITi7J8kNKtaimjodLhB8J+SusFpO4HFKgavrHQzuIgASEDmQTOBGA3eVRjDOwqfrHc15WblP8w02yJKqFR57sugGNlAAAAAQErAOH1BQAAAAAiUSBaf17wGBRhhuz7Yh7YbaSzY0jG8lXaFFQsxcXkXoQ5JQEOIC5m1iLnRBAjV8hXxbwqlh+zKZbKn5IQwqBgj0n7C8jIAQ8EAQAAAAEQBP3///8hFnv81c9bwYL8u6z6StHClhM9qkRIdpa9VB+8sBje8Y69CQDfOmBVAAAAAAABAwighgEAAAAAAAEEIlEgI1j9CN7w241sYgkBDiZTj1TyID4mfFrj8FT4pVE2KP8M/AlsaWdodG5pbmcEAgABACICArL8jMClOwQDu2fC4mXavYTEm5nhdBNYJgJWbEWmRwaKCGLWEuADAAAAAQMIIUf0BQAAAAABBBYAFGLWEuCxEHXTDIVTFmQraKpdLvc+AA==", - "result": "cHNidP8BAgQCAAAAAQMEZgAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQD2AgAAAAABAdHR2JpIQRe2veo0llU7ci/9IG5DaeZUaGVTi+/pyHU4AAAAAAD9////AlsQECQBAAAAIlEgxsZa5WXXXxm68nU6uTaApup9Xg9IpVmtlc6VQckjSIUA4fUFAAAAACJRIFp/XvAYFGGG7PtiHthtpLNjSMbyVdoUVCzFxeRehDklAkcwRAIgb9KN1urrT/JXGhu9PqGektpQksoTQqbI8Dk4dk0+sw0CIAITi7J8kNKtaimjodLhB8J+SusFpO4HFKgavrHQzuIgASEDmQTOBGA3eVRjDOwqfrHc15WblP8w02yJKqFR57sugGNlAAAAAQErAOH1BQAAAAAiUSBaf17wGBRhhuz7Yh7YbaSzY0jG8lXaFFQsxcXkXoQ5JQEOIC5m1iLnRBAjV8hXxbwqlh+zKZbKn5IQwqBgj0n7C8jIAQ8EAQAAAAEQBP3///8BE0ABp34A+oJT4EIBZCKhL1Vl9bwO801d9bbaofB9Bwcr+R+dNzROjrdc/AHQ7ig+B90ZPIUdwn0UoFhkklUOxyQEIRZ7/NXPW8GC/Lus+krRwpYTPapESHaWvVQfvLAY3vGOvQkA3zpgVQAAAAAAAQMIoIYBAAAAAAABBCJRICNY/Qje8NuNbGIJAQ4mU49U8iA+Jnxa4/BU+KVRNij/DPwJbGlnaHRuaW5nBAIAAQAiAgKy/IzApTsEA7tnwuJl2r2ExJuZ4XQTWCYCVmxFpkcGighi1hLgAwAAAAEDCCFH9AUAAAAAAQQWABRi1hLgsRB10wyFUxZkK2iqXS73PgA=" + "result": "cHNidP8BAgQCAAAAAQMEZgAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQCJAgAAAAHR0diaSEEXtr3qNJZVO3Iv/SBuQ2nmVGhlU4vv6ch1OAAAAAAA/f///wJbEBAkAQAAACJRIMbGWuVl118ZuvJ1Ork2gKbqfV4PSKVZrZXOlUHJI0iFAOH1BQAAAAAiUSBaf17wGBRhhuz7Yh7YbaSzY0jG8lXaFFQsxcXkXoQ5JWUAAAABASsA4fUFAAAAACJRIFp/XvAYFGGG7PtiHthtpLNjSMbyVdoUVCzFxeRehDklAQ4gLmbWIudEECNXyFfFvCqWH7MplsqfkhDCoGCPSfsLyMgBDwQBAAAAARAE/f///wETQAGnfgD6glPgQgFkIqEvVWX1vA7zTV31ttqh8H0HByv5H503NE6Ot1z8AdDuKD4H3Rk8hR3CfRSgWGSSVQ7HJAQhFnv81c9bwYL8u6z6StHClhM9qkRIdpa9VB+8sBje8Y69CQDfOmBVAAAAAAABAwighgEAAAAAAAEEIlEgI1j9CN7w241sYgkBDiZTj1TyID4mfFrj8FT4pVE2KP8M/AlsaWdodG5pbmcEAgABACICArL8jMClOwQDu2fC4mXavYTEm5nhdBNYJgJWbEWmRwaKCGLWEuADAAAAAQMIIUf0BQAAAAABBBYAFGLWEuCxEHXTDIVTFmQraKpdLvc+AA==" }, { "comment": "Taproot keyspend with SIGHASH_ALL", @@ -1079,7 +1089,7 @@ "cUTSK6U3GZc8JQfQJAr57QmASWtEXRUTaHkLSMxqu9u7DppPW51N" ], "psbt": "cHNidP8BAH0CAAAAAY+Mh9D0AbHD9Rl+XYcoLNDMMkn/2YVy4Vrkw5crqbmSAQAAAAD9////AqCGAQAAAAAAIlEgjkQX4Ln2Vq0OQuEsklHTppzgRLaRgVVHEwKRBsbP9QAhR/QFAAAAABYAFNDRjw/J0bZQj3vqRW7BeJSCcQkVZgAAAAABAPYCAAAAAAEBQ+4i2Sma1U/wC2jAMlMG4Q80vksIDyMuntcHyRfI/hgAAAAAAP3///8CWxAQJAEAAAAiUSCjieYzsMHTKZ4MkmActUBi4PVLF9kKZeBJ/ffmmj6uhQDh9QUAAAAAIlEgAyTUkRT9Qix3UHriIHu6hsOZnjW3dCaOdEfAntOICngCRzBEAiAY5hBUEvQWzRoPVROo1bROJiVI+jUtrQyoVb05S+uoAwIgbpE0CT4qrQNenLo3Wu/cVuH7aHCAU0wOhi51+3tyjRQBIQJkqeBrI44j3khED/LkM+fXXye8zcun5n7qdHjtPnb09mUAAAABASsA4fUFAAAAACJRIAMk1JEU/UIsd1B64iB7uobDmZ41t3QmjnRHwJ7TiAp4AQMEAQAAACEWbtzwwg+NlbzOoN/nPQk/BA7QvpyPqN2qPq1Dzki20sYJAAvjkmkAAAAAAAz8CWxpZ2h0bmluZwQCAAEAIgICEjpp2wUKPRWYKXpjbTV5XJra0KHLjpLvRxJl7mKcp9sI0NGPDwMAAAAA", - "result": "cHNidP8BAH0CAAAAAY+Mh9D0AbHD9Rl+XYcoLNDMMkn/2YVy4Vrkw5crqbmSAQAAAAD9////AqCGAQAAAAAAIlEgjkQX4Ln2Vq0OQuEsklHTppzgRLaRgVVHEwKRBsbP9QAhR/QFAAAAABYAFNDRjw/J0bZQj3vqRW7BeJSCcQkVZgAAAAABAPYCAAAAAAEBQ+4i2Sma1U/wC2jAMlMG4Q80vksIDyMuntcHyRfI/hgAAAAAAP3///8CWxAQJAEAAAAiUSCjieYzsMHTKZ4MkmActUBi4PVLF9kKZeBJ/ffmmj6uhQDh9QUAAAAAIlEgAyTUkRT9Qix3UHriIHu6hsOZnjW3dCaOdEfAntOICngCRzBEAiAY5hBUEvQWzRoPVROo1bROJiVI+jUtrQyoVb05S+uoAwIgbpE0CT4qrQNenLo3Wu/cVuH7aHCAU0wOhi51+3tyjRQBIQJkqeBrI44j3khED/LkM+fXXye8zcun5n7qdHjtPnb09mUAAAABASsA4fUFAAAAACJRIAMk1JEU/UIsd1B64iB7uobDmZ41t3QmjnRHwJ7TiAp4AQMEAQAAAAETQSoAXO5t8Sg9cUToGoa2+nut51CBn7ylz1e+vtFvhQTEx3o7BniXuGagky+DDeEJVIwGZRdodxgrocw7zWV2GFgBIRZu3PDCD42VvM6g3+c9CT8EDtC+nI+o3ao+rUPOSLbSxgkAC+OSaQAAAAAADPwJbGlnaHRuaW5nBAIAAQAiAgISOmnbBQo9FZgpemNtNXlcmtrQocuOku9HEmXuYpyn2wjQ0Y8PAwAAAAA=" + "result": "cHNidP8BAH0CAAAAAY+Mh9D0AbHD9Rl+XYcoLNDMMkn/2YVy4Vrkw5crqbmSAQAAAAD9////AqCGAQAAAAAAIlEgjkQX4Ln2Vq0OQuEsklHTppzgRLaRgVVHEwKRBsbP9QAhR/QFAAAAABYAFNDRjw/J0bZQj3vqRW7BeJSCcQkVZgAAAAABAIkCAAAAAUPuItkpmtVP8AtowDJTBuEPNL5LCA8jLp7XB8kXyP4YAAAAAAD9////AlsQECQBAAAAIlEgo4nmM7DB0ymeDJJgHLVAYuD1SxfZCmXgSf335po+roUA4fUFAAAAACJRIAMk1JEU/UIsd1B64iB7uobDmZ41t3QmjnRHwJ7TiAp4ZQAAAAEBKwDh9QUAAAAAIlEgAyTUkRT9Qix3UHriIHu6hsOZnjW3dCaOdEfAntOICngBAwQBAAAAARNBKgBc7m3xKD1xROgahrb6e63nUIGfvKXPV76+0W+FBMTHejsGeJe4ZqCTL4MN4QlUjAZlF2h3GCuhzDvNZXYYWAEhFm7c8MIPjZW8zqDf5z0JPwQO0L6cj6jdqj6tQ85IttLGCQAL45JpAAAAAAAM/AlsaWdodG5pbmcEAgABACICAhI6adsFCj0VmCl6Y201eVya2tChy46S70cSZe5inKfbCNDRjw8DAAAAAA==" }, { "comment": "Taproot keyspend with SIGHASH_SINGLE", @@ -1087,15 +1097,15 @@ "cRENyqUBi48mhnwdaHK1TmgqCZvB83njEM9SnfRrf5JsVzx1deFS" ], "psbt": "cHNidP8BAH0CAAAAAcxHwxyy9FpFa1AuYMltf+VRZ0Wb+xs7irBhENL3ZNDfAAAAAAD9////AqCGAQAAAAAAIlEg9bpXXraKrTowBOttg43mWTzNvrpNtwi247wAU/AVyx4hR/QFAAAAABYAFMtFjSqHFoz6HBMyvhQ92LQA8Ym8ZgAAAAABAPYCAAAAAAEBjGpkiGzXPIZHUwJRoFnJCri6D22zIPxPcNmGum2dxlAAAAAAAP3///8CAOH1BQAAAAAiUSDntWViRTSufeFdp4iMAPAbwrb04WRr6Uf1t9PQdAybfVsQECQBAAAAIlEgL4ouh0/SbIyGL2nJ1V6Dj43GG94FKkY1Hb2t80Yfcw8CRzBEAiBnLUTCocry1Q3AjlWD9SAmww/OFmYCpPuAP/Datq98mgIgZch0lct0DCe2tdR50JiwkCTg4CmCYxOLPxPJr3BBeGsBIQNvmHE6LKDAAnzhgIJd3fiqYwETAqv0vIFL8t8uOJAaZmUAAAABASsA4fUFAAAAACJRIOe1ZWJFNK594V2niIwA8BvCtvThZGvpR/W309B0DJt9AQMEAwAAACEWJWIryWf7ygfu3yX466mDJOUFUiC+sXCYiZ8QrbhWGEMJAJgFzn0AAAAAAAz8CWxpZ2h0bmluZwQCAAEAIgIDyq/Tn4f9vurbsAxTsyr1yt1XV5etBF3J35+2A5/9wXoIy0WNKgMAAAAA", - "result": "cHNidP8BAH0CAAAAAcxHwxyy9FpFa1AuYMltf+VRZ0Wb+xs7irBhENL3ZNDfAAAAAAD9////AqCGAQAAAAAAIlEg9bpXXraKrTowBOttg43mWTzNvrpNtwi247wAU/AVyx4hR/QFAAAAABYAFMtFjSqHFoz6HBMyvhQ92LQA8Ym8ZgAAAAABAPYCAAAAAAEBjGpkiGzXPIZHUwJRoFnJCri6D22zIPxPcNmGum2dxlAAAAAAAP3///8CAOH1BQAAAAAiUSDntWViRTSufeFdp4iMAPAbwrb04WRr6Uf1t9PQdAybfVsQECQBAAAAIlEgL4ouh0/SbIyGL2nJ1V6Dj43GG94FKkY1Hb2t80Yfcw8CRzBEAiBnLUTCocry1Q3AjlWD9SAmww/OFmYCpPuAP/Datq98mgIgZch0lct0DCe2tdR50JiwkCTg4CmCYxOLPxPJr3BBeGsBIQNvmHE6LKDAAnzhgIJd3fiqYwETAqv0vIFL8t8uOJAaZmUAAAABASsA4fUFAAAAACJRIOe1ZWJFNK594V2niIwA8BvCtvThZGvpR/W309B0DJt9AQMEAwAAAAETQWKqmWGvOp90ZLgN9qvD+STgs1I7In+n537FL4FGyrwyO/rWnP53x54IGNcya9B9JcidUYhDQpAhGgiQUKXoXjsDIRYlYivJZ/vKB+7fJfjrqYMk5QVSIL6xcJiJnxCtuFYYQwkAmAXOfQAAAAAADPwJbGlnaHRuaW5nBAIAAQAiAgPKr9Ofh/2+6tuwDFOzKvXK3VdXl60EXcnfn7YDn/3BegjLRY0qAwAAAAA=" + "result": "cHNidP8BAH0CAAAAAcxHwxyy9FpFa1AuYMltf+VRZ0Wb+xs7irBhENL3ZNDfAAAAAAD9////AqCGAQAAAAAAIlEg9bpXXraKrTowBOttg43mWTzNvrpNtwi247wAU/AVyx4hR/QFAAAAABYAFMtFjSqHFoz6HBMyvhQ92LQA8Ym8ZgAAAAABAIkCAAAAAYxqZIhs1zyGR1MCUaBZyQq4ug9tsyD8T3DZhrptncZQAAAAAAD9////AgDh9QUAAAAAIlEg57VlYkU0rn3hXaeIjADwG8K29OFka+lH9bfT0HQMm31bEBAkAQAAACJRIC+KLodP0myMhi9pydVeg4+NxhveBSpGNR29rfNGH3MPZQAAAAEBKwDh9QUAAAAAIlEg57VlYkU0rn3hXaeIjADwG8K29OFka+lH9bfT0HQMm30BAwQDAAAAARNBYqqZYa86n3RkuA32q8P5JOCzUjsif6fnfsUvgUbKvDI7+tac/nfHnggY1zJr0H0lyJ1RiENCkCEaCJBQpeheOwMhFiViK8ln+8oH7t8l+OupgyTlBVIgvrFwmImfEK24VhhDCQCYBc59AAAAAAAM/AlsaWdodG5pbmcEAgABACICA8qv05+H/b7q27AMU7Mq9crdV1eXrQRdyd+ftgOf/cF6CMtFjSoDAAAAAA==" }, { "comment": "Taproot keyspend with no associated pubkey", "privkeys": [ "cVd4tUYMjuWJS2te21dhjdBpTwvkxwdfjP9AC81PdM9BQwW7oaTo" ], - "psbt": "cHNidP8BAH0CAAAAAd0d8Rfl45hnbKrHUO9vcDujNeb6VPuwyxDEVOwATVHyAQAAAAD9////AqCGAQAAAAAAIlEgeBUu8Q1HKJXIb76zd36Sl+izmyC/+w4AOsb6XLhNXUohR/QFAAAAABYAFFQykddI6WJF1YsFfGREBm/XYEGAZgAAAAABAPYCAAAAAAEB8kLdM97i6CqFRBbkJ+i6WWSIR29OXwwoGhaNk0cAVBIAAAAAAP3///8CWxAQJAEAAAAiUSCw7vWjdFqVRHSeE/1LTI1Li6dxkeis1MUvYOYB0LK8dADh9QUAAAAAIlEgYCnMLzgrgDfrN6eSbdFJphf2yRHfyrePgbqp5nR996kCRzBEAiArmep0f1QFUFm2UBPPkkpAKdgD0qD4akdaj8GBvDTzRgIgcpdvdJgy1QC3VdzUJb3Z1e3/PKIYf/519IMFM6iEYBYBIQJ1M0Db+Nsywk/N2dfavvHnmHfEpqYfOYL9eomaeHR1RmUAAAABASsA4fUFAAAAACJRIGApzC84K4A36zenkm3RSaYX9skR38q3j4G6qeZ0ffepAAz8CWxpZ2h0bmluZwQCAAEAIgICptzvEIBCFHiftDZmp+OKaSowtQOLW6zAtWLpMk7UXYAIVDKR1wMAAAAA", - "result": "cHNidP8BAH0CAAAAAd0d8Rfl45hnbKrHUO9vcDujNeb6VPuwyxDEVOwATVHyAQAAAAD9////AqCGAQAAAAAAIlEgeBUu8Q1HKJXIb76zd36Sl+izmyC/+w4AOsb6XLhNXUohR/QFAAAAABYAFFQykddI6WJF1YsFfGREBm/XYEGAZgAAAAABAPYCAAAAAAEB8kLdM97i6CqFRBbkJ+i6WWSIR29OXwwoGhaNk0cAVBIAAAAAAP3///8CWxAQJAEAAAAiUSCw7vWjdFqVRHSeE/1LTI1Li6dxkeis1MUvYOYB0LK8dADh9QUAAAAAIlEgYCnMLzgrgDfrN6eSbdFJphf2yRHfyrePgbqp5nR996kCRzBEAiArmep0f1QFUFm2UBPPkkpAKdgD0qD4akdaj8GBvDTzRgIgcpdvdJgy1QC3VdzUJb3Z1e3/PKIYf/519IMFM6iEYBYBIQJ1M0Db+Nsywk/N2dfavvHnmHfEpqYfOYL9eomaeHR1RmUAAAABASsA4fUFAAAAACJRIGApzC84K4A36zenkm3RSaYX9skR38q3j4G6qeZ0ffepAAz8CWxpZ2h0bmluZwQCAAEAIgICptzvEIBCFHiftDZmp+OKaSowtQOLW6zAtWLpMk7UXYAIVDKR1wMAAAAA" + "psbt": "cHNidP8BAH0CAAAAAd0d8Rfl45hnbKrHUO9vcDujNeb6VPuwyxDEVOwATVHyAQAAAAD9////AqCGAQAAAAAAIlEgeBUu8Q1HKJXIb76zd36Sl+izmyC/+w4AOsb6XLhNXUohR/QFAAAAABYAFFQykddI6WJF1YsFfGREBm/XYEGAZgAAAAABAIkCAAAAAfJC3TPe4ugqhUQW5CfoullkiEdvTl8MKBoWjZNHAFQSAAAAAAD9////AlsQECQBAAAAIlEgsO71o3RalUR0nhP9S0yNS4uncZHorNTFL2DmAdCyvHQA4fUFAAAAACJRIGApzC84K4A36zenkm3RSaYX9skR38q3j4G6qeZ0ffepZQAAAAEBKwDh9QUAAAAAIlEgYCnMLzgrgDfrN6eSbdFJphf2yRHfyrePgbqp5nR996kADPwJbGlnaHRuaW5nBAIAAQAiAgKm3O8QgEIUeJ+0Nman44ppKjC1A4tbrMC1YukyTtRdgAhUMpHXAwAAAAA=", + "result": "cHNidP8BAH0CAAAAAd0d8Rfl45hnbKrHUO9vcDujNeb6VPuwyxDEVOwATVHyAQAAAAD9////AqCGAQAAAAAAIlEgeBUu8Q1HKJXIb76zd36Sl+izmyC/+w4AOsb6XLhNXUohR/QFAAAAABYAFFQykddI6WJF1YsFfGREBm/XYEGAZgAAAAABAIkCAAAAAfJC3TPe4ugqhUQW5CfoullkiEdvTl8MKBoWjZNHAFQSAAAAAAD9////AlsQECQBAAAAIlEgsO71o3RalUR0nhP9S0yNS4uncZHorNTFL2DmAdCyvHQA4fUFAAAAACJRIGApzC84K4A36zenkm3RSaYX9skR38q3j4G6qeZ0ffepZQAAAAEBKwDh9QUAAAAAIlEgYCnMLzgrgDfrN6eSbdFJphf2yRHfyrePgbqp5nR996kADPwJbGlnaHRuaW5nBAIAAQAiAgKm3O8QgEIUeJ+0Nman44ppKjC1A4tbrMC1YukyTtRdgAhUMpHXAwAAAAA=" } ], "invalid_signer": [ diff --git a/src/psbt.c b/src/psbt.c index 4acde0efc..1b716f924 100644 --- a/src/psbt.c +++ b/src/psbt.c @@ -3002,9 +3002,9 @@ static int push_psbt_input(const struct wally_psbt *psbt, /* Non witness utxo */ if (input->utxo) { push_psbt_key(cursor, max, PSBT_IN_NON_WITNESS_UTXO, NULL, 0); - if ((ret = push_length_and_tx(cursor, max, - input->utxo, - WALLY_TX_FLAG_USE_WITNESS)) != WALLY_OK) + /* Note we don't serialize witness data for input UTXOs */ + ret = push_length_and_tx(cursor, max, input->utxo, 0); + if (ret != WALLY_OK) return ret; }