57889e688d
Just calling atoi to convert strings to integers does not check for valid integers very thoroughly; in particular, it just ignores everything starting from the first non-numeral character. Even a string like "foo" is fine and silently returns 0. This meant that bitcoin-tx would not fail if such a string was passed in various places where an integer is expected (like the locktime or an input/output index); this means that it would, for instance, silently accept a typo and interpret it in an unexpected way. In this change, we use ParseInt64 for parsing strings to integers, which actually verifies that the full string is valid as number. New tests in the bitcoin-util-test cover the new error paths.
465 lines
23 KiB
JSON
465 lines
23 KiB
JSON
[
|
|
{ "exec": "./bitcoin-tx",
|
|
"args": ["-create", "nversion=1"],
|
|
"output_cmp": "blanktxv1.hex",
|
|
"description": "Creates a blank v1 transaction"
|
|
},
|
|
{ "exec": "./bitcoin-tx",
|
|
"args": ["-json","-create", "nversion=1"],
|
|
"output_cmp": "blanktxv1.json",
|
|
"description": "Creates a blank v1 transaction (output in json)"
|
|
},
|
|
{ "exec": "./bitcoin-tx",
|
|
"args": ["-"],
|
|
"input": "blanktxv2.hex",
|
|
"output_cmp": "blanktxv2.hex",
|
|
"description": "Creates a blank transaction when nothing is piped into bitcoin-tx"
|
|
},
|
|
{ "exec": "./bitcoin-tx",
|
|
"args": ["-json","-create"],
|
|
"output_cmp": "blanktxv2.json",
|
|
"description": "Creates a blank transaction (output in json)"
|
|
},
|
|
{ "exec": "./bitcoin-tx",
|
|
"args": ["-json","-"],
|
|
"input": "blanktxv2.hex",
|
|
"output_cmp": "blanktxv2.json",
|
|
"description": "Creates a blank transaction when nothing is piped into bitcoin-tx (output in json)"
|
|
},
|
|
{ "exec": "./bitcoin-tx",
|
|
"args": ["-create", "nversion=1foo"],
|
|
"return_code": 1,
|
|
"error_txt": "error: Invalid TX version requested",
|
|
"description": "Tests the check for invalid nversion value"
|
|
},
|
|
{ "exec": "./bitcoin-tx",
|
|
"args": ["-", "delin=1"],
|
|
"input": "tx394b54bb.hex",
|
|
"output_cmp": "tt-delin1-out.hex",
|
|
"description": "Deletes a single input from a transaction"
|
|
},
|
|
{ "exec": "./bitcoin-tx",
|
|
"args": ["-json", "-", "delin=1"],
|
|
"input": "tx394b54bb.hex",
|
|
"output_cmp": "tt-delin1-out.json",
|
|
"description": "Deletes a single input from a transaction (output in json)"
|
|
},
|
|
{ "exec": "./bitcoin-tx",
|
|
"args": ["-", "delin=31"],
|
|
"input": "tx394b54bb.hex",
|
|
"return_code": 1,
|
|
"error_txt": "error: Invalid TX input index '31'",
|
|
"description": "Attempts to delete an input with a bad index from a transaction. Expected to fail."
|
|
},
|
|
{ "exec": "./bitcoin-tx",
|
|
"args": ["-", "delin=1foo"],
|
|
"input": "tx394b54bb.hex",
|
|
"return_code": 1,
|
|
"error_txt": "error: Invalid TX input index",
|
|
"description": "Tests the check for an invalid input index with delin"
|
|
},
|
|
{ "exec": "./bitcoin-tx",
|
|
"args": ["-", "delout=1"],
|
|
"input": "tx394b54bb.hex",
|
|
"output_cmp": "tt-delout1-out.hex",
|
|
"description": "Deletes a single output from a transaction"
|
|
},
|
|
{ "exec": "./bitcoin-tx",
|
|
"args": ["-json", "-", "delout=1"],
|
|
"input": "tx394b54bb.hex",
|
|
"output_cmp": "tt-delout1-out.json",
|
|
"description": "Deletes a single output from a transaction (output in json)"
|
|
},
|
|
{ "exec": "./bitcoin-tx",
|
|
"args": ["-", "delout=2"],
|
|
"input": "tx394b54bb.hex",
|
|
"return_code": 1,
|
|
"error_txt": "error: Invalid TX output index '2'",
|
|
"description": "Attempts to delete an output with a bad index from a transaction. Expected to fail."
|
|
},
|
|
{ "exec": "./bitcoin-tx",
|
|
"args": ["-", "delout=1foo"],
|
|
"input": "tx394b54bb.hex",
|
|
"return_code": 1,
|
|
"error_txt": "error: Invalid TX output index",
|
|
"description": "Tests the check for an invalid output index with delout"
|
|
},
|
|
{ "exec": "./bitcoin-tx",
|
|
"args": ["-", "locktime=317000"],
|
|
"input": "tx394b54bb.hex",
|
|
"output_cmp": "tt-locktime317000-out.hex",
|
|
"description": "Adds an nlocktime to a transaction"
|
|
},
|
|
{ "exec": "./bitcoin-tx",
|
|
"args": ["-json", "-", "locktime=317000"],
|
|
"input": "tx394b54bb.hex",
|
|
"output_cmp": "tt-locktime317000-out.json",
|
|
"description": "Adds an nlocktime to a transaction (output in json)"
|
|
},
|
|
{ "exec": "./bitcoin-tx",
|
|
"args": ["-create", "locktime=317000foo"],
|
|
"return_code": 1,
|
|
"error_txt": "error: Invalid TX locktime requested",
|
|
"description": "Tests the check for invalid locktime value"
|
|
},
|
|
{ "exec": "./bitcoin-tx",
|
|
"args":
|
|
["-create",
|
|
"in=5897de6bd6027a475eadd57019d4e6872c396d0716c4875a5f1a6fcfdf385c1f:0",
|
|
"replaceable=0foo"],
|
|
"return_code": 1,
|
|
"error_txt": "error: Invalid TX input index",
|
|
"description": "Tests the check for an invalid input index with replaceable"
|
|
},
|
|
{ "exec": "./bitcoin-tx",
|
|
"args":
|
|
["-create",
|
|
"in=5897de6bd6027a475eadd57019d4e6872c396d0716c4875a5f1a6fcfdf385c1f:0x"],
|
|
"return_code": 1,
|
|
"error_txt": "error: invalid TX input vout",
|
|
"description": "Tests the check for an invalid vout value when adding an input"
|
|
},
|
|
{ "exec": "./bitcoin-tx",
|
|
"args":
|
|
["-create",
|
|
"outaddr=1"],
|
|
"return_code": 1,
|
|
"error_txt": "error: TX output missing or too many separators",
|
|
"description": "Malformed outaddr argument (no address specified). Expected to fail."
|
|
},
|
|
{ "exec": "./bitcoin-tx",
|
|
"args":
|
|
["-create",
|
|
"outaddr=1:13tuJJDR2RgArmgfv6JScSdreahzgc4T6o:garbage"],
|
|
"return_code": 1,
|
|
"error_txt": "error: TX output missing or too many separators",
|
|
"description": "Malformed outaddr argument (too many separators). Expected to fail."
|
|
},
|
|
{ "exec": "./bitcoin-tx",
|
|
"args":
|
|
["-create",
|
|
"outpubkey=0"],
|
|
"return_code": 1,
|
|
"error_txt": "error: TX output missing or too many separators",
|
|
"description": "Malformed outpubkey argument (no pubkey specified). Expected to fail."
|
|
},
|
|
{ "exec": "./bitcoin-tx",
|
|
"args":
|
|
["-create",
|
|
"outpubkey=0:02a5613bd857b7048924264d1e70e08fb2a7e6527d32b7ab1bb993ac59964ff397:W:non53nse"],
|
|
"return_code": 1,
|
|
"error_txt": "error: TX output missing or too many separators",
|
|
"description": "Malformed outpubkey argument (too many separators). Expected to fail."
|
|
},
|
|
{ "exec": "./bitcoin-tx",
|
|
"args":
|
|
["-create",
|
|
"in=5897de6bd6027a475eadd57019d4e6872c396d0716c4875a5f1a6fcfdf385c1f:0",
|
|
"in=bf829c6bcf84579331337659d31f89dfd138f7f7785802d5501c92333145ca7c:18",
|
|
"in=22a6f904655d53ae2ff70e701a0bbd90aa3975c0f40bfc6cc996a9049e31cdfc:1",
|
|
"outaddr=0.18:13tuJJDR2RgArmgfv6JScSdreahzgc4T6o",
|
|
"outaddr=4:1P8yWvZW8jVihP1bzHeqfE4aoXNX8AVa46"],
|
|
"output_cmp": "txcreate1.hex",
|
|
"description": "Creates a new transaction with three inputs and two outputs"
|
|
},
|
|
{ "exec": "./bitcoin-tx",
|
|
"args":
|
|
["-json",
|
|
"-create",
|
|
"in=5897de6bd6027a475eadd57019d4e6872c396d0716c4875a5f1a6fcfdf385c1f:0",
|
|
"in=bf829c6bcf84579331337659d31f89dfd138f7f7785802d5501c92333145ca7c:18",
|
|
"in=22a6f904655d53ae2ff70e701a0bbd90aa3975c0f40bfc6cc996a9049e31cdfc:1",
|
|
"outaddr=0.18:13tuJJDR2RgArmgfv6JScSdreahzgc4T6o",
|
|
"outaddr=4:1P8yWvZW8jVihP1bzHeqfE4aoXNX8AVa46"],
|
|
"output_cmp": "txcreate1.json",
|
|
"description": "Creates a new transaction with three inputs and two outputs (output in json)"
|
|
},
|
|
{ "exec": "./bitcoin-tx",
|
|
"args": ["-create", "outscript=0:"],
|
|
"output_cmp": "txcreate2.hex",
|
|
"description": "Creates a new transaction with a single empty output script"
|
|
},
|
|
{ "exec": "./bitcoin-tx",
|
|
"args": ["-json", "-create", "outscript=0:"],
|
|
"output_cmp": "txcreate2.json",
|
|
"description": "Creates a new transaction with a single empty output script (output in json)"
|
|
},
|
|
{ "exec": "./bitcoin-tx",
|
|
"args": ["02000000000100000000000000000000000000"],
|
|
"output_cmp": "txcreate2.hex",
|
|
"description": "Parses a transaction with no inputs and a single output script"
|
|
},
|
|
{ "exec": "./bitcoin-tx",
|
|
"args": ["-json", "02000000000100000000000000000000000000"],
|
|
"output_cmp": "txcreate2.json",
|
|
"description": "Parses a transaction with no inputs and a single output script (output in json)"
|
|
},
|
|
{ "exec": "./bitcoin-tx",
|
|
"args": ["-create", "outscript=0:OP_DROP", "nversion=1"],
|
|
"output_cmp": "txcreatescript1.hex",
|
|
"description": "Create a new transaction with a single output script (OP_DROP)"
|
|
},
|
|
{ "exec": "./bitcoin-tx",
|
|
"args": ["-json", "-create", "outscript=0:OP_DROP", "nversion=1"],
|
|
"output_cmp": "txcreatescript1.json",
|
|
"description": "Create a new transaction with a single output script (OP_DROP) (output as json)"
|
|
},
|
|
{ "exec": "./bitcoin-tx",
|
|
"args": ["-create", "outscript=0:OP_DROP:S", "nversion=1"],
|
|
"output_cmp": "txcreatescript2.hex",
|
|
"description": "Create a new transaction with a single output script (OP_DROP) in a P2SH"
|
|
},
|
|
{ "exec": "./bitcoin-tx",
|
|
"args": ["-json", "-create", "outscript=0:OP_DROP:S", "nversion=1"],
|
|
"output_cmp": "txcreatescript2.json",
|
|
"description": "Create a new transaction with a single output script (OP_DROP) in a P2SH (output as json)"
|
|
},
|
|
{ "exec": "./bitcoin-tx",
|
|
"args": ["-create", "outscript=0:OP_DROP:W", "nversion=1"],
|
|
"output_cmp": "txcreatescript3.hex",
|
|
"description": "Create a new transaction with a single output script (OP_DROP) in a P2WSH"
|
|
},
|
|
{ "exec": "./bitcoin-tx",
|
|
"args": ["-json", "-create", "outscript=0:OP_DROP:W", "nversion=1"],
|
|
"output_cmp": "txcreatescript3.json",
|
|
"description": "Create a new transaction with a single output script (OP_DROP) in a P2WSH (output as json)"
|
|
},
|
|
{ "exec": "./bitcoin-tx",
|
|
"args": ["-create", "outscript=0:OP_DROP:WS", "nversion=1"],
|
|
"output_cmp": "txcreatescript4.hex",
|
|
"description": "Create a new transaction with a single output script (OP_DROP) in a P2WSH, wrapped in a P2SH"
|
|
},
|
|
{ "exec": "./bitcoin-tx",
|
|
"args": ["-json", "-create", "outscript=0:OP_DROP:WS", "nversion=1"],
|
|
"output_cmp": "txcreatescript4.json",
|
|
"description": "Create a new transaction with a single output script (OP_DROP) in a P2SH, wrapped in a P2SH (output as json)"
|
|
},
|
|
{ "exec": "./bitcoin-tx",
|
|
"args":
|
|
["-create", "nversion=1",
|
|
"in=4d49a71ec9da436f71ec4ee231d04f292a29cd316f598bb7068feccabdc59485:0",
|
|
"set=privatekeys:[\"5HpHagT65TZzG1PH3CSu63k8DbpvD8s5ip4nEB3kEsreAnchuDf\"]",
|
|
"set=prevtxs:[{\"txid\":\"4d49a71ec9da436f71ec4ee231d04f292a29cd316f598bb7068feccabdc59485\",\"vout\":0,\"scriptPubKey\":\"76a91491b24bf9f5288532960ac687abb035127b1d28a588ac\"}]",
|
|
"sign=ALL",
|
|
"outaddr=0.001:193P6LtvS4nCnkDvM9uXn1gsSRqh4aDAz7"],
|
|
"output_cmp": "txcreatesignv1.hex",
|
|
"description": "Creates a new v1 transaction with a single input and a single output, and then signs the transaction"
|
|
},
|
|
{ "exec": "./bitcoin-tx",
|
|
"args":
|
|
["-json",
|
|
"-create", "nversion=1",
|
|
"in=4d49a71ec9da436f71ec4ee231d04f292a29cd316f598bb7068feccabdc59485:0",
|
|
"set=privatekeys:[\"5HpHagT65TZzG1PH3CSu63k8DbpvD8s5ip4nEB3kEsreAnchuDf\"]",
|
|
"set=prevtxs:[{\"txid\":\"4d49a71ec9da436f71ec4ee231d04f292a29cd316f598bb7068feccabdc59485\",\"vout\":0,\"scriptPubKey\":\"76a91491b24bf9f5288532960ac687abb035127b1d28a588ac\"}]",
|
|
"sign=ALL",
|
|
"outaddr=0.001:193P6LtvS4nCnkDvM9uXn1gsSRqh4aDAz7"],
|
|
"output_cmp": "txcreatesignv1.json",
|
|
"description": "Creates a new v1 transaction with a single input and a single output, and then signs the transaction (output in json)"
|
|
},
|
|
{ "exec": "./bitcoin-tx",
|
|
"args":
|
|
["-create",
|
|
"in=4d49a71ec9da436f71ec4ee231d04f292a29cd316f598bb7068feccabdc59485:0",
|
|
"set=privatekeys:[\"5HpHagT65TZzG1PH3CSu63k8DbpvD8s5ip4nEB3kEsreAnchuDf\"]",
|
|
"set=prevtxs:[{\"txid\":\"4d49a71ec9da436f71ec4ee231d04f292a29cd316f598bb7068feccabdc59485\",\"vout\":0,\"scriptPubKey\":\"76a91491b24bf9f5288532960ac687abb035127b1d28a588ac\"}]",
|
|
"sign=ALL",
|
|
"outaddr=0.001:193P6LtvS4nCnkDvM9uXn1gsSRqh4aDAz7"],
|
|
"output_cmp": "txcreatesignv2.hex",
|
|
"description": "Creates a new transaction with a single input and a single output, and then signs the transaction"
|
|
},
|
|
{ "exec": "./bitcoin-tx",
|
|
"args":
|
|
["-create",
|
|
"in=4d49a71ec9da436f71ec4ee231d04f292a29cd316f598bb7068feccabdc59485:0",
|
|
"set=privatekeys:[\"5HpHagT65TZzG1PH3CSu63k8DbpvD8s5ip4nEB3kEsreAnchuDf\"]",
|
|
"set=prevtxs:[{\"txid\":\"4d49a71ec9da436f71ec4ee231d04f292a29cd316f598bb7068feccabdc59485\",\"vout\":\"0foo\",\"scriptPubKey\":\"76a91491b24bf9f5288532960ac687abb035127b1d28a588ac\"}]",
|
|
"sign=ALL",
|
|
"outaddr=0.001:193P6LtvS4nCnkDvM9uXn1gsSRqh4aDAz7"],
|
|
"return_code": 1,
|
|
"error_txt": "error: prevtxs internal object typecheck fail",
|
|
"description": "Tests the check for invalid vout index in prevtxs for sign"
|
|
},
|
|
{ "exec": "./bitcoin-tx",
|
|
"args":
|
|
["-create", "outpubkey=0:02a5613bd857b7048924264d1e70e08fb2a7e6527d32b7ab1bb993ac59964ff397", "nversion=1"],
|
|
"output_cmp": "txcreateoutpubkey1.hex",
|
|
"description": "Creates a new transaction with a single pay-to-pubkey output"
|
|
},
|
|
{ "exec": "./bitcoin-tx",
|
|
"args":
|
|
["-json", "-create", "outpubkey=0:02a5613bd857b7048924264d1e70e08fb2a7e6527d32b7ab1bb993ac59964ff397", "nversion=1"],
|
|
"output_cmp": "txcreateoutpubkey1.json",
|
|
"description": "Creates a new transaction with a single pay-to-pubkey output (output as json)"
|
|
},
|
|
{ "exec": "./bitcoin-tx",
|
|
"args":
|
|
["-create", "outpubkey=0:02a5613bd857b7048924264d1e70e08fb2a7e6527d32b7ab1bb993ac59964ff397:W", "nversion=1"],
|
|
"output_cmp": "txcreateoutpubkey2.hex",
|
|
"description": "Creates a new transaction with a single pay-to-witness-pubkey output"
|
|
},
|
|
{ "exec": "./bitcoin-tx",
|
|
"args":
|
|
["-json", "-create", "outpubkey=0:02a5613bd857b7048924264d1e70e08fb2a7e6527d32b7ab1bb993ac59964ff397:W", "nversion=1"],
|
|
"output_cmp": "txcreateoutpubkey2.json",
|
|
"description": "Creates a new transaction with a single pay-to-witness-pubkey output (output as json)"
|
|
},
|
|
{ "exec": "./bitcoin-tx",
|
|
"args":
|
|
["-create", "outpubkey=0:02a5613bd857b7048924264d1e70e08fb2a7e6527d32b7ab1bb993ac59964ff397:WS", "nversion=1"],
|
|
"output_cmp": "txcreateoutpubkey3.hex",
|
|
"description": "Creates a new transaction with a single pay-to-witness-pubkey, wrapped in P2SH output"
|
|
},
|
|
{ "exec": "./bitcoin-tx",
|
|
"args":
|
|
["-json", "-create", "outpubkey=0:02a5613bd857b7048924264d1e70e08fb2a7e6527d32b7ab1bb993ac59964ff397:WS", "nversion=1"],
|
|
"output_cmp": "txcreateoutpubkey3.json",
|
|
"description": "Creates a new transaction with a single pay-to-pub-key output, wrapped in P2SH (output as json)"
|
|
},
|
|
{ "exec": "./bitcoin-tx",
|
|
"args":
|
|
["-json", "-create", "outpubkey=0:047d1368ba7ae01c94bc32293efd70bd7e3be7aa7912d07d0b1c659c1008d179b8642f5fb90f47580feb29f045e216ff5a4716d3a0fed36da414d332046303c44a:WS", "nversion=1"],
|
|
"return_code": 1,
|
|
"error_txt": "error: Uncompressed pubkeys are not useable for SegWit outputs",
|
|
"description": "Creates a new transaction with a single pay-to-pub-key output, wrapped in P2SH (output as json)"
|
|
},
|
|
{ "exec": "./bitcoin-tx",
|
|
"args":
|
|
["-create",
|
|
"in=5897de6bd6027a475eadd57019d4e6872c396d0716c4875a5f1a6fcfdf385c1f:0",
|
|
"outdata=4:badhexdata"],
|
|
"return_code": 1,
|
|
"error_txt": "error: invalid TX output data",
|
|
"description": "Attempts to create a new transaction with one input and an output with malformed hex data. Expected to fail"
|
|
},
|
|
{ "exec": "./bitcoin-tx",
|
|
"args":
|
|
["-create",
|
|
"in=5897de6bd6027a475eadd57019d4e6872c396d0716c4875a5f1a6fcfdf385c1f:0",
|
|
"outdata=badhexdata"],
|
|
"return_code": 1,
|
|
"error_txt": "error: invalid TX output data",
|
|
"description": "Attempts to create a new transaction with one input and an output with no value and malformed hex data. Expected to fail"
|
|
},
|
|
{ "exec": "./bitcoin-tx",
|
|
"args":
|
|
["-create",
|
|
"in=5897de6bd6027a475eadd57019d4e6872c396d0716c4875a5f1a6fcfdf385c1f:0",
|
|
"outaddr=0.18:13tuJJDR2RgArmgfv6JScSdreahzgc4T6o",
|
|
"outdata=4:54686973204f505f52455455524e207472616e73616374696f6e206f7574707574207761732063726561746564206279206d6f646966696564206372656174657261777472616e73616374696f6e2e"],
|
|
"output_cmp": "txcreatedata1.hex",
|
|
"description": "Creates a new transaction with one input, one address output and one data output"
|
|
},
|
|
{ "exec": "./bitcoin-tx",
|
|
"args":
|
|
["-json",
|
|
"-create", "nversion=1",
|
|
"in=5897de6bd6027a475eadd57019d4e6872c396d0716c4875a5f1a6fcfdf385c1f:0",
|
|
"outaddr=0.18:13tuJJDR2RgArmgfv6JScSdreahzgc4T6o",
|
|
"outdata=4:54686973204f505f52455455524e207472616e73616374696f6e206f7574707574207761732063726561746564206279206d6f646966696564206372656174657261777472616e73616374696f6e2e"],
|
|
"output_cmp": "txcreatedata1.json",
|
|
"description": "Creates a new v1 transaction with one input, one address output and one data output (output in json)"
|
|
},
|
|
{ "exec": "./bitcoin-tx",
|
|
"args":
|
|
["-create",
|
|
"in=5897de6bd6027a475eadd57019d4e6872c396d0716c4875a5f1a6fcfdf385c1f:0",
|
|
"outaddr=0.18:13tuJJDR2RgArmgfv6JScSdreahzgc4T6o",
|
|
"outdata=54686973204f505f52455455524e207472616e73616374696f6e206f7574707574207761732063726561746564206279206d6f646966696564206372656174657261777472616e73616374696f6e2e"],
|
|
"output_cmp": "txcreatedata2.hex",
|
|
"description": "Creates a new transaction with one input, one address output and one data (zero value) output"
|
|
},
|
|
{ "exec": "./bitcoin-tx",
|
|
"args":
|
|
["-json",
|
|
"-create",
|
|
"in=5897de6bd6027a475eadd57019d4e6872c396d0716c4875a5f1a6fcfdf385c1f:0",
|
|
"outaddr=0.18:13tuJJDR2RgArmgfv6JScSdreahzgc4T6o",
|
|
"outdata=54686973204f505f52455455524e207472616e73616374696f6e206f7574707574207761732063726561746564206279206d6f646966696564206372656174657261777472616e73616374696f6e2e"],
|
|
"output_cmp": "txcreatedata2.json",
|
|
"description": "Creates a new transaction with one input, one address output and one data (zero value) output (output in json)"
|
|
},
|
|
{ "exec": "./bitcoin-tx",
|
|
"args":
|
|
["-create",
|
|
"in=5897de6bd6027a475eadd57019d4e6872c396d0716c4875a5f1a6fcfdf385c1f:0:4294967293",
|
|
"outaddr=0.18:13tuJJDR2RgArmgfv6JScSdreahzgc4T6o"],
|
|
"output_cmp": "txcreatedata_seq0.hex",
|
|
"description": "Creates a new transaction with one input with sequence number and one address output"
|
|
},
|
|
{ "exec": "./bitcoin-tx",
|
|
"args":
|
|
["-json",
|
|
"-create",
|
|
"in=5897de6bd6027a475eadd57019d4e6872c396d0716c4875a5f1a6fcfdf385c1f:0:4294967293",
|
|
"outaddr=0.18:13tuJJDR2RgArmgfv6JScSdreahzgc4T6o"],
|
|
"output_cmp": "txcreatedata_seq0.json",
|
|
"description": "Creates a new transaction with one input with sequence number and one address output (output in json)"
|
|
},
|
|
{ "exec": "./bitcoin-tx",
|
|
"args":
|
|
["01000000011f5c38dfcf6f1a5f5a87c416076d392c87e6d41970d5ad5e477a02d66bde97580000000000fdffffff0180a81201000000001976a9141fc11f39be1729bf973a7ab6a615ca4729d6457488ac00000000",
|
|
"in=5897de6bd6027a475eadd57019d4e6872c396d0716c4875a5f1a6fcfdf385c1f:0:1"],
|
|
"output_cmp": "txcreatedata_seq1.hex",
|
|
"description": "Adds a new input with sequence number to a transaction"
|
|
},
|
|
{ "exec": "./bitcoin-tx",
|
|
"args":
|
|
["-json",
|
|
"01000000011f5c38dfcf6f1a5f5a87c416076d392c87e6d41970d5ad5e477a02d66bde97580000000000fdffffff0180a81201000000001976a9141fc11f39be1729bf973a7ab6a615ca4729d6457488ac00000000",
|
|
"in=5897de6bd6027a475eadd57019d4e6872c396d0716c4875a5f1a6fcfdf385c1f:0:1"],
|
|
"output_cmp": "txcreatedata_seq1.json",
|
|
"description": "Adds a new input with sequence number to a transaction (output in json)"
|
|
},
|
|
{ "exec": "./bitcoin-tx",
|
|
"args": ["-create", "outmultisig=1:2:3:02a5613bd857b7048924264d1e70e08fb2a7e6527d32b7ab1bb993ac59964ff397:021ac43c7ff740014c3b33737ede99c967e4764553d1b2b83db77c83b8715fa72d:02df2089105c77f266fa11a9d33f05c735234075f2e8780824c6b709415f9fb485", "nversion=1"],
|
|
"output_cmp": "txcreatemultisig1.hex",
|
|
"description": "Creates a new transaction with a single 2-of-3 multisig output"
|
|
},
|
|
{ "exec": "./bitcoin-tx",
|
|
"args": ["-json", "-create", "outmultisig=1:2:3:02a5613bd857b7048924264d1e70e08fb2a7e6527d32b7ab1bb993ac59964ff397:021ac43c7ff740014c3b33737ede99c967e4764553d1b2b83db77c83b8715fa72d:02df2089105c77f266fa11a9d33f05c735234075f2e8780824c6b709415f9fb485", "nversion=1"],
|
|
"output_cmp": "txcreatemultisig1.json",
|
|
"description": "Creates a new transaction with a single 2-of-3 multisig output (output in json)"
|
|
},
|
|
{ "exec": "./bitcoin-tx",
|
|
"args": ["-create", "outmultisig=1:2:3:02a5613bd857b7048924264d1e70e08fb2a7e6527d32b7ab1bb993ac59964ff397:021ac43c7ff740014c3b33737ede99c967e4764553d1b2b83db77c83b8715fa72d:02df2089105c77f266fa11a9d33f05c735234075f2e8780824c6b709415f9fb485:S", "nversion=1"],
|
|
"output_cmp": "txcreatemultisig2.hex",
|
|
"description": "Creates a new transaction with a single 2-of-3 multisig in a P2SH output"
|
|
},
|
|
{ "exec": "./bitcoin-tx",
|
|
"args": ["-json", "-create", "outmultisig=1:2:3:02a5613bd857b7048924264d1e70e08fb2a7e6527d32b7ab1bb993ac59964ff397:021ac43c7ff740014c3b33737ede99c967e4764553d1b2b83db77c83b8715fa72d:02df2089105c77f266fa11a9d33f05c735234075f2e8780824c6b709415f9fb485:S", "nversion=1"],
|
|
"output_cmp": "txcreatemultisig2.json",
|
|
"description": "Creates a new transaction with a single 2-of-3 multisig in a P2SH output (output in json)"
|
|
},
|
|
{ "exec": "./bitcoin-tx",
|
|
"args": ["-create", "outmultisig=1:2:3:02a5613bd857b7048924264d1e70e08fb2a7e6527d32b7ab1bb993ac59964ff397:021ac43c7ff740014c3b33737ede99c967e4764553d1b2b83db77c83b8715fa72d:02df2089105c77f266fa11a9d33f05c735234075f2e8780824c6b709415f9fb485:W", "nversion=1"],
|
|
"output_cmp": "txcreatemultisig3.hex",
|
|
"description": "Creates a new transaction with a single 2-of-3 multisig in a P2WSH output"
|
|
},
|
|
{ "exec": "./bitcoin-tx",
|
|
"args": ["-json", "-create", "outmultisig=1:2:3:02a5613bd857b7048924264d1e70e08fb2a7e6527d32b7ab1bb993ac59964ff397:021ac43c7ff740014c3b33737ede99c967e4764553d1b2b83db77c83b8715fa72d:02df2089105c77f266fa11a9d33f05c735234075f2e8780824c6b709415f9fb485:W", "nversion=1"],
|
|
"output_cmp": "txcreatemultisig3.json",
|
|
"description": "Creates a new transaction with a single 2-of-3 multisig in a P2WSH output (output in json)"
|
|
},
|
|
{ "exec": "./bitcoin-tx",
|
|
"args": ["-create", "outmultisig=1:2:3:02a5613bd857b7048924264d1e70e08fb2a7e6527d32b7ab1bb993ac59964ff397:021ac43c7ff740014c3b33737ede99c967e4764553d1b2b83db77c83b8715fa72d:02df2089105c77f266fa11a9d33f05c735234075f2e8780824c6b709415f9fb485:WS", "nversion=1"],
|
|
"output_cmp": "txcreatemultisig4.hex",
|
|
"description": "Creates a new transaction with a single 2-of-3 multisig in a P2WSH output, wrapped in P2SH"
|
|
},
|
|
{ "exec": "./bitcoin-tx",
|
|
"args": ["-json", "-create", "outmultisig=1:2:3:02a5613bd857b7048924264d1e70e08fb2a7e6527d32b7ab1bb993ac59964ff397:021ac43c7ff740014c3b33737ede99c967e4764553d1b2b83db77c83b8715fa72d:02df2089105c77f266fa11a9d33f05c735234075f2e8780824c6b709415f9fb485:WS", "nversion=1"],
|
|
"output_cmp": "txcreatemultisig4.json",
|
|
"description": "Creates a new transaction with a single 2-of-3 multisig in a P2WSH output, wrapped in P2SH (output in json)"
|
|
},
|
|
{ "exec": "./bitcoin-tx",
|
|
"args": ["-json", "-create", "outmultisig=1:2:3:02a5613bd857b7048924264d1e70e08fb2a7e6527d32b7ab1bb993ac59964ff397:021ac43c7ff740014c3b33737ede99c967e4764553d1b2b83db77c83b8715fa72d:047d1368ba7ae01c94bc32293efd70bd7e3be7aa7912d07d0b1c659c1008d179b8642f5fb90f47580feb29f045e216ff5a4716d3a0fed36da414d332046303c44a:S"],
|
|
"output_cmp": "txcreatemultisig5.json",
|
|
"description": "Uncompressed pubkeys should work just fine for non-witness outputs"
|
|
},
|
|
{ "exec": "./bitcoin-tx",
|
|
"args": ["-json", "-create", "outmultisig=1:2:3:02a5613bd857b7048924264d1e70e08fb2a7e6527d32b7ab1bb993ac59964ff397:021ac43c7ff740014c3b33737ede99c967e4764553d1b2b83db77c83b8715fa72d:047d1368ba7ae01c94bc32293efd70bd7e3be7aa7912d07d0b1c659c1008d179b8642f5fb90f47580feb29f045e216ff5a4716d3a0fed36da414d332046303c44a:WS"],
|
|
"return_code": 1,
|
|
"error_txt": "error: Uncompressed pubkeys are not useable for SegWit outputs",
|
|
"description": "Ensure adding witness outputs with uncompressed pubkeys fails"
|
|
}
|
|
]
|