mirror of
https://github.com/dashpay/dash.git
synced 2024-12-28 05:23:01 +01:00
[RPC] Add transaction size to JSON output
This may be useful for blockchain explorers.
This commit is contained in:
parent
776848acef
commit
996d3117c7
@ -62,6 +62,7 @@ void ScriptPubKeyToJSON(const CScript& scriptPubKey, UniValue& out, bool fInclud
|
|||||||
void TxToJSON(const CTransaction& tx, const uint256 hashBlock, UniValue& entry)
|
void TxToJSON(const CTransaction& tx, const uint256 hashBlock, UniValue& entry)
|
||||||
{
|
{
|
||||||
entry.push_back(Pair("txid", tx.GetHash().GetHex()));
|
entry.push_back(Pair("txid", tx.GetHash().GetHex()));
|
||||||
|
entry.push_back(Pair("size", (int)::GetSerializeSize(tx, SER_NETWORK, PROTOCOL_VERSION)));
|
||||||
entry.push_back(Pair("version", tx.nVersion));
|
entry.push_back(Pair("version", tx.nVersion));
|
||||||
entry.push_back(Pair("locktime", (int64_t)tx.nLockTime));
|
entry.push_back(Pair("locktime", (int64_t)tx.nLockTime));
|
||||||
UniValue vin(UniValue::VARR);
|
UniValue vin(UniValue::VARR);
|
||||||
@ -133,6 +134,7 @@ UniValue getrawtransaction(const UniValue& params, bool fHelp)
|
|||||||
"{\n"
|
"{\n"
|
||||||
" \"hex\" : \"data\", (string) The serialized, hex-encoded data for 'txid'\n"
|
" \"hex\" : \"data\", (string) The serialized, hex-encoded data for 'txid'\n"
|
||||||
" \"txid\" : \"id\", (string) The transaction id (same as provided)\n"
|
" \"txid\" : \"id\", (string) The transaction id (same as provided)\n"
|
||||||
|
" \"size\" : n, (numeric) The transaction size\n"
|
||||||
" \"version\" : n, (numeric) The version\n"
|
" \"version\" : n, (numeric) The version\n"
|
||||||
" \"locktime\" : ttt, (numeric) The lock time\n"
|
" \"locktime\" : ttt, (numeric) The lock time\n"
|
||||||
" \"vin\" : [ (array of json objects)\n"
|
" \"vin\" : [ (array of json objects)\n"
|
||||||
@ -429,6 +431,7 @@ UniValue decoderawtransaction(const UniValue& params, bool fHelp)
|
|||||||
"\nResult:\n"
|
"\nResult:\n"
|
||||||
"{\n"
|
"{\n"
|
||||||
" \"txid\" : \"id\", (string) The transaction id\n"
|
" \"txid\" : \"id\", (string) The transaction id\n"
|
||||||
|
" \"size\" : n, (numeric) The transaction size\n"
|
||||||
" \"version\" : n, (numeric) The version\n"
|
" \"version\" : n, (numeric) The version\n"
|
||||||
" \"locktime\" : ttt, (numeric) The lock time\n"
|
" \"locktime\" : ttt, (numeric) The lock time\n"
|
||||||
" \"vin\" : [ (array of json objects)\n"
|
" \"vin\" : [ (array of json objects)\n"
|
||||||
|
@ -72,6 +72,7 @@ BOOST_AUTO_TEST_CASE(rpc_rawparams)
|
|||||||
BOOST_CHECK_THROW(CallRPC("decoderawtransaction DEADBEEF"), runtime_error);
|
BOOST_CHECK_THROW(CallRPC("decoderawtransaction DEADBEEF"), runtime_error);
|
||||||
string rawtx = "0100000001a15d57094aa7a21a28cb20b59aab8fc7d1149a3bdbcddba9c622e4f5f6a99ece010000006c493046022100f93bb0e7d8db7bd46e40132d1f8242026e045f03a0efe71bbb8e3f475e970d790221009337cd7f1f929f00cc6ff01f03729b069a7c21b59b1736ddfee5db5946c5da8c0121033b9b137ee87d5a812d6f506efdd37f0affa7ffc310711c06c7f3e097c9447c52ffffffff0100e1f505000000001976a9140389035a9225b3839e2bbf32d826a1e222031fd888ac00000000";
|
string rawtx = "0100000001a15d57094aa7a21a28cb20b59aab8fc7d1149a3bdbcddba9c622e4f5f6a99ece010000006c493046022100f93bb0e7d8db7bd46e40132d1f8242026e045f03a0efe71bbb8e3f475e970d790221009337cd7f1f929f00cc6ff01f03729b069a7c21b59b1736ddfee5db5946c5da8c0121033b9b137ee87d5a812d6f506efdd37f0affa7ffc310711c06c7f3e097c9447c52ffffffff0100e1f505000000001976a9140389035a9225b3839e2bbf32d826a1e222031fd888ac00000000";
|
||||||
BOOST_CHECK_NO_THROW(r = CallRPC(string("decoderawtransaction ")+rawtx));
|
BOOST_CHECK_NO_THROW(r = CallRPC(string("decoderawtransaction ")+rawtx));
|
||||||
|
BOOST_CHECK_EQUAL(find_value(r.get_obj(), "size").get_int(), 193);
|
||||||
BOOST_CHECK_EQUAL(find_value(r.get_obj(), "version").get_int(), 1);
|
BOOST_CHECK_EQUAL(find_value(r.get_obj(), "version").get_int(), 1);
|
||||||
BOOST_CHECK_EQUAL(find_value(r.get_obj(), "locktime").get_int(), 0);
|
BOOST_CHECK_EQUAL(find_value(r.get_obj(), "locktime").get_int(), 0);
|
||||||
BOOST_CHECK_THROW(r = CallRPC(string("decoderawtransaction ")+rawtx+" extra"), runtime_error);
|
BOOST_CHECK_THROW(r = CallRPC(string("decoderawtransaction ")+rawtx+" extra"), runtime_error);
|
||||||
|
Loading…
Reference in New Issue
Block a user