OSDN Git Service

fix receiver bug
authorChengcheng Zhang <943420582@qq.com>
Wed, 10 Apr 2019 08:39:15 +0000 (16:39 +0800)
committerChengcheng Zhang <943420582@qq.com>
Wed, 10 Apr 2019 08:39:15 +0000 (16:39 +0800)
README.md
pybtm/__init__.py
pybtm/transaction.py
setup.py

index 8f6b358..2b9ee84 100644 (file)
--- a/README.md
+++ b/README.md
@@ -444,7 +444,7 @@ decode_raw_tx decode raw transaction.
 
 Parameter:
 
-- raw_transaction_str: raw transaction, type is hex string.
+- raw_transaction_hexstr: raw transaction, type is hex string.
 - network_str: 3 types of network is available: mainnet, testnet and solonet.
 
 Return:
@@ -453,6 +453,8 @@ Return:
 
 ```python
 >>> from pybtm import transaction
->>> transaction.decode_raw_tx('070100010161015f28b7b53d8dc90006bf97e0a4eaae2a72ec3d869873188698b694beaf20789f21ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8099c4d5990100011600149335b1cbd4a77b78e33315a0ed10a95b12e7ca48630240897e2d9d24a3b5faaed0579dee7597b401491595675f897504f8945b29d836235bd2fca72a3ad0cae814628973ebcd142d9d6cc92d0b2571b69e5370a98a340c208cb7fb3086f58db9a31401b99e8c658be66134fb9034de1d5c462679270b090702013effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff80f9f8bc98010116001406ce4b689ba026ffd3a7ca65d1d059546d4b78a000013dffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff80c6868f01011600147929ef91997c827bebf60fa608f876ea27523c4700', 'solonet')
+>>> raw_transaction_hexstr = '070100010161015f28b7b53d8dc90006bf97e0a4eaae2a72ec3d869873188698b694beaf20789f21ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8099c4d5990100011600149335b1cbd4a77b78e33315a0ed10a95b12e7ca48630240897e2d9d24a3b5faaed0579dee7597b401491595675f897504f8945b29d836235bd2fca72a3ad0cae814628973ebcd142d9d6cc92d0b2571b69e5370a98a340c208cb7fb3086f58db9a31401b99e8c658be66134fb9034de1d5c462679270b090702013effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff80f9f8bc98010116001406ce4b689ba026ffd3a7ca65d1d059546d4b78a000013dffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff80c6868f01011600147929ef91997c827bebf60fa608f876ea27523c4700'
+>>> network_str = 'solonet'
+>>> transaction.decode_raw_tx(raw_transaction_hexstr, network_str)
 {'fee': 20000000, 'inputs': [{'address': 'sm1qjv6mrj755aah3cenzksw6y9ftvfw0jjgk0l2mw', 'amount': 41250000000, 'asset_definition': {}, 'asset_id': 'ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff', 'control_program': '00149335b1cbd4a77b78e33315a0ed10a95b12e7ca48', 'input_id': '6e3f378ed844b143a335e306f4ba26746157589c87e8fc8cba6463c566c56768', 'spent_output_id': 'f229ec6f403d586dc87aa2546bbe64c5f7b5f46eb13c6ee4823d03bc88a7cf17', 'type': 'spend', 'witness_arguments': ['897e2d9d24a3b5faaed0579dee7597b401491595675f897504f8945b29d836235bd2fca72a3ad0cae814628973ebcd142d9d6cc92d0b2571b69e5370a98a340c', '8cb7fb3086f58db9a31401b99e8c658be66134fb9034de1d5c462679270b0907']}], 'outputs': [{'address': 'sm1qqm8yk6ym5qn0l5a8efjar5ze23k5k79qnvtslj', 'amount': 40930000000, 'asset_definition': {}, 'asset_id': 'ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff', 'control_program': '001406ce4b689ba026ffd3a7ca65d1d059546d4b78a0', 'id': '74c73266730d3c6ea32e8667ef9b867068736b84be240fe9fef205fa68bb7b95', 'position': 0, 'type': 'control'}, {'address': 'sm1q0y57lyve0jp8h6lkp7nq37rkagn4y0z8hvh6kq', 'amount': 300000000, 'asset_definition': {}, 'asset_id': 'ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff', 'control_program': '00147929ef91997c827bebf60fa608f876ea27523c47', 'id': 'f115a833d0c302a5006032858a7ed3987f0feb2daf2a9f849384950e4766af51', 'position': 1, 'type': 'control'}], 'size': 333, 'time_range': 0, 'tx_id': '814a73dd57bae67c604f9cbc696cbc42035577423408cb9267136ed971e2bf63', 'version': 1}
 ```
\ No newline at end of file
index adb6855..a09894d 100644 (file)
@@ -1,2 +1,2 @@
 name = "pybtm"
-version = "0.1.7"
\ No newline at end of file
+version = "0.1.8"
\ No newline at end of file
index 1ff414c..acf3a43 100644 (file)
@@ -276,7 +276,7 @@ def decode_raw_tx(raw_transaction_str, network_str):
             offset = offset + 2 * length
             tx_input['control_program'] = raw_transaction_str[offset:offset+2*control_program_length]
             offset = offset + 2 * control_program_length
-            tx_input['address'] = receiver.create_address(tx_input['control_program'], network_str)['address']
+            tx_input['address'] = get_address(tx_input['control_program'], network_str)['address']
             _, length = get_uvarint(raw_transaction_str[offset:offset+18])
             offset = offset + 2 * length
             witness_arguments_amount, length = get_uvarint(raw_transaction_str[offset:offset+18])
@@ -352,7 +352,7 @@ def decode_raw_tx(raw_transaction_str, network_str):
         offset = offset + 2 * length
         tx_output['control_program'] = raw_transaction_str[offset:offset+2*control_program_length]
         offset = offset + 2 * control_program_length
-        tx_output['address'] = receiver.create_address(tx_output['control_program'], network_str)['address']
+        tx_output['address'] = get_address(tx_output['control_program'], network_str)['address']
         _, length = get_uvarint(raw_transaction_str[offset:offset+18])
         offset = offset + 2 * length
         prepare_output_id_hexstr = mux_id_hexstr + tx_output['asset_id'] + (tx_output['amount']).to_bytes(8, byteorder='little').hex() + (i).to_bytes(8, byteorder='little').hex() + '0100000000000000' + (control_program_length).to_bytes((control_program_length.bit_length() + 7) // 8, 'little').hex() + tx_output['control_program']
index f6605f5..d38b4aa 100644 (file)
--- a/setup.py
+++ b/setup.py
@@ -5,7 +5,7 @@ with open("README.md", "r") as fh:
 
 setuptools.setup(
     name="pybtm",
-    version="0.1.7",
+    version="0.1.8",
     author="zcc0721",
     author_email="zcc0721@foxmail.com",
     description="Python3 implementation of the Bytom protocol.",