Merge #5528 from
branch 'bitcoin-tx-copy-paste' of git://github.com/ers35/bitcoin into merge-5528
This commit is contained in:
commit
39d6b5fd42
4 changed files with 16 additions and 4 deletions
|
@ -14,7 +14,8 @@ EXTRA_DIST += \
|
||||||
test/data/tt-locktime317000-out.hex \
|
test/data/tt-locktime317000-out.hex \
|
||||||
test/data/tx394b54bb.hex \
|
test/data/tx394b54bb.hex \
|
||||||
test/data/txcreate1.hex \
|
test/data/txcreate1.hex \
|
||||||
test/data/txcreate2.hex
|
test/data/txcreate2.hex \
|
||||||
|
test/data/txcreatesign.hex
|
||||||
|
|
||||||
JSON_TEST_FILES = \
|
JSON_TEST_FILES = \
|
||||||
test/data/script_valid.json \
|
test/data/script_valid.json \
|
||||||
|
|
|
@ -368,7 +368,7 @@ static void MutateTxSign(CMutableTransaction& tx, const string& flagStr)
|
||||||
// Add previous txouts given in the RPC call:
|
// Add previous txouts given in the RPC call:
|
||||||
if (!registers.count("prevtxs"))
|
if (!registers.count("prevtxs"))
|
||||||
throw runtime_error("prevtxs register variable must be set.");
|
throw runtime_error("prevtxs register variable must be set.");
|
||||||
UniValue prevtxsObj = registers["privatekeys"];
|
UniValue prevtxsObj = registers["prevtxs"];
|
||||||
{
|
{
|
||||||
for (unsigned int previdx = 0; previdx < prevtxsObj.count(); previdx++) {
|
for (unsigned int previdx = 0; previdx < prevtxsObj.count(); previdx++) {
|
||||||
UniValue prevOut = prevtxsObj[previdx];
|
UniValue prevOut = prevtxsObj[previdx];
|
||||||
|
@ -379,13 +379,13 @@ static void MutateTxSign(CMutableTransaction& tx, const string& flagStr)
|
||||||
if (!prevOut.checkObject(types))
|
if (!prevOut.checkObject(types))
|
||||||
throw runtime_error("prevtxs internal object typecheck fail");
|
throw runtime_error("prevtxs internal object typecheck fail");
|
||||||
|
|
||||||
uint256 txid = ParseHashUV(prevOut, "txid");
|
uint256 txid = ParseHashUV(prevOut["txid"], "txid");
|
||||||
|
|
||||||
int nOut = atoi(prevOut["vout"].getValStr());
|
int nOut = atoi(prevOut["vout"].getValStr());
|
||||||
if (nOut < 0)
|
if (nOut < 0)
|
||||||
throw runtime_error("vout must be positive");
|
throw runtime_error("vout must be positive");
|
||||||
|
|
||||||
vector<unsigned char> pkData(ParseHexUV(prevOut, "scriptPubKey"));
|
vector<unsigned char> pkData(ParseHexUV(prevOut["scriptPubKey"], "scriptPubKey"));
|
||||||
CScript scriptPubKey(pkData.begin(), pkData.end());
|
CScript scriptPubKey(pkData.begin(), pkData.end());
|
||||||
|
|
||||||
{
|
{
|
||||||
|
|
|
@ -46,5 +46,15 @@
|
||||||
{ "exec": "./bitcoin-tx",
|
{ "exec": "./bitcoin-tx",
|
||||||
"args": ["-create", "outscript=0:"],
|
"args": ["-create", "outscript=0:"],
|
||||||
"output_cmp": "txcreate2.hex"
|
"output_cmp": "txcreate2.hex"
|
||||||
|
},
|
||||||
|
{ "exec": "./bitcoin-tx",
|
||||||
|
"args":
|
||||||
|
["-create",
|
||||||
|
"in=4d49a71ec9da436f71ec4ee231d04f292a29cd316f598bb7068feccabdc59485:0",
|
||||||
|
"set=privatekeys:[\"5HpHagT65TZzG1PH3CSu63k8DbpvD8s5ip4nEB3kEsreAnchuDf\"]",
|
||||||
|
"set=prevtxs:[{\"txid\":\"4d49a71ec9da436f71ec4ee231d04f292a29cd316f598bb7068feccabdc59485\",\"vout\":0,\"scriptPubKey\":\"4d49a71ec9da436f71ec4ee231d04f292a29cd316f598bb7068feccabdc59485\"}]",
|
||||||
|
"sign=ALL",
|
||||||
|
"outaddr=0.001:193P6LtvS4nCnkDvM9uXn1gsSRqh4aDAz7"],
|
||||||
|
"output_cmp": "txcreatesign.hex"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|
1
src/test/data/txcreatesign.hex
Normal file
1
src/test/data/txcreatesign.hex
Normal file
|
@ -0,0 +1 @@
|
||||||
|
01000000018594c5bdcaec8f06b78b596f31cd292a294fd031e24eec716f43dac91ea7494d0000000000ffffffff01a0860100000000001976a9145834479edbbe0539b31ffd3a8f8ebadc2165ed0188ac00000000
|
Loading…
Reference in a new issue