Transaction::from_json, for a document with no hex member, held each
input's txid member as given. An input txid that is not 64 hex digits
("zz", "", 63 or 65 digits, characters that are not hex digits) answered
Ok: source_txid and to_json gave the text back, while to_binary wrote
the input as spending the txid of 32 zero bytes and id() hashed those bytes.
Documents naming different texts were one transaction, spending an outpoint
none of them named.
An application that reads a peer's transaction document with from_json and
relies both on the text of its inputs and on its bytes or id() is affected;
one that reads only documents it produced is not.
0.8.6 refuses such a txid (Invalid txid of input N: expected 64 hex digits).
Where upgrading is not possible, require each input's txid to be 64 ASCII hex
digits before calling from_json.
{
"license": "CC0-1.0"
}