diff options
author | fanquake <fanquake@gmail.com> | 2020-01-04 17:43:11 +0800 |
---|---|---|
committer | fanquake <fanquake@gmail.com> | 2020-01-04 18:31:39 +0800 |
commit | febf04841fd94429ad13c9c1548bd052cdf82833 (patch) | |
tree | d76fab00be071d671a69447ec73453ed4d70af1f /test/functional | |
parent | 310b29f9c326a14060c3c0b0561cd59af7d3c1e5 (diff) | |
parent | ca5f8deefd778195cb10a3419d3b5c0693abb958 (diff) | |
download | bitcoin-febf04841fd94429ad13c9c1548bd052cdf82833.tar.xz |
Merge #17853: [0.19] psbt: handle unspendable psbts
ca5f8deefd778195cb10a3419d3b5c0693abb958 Mark PSBTs spending unspendable outputs as invalid in analysis (Andrew Chow)
551583398ba4fdae973c047bc60556ffa17c6431 Have a PSBTAnalysis state that indicates invalid PSBT (Andrew Chow)
Pull request description:
Backport of #17524
ACKs for top commit:
achow101:
ACK ca5f8deefd778195cb10a3419d3b5c0693abb958
Tree-SHA512: b5f2b951beb9477ac3176a0aade845654d2108ca3a9fbc72097ba4b4797df5419053d6b489bbaa03be08cb8cfdc37a83db8b7642ffa52d42b7aa8ea14aff39cc
Diffstat (limited to 'test/functional')
-rwxr-xr-x | test/functional/rpc_psbt.py | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/test/functional/rpc_psbt.py b/test/functional/rpc_psbt.py index 61572654e0..57333955b2 100755 --- a/test/functional/rpc_psbt.py +++ b/test/functional/rpc_psbt.py @@ -416,5 +416,10 @@ class PSBTTest(BitcoinTestFramework): analyzed = self.nodes[0].analyzepsbt(signed) assert analyzed['inputs'][0]['has_utxo'] and analyzed['inputs'][0]['is_final'] and analyzed['next'] == 'extractor' + self.log.info("PSBT spending unspendable outputs should have error message and Creator as next") + analysis = self.nodes[0].analyzepsbt('cHNidP8BAJoCAAAAAljoeiG1ba8MI76OcHBFbDNvfLqlyHV5JPVFiHuyq911AAAAAAD/////g40EJ9DsZQpoqka7CwmK6kQiwHGyyng1Kgd5WdB86h0BAAAAAP////8CcKrwCAAAAAAWAEHYXCtx0AYLCcmIauuBXlCZHdoSTQDh9QUAAAAAFv8/wADXYP/7//////8JxOh0LR2HAI8AAAAAAAEBIADC6wsAAAAAF2oUt/X69ELjeX2nTof+fZ10l+OyAokDAQcJAwEHEAABAACAAAEBIADC6wsAAAAAF2oUt/X69ELjeX2nTof+fZ10l+OyAokDAQcJAwEHENkMak8AAAAA') + assert_equal(analysis['next'], 'creator') + assert_equal(analysis['error'], 'PSBT is not valid. Input 0 spends unspendable output') + if __name__ == '__main__': PSBTTest().main() |