Merge #12791: Expose a transaction's weight via RPC

9e50c337c Note new weight field in release-notes. (Matt Corallo)
d0d9112b7 Test new weight field in p2p_segwit (Matt Corallo)
2874709a9 Expose a transaction's weight via RPC (Matt Corallo)

Pull request description:

  This seems like an obvious oversight.

Tree-SHA512: defd047de34fb06a31f589e1a4eef68fcae85095cc67b7c8fb434237bb40300d7f3f97e852d3e7226330e26b96943846b7baf6da0cfc79db8d56e9c1f7848ad9
This commit is contained in:
Jonas Schnelli
2018-04-17 20:05:12 +02:00
28 changed files with 36 additions and 1 deletions
+4 -1
View File
@@ -10,6 +10,7 @@ from test_framework.util import *
from test_framework.script import *
from test_framework.blocktools import create_block, create_coinbase, add_witness_commitment, get_witness_script, WITNESS_COMMITMENT_HEADER
from test_framework.key import CECKey, CPubKey
import math
import time
import random
from binascii import hexlify
@@ -930,8 +931,10 @@ class SegWitTest(BitcoinTestFramework):
raw_tx = self.nodes[0].getrawtransaction(tx3.hash, 1)
assert_equal(int(raw_tx["hash"], 16), tx3.calc_sha256(True))
assert_equal(raw_tx["size"], len(tx3.serialize_with_witness()))
vsize = (len(tx3.serialize_with_witness()) + 3*len(tx3.serialize_without_witness()) + 3) / 4
weight = len(tx3.serialize_with_witness()) + 3*len(tx3.serialize_without_witness())
vsize = math.ceil(weight / 4)
assert_equal(raw_tx["vsize"], vsize)
assert_equal(raw_tx["weight"], weight)
assert_equal(len(raw_tx["vin"][0]["txinwitness"]), 1)
assert_equal(raw_tx["vin"][0]["txinwitness"][0], hexlify(witness_program).decode('ascii'))
assert(vsize != raw_tx["size"])
+1
View File
@@ -4,6 +4,7 @@
"version": 1,
"size": 10,
"vsize": 10,
"weight": 40,
"locktime": 0,
"vin": [
],
+1
View File
@@ -4,6 +4,7 @@
"version": 2,
"size": 10,
"vsize": 10,
"weight": 40,
"locktime": 0,
"vin": [
],
+1
View File
@@ -4,6 +4,7 @@
"version": 1,
"size": 3040,
"vsize": 3040,
"weight": 12160,
"locktime": 0,
"vin": [
{
+1
View File
@@ -4,6 +4,7 @@
"version": 1,
"size": 3155,
"vsize": 3155,
"weight": 12620,
"locktime": 0,
"vin": [
{
@@ -4,6 +4,7 @@
"version": 1,
"size": 3189,
"vsize": 3189,
"weight": 12756,
"locktime": 317000,
"vin": [
{
+1
View File
@@ -4,6 +4,7 @@
"version": 2,
"size": 201,
"vsize": 201,
"weight": 804,
"locktime": 0,
"vin": [
{
+1
View File
@@ -4,6 +4,7 @@
"version": 2,
"size": 19,
"vsize": 19,
"weight": 76,
"locktime": 0,
"vin": [
],
+1
View File
@@ -4,6 +4,7 @@
"version": 1,
"size": 176,
"vsize": 176,
"weight": 704,
"locktime": 0,
"vin": [
{
+1
View File
@@ -4,6 +4,7 @@
"version": 2,
"size": 176,
"vsize": 176,
"weight": 704,
"locktime": 0,
"vin": [
{
+1
View File
@@ -4,6 +4,7 @@
"version": 2,
"size": 85,
"vsize": 85,
"weight": 340,
"locktime": 0,
"vin": [
{
+1
View File
@@ -4,6 +4,7 @@
"version": 1,
"size": 126,
"vsize": 126,
"weight": 504,
"locktime": 0,
"vin": [
{
+1
View File
@@ -4,6 +4,7 @@
"version": 1,
"size": 124,
"vsize": 124,
"weight": 496,
"locktime": 0,
"vin": [
],
+1
View File
@@ -4,6 +4,7 @@
"version": 1,
"size": 42,
"vsize": 42,
"weight": 168,
"locktime": 0,
"vin": [
],
+1
View File
@@ -4,6 +4,7 @@
"version": 1,
"size": 53,
"vsize": 53,
"weight": 212,
"locktime": 0,
"vin": [
],
+1
View File
@@ -4,6 +4,7 @@
"version": 1,
"size": 42,
"vsize": 42,
"weight": 168,
"locktime": 0,
"vin": [
],
+1
View File
@@ -4,6 +4,7 @@
"version": 2,
"size": 42,
"vsize": 42,
"weight": 168,
"locktime": 0,
"vin": [
],
+1
View File
@@ -4,6 +4,7 @@
"version": 1,
"size": 54,
"vsize": 54,
"weight": 216,
"locktime": 0,
"vin": [
],
+1
View File
@@ -4,6 +4,7 @@
"version": 1,
"size": 41,
"vsize": 41,
"weight": 164,
"locktime": 0,
"vin": [
],
+1
View File
@@ -4,6 +4,7 @@
"version": 1,
"size": 42,
"vsize": 42,
"weight": 168,
"locktime": 0,
"vin": [
],
+1
View File
@@ -4,6 +4,7 @@
"version": 1,
"size": 20,
"vsize": 20,
"weight": 80,
"locktime": 0,
"vin": [
],
+1
View File
@@ -4,6 +4,7 @@
"version": 1,
"size": 42,
"vsize": 42,
"weight": 168,
"locktime": 0,
"vin": [
],
+1
View File
@@ -4,6 +4,7 @@
"version": 1,
"size": 53,
"vsize": 53,
"weight": 212,
"locktime": 0,
"vin": [
],
+1
View File
@@ -4,6 +4,7 @@
"version": 1,
"size": 42,
"vsize": 42,
"weight": 168,
"locktime": 0,
"vin": [
],
+1
View File
@@ -4,6 +4,7 @@
"version": 1,
"size": 224,
"vsize": 224,
"weight": 896,
"locktime": 0,
"vin": [
{