Browse Source

Emercoin. Fix getting hashX from script for NVS transactions (#836)

* Emercoin. Fix getting hashX from script for NVS transactions

* Move "Find the end position of the name data" loop to mixin.
patch-2
yakimka 6 years ago
committed by Neil
parent
commit
410975149c
  1. 110
      electrumx/lib/coins.py
  2. 54
      tests/transactions/emercoin_mainnet_35ea64.json
  3. 45
      tests/transactions/emercoin_mainnet_b9b30b.json
  4. 54
      tests/transactions/emercoin_mainnet_ca6319.json
  5. 45
      tests/transactions/emercoin_mainnet_f02fb9.json

110
electrumx/lib/coins.py

@ -339,6 +339,37 @@ class BitcoinMixin(object):
RPC_PORT = 8332
class NameMixin(object):
@staticmethod
def find_end_position_of_name(script, length):
"""Find the end position of the name data"""
n = 0
for _i in range(length):
# Content of this loop is copied from Script.get_ops's loop
op = script[n]
n += 1
if op <= OpCodes.OP_PUSHDATA4:
# Raw bytes follow
if op < OpCodes.OP_PUSHDATA1:
dlen = op
elif op == OpCodes.OP_PUSHDATA1:
dlen = script[n]
n += 1
elif op == OpCodes.OP_PUSHDATA2:
dlen, = struct.unpack('<H', script[n: n + 2])
n += 2
else:
dlen, = struct.unpack('<I', script[n: n + 4])
n += 4
if n + dlen > len(script):
raise IndexError
n += dlen
return n
class HOdlcoin(Coin):
NAME = "HOdlcoin"
SHORTNAME = "HODLC"
@ -506,7 +537,7 @@ class BitcoinDiamond(BitcoinSegwit, Coin):
DESERIALIZER = lib_tx.DeserializerBitcoinDiamondSegWit
class Emercoin(Coin):
class Emercoin(NameMixin, Coin):
NAME = "Emercoin"
SHORTNAME = "EMC"
NET = "mainnet"
@ -540,6 +571,55 @@ class Emercoin(Coin):
'''Given a header return hash'''
return double_sha256(header[:cls.BASIC_HEADER_SIZE])
@classmethod
def hashX_from_script(cls, script):
address_script = cls.address_script_from_script(script)
return super().hashX_from_script(address_script)
@classmethod
def address_script_from_script(cls, script):
from electrumx.lib.script import _match_ops, Script, ScriptError
try:
ops = Script.get_ops(script)
except ScriptError:
return script
match = _match_ops
# Name opcodes
OP_NAME_NEW = OpCodes.OP_1
OP_NAME_UPDATE = OpCodes.OP_2
OP_NAME_DELETE = OpCodes.OP_3
# Opcode sequences for name operations
# Script structure: https://git.io/fjuRu
NAME_NEW_OPS = [OP_NAME_NEW, OpCodes.OP_DROP, -1, -1,
OpCodes.OP_2DROP, -1, OpCodes.OP_DROP]
NAME_UPDATE_OPS = [OP_NAME_UPDATE, OpCodes.OP_DROP, -1, -1,
OpCodes.OP_2DROP, -1, OpCodes.OP_DROP]
NAME_DELETE_OPS = [OP_NAME_DELETE, OpCodes.OP_DROP, -1,
OpCodes.OP_DROP]
name_script_op_count = None
# Detect name operations; determine count of opcodes.
for name_ops in [NAME_NEW_OPS, NAME_UPDATE_OPS, NAME_DELETE_OPS]:
if match(ops[:len(name_ops)], name_ops):
name_script_op_count = len(name_ops)
break
if name_script_op_count is None:
return script
name_end_pos = cls.find_end_position_of_name(script, name_script_op_count)
# Strip the name data to yield the address script
address_script = script[name_end_pos:]
return address_script
class BitcoinTestnetMixin(object):
SHORTNAME = "XTN"
@ -834,7 +914,7 @@ class Unitus(Coin):
# Source: namecoin.org
class Namecoin(AuxPowMixin, Coin):
class Namecoin(NameMixin, AuxPowMixin, Coin):
NAME = "Namecoin"
SHORTNAME = "NMC"
NET = "mainnet"
@ -897,32 +977,10 @@ class Namecoin(AuxPowMixin, Coin):
if name_script_op_count is None:
return None, script
# Find the end position of the name data
n = 0
for _i in range(name_script_op_count):
# Content of this loop is copied from Script.get_ops's loop
op = script[n]
n += 1
name_end_pos = cls.find_end_position_of_name(script, name_script_op_count)
if op <= OpCodes.OP_PUSHDATA4:
# Raw bytes follow
if op < OpCodes.OP_PUSHDATA1:
dlen = op
elif op == OpCodes.OP_PUSHDATA1:
dlen = script[n]
n += 1
elif op == OpCodes.OP_PUSHDATA2:
dlen, = struct.unpack('<H', script[n: n + 2])
n += 2
else:
dlen, = struct.unpack('<I', script[n: n + 4])
n += 4
if n + dlen > len(script):
raise IndexError
op = (op, script[n:n + dlen])
n += dlen
# Strip the name data to yield the address script
address_script = script[n:]
address_script = script[name_end_pos:]
if name_pushdata is None:
return None, address_script

54
tests/transactions/emercoin_mainnet_35ea64.json

@ -0,0 +1,54 @@
{
"txid": "35ea64349dfca4158ba745d3031c1014b9f27262c9c8bb672b829b33b3ac56ee",
"hash": "35ea64349dfca4158ba745d3031c1014b9f27262c9c8bb672b829b33b3ac56ee",
"size": 390,
"vsize": 390,
"version": 1638,
"locktime": 358665,
"time": 1559642505,
"hex": "660600008941f65c02ad38a624bee634b804a930564b1f92c8ec062c20619a6ae22ff667bd5fecf8d7000000006b483045022100d3b0aa2d650b1e632c8392180c4305b939c61a054947bde720840ae6765a6c0e0220309d4cff12bfacadeb994ae81810d9b368c27f7c84e34a4d55683928deea14c1012103b5e9a6b0f0feb239060986d3eadbb554b82dff8a6b75d8880810391e276d197cfeffffff4c96d5b045260667313a9f51c81028d13c66bd32ae2134d162d4931f2ad45a61010000006a4730440220573baeb5ae416971bb112197978f1a7053b4dc75ab9a877671541796d1df33f80220444153b0085ca275fc05efac6dbbcad95bbfa07de51ea69a9d01325d45af99ad012102df1f5deb42e7568ac9578ab942ceeca8e8cade0cbe7678e66089794771e6cd31feffffff026400000000000000265375095465737431303030317576a91434960bef9fcc33ff4d2c8c2cfc77edd2f463a58f88ac1c250000000000001976a9148d5104c62b85ac953de67538dbdc3b70e4027abb88ac09790500",
"vin": [
{
"txid": "d7f8ec5fbd67f62fe26a9a61202c06ecc8921f4b5630a904b834e6be24a638ad",
"vout": 0,
"scriptSig": {
"asm": "3045022100d3b0aa2d650b1e632c8392180c4305b939c61a054947bde720840ae6765a6c0e0220309d4cff12bfacadeb994ae81810d9b368c27f7c84e34a4d55683928deea14c1[ALL] 03b5e9a6b0f0feb239060986d3eadbb554b82dff8a6b75d8880810391e276d197c",
"hex": "483045022100d3b0aa2d650b1e632c8392180c4305b939c61a054947bde720840ae6765a6c0e0220309d4cff12bfacadeb994ae81810d9b368c27f7c84e34a4d55683928deea14c1012103b5e9a6b0f0feb239060986d3eadbb554b82dff8a6b75d8880810391e276d197c"
},
"sequence": 4294967294
},
{
"txid": "615ad42a1f93d462d13421ae32bd663cd12810c8519f3a3167062645b0d5964c",
"vout": 1,
"scriptSig": {
"asm": "30440220573baeb5ae416971bb112197978f1a7053b4dc75ab9a877671541796d1df33f80220444153b0085ca275fc05efac6dbbcad95bbfa07de51ea69a9d01325d45af99ad[ALL] 02df1f5deb42e7568ac9578ab942ceeca8e8cade0cbe7678e66089794771e6cd31",
"hex": "4730440220573baeb5ae416971bb112197978f1a7053b4dc75ab9a877671541796d1df33f80220444153b0085ca275fc05efac6dbbcad95bbfa07de51ea69a9d01325d45af99ad012102df1f5deb42e7568ac9578ab942ceeca8e8cade0cbe7678e66089794771e6cd31"
},
"sequence": 4294967294
}
],
"vout": [
{
"value": 100,
"n": 0,
"scriptPubKey": {
"asm": "3 OP_DROP 546573743130303031 OP_DROP OP_DUP OP_HASH160 34960bef9fcc33ff4d2c8c2cfc77edd2f463a58f OP_EQUALVERIFY OP_CHECKSIG",
"hex": "5375095465737431303030317576a91434960bef9fcc33ff4d2c8c2cfc77edd2f463a58f88ac",
"reqSigs": 1,
"type": "name_pubkeyhash",
"address": "EMwxNytaiBZkYSZpCrqeRMaMMeqfXEXmAH"
}
},
{
"value": 9500,
"n": 1,
"scriptPubKey": {
"asm": "OP_DUP OP_HASH160 8d5104c62b85ac953de67538dbdc3b70e4027abb OP_EQUALVERIFY OP_CHECKSIG",
"hex": "76a9148d5104c62b85ac953de67538dbdc3b70e4027abb88ac",
"reqSigs": 1,
"type": "pubkeyhash",
"address": "EW37puYPfAKP5QvB8BQbeoyh5L58GiMBy6"
}
}
]
}

45
tests/transactions/emercoin_mainnet_b9b30b.json

@ -0,0 +1,45 @@
{
"txid": "b9b30bea0cf9e12d17d7b2adb00645906f2767b3d2f5ac04207fe7c3a6562afe",
"hash": "b9b30bea0cf9e12d17d7b2adb00645906f2767b3d2f5ac04207fe7c3a6562afe",
"size": 404,
"vsize": 404,
"version": 1638,
"locktime": 358667,
"time": 1559644057,
"hex": "660600009947f65c01bf1de4f417f6a81cb633ab11b7d3697fc3f2cf354e35ea51c59d042c1f1963ca010000006b483045022100c2c0697e3e4d6f48202724278248b3294e2aa2ed378a86975b1234119559fb5302201c9942386681ab911e6b5a8e9f9083c1858df1997ff8b39f0c8d8fff92ecafa3012103a708dad6af6017858eac071eb38deeaefaca9f986e46c3244f9cddc9539fc819feffffff026400000000000000c751750a49545458493652593557020f276d4c9a747970653d61737369676e65640a2c706f736974696f6e5f69643d38340a2c706f736974696f6e5f6e616d653d4950464d3a20d09cd0a1d0a4d09e0a2c76616c75653dd09fd0bed0bbd18cd0b7d0bed0b2d0b0d182d0b5d0bbd18c20d0bfd0bed181d182d183d0bfd0b8d0bb20d0bdd0b020d0bad183d180d1810a2c656e645f74696d653d300a2c636f6d70616e793d46696e61636164656d797576a9142eca0d118305feb0c2d3c718fb751a0ca88781d488ac08a31800000000001976a914c069a9b8139bbace0a6cd384e50f59014d329c3f88ac0b790500",
"vin": [
{
"txid": "ca63191f2c049dc551ea354e35cff2c37f69d3b711ab33b61ca8f617f4e41dbf",
"vout": 1,
"scriptSig": {
"asm": "3045022100c2c0697e3e4d6f48202724278248b3294e2aa2ed378a86975b1234119559fb5302201c9942386681ab911e6b5a8e9f9083c1858df1997ff8b39f0c8d8fff92ecafa3[ALL] 03a708dad6af6017858eac071eb38deeaefaca9f986e46c3244f9cddc9539fc819",
"hex": "483045022100c2c0697e3e4d6f48202724278248b3294e2aa2ed378a86975b1234119559fb5302201c9942386681ab911e6b5a8e9f9083c1858df1997ff8b39f0c8d8fff92ecafa3012103a708dad6af6017858eac071eb38deeaefaca9f986e46c3244f9cddc9539fc819"
},
"sequence": 4294967294
}
],
"vout": [
{
"value": 100,
"n": 0,
"scriptPubKey": {
"asm": "1 OP_DROP 49545458493652593557 9999 OP_2DROP 747970653d61737369676e65640a2c706f736974696f6e5f69643d38340a2c706f736974696f6e5f6e616d653d4950464d3a20d09cd0a1d0a4d09e0a2c76616c75653dd09fd0bed0bbd18cd0b7d0bed0b2d0b0d182d0b5d0bbd18c20d0bfd0bed181d182d183d0bfd0b8d0bb20d0bdd0b020d0bad183d180d1810a2c656e645f74696d653d300a2c636f6d70616e793d46696e61636164656d79 OP_DROP OP_DUP OP_HASH160 2eca0d118305feb0c2d3c718fb751a0ca88781d4 OP_EQUALVERIFY OP_CHECKSIG",
"hex": "51750a49545458493652593557020f276d4c9a747970653d61737369676e65640a2c706f736974696f6e5f69643d38340a2c706f736974696f6e5f6e616d653d4950464d3a20d09cd0a1d0a4d09e0a2c76616c75653dd09fd0bed0bbd18cd0b7d0bed0b2d0b0d182d0b5d0bbd18c20d0bfd0bed181d182d183d0bfd0b8d0bb20d0bdd0b020d0bad183d180d1810a2c656e645f74696d653d300a2c636f6d70616e793d46696e61636164656d797576a9142eca0d118305feb0c2d3c718fb751a0ca88781d488ac",
"reqSigs": 1,
"type": "name_pubkeyhash",
"address": "EMRJdAK5gdzhUzxbRMcte4nHwTaAPCL8Cc"
}
},
{
"value": 1614600,
"n": 1,
"scriptPubKey": {
"asm": "OP_DUP OP_HASH160 c069a9b8139bbace0a6cd384e50f59014d329c3f OP_EQUALVERIFY OP_CHECKSIG",
"hex": "76a914c069a9b8139bbace0a6cd384e50f59014d329c3f88ac",
"reqSigs": 1,
"type": "pubkeyhash",
"address": "EahHp1NLcbvTUxmbdzsy4ZfHd5yVtX5uzf"
}
}
]
}

54
tests/transactions/emercoin_mainnet_ca6319.json

@ -0,0 +1,54 @@
{
"txid": "ca63191f2c049dc551ea354e35cff2c37f69d3b711ab33b61ca8f617f4e41dbf",
"hash": "ca63191f2c049dc551ea354e35cff2c37f69d3b711ab33b61ca8f617f4e41dbf",
"size": 552,
"vsize": 552,
"version": 1638,
"locktime": 358666,
"time": 1559643476,
"hex": "660600005445f65c02d654cf3d02945aae4dd8ab489dd42070e9a32eff0e64aabcb081545d08db0824010000006b48304502210094fef2bea1988f16da02b8ab2a569c00cc85a1c6cfec696e6269b307f610f766022024c67382889ab13c3753dfb84374264eb902c498d59e5e9bcd293fb654371ff10121035bdf2ebca856595d10b845a6adfaf009b0aefe7a54d3aa1b350ce8e9db8d2530feffffff77fe55ec180d4b0b211d580f5e887d6ce26937eec124b077f89898fc3fff6b5b010000006b4830450221009c9329da2a26ebcda79b398642488a980a8aa441c7a89462edc16f88d56f2cba0220777a148b32ed60e0188dbabdcd8d8c67ae166a8308a90adfae9ab1542d6113eb0121020223ca251cd161c9ef5f258a91315c07a5a7af45a8c95fe20dd409083962e95cfeffffff026400000000000000c752750a424d3553334f52373957020f276d4c9a747970653d61737369676e65640a2c706f736974696f6e5f69643d38340a2c706f736974696f6e5f6e616d653d4950464d3a20d09cd0a1d0a4d09e0a2c76616c75653dd09fd0bed0bbd18cd0b7d0bed0b2d0b0d182d0b5d0bbd18c20d0bfd0bed181d182d183d0bfd0b8d0bb20d0bdd0b020d0bad183d180d1810a2c656e645f74696d653d300a2c636f6d70616e793d46696e61636164656d797576a9148354849b536141ecda5c9568993eee8daecec17c88ac54a71800000000001976a914a7b05bc714718f20040a712b812b2037f2cb0fc388ac0a790500",
"vin": [
{
"txid": "2408db085d5481b0bcaa640eff2ea3e97020d49d48abd84dae5a94023dcf54d6",
"vout": 1,
"scriptSig": {
"asm": "304502210094fef2bea1988f16da02b8ab2a569c00cc85a1c6cfec696e6269b307f610f766022024c67382889ab13c3753dfb84374264eb902c498d59e5e9bcd293fb654371ff1[ALL] 035bdf2ebca856595d10b845a6adfaf009b0aefe7a54d3aa1b350ce8e9db8d2530",
"hex": "48304502210094fef2bea1988f16da02b8ab2a569c00cc85a1c6cfec696e6269b307f610f766022024c67382889ab13c3753dfb84374264eb902c498d59e5e9bcd293fb654371ff10121035bdf2ebca856595d10b845a6adfaf009b0aefe7a54d3aa1b350ce8e9db8d2530"
},
"sequence": 4294967294
},
{
"txid": "5b6bff3ffc9898f877b024c1ee3769e26c7d885e0f581d210b4b0d18ec55fe77",
"vout": 1,
"scriptSig": {
"asm": "30450221009c9329da2a26ebcda79b398642488a980a8aa441c7a89462edc16f88d56f2cba0220777a148b32ed60e0188dbabdcd8d8c67ae166a8308a90adfae9ab1542d6113eb[ALL] 020223ca251cd161c9ef5f258a91315c07a5a7af45a8c95fe20dd409083962e95c",
"hex": "4830450221009c9329da2a26ebcda79b398642488a980a8aa441c7a89462edc16f88d56f2cba0220777a148b32ed60e0188dbabdcd8d8c67ae166a8308a90adfae9ab1542d6113eb0121020223ca251cd161c9ef5f258a91315c07a5a7af45a8c95fe20dd409083962e95c"
},
"sequence": 4294967294
}
],
"vout": [
{
"value": 100,
"n": 0,
"scriptPubKey": {
"asm": "2 OP_DROP 424d3553334f52373957 9999 OP_2DROP 747970653d61737369676e65640a2c706f736974696f6e5f69643d38340a2c706f736974696f6e5f6e616d653d4950464d3a20d09cd0a1d0a4d09e0a2c76616c75653dd09fd0bed0bbd18cd0b7d0bed0b2d0b0d182d0b5d0bbd18c20d0bfd0bed181d182d183d0bfd0b8d0bb20d0bdd0b020d0bad183d180d1810a2c656e645f74696d653d300a2c636f6d70616e793d46696e61636164656d79 OP_DROP OP_DUP OP_HASH160 8354849b536141ecda5c9568993eee8daecec17c OP_EQUALVERIFY OP_CHECKSIG",
"hex": "52750a424d3553334f52373957020f276d4c9a747970653d61737369676e65640a2c706f736974696f6e5f69643d38340a2c706f736974696f6e5f6e616d653d4950464d3a20d09cd0a1d0a4d09e0a2c76616c75653dd09fd0bed0bbd18cd0b7d0bed0b2d0b0d182d0b5d0bbd18c20d0bfd0bed181d182d183d0bfd0b8d0bb20d0bdd0b020d0bad183d180d1810a2c656e645f74696d653d300a2c636f6d70616e793d46696e61636164656d797576a9148354849b536141ecda5c9568993eee8daecec17c88ac",
"reqSigs": 1,
"type": "name_pubkeyhash",
"address": "EV8KG8LGoW8P2HdJ5npqqNKP5VcVJG6tgd"
}
},
{
"value": 1615700,
"n": 1,
"scriptPubKey": {
"asm": "OP_DUP OP_HASH160 a7b05bc714718f20040a712b812b2037f2cb0fc3 OP_EQUALVERIFY OP_CHECKSIG",
"hex": "76a914a7b05bc714718f20040a712b812b2037f2cb0fc388ac",
"reqSigs": 1,
"type": "pubkeyhash",
"address": "EYSZcDvtKZGRrGM2nzokRmMPL9rrzpCirN"
}
}
]
}

45
tests/transactions/emercoin_mainnet_f02fb9.json

@ -0,0 +1,45 @@
{
"txid": "f02fb91629e3c00b284b5c4fa5e5752f08244c576f9f5b937df798dac515c0ad",
"hash": "f02fb91629e3c00b284b5c4fa5e5752f08244c576f9f5b937df798dac515c0ad",
"size": 555,
"vsize": 555,
"version": 1638,
"locktime": 0,
"time": 1408802022,
"hex": "66060000e69cf85301b465bde25877b622a45045fe2a8104c583a1643962c6d2128a97aa5767d6b42d000000006a47304402207fe43b5c7c7ac4b672186b49d48778ce1c26fa015ade235920c2b2dc13d275dd02204b1df9c5353081547441492b2a57068e64f6c8b7634be3f8876da5b6122543db0121030c89c59a0fdb81d6f61ada4fb214eedf704e7d052c89c04edb848c4489135580ffffffff02c0f11800000000001976a9144411db9c0f1f105142e67937e1efaf7bd2e9b19988ac1027000000000000fd5d0151750947322d74657374303701016d4d3101d185d183d0b92dd185d183d0b92dd185d183d0b92d6675636b2d6675636b2d6675636b2d6675636b2d6675636b2d6675636b2d6675636b2d6675636b2d6675636b2d6675636b2d6675636b2d6675636b2d6675636b2d6675636b2d6675636b2d6675636b2d6675636b2d6675636b2d6675636b2d6675636b2d6675636b2d6675636b2d6675636b2d6675636b2d6675636b2d6675636b2d6675636b2d6675636b2d6675636b2d6675636b2d6675636b2d6675636b2d6675636b2d6675636b2d6675636b2d6675636b2d6675636b2d6675636b2d6675636b2d6675636b2d6675636b2d6675636b2d6675636b2d6675636b2d6675636b2d6675636b2d6675636b2d6675636b2d6675636b2d6675636b2d6675636b2d6675636b2d6675636b2d6675636b2d6675636b2d6675636b2d6675636b7576a914925c4e95d1b094d834388de02ff60ad4e416e19688ac00000000",
"vin": [
{
"txid": "2db4d66757aa978a12d2c6623964a183c504812afe4550a422b67758e2bd65b4",
"vout": 0,
"scriptSig": {
"asm": "304402207fe43b5c7c7ac4b672186b49d48778ce1c26fa015ade235920c2b2dc13d275dd02204b1df9c5353081547441492b2a57068e64f6c8b7634be3f8876da5b6122543db[ALL] 030c89c59a0fdb81d6f61ada4fb214eedf704e7d052c89c04edb848c4489135580",
"hex": "47304402207fe43b5c7c7ac4b672186b49d48778ce1c26fa015ade235920c2b2dc13d275dd02204b1df9c5353081547441492b2a57068e64f6c8b7634be3f8876da5b6122543db0121030c89c59a0fdb81d6f61ada4fb214eedf704e7d052c89c04edb848c4489135580"
},
"sequence": 4294967295
}
],
"vout": [
{
"value": 1634752,
"n": 0,
"scriptPubKey": {
"asm": "OP_DUP OP_HASH160 4411db9c0f1f105142e67937e1efaf7bd2e9b199 OP_EQUALVERIFY OP_CHECKSIG",
"hex": "76a9144411db9c0f1f105142e67937e1efaf7bd2e9b19988ac",
"reqSigs": 1,
"type": "pubkeyhash",
"address": "EPMpqQxRFYLzJNmXnP5ywDGyYAzUSFa8WG"
}
},
{
"value": 10000,
"n": 1,
"scriptPubKey": {
"asm": "1 OP_DROP 47322d746573743037 1 OP_2DROP d185d183d0b92dd185d183d0b92dd185d183d0b92d6675636b2d6675636b2d6675636b2d6675636b2d6675636b2d6675636b2d6675636b2d6675636b2d6675636b2d6675636b2d6675636b2d6675636b2d6675636b2d6675636b2d6675636b2d6675636b2d6675636b2d6675636b2d6675636b2d6675636b2d6675636b2d6675636b2d6675636b2d6675636b2d6675636b2d6675636b2d6675636b2d6675636b2d6675636b2d6675636b2d6675636b2d6675636b2d6675636b2d6675636b2d6675636b2d6675636b2d6675636b2d6675636b2d6675636b2d6675636b2d6675636b2d6675636b2d6675636b2d6675636b2d6675636b2d6675636b2d6675636b2d6675636b2d6675636b2d6675636b2d6675636b2d6675636b2d6675636b2d6675636b2d6675636b2d6675636b2d6675636b OP_DROP OP_DUP OP_HASH160 925c4e95d1b094d834388de02ff60ad4e416e196 OP_EQUALVERIFY OP_CHECKSIG",
"hex": "51750947322d74657374303701016d4d3101d185d183d0b92dd185d183d0b92dd185d183d0b92d6675636b2d6675636b2d6675636b2d6675636b2d6675636b2d6675636b2d6675636b2d6675636b2d6675636b2d6675636b2d6675636b2d6675636b2d6675636b2d6675636b2d6675636b2d6675636b2d6675636b2d6675636b2d6675636b2d6675636b2d6675636b2d6675636b2d6675636b2d6675636b2d6675636b2d6675636b2d6675636b2d6675636b2d6675636b2d6675636b2d6675636b2d6675636b2d6675636b2d6675636b2d6675636b2d6675636b2d6675636b2d6675636b2d6675636b2d6675636b2d6675636b2d6675636b2d6675636b2d6675636b2d6675636b2d6675636b2d6675636b2d6675636b2d6675636b2d6675636b2d6675636b2d6675636b2d6675636b2d6675636b2d6675636b2d6675636b2d6675636b7576a914925c4e95d1b094d834388de02ff60ad4e416e19688ac",
"reqSigs": 1,
"type": "name_pubkeyhash",
"address": "EWVnjC7Vx7Vbqq8bkzhjuL6yP9FWmS8Haq"
}
}
]
}
Loading…
Cancel
Save