Expose a transaction's weight via RPC

This commit is contained in:
Matt Corallo 2018-03-26 11:20:56 -04:00
parent 5f2a39946f
commit 2874709a9f
26 changed files with 27 additions and 0 deletions

View file

@ -161,6 +161,7 @@ void TxToUniv(const CTransaction& tx, const uint256& hashBlock, UniValue& entry,
entry.pushKV("version", tx.nVersion); entry.pushKV("version", tx.nVersion);
entry.pushKV("size", (int)::GetSerializeSize(tx, SER_NETWORK, PROTOCOL_VERSION)); entry.pushKV("size", (int)::GetSerializeSize(tx, SER_NETWORK, PROTOCOL_VERSION));
entry.pushKV("vsize", (GetTransactionWeight(tx) + WITNESS_SCALE_FACTOR - 1) / WITNESS_SCALE_FACTOR); entry.pushKV("vsize", (GetTransactionWeight(tx) + WITNESS_SCALE_FACTOR - 1) / WITNESS_SCALE_FACTOR);
entry.pushKV("weight", GetTransactionWeight(tx));
entry.pushKV("locktime", (int64_t)tx.nLockTime); entry.pushKV("locktime", (int64_t)tx.nLockTime);
UniValue vin(UniValue::VARR); UniValue vin(UniValue::VARR);

View file

@ -94,6 +94,7 @@ UniValue getrawtransaction(const JSONRPCRequest& request)
" \"hash\" : \"id\", (string) The transaction hash (differs from txid for witness transactions)\n" " \"hash\" : \"id\", (string) The transaction hash (differs from txid for witness transactions)\n"
" \"size\" : n, (numeric) The serialized transaction size\n" " \"size\" : n, (numeric) The serialized transaction size\n"
" \"vsize\" : n, (numeric) The virtual transaction size (differs from size for witness transactions)\n" " \"vsize\" : n, (numeric) The virtual transaction size (differs from size for witness transactions)\n"
" \"weight\" : n, (numeric) The transaction's weight (between vsize*4-3 and vsize*4)\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"
@ -494,6 +495,7 @@ UniValue decoderawtransaction(const JSONRPCRequest& request)
" \"hash\" : \"id\", (string) The transaction hash (differs from txid for witness transactions)\n" " \"hash\" : \"id\", (string) The transaction hash (differs from txid for witness transactions)\n"
" \"size\" : n, (numeric) The transaction size\n" " \"size\" : n, (numeric) The transaction size\n"
" \"vsize\" : n, (numeric) The virtual transaction size (differs from size for witness transactions)\n" " \"vsize\" : n, (numeric) The virtual transaction size (differs from size for witness transactions)\n"
" \"weight\" : n, (numeric) The transaction's weight (between vsize*4 - 3 and vsize*4)\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"

View file

@ -4,6 +4,7 @@
"version": 1, "version": 1,
"size": 10, "size": 10,
"vsize": 10, "vsize": 10,
"weight": 40,
"locktime": 0, "locktime": 0,
"vin": [ "vin": [
], ],

View file

@ -4,6 +4,7 @@
"version": 2, "version": 2,
"size": 10, "size": 10,
"vsize": 10, "vsize": 10,
"weight": 40,
"locktime": 0, "locktime": 0,
"vin": [ "vin": [
], ],

View file

@ -4,6 +4,7 @@
"version": 1, "version": 1,
"size": 3040, "size": 3040,
"vsize": 3040, "vsize": 3040,
"weight": 12160,
"locktime": 0, "locktime": 0,
"vin": [ "vin": [
{ {

View file

@ -4,6 +4,7 @@
"version": 1, "version": 1,
"size": 3155, "size": 3155,
"vsize": 3155, "vsize": 3155,
"weight": 12620,
"locktime": 0, "locktime": 0,
"vin": [ "vin": [
{ {

View file

@ -4,6 +4,7 @@
"version": 1, "version": 1,
"size": 3189, "size": 3189,
"vsize": 3189, "vsize": 3189,
"weight": 12756,
"locktime": 317000, "locktime": 317000,
"vin": [ "vin": [
{ {

View file

@ -4,6 +4,7 @@
"version": 2, "version": 2,
"size": 201, "size": 201,
"vsize": 201, "vsize": 201,
"weight": 804,
"locktime": 0, "locktime": 0,
"vin": [ "vin": [
{ {

View file

@ -4,6 +4,7 @@
"version": 2, "version": 2,
"size": 19, "size": 19,
"vsize": 19, "vsize": 19,
"weight": 76,
"locktime": 0, "locktime": 0,
"vin": [ "vin": [
], ],

View file

@ -4,6 +4,7 @@
"version": 1, "version": 1,
"size": 176, "size": 176,
"vsize": 176, "vsize": 176,
"weight": 704,
"locktime": 0, "locktime": 0,
"vin": [ "vin": [
{ {

View file

@ -4,6 +4,7 @@
"version": 2, "version": 2,
"size": 176, "size": 176,
"vsize": 176, "vsize": 176,
"weight": 704,
"locktime": 0, "locktime": 0,
"vin": [ "vin": [
{ {

View file

@ -4,6 +4,7 @@
"version": 2, "version": 2,
"size": 85, "size": 85,
"vsize": 85, "vsize": 85,
"weight": 340,
"locktime": 0, "locktime": 0,
"vin": [ "vin": [
{ {

View file

@ -4,6 +4,7 @@
"version": 1, "version": 1,
"size": 126, "size": 126,
"vsize": 126, "vsize": 126,
"weight": 504,
"locktime": 0, "locktime": 0,
"vin": [ "vin": [
{ {

View file

@ -4,6 +4,7 @@
"version": 1, "version": 1,
"size": 124, "size": 124,
"vsize": 124, "vsize": 124,
"weight": 496,
"locktime": 0, "locktime": 0,
"vin": [ "vin": [
], ],

View file

@ -4,6 +4,7 @@
"version": 1, "version": 1,
"size": 42, "size": 42,
"vsize": 42, "vsize": 42,
"weight": 168,
"locktime": 0, "locktime": 0,
"vin": [ "vin": [
], ],

View file

@ -4,6 +4,7 @@
"version": 1, "version": 1,
"size": 53, "size": 53,
"vsize": 53, "vsize": 53,
"weight": 212,
"locktime": 0, "locktime": 0,
"vin": [ "vin": [
], ],

View file

@ -4,6 +4,7 @@
"version": 1, "version": 1,
"size": 42, "size": 42,
"vsize": 42, "vsize": 42,
"weight": 168,
"locktime": 0, "locktime": 0,
"vin": [ "vin": [
], ],

View file

@ -4,6 +4,7 @@
"version": 2, "version": 2,
"size": 42, "size": 42,
"vsize": 42, "vsize": 42,
"weight": 168,
"locktime": 0, "locktime": 0,
"vin": [ "vin": [
], ],

View file

@ -4,6 +4,7 @@
"version": 1, "version": 1,
"size": 54, "size": 54,
"vsize": 54, "vsize": 54,
"weight": 216,
"locktime": 0, "locktime": 0,
"vin": [ "vin": [
], ],

View file

@ -4,6 +4,7 @@
"version": 1, "version": 1,
"size": 41, "size": 41,
"vsize": 41, "vsize": 41,
"weight": 164,
"locktime": 0, "locktime": 0,
"vin": [ "vin": [
], ],

View file

@ -4,6 +4,7 @@
"version": 1, "version": 1,
"size": 42, "size": 42,
"vsize": 42, "vsize": 42,
"weight": 168,
"locktime": 0, "locktime": 0,
"vin": [ "vin": [
], ],

View file

@ -4,6 +4,7 @@
"version": 1, "version": 1,
"size": 20, "size": 20,
"vsize": 20, "vsize": 20,
"weight": 80,
"locktime": 0, "locktime": 0,
"vin": [ "vin": [
], ],

View file

@ -4,6 +4,7 @@
"version": 1, "version": 1,
"size": 42, "size": 42,
"vsize": 42, "vsize": 42,
"weight": 168,
"locktime": 0, "locktime": 0,
"vin": [ "vin": [
], ],

View file

@ -4,6 +4,7 @@
"version": 1, "version": 1,
"size": 53, "size": 53,
"vsize": 53, "vsize": 53,
"weight": 212,
"locktime": 0, "locktime": 0,
"vin": [ "vin": [
], ],

View file

@ -4,6 +4,7 @@
"version": 1, "version": 1,
"size": 42, "size": 42,
"vsize": 42, "vsize": 42,
"weight": 168,
"locktime": 0, "locktime": 0,
"vin": [ "vin": [
], ],

View file

@ -4,6 +4,7 @@
"version": 1, "version": 1,
"size": 224, "size": 224,
"vsize": 224, "vsize": 224,
"weight": 896,
"locktime": 0, "locktime": 0,
"vin": [ "vin": [
{ {