all: drop Horizen and BIP-115 support [NO BACKPORT]

release/2020-04
matejcik 4 years ago committed by Tomas Susanka
parent 6f9c6361ea
commit e2035b4972

@ -24,7 +24,6 @@
"decred": false,
"fork_id": null,
"force_bip143": false,
"bip115": false,
"default_fee_b": {
"Normal": 1000
},

@ -24,7 +24,6 @@
"decred": false,
"fork_id": null,
"force_bip143": false,
"bip115": false,
"default_fee_b": {
"Normal": 10
},

@ -24,7 +24,6 @@
"decred": false,
"fork_id": 0,
"force_bip143": true,
"bip115": false,
"default_fee_b": {
"Low": 10,
"Economy": 70,

@ -24,7 +24,6 @@
"decred": false,
"fork_id": 0,
"force_bip143": true,
"bip115": false,
"default_fee_b": {
"Normal": 10
},

@ -24,7 +24,6 @@
"decred": false,
"fork_id": null,
"force_bip143": false,
"bip115": false,
"default_fee_b": {
"Normal": 20
},

@ -24,7 +24,6 @@
"decred": false,
"fork_id": 79,
"force_bip143": true,
"bip115": false,
"default_fee_b": {
"Low": 10,
"Economy": 70,

@ -24,7 +24,6 @@
"decred": false,
"fork_id": 79,
"force_bip143": true,
"bip115": false,
"default_fee_b": {
"Low": 10,
"Economy": 70,

@ -24,7 +24,6 @@
"decred": false,
"fork_id": null,
"force_bip143": false,
"bip115": false,
"default_fee_b": {
"Low": 10,
"Economy": 70,

@ -24,7 +24,6 @@
"decred": false,
"fork_id": null,
"force_bip143": false,
"bip115": false,
"default_fee_b": {
"Normal": 10
},

@ -24,7 +24,6 @@
"decred": false,
"fork_id": null,
"force_bip143": false,
"bip115": false,
"default_fee_b": {
"Normal": 10
},

@ -24,7 +24,6 @@
"decred": false,
"fork_id": null,
"force_bip143": false,
"bip115": false,
"default_fee_b": {
"Low": 10
},

@ -24,7 +24,6 @@
"decred": false,
"fork_id": null,
"force_bip143": false,
"bip115": false,
"default_fee_b": {
"Normal": 20
},

@ -24,7 +24,6 @@
"decred": false,
"fork_id": 42,
"force_bip143": false,
"bip115": false,
"default_fee_b": {
"Normal": 10
},

@ -24,7 +24,6 @@
"decred": false,
"fork_id": null,
"force_bip143": false,
"bip115": false,
"default_fee_b": {
"Low": 10,
"Economy": 70,

@ -24,7 +24,6 @@
"decred": false,
"fork_id": null,
"force_bip143": false,
"bip115": false,
"default_fee_b": {
"Low": 1,
"Economy": 7,

@ -24,7 +24,6 @@
"decred": false,
"fork_id": null,
"force_bip143": false,
"bip115": false,
"default_fee_b": {
"Normal": 20
},

@ -24,7 +24,6 @@
"decred": false,
"fork_id": null,
"force_bip143": false,
"bip115": false,
"default_fee_b": {
"Normal": 10
},

@ -24,7 +24,6 @@
"decred": false,
"fork_id": null,
"force_bip143": false,
"bip115": false,
"default_fee_b": {
"Normal": 10
},

@ -24,7 +24,6 @@
"decred": false,
"fork_id": null,
"force_bip143": false,
"bip115": false,
"default_fee_b": {
"Normal": 10
},

@ -24,7 +24,6 @@
"decred": true,
"fork_id": null,
"force_bip143": false,
"bip115": false,
"default_fee_b": {
"Normal": 10
},

@ -24,7 +24,6 @@
"decred": true,
"fork_id": null,
"force_bip143": false,
"bip115": false,
"default_fee_b": {
"Normal": 10
},

@ -24,7 +24,6 @@
"decred": false,
"fork_id": null,
"force_bip143": false,
"bip115": false,
"default_fee_b": {
"Low": 10,
"Economy": 70,

@ -24,7 +24,6 @@
"decred": false,
"fork_id": null,
"force_bip143": false,
"bip115": false,
"default_fee_b": {
"Normal": 100000
},

@ -24,7 +24,6 @@
"decred": false,
"fork_id": null,
"force_bip143": false,
"bip115": false,
"default_fee_b": {
"Normal": 10
},

@ -9,12 +9,12 @@
"decimals": 8,
"address_type": 50,
"address_type_p2sh": 5,
"maxfee_kb": 2000000,
"maxfee_kb": 2000000,
"minfee_kb": 100,
"signed_message_header": "Metaverse Signed Message:\n",
"hash_genesis_block": "b81848ef9ae86e84c3da26564bc6ab3a79efc628239d11471ab5cd25c0684c2d",
"xprv_magic": 76066276,
"xpub_magic": 76067358,
"xpub_magic": 76067358,
"xpub_magic_segwit_p2sh": null,
"xpub_magic_segwit_native": null,
"bech32_prefix": null,
@ -24,7 +24,6 @@
"decred": false,
"fork_id": null,
"force_bip143": false,
"bip115": false,
"default_fee_b": {
"Low": 10,
"Economy": 70,
@ -37,8 +36,7 @@
"min_address_length": 27,
"max_address_length": 34,
"bitcore": [],
"blockbook": [
],
"blockbook": [],
"negative_fee": false,
"cooldown": 100,
"consensus_branch_id": null,

@ -24,7 +24,6 @@
"decred": false,
"fork_id": null,
"force_bip143": false,
"bip115": false,
"default_fee_b": {
"Normal": 1000
},

@ -24,7 +24,6 @@
"decred": false,
"fork_id": null,
"force_bip143": false,
"bip115": false,
"default_fee_b": {
"Normal": 1000
},

@ -24,7 +24,6 @@
"decred": false,
"fork_id": null,
"force_bip143": false,
"bip115": false,
"default_fee_b": {
"Low": 10000,
"Economy": 20000,

@ -24,7 +24,6 @@
"decred": false,
"fork_id": null,
"force_bip143": false,
"bip115": false,
"default_fee_b": {
"Normal": 1000
},

@ -24,7 +24,6 @@
"decred": false,
"fork_id": null,
"force_bip143": false,
"bip115": false,
"default_fee_b": {
"Normal": 10
},

@ -24,7 +24,6 @@
"decred": false,
"fork_id": null,
"force_bip143": false,
"bip115": false,
"default_fee_b": {
"Normal": 10
},

@ -24,7 +24,6 @@
"decred": false,
"fork_id": null,
"force_bip143": false,
"bip115": false,
"default_fee_b": {
"Normal": 10
},

@ -24,7 +24,6 @@
"decred": false,
"fork_id": null,
"force_bip143": false,
"bip115": false,
"default_fee_b": {
"Normal": 10
},

@ -24,7 +24,6 @@
"decred": false,
"fork_id": null,
"force_bip143": false,
"bip115": false,
"default_fee_b": {
"Normal": 10
},

@ -1,46 +0,0 @@
{
"coin_name": "Horizen",
"coin_shortcut": "ZEN",
"coin_label": "Horizen",
"website": "https://www.horizen.global",
"github": "https://github.com/ZencashOfficial/zen",
"maintainer": "Power_VANO <vano@horizen.global>",
"curve_name": "secp256k1",
"decimals": 8,
"address_type": 8329,
"address_type_p2sh": 8342,
"maxfee_kb": 2000000,
"minfee_kb": 1000,
"signed_message_header": "Zcash Signed Message:\n",
"hash_genesis_block": "0007104ccda289427919efc39dc9e4d499804b7bebc22df55f8b834301260602",
"xprv_magic": 76066276,
"xpub_magic": 76067358,
"xpub_magic_segwit_p2sh": null,
"xpub_magic_segwit_native": null,
"bech32_prefix": null,
"cashaddr_prefix": null,
"slip44": 121,
"segwit": false,
"decred": false,
"fork_id": null,
"force_bip143": false,
"bip115": true,
"default_fee_b": {
"Normal": 10
},
"dust_limit": 546,
"blocktime_seconds": 150,
"uri_prefix": "horizen",
"min_address_length": 35,
"max_address_length": 95,
"bitcore": [
"https://explorer.horizen.global"
],
"blockbook": [],
"negative_fee": false,
"cooldown": 100,
"consensus_branch_id": null,
"extra_data": false,
"timestamp": false,
"confidential_assets": null
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.7 KiB

@ -24,7 +24,6 @@
"decred": false,
"fork_id": null,
"force_bip143": false,
"bip115": false,
"default_fee_b": {
"Normal": 10
},

@ -24,7 +24,6 @@
"decred": false,
"fork_id": null,
"force_bip143": false,
"bip115": false,
"default_fee_b": {
"Normal": 10
},

@ -24,7 +24,6 @@
"decred": false,
"fork_id": null,
"force_bip143": false,
"bip115": false,
"default_fee_b": {
"Normal": 1000
},

@ -24,7 +24,6 @@
"decred": false,
"fork_id": null,
"force_bip143": false,
"bip115": false,
"default_fee_b": {
"Normal": 10
},

@ -24,7 +24,6 @@
"decred": false,
"fork_id": null,
"force_bip143": false,
"bip115": false,
"default_fee_b": {
"Normal": 1000
},

@ -24,7 +24,6 @@
"decred": false,
"fork_id": null,
"force_bip143": false,
"bip115": false,
"default_fee_b": {
"Normal": 10
},

@ -24,7 +24,6 @@
"decred": false,
"fork_id": null,
"force_bip143": false,
"bip115": false,
"default_fee_b": {
"Normal": 10
},

@ -24,7 +24,6 @@
"decred": false,
"fork_id": null,
"force_bip143": false,
"bip115": false,
"default_fee_b": {
"Normal": 1000
},

@ -24,7 +24,6 @@
"decred": false,
"fork_id": null,
"force_bip143": false,
"bip115": false,
"default_fee_b": {
"Low": 10,
"Economy": 70,

@ -24,7 +24,6 @@
"decred": false,
"fork_id": null,
"force_bip143": false,
"bip115": false,
"default_fee_b": {
"Normal": 10
},

@ -24,7 +24,6 @@
"decred": false,
"fork_id": null,
"force_bip143": false,
"bip115": false,
"default_fee_b": {
"Normal": 10
},

@ -24,7 +24,6 @@
"decred": false,
"fork_id": null,
"force_bip143": false,
"bip115": false,
"default_fee_b": {
"Normal": 10
},

@ -24,7 +24,6 @@
"decred": false,
"fork_id": null,
"force_bip143": false,
"bip115": false,
"default_fee_b": {
"Normal": 10
},

@ -24,7 +24,6 @@
"decred": false,
"fork_id": null,
"force_bip143": false,
"bip115": false,
"default_fee_b": {
"Normal": 10
},

@ -24,7 +24,6 @@
"decred": false,
"fork_id": null,
"force_bip143": false,
"bip115": false,
"default_fee_b": {
"Normal": 10
},

@ -24,7 +24,6 @@
"decred": false,
"fork_id": null,
"force_bip143": false,
"bip115": false,
"default_fee_b": {
"Normal": 10
},

@ -24,7 +24,6 @@
"decred": false,
"fork_id": null,
"force_bip143": false,
"bip115": false,
"default_fee_b": {
"Normal": 10
},

@ -24,7 +24,6 @@
"decred": false,
"fork_id": null,
"force_bip143": false,
"bip115": false,
"default_fee_b": {
"Low": 410,
"Economy": 500,

@ -24,7 +24,6 @@
"decred": false,
"fork_id": null,
"force_bip143": false,
"bip115": false,
"default_fee_b": {
"Low": 410,
"Economy": 500,

@ -24,7 +24,6 @@
"decred": false,
"fork_id": null,
"force_bip143": false,
"bip115": false,
"default_fee_b": {
"Low": 10
},

@ -24,7 +24,6 @@
"decred": false,
"fork_id": null,
"force_bip143": false,
"bip115": false,
"default_fee_b": {
"Low": 10
},

@ -24,7 +24,6 @@
"decred": false,
"fork_id": null,
"force_bip143": false,
"bip115": false,
"default_fee_b": {
"Low": 1,
"Economy": 10,

@ -24,7 +24,6 @@
"decred": false,
"fork_id": null,
"force_bip143": false,
"bip115": false,
"default_fee_b": {
"Low": 1,
"Economy": 10,

@ -24,7 +24,6 @@
"decred": false,
"fork_id": null,
"force_bip143": false,
"bip115": false,
"default_fee_b": {
"Low": 10,
"Economy": 70,

@ -24,7 +24,6 @@
"decred": false,
"fork_id": null,
"force_bip143": false,
"bip115": false,
"default_fee_b": {
"Low": 100,
"Economy": 200,

@ -24,7 +24,6 @@
"decred": false,
"fork_id": null,
"force_bip143": false,
"bip115": false,
"default_fee_b": {
"Normal": 10
},

@ -40,7 +40,6 @@
"https://blockbook.flurbo.xyz",
"https://blockbook.unobtanium.uno"
],
"bip115": false,
"negative_fee": false,
"cooldown": 100,
"consensus_branch_id": null,

@ -24,7 +24,6 @@
"decred": false,
"fork_id": null,
"force_bip143": false,
"bip115": false,
"default_fee_b": {
"Normal": 1000
},

@ -24,7 +24,6 @@
"decred": false,
"fork_id": null,
"force_bip143": false,
"bip115": false,
"default_fee_b": {
"Low": 1000,
"Economy": 7000,

@ -24,7 +24,6 @@
"decred": false,
"fork_id": null,
"force_bip143": false,
"bip115": false,
"default_fee_b": {
"Low": 410,
"Economy": 500,

@ -24,7 +24,6 @@
"decred": false,
"fork_id": null,
"force_bip143": false,
"bip115": false,
"default_fee_b": {
"Normal": 10
},

@ -24,7 +24,6 @@
"decred": false,
"fork_id": null,
"force_bip143": false,
"bip115": false,
"default_fee_b": {
"Normal": 10
},

@ -24,7 +24,6 @@
"decred": false,
"fork_id": null,
"force_bip143": false,
"bip115": false,
"default_fee_b": {
"Low": 1,
"Economy": 10,

@ -24,7 +24,6 @@
"decred": false,
"fork_id": null,
"force_bip143": false,
"bip115": false,
"default_fee_b": {
"Low": 1,
"Economy": 10,

@ -24,7 +24,6 @@
"decred": false,
"fork_id": null,
"force_bip143": false,
"bip115": false,
"default_fee_b": {
"Normal": 10
},

@ -24,7 +24,6 @@
"decred": false,
"fork_id": null,
"force_bip143": false,
"bip115": false,
"default_fee_b": {
"Normal": 10
},

File diff suppressed because it is too large Load Diff

@ -214,8 +214,8 @@ message TxAck {
optional uint64 amount = 8; // amount of previous transaction output (for segwit only)
optional uint32 decred_tree = 9; // only for Decred
optional uint32 decred_script_version = 10; // only for Decred
optional bytes prev_block_hash_bip115 = 11; // block hash of previous transaction output (for bip115 implementation)
optional uint32 prev_block_height_bip115 = 12; // block height of previous transaction output (for bip115 implementation)
// optional bytes prev_block_hash_bip115 = 11; // BIP-115 support dropped
// optional uint32 prev_block_height_bip115 = 12; // BIP-115 support dropped
}
/**
* Structure representing compiled transaction output
@ -236,8 +236,8 @@ message TxAck {
optional MultisigRedeemScriptType multisig = 5; // defines multisig address; script_type must be PAYTOMULTISIG
optional bytes op_return_data = 6; // defines op_return data; script_type must be PAYTOOPRETURN, amount must be 0
optional uint32 decred_script_version = 7; // only for Decred
optional bytes block_hash_bip115 = 8; // block hash of existing block (recommended current_block - 300) (for bip115 implementation)
optional uint32 block_height_bip115 = 9; // block height of existing block (recommended current_block - 300) (for bip115 implementation)
// optional bytes block_hash_bip115 = 8; // BIP-115 support dropped
// optional uint32 block_height_bip115 = 9; // BIP-115 support dropped
enum OutputScriptType {
PAYTOADDRESS = 0; // used for all addresses (bitcoin, p2sh, witness)
PAYTOSCRIPTHASH = 1; // p2sh address (deprecated; use PAYTOADDRESS)

@ -136,7 +136,6 @@ BTC_CHECKS = [
check_key("decred", bool),
check_key("fork_id", int, nullable=True),
check_key("force_bip143", bool),
check_key("bip115", bool),
check_key("default_fee_b", dict),
check_key("dust_limit", int),
check_key("blocktime_seconds", int),

@ -33,7 +33,6 @@ class CoinDef(p.MessageType):
29: ("github", p.UnicodeType, 0),
30: ("maintainer", p.UnicodeType, 0),
31: ("blocktime_seconds", p.UVarintType, 0),
32: ("bip115", p.BoolType, 0),
33: ("cooldown", p.UVarintType, 0),
}
@ -60,7 +59,6 @@ class CoinDef(p.MessageType):
decred: bool = None,
fork_id: int = None,
force_bip143: bool = None,
bip115: bool = None,
dust_limit: int = None,
uri_prefix: str = None,
min_address_length: int = None,
@ -96,7 +94,6 @@ class CoinDef(p.MessageType):
self.decred = decred
self.fork_id = fork_id
self.force_bip143 = force_bip143
self.bip115 = bip115
self.dust_limit = dust_limit
self.uri_prefix = uri_prefix
self.min_address_length = min_address_length

@ -26,7 +26,6 @@ class CoinInfo:
segwit: bool,
fork_id: int,
force_bip143: bool,
bip115: bool,
decred: bool,
negative_fee: bool,
curve_name: str,
@ -51,7 +50,6 @@ class CoinInfo:
self.segwit = segwit
self.fork_id = fork_id
self.force_bip143 = force_bip143
self.bip115 = bip115
self.decred = decred
self.negative_fee = negative_fee
self.curve_name = curve_name
@ -104,7 +102,6 @@ def by_name(name: str) -> CoinInfo:
segwit=True,
fork_id=None,
force_bip143=False,
bip115=False,
decred=False,
negative_fee=False,
curve_name='secp256k1',
@ -131,7 +128,6 @@ def by_name(name: str) -> CoinInfo:
segwit=True,
fork_id=None,
force_bip143=False,
bip115=False,
decred=False,
negative_fee=False,
curve_name='secp256k1',
@ -158,7 +154,6 @@ def by_name(name: str) -> CoinInfo:
segwit=True,
fork_id=None,
force_bip143=False,
bip115=False,
decred=False,
negative_fee=False,
curve_name='secp256k1',
@ -188,7 +183,6 @@ def by_name(name: str) -> CoinInfo:
segwit=True,
fork_id=None,
force_bip143=False,
bip115=False,
decred=False,
negative_fee=False,
curve_name='secp256k1',
@ -215,7 +209,6 @@ def by_name(name: str) -> CoinInfo:
segwit=False,
fork_id=None,
force_bip143=False,
bip115=False,
decred=False,
negative_fee=False,
curve_name='secp256k1',
@ -242,7 +235,6 @@ def by_name(name: str) -> CoinInfo:
segwit=True,
fork_id=None,
force_bip143=False,
bip115=False,
decred=False,
negative_fee=False,
curve_name='secp256k1',
@ -269,7 +261,6 @@ def by_name(name: str) -> CoinInfo:
segwit=True,
fork_id=None,
force_bip143=False,
bip115=False,
decred=False,
negative_fee=False,
curve_name='secp256k1',
@ -296,7 +287,6 @@ def by_name(name: str) -> CoinInfo:
segwit=False,
fork_id=0,
force_bip143=True,
bip115=False,
decred=False,
negative_fee=False,
curve_name='secp256k1',
@ -323,7 +313,6 @@ def by_name(name: str) -> CoinInfo:
segwit=False,
fork_id=0,
force_bip143=True,
bip115=False,
decred=False,
negative_fee=False,
curve_name='secp256k1',
@ -350,7 +339,6 @@ def by_name(name: str) -> CoinInfo:
segwit=True,
fork_id=79,
force_bip143=True,
bip115=False,
decred=False,
negative_fee=False,
curve_name='secp256k1',
@ -377,7 +365,6 @@ def by_name(name: str) -> CoinInfo:
segwit=True,
fork_id=79,
force_bip143=True,
bip115=False,
decred=False,
negative_fee=False,
curve_name='secp256k1',
@ -404,7 +391,6 @@ def by_name(name: str) -> CoinInfo:
segwit=False,
fork_id=42,
force_bip143=False,
bip115=False,
decred=False,
negative_fee=False,
curve_name='secp256k1',
@ -431,7 +417,6 @@ def by_name(name: str) -> CoinInfo:
segwit=False,
fork_id=None,
force_bip143=False,
bip115=False,
decred=False,
negative_fee=False,
curve_name='secp256k1',
@ -458,7 +443,6 @@ def by_name(name: str) -> CoinInfo:
segwit=True,
fork_id=None,
force_bip143=False,
bip115=False,
decred=False,
negative_fee=False,
curve_name='secp256k1',
@ -485,7 +469,6 @@ def by_name(name: str) -> CoinInfo:
segwit=True,
fork_id=None,
force_bip143=False,
bip115=False,
decred=False,
negative_fee=False,
curve_name='secp256k1',
@ -512,7 +495,6 @@ def by_name(name: str) -> CoinInfo:
segwit=False,
fork_id=None,
force_bip143=False,
bip115=False,
decred=False,
negative_fee=False,
curve_name='secp256k1',
@ -539,7 +521,6 @@ def by_name(name: str) -> CoinInfo:
segwit=False,
fork_id=None,
force_bip143=False,
bip115=False,
decred=False,
negative_fee=False,
curve_name='secp256k1',
@ -566,7 +547,6 @@ def by_name(name: str) -> CoinInfo:
segwit=False,
fork_id=None,
force_bip143=False,
bip115=False,
decred=False,
negative_fee=False,
curve_name='secp256k1',
@ -593,7 +573,6 @@ def by_name(name: str) -> CoinInfo:
segwit=False,
fork_id=None,
force_bip143=False,
bip115=False,
decred=False,
negative_fee=False,
curve_name='secp256k1',
@ -620,7 +599,6 @@ def by_name(name: str) -> CoinInfo:
segwit=False,
fork_id=None,
force_bip143=False,
bip115=False,
decred=True,
negative_fee=False,
curve_name='secp256k1-decred',
@ -647,7 +625,6 @@ def by_name(name: str) -> CoinInfo:
segwit=False,
fork_id=None,
force_bip143=False,
bip115=False,
decred=True,
negative_fee=False,
curve_name='secp256k1-decred',
@ -674,7 +651,6 @@ def by_name(name: str) -> CoinInfo:
segwit=True,
fork_id=None,
force_bip143=False,
bip115=False,
decred=False,
negative_fee=False,
curve_name='secp256k1',
@ -701,7 +677,6 @@ def by_name(name: str) -> CoinInfo:
segwit=False,
fork_id=None,
force_bip143=False,
bip115=False,
decred=False,
negative_fee=False,
curve_name='secp256k1',
@ -728,7 +703,6 @@ def by_name(name: str) -> CoinInfo:
segwit=True,
fork_id=None,
force_bip143=False,
bip115=False,
decred=False,
negative_fee=False,
curve_name='secp256k1',
@ -755,7 +729,6 @@ def by_name(name: str) -> CoinInfo:
segwit=True,
fork_id=None,
force_bip143=False,
bip115=False,
decred=False,
negative_fee=False,
curve_name='secp256k1',
@ -782,7 +755,6 @@ def by_name(name: str) -> CoinInfo:
segwit=True,
fork_id=None,
force_bip143=False,
bip115=False,
decred=False,
negative_fee=False,
curve_name='secp256k1',
@ -809,7 +781,6 @@ def by_name(name: str) -> CoinInfo:
segwit=True,
fork_id=None,
force_bip143=False,
bip115=False,
decred=False,
negative_fee=False,
curve_name='secp256k1',
@ -836,7 +807,6 @@ def by_name(name: str) -> CoinInfo:
segwit=False,
fork_id=None,
force_bip143=False,
bip115=False,
decred=False,
negative_fee=False,
curve_name='secp256k1',
@ -863,7 +833,6 @@ def by_name(name: str) -> CoinInfo:
segwit=True,
fork_id=None,
force_bip143=False,
bip115=False,
decred=False,
negative_fee=False,
curve_name='secp256k1',
@ -890,7 +859,6 @@ def by_name(name: str) -> CoinInfo:
segwit=True,
fork_id=None,
force_bip143=False,
bip115=False,
decred=False,
negative_fee=False,
curve_name='secp256k1-groestl',
@ -917,7 +885,6 @@ def by_name(name: str) -> CoinInfo:
segwit=True,
fork_id=None,
force_bip143=False,
bip115=False,
decred=False,
negative_fee=False,
curve_name='secp256k1-groestl',
@ -944,7 +911,6 @@ def by_name(name: str) -> CoinInfo:
segwit=False,
fork_id=None,
force_bip143=False,
bip115=False,
decred=False,
negative_fee=False,
curve_name='secp256k1',
@ -971,34 +937,6 @@ def by_name(name: str) -> CoinInfo:
segwit=False,
fork_id=None,
force_bip143=False,
bip115=False,
decred=False,
negative_fee=False,
curve_name='secp256k1',
extra_data=False,
timestamp=False,
overwintered=False,
confidential_assets=None,
)
elif name == "Horizen":
return CoinInfo(
coin_name=name,
coin_shortcut="ZEN",
decimals=8,
address_type=8329,
address_type_p2sh=8342,
maxfee_kb=2000000,
signed_message_header="Zcash Signed Message:\n",
xpub_magic=0x0488b21e,
xpub_magic_segwit_p2sh=None,
xpub_magic_segwit_native=None,
bech32_prefix=None,
cashaddr_prefix=None,
slip44=121,
segwit=False,
fork_id=None,
force_bip143=False,
bip115=True,
decred=False,
negative_fee=False,
curve_name='secp256k1',
@ -1025,7 +963,6 @@ def by_name(name: str) -> CoinInfo:
segwit=False,
fork_id=None,
force_bip143=False,
bip115=False,
decred=False,
negative_fee=True,
curve_name='secp256k1',
@ -1052,7 +989,6 @@ def by_name(name: str) -> CoinInfo:
segwit=False,
fork_id=None,
force_bip143=False,
bip115=False,
decred=False,
negative_fee=False,
curve_name='secp256k1',
@ -1079,7 +1015,6 @@ def by_name(name: str) -> CoinInfo:
segwit=True,
fork_id=None,
force_bip143=False,
bip115=False,
decred=False,
negative_fee=False,
curve_name='secp256k1',
@ -1106,7 +1041,6 @@ def by_name(name: str) -> CoinInfo:
segwit=True,
fork_id=None,
force_bip143=False,
bip115=False,
decred=False,
negative_fee=False,
curve_name='secp256k1',
@ -1133,7 +1067,6 @@ def by_name(name: str) -> CoinInfo:
segwit=False,
fork_id=None,
force_bip143=False,
bip115=False,
decred=False,
negative_fee=False,
curve_name='secp256k1',
@ -1160,7 +1093,6 @@ def by_name(name: str) -> CoinInfo:
segwit=True,
fork_id=None,
force_bip143=False,
bip115=False,
decred=False,
negative_fee=False,
curve_name='secp256k1',
@ -1187,7 +1119,6 @@ def by_name(name: str) -> CoinInfo:
segwit=False,
fork_id=None,
force_bip143=False,
bip115=False,
decred=False,
negative_fee=False,
curve_name='secp256k1',
@ -1214,7 +1145,6 @@ def by_name(name: str) -> CoinInfo:
segwit=True,
fork_id=None,
force_bip143=False,
bip115=False,
decred=False,
negative_fee=False,
curve_name='secp256k1',
@ -1241,7 +1171,6 @@ def by_name(name: str) -> CoinInfo:
segwit=False,
fork_id=None,
force_bip143=False,
bip115=False,
decred=False,
negative_fee=False,
curve_name='secp256k1',
@ -1268,7 +1197,6 @@ def by_name(name: str) -> CoinInfo:
segwit=False,
fork_id=None,
force_bip143=False,
bip115=False,
decred=False,
negative_fee=False,
curve_name='secp256k1',
@ -1295,7 +1223,6 @@ def by_name(name: str) -> CoinInfo:
segwit=False,
fork_id=None,
force_bip143=False,
bip115=False,
decred=False,
negative_fee=False,
curve_name='secp256k1',
@ -1322,7 +1249,6 @@ def by_name(name: str) -> CoinInfo:
segwit=True,
fork_id=None,
force_bip143=False,
bip115=False,
decred=False,
negative_fee=False,
curve_name='secp256k1',
@ -1349,7 +1275,6 @@ def by_name(name: str) -> CoinInfo:
segwit=True,
fork_id=None,
force_bip143=False,
bip115=False,
decred=False,
negative_fee=False,
curve_name='secp256k1',
@ -1376,7 +1301,6 @@ def by_name(name: str) -> CoinInfo:
segwit=True,
fork_id=None,
force_bip143=False,
bip115=False,
decred=False,
negative_fee=False,
curve_name='secp256k1',
@ -1403,7 +1327,6 @@ def by_name(name: str) -> CoinInfo:
segwit=True,
fork_id=None,
force_bip143=False,
bip115=False,
decred=False,
negative_fee=False,
curve_name='secp256k1',
@ -1430,7 +1353,6 @@ def by_name(name: str) -> CoinInfo:
segwit=False,
fork_id=None,
force_bip143=False,
bip115=False,
decred=False,
negative_fee=False,
curve_name='secp256k1',
@ -1457,7 +1379,6 @@ def by_name(name: str) -> CoinInfo:
segwit=False,
fork_id=None,
force_bip143=False,
bip115=False,
decred=False,
negative_fee=False,
curve_name='secp256k1',
@ -1484,7 +1405,6 @@ def by_name(name: str) -> CoinInfo:
segwit=False,
fork_id=None,
force_bip143=False,
bip115=False,
decred=False,
negative_fee=False,
curve_name='secp256k1',
@ -1511,7 +1431,6 @@ def by_name(name: str) -> CoinInfo:
segwit=True,
fork_id=None,
force_bip143=False,
bip115=False,
decred=False,
negative_fee=False,
curve_name='secp256k1',
@ -1538,7 +1457,6 @@ def by_name(name: str) -> CoinInfo:
segwit=True,
fork_id=None,
force_bip143=False,
bip115=False,
decred=False,
negative_fee=False,
curve_name='secp256k1',
@ -1565,7 +1483,6 @@ def by_name(name: str) -> CoinInfo:
segwit=False,
fork_id=None,
force_bip143=False,
bip115=False,
decred=False,
negative_fee=False,
curve_name='secp256k1',
@ -1592,7 +1509,6 @@ def by_name(name: str) -> CoinInfo:
segwit=False,
fork_id=None,
force_bip143=False,
bip115=False,
decred=False,
negative_fee=False,
curve_name='secp256k1',
@ -1619,7 +1535,6 @@ def by_name(name: str) -> CoinInfo:
segwit=False,
fork_id=None,
force_bip143=False,
bip115=False,
decred=False,
negative_fee=False,
curve_name='secp256k1-smart',
@ -1646,7 +1561,6 @@ def by_name(name: str) -> CoinInfo:
segwit=False,
fork_id=None,
force_bip143=False,
bip115=False,
decred=False,
negative_fee=False,
curve_name='secp256k1-smart',
@ -1673,7 +1587,6 @@ def by_name(name: str) -> CoinInfo:
segwit=True,
fork_id=None,
force_bip143=False,
bip115=False,
decred=False,
negative_fee=False,
curve_name='secp256k1',
@ -1700,7 +1613,6 @@ def by_name(name: str) -> CoinInfo:
segwit=True,
fork_id=None,
force_bip143=False,
bip115=False,
decred=False,
negative_fee=False,
curve_name='secp256k1',
@ -1727,7 +1639,6 @@ def by_name(name: str) -> CoinInfo:
segwit=False,
fork_id=None,
force_bip143=False,
bip115=False,
decred=False,
negative_fee=False,
curve_name='secp256k1',
@ -1754,7 +1665,6 @@ def by_name(name: str) -> CoinInfo:
segwit=True,
fork_id=None,
force_bip143=False,
bip115=False,
decred=False,
negative_fee=False,
curve_name='secp256k1',
@ -1781,7 +1691,6 @@ def by_name(name: str) -> CoinInfo:
segwit=True,
fork_id=None,
force_bip143=False,
bip115=False,
decred=False,
negative_fee=False,
curve_name='secp256k1',
@ -1808,7 +1717,6 @@ def by_name(name: str) -> CoinInfo:
segwit=True,
fork_id=None,
force_bip143=False,
bip115=False,
decred=False,
negative_fee=False,
curve_name='secp256k1',
@ -1835,7 +1743,6 @@ def by_name(name: str) -> CoinInfo:
segwit=False,
fork_id=None,
force_bip143=False,
bip115=False,
decred=False,
negative_fee=False,
curve_name='secp256k1',
@ -1862,7 +1769,6 @@ def by_name(name: str) -> CoinInfo:
segwit=False,
fork_id=None,
force_bip143=False,
bip115=False,
decred=False,
negative_fee=False,
curve_name='secp256k1',
@ -1889,7 +1795,6 @@ def by_name(name: str) -> CoinInfo:
segwit=False,
fork_id=None,
force_bip143=False,
bip115=False,
decred=False,
negative_fee=False,
curve_name='secp256k1',
@ -1916,7 +1821,6 @@ def by_name(name: str) -> CoinInfo:
segwit=False,
fork_id=None,
force_bip143=False,
bip115=False,
decred=False,
negative_fee=False,
curve_name='secp256k1',
@ -1943,7 +1847,6 @@ def by_name(name: str) -> CoinInfo:
segwit=False,
fork_id=None,
force_bip143=False,
bip115=False,
decred=False,
negative_fee=False,
curve_name='secp256k1',
@ -1970,7 +1873,6 @@ def by_name(name: str) -> CoinInfo:
segwit=False,
fork_id=None,
force_bip143=False,
bip115=False,
decred=False,
negative_fee=False,
curve_name='secp256k1',

@ -26,7 +26,6 @@ class CoinInfo:
segwit: bool,
fork_id: int,
force_bip143: bool,
bip115: bool,
decred: bool,
negative_fee: bool,
curve_name: str,
@ -51,7 +50,6 @@ class CoinInfo:
self.segwit = segwit
self.fork_id = fork_id
self.force_bip143 = force_bip143
self.bip115 = bip115
self.decred = decred
self.negative_fee = negative_fee
self.curve_name = curve_name
@ -112,7 +110,6 @@ ATTRIBUTES = (
("segwit", bool),
("fork_id", black_repr),
("force_bip143", bool),
("bip115", bool),
("decred", bool),
("negative_fee", bool),
("curve_name", lambda r: repr(r.replace("_", "-"))),

@ -223,11 +223,6 @@ def sanitize_tx_input(tx: TransactionType, coin: CoinInfo) -> TxInputType:
FailureType.DataError,
"Decred details provided but Decred coin not specified.",
)
if (txi.prev_block_hash_bip115 or txi.prev_block_height_bip115) and not coin.bip115:
raise SigningError(
FailureType.DataError,
"BIP-115 details provided, but the specified coin is unaware of BIP-115.",
)
return txi

@ -4,12 +4,7 @@ from trezor.messages.MultisigRedeemScriptType import MultisigRedeemScriptType
from apps.common.coininfo import CoinInfo
from apps.common.writers import empty_bytearray
from apps.wallet.sign_tx.multisig import multisig_get_pubkey_count, multisig_get_pubkeys
from apps.wallet.sign_tx.writers import (
write_bytes,
write_op_push,
write_scriptnum,
write_varint,
)
from apps.wallet.sign_tx.writers import write_bytes, write_op_push, write_varint
class ScriptsError(ValueError):
@ -53,20 +48,6 @@ def output_script_p2sh(scripthash: bytes) -> bytearray:
return s
def script_replay_protection_bip115(
block_hash: bytes, block_height: bytes
) -> bytearray:
if block_hash is None or block_height is None:
return bytearray()
utils.ensure(len(block_hash) == 32)
s = bytearray(33)
s[0] = 0x20 # 32 bytes for block hash
s[1:33] = block_hash # block hash
write_scriptnum(s, block_height)
s.append(0xB4) # OP_CHECKBLOCKATHEIGHT
return s
# SegWit: Native P2WPKH or P2WSH
# ===
# https://github.com/bitcoin/bips/blob/master/bip-0141.mediawiki#p2wpkh

@ -439,11 +439,6 @@ async def sign_tx(tx: SignTx, keychain: seed.Keychain):
txi_sign.script_sig = scripts.output_script_p2pkh(
addresses.ecdsa_hash_pubkey(key_sign_pub, coin)
)
if coin.bip115:
txi_sign.script_sig += scripts.script_replay_protection_bip115(
txi_sign.prev_block_hash_bip115,
txi_sign.prev_block_height_bip115,
)
else:
raise SigningError(
FailureType.ProcessError, "Unknown transaction type"
@ -744,20 +739,12 @@ def output_derive_script(
# p2pkh
pubkeyhash = address_type.strip(coin.address_type, raw_address)
script = scripts.output_script_p2pkh(pubkeyhash)
if coin.bip115:
script += scripts.script_replay_protection_bip115(
o.block_hash_bip115, o.block_height_bip115
)
return script
elif address_type.check(coin.address_type_p2sh, raw_address):
# p2sh
scripthash = address_type.strip(coin.address_type_p2sh, raw_address)
script = scripts.output_script_p2sh(scripthash)
if coin.bip115:
script += scripts.script_replay_protection_bip115(
o.block_hash_bip115, o.block_height_bip115
)
return script
raise SigningError(FailureType.DataError, "Invalid address type")

@ -95,28 +95,6 @@ def write_varint(w, n: int):
w.append((n >> 24) & 0xFF)
def write_scriptnum(w, n: int):
ensure(n >= 0 and n <= 0xFFFFFFFF)
if n < 0x100:
w.append(1)
w.append(n & 0xFF)
elif n < 0x10000:
w.append(2)
w.append(n & 0xFF)
w.append((n >> 8) & 0xFF)
elif n < 0x1000000:
w.append(3)
w.append(n & 0xFF)
w.append((n >> 8) & 0xFF)
w.append((n >> 16) & 0xFF)
else:
w.append(4)
w.append(n & 0xFF)
w.append((n >> 8) & 0xFF)
w.append((n >> 16) & 0xFF)
w.append((n >> 24) & 0xFF)
def get_tx_hash(w, double: bool = False, reverse: bool = False) -> bytes:
d = w.get_digest()
if double:

@ -27,8 +27,6 @@ class TxInputType(p.MessageType):
amount: int = None,
decred_tree: int = None,
decred_script_version: int = None,
prev_block_hash_bip115: bytes = None,
prev_block_height_bip115: int = None,
) -> None:
self.address_n = address_n if address_n is not None else []
self.prev_hash = prev_hash
@ -40,8 +38,6 @@ class TxInputType(p.MessageType):
self.amount = amount
self.decred_tree = decred_tree
self.decred_script_version = decred_script_version
self.prev_block_hash_bip115 = prev_block_hash_bip115
self.prev_block_height_bip115 = prev_block_height_bip115
@classmethod
def get_fields(cls) -> Dict:
@ -56,6 +52,4 @@ class TxInputType(p.MessageType):
8: ('amount', p.UVarintType, 0),
9: ('decred_tree', p.UVarintType, 0),
10: ('decred_script_version', p.UVarintType, 0),
11: ('prev_block_hash_bip115', p.BytesType, 0),
12: ('prev_block_height_bip115', p.UVarintType, 0),
}

@ -24,8 +24,6 @@ class TxOutputType(p.MessageType):
multisig: MultisigRedeemScriptType = None,
op_return_data: bytes = None,
decred_script_version: int = None,
block_hash_bip115: bytes = None,
block_height_bip115: int = None,
) -> None:
self.address = address
self.address_n = address_n if address_n is not None else []
@ -34,8 +32,6 @@ class TxOutputType(p.MessageType):
self.multisig = multisig
self.op_return_data = op_return_data
self.decred_script_version = decred_script_version
self.block_hash_bip115 = block_hash_bip115
self.block_height_bip115 = block_height_bip115
@classmethod
def get_fields(cls) -> Dict:
@ -47,6 +43,4 @@ class TxOutputType(p.MessageType):
5: ('multisig', MultisigRedeemScriptType, 0),
6: ('op_return_data', p.BytesType, 0),
7: ('decred_script_version', p.UVarintType, 0),
8: ('block_hash_bip115', p.BytesType, 0),
9: ('block_height_bip115', p.UVarintType, 0),
}

@ -1,20 +0,0 @@
from common import *
from apps.wallet.sign_tx.scripts import script_replay_protection_bip115
class TestSigntxScripts(unittest.TestCase):
# pylint: disable=C0301
def test_script_replay_protection_bip115(self):
vectors=[
('206ec9b310745775c20cbe5bae8751daeb7f086cf913399d4f7634ef2a0000000003122005b4', '6ec9b310745775c20cbe5bae8751daeb7f086cf913399d4f7634ef2a00000000', 335890),
('20caaa71b60cf893c1604b38e5af1bdc322dbb31818239088647272d1400000000030e2005b4', 'caaa71b60cf893c1604b38e5af1bdc322dbb31818239088647272d1400000000', 335886),
]
for out, hsh, height in vectors:
hsh = unhexlify(hsh)
res = hexlify(script_replay_protection_bip115(hsh, height)).decode()
self.assertEqual(out, res)
if __name__ == '__main__':
unittest.main()

@ -31,12 +31,10 @@ TransactionType.extra_data max_size:1024
TxInputType.address_n max_count:8
TxInputType.prev_hash max_size:32
TxInputType.script_sig max_size:1650
TxInputType.prev_block_hash_bip115 max_size:32
TxOutputType.address max_size:130
TxOutputType.address_n max_count:8
TxOutputType.op_return_data max_size:80
TxOutputType.block_hash_bip115 max_size:32
TxOutputBinType.script_pubkey max_size:520

@ -60,8 +60,6 @@ message TxInputType {
optional uint64 amount = 8; // amount of previous transaction output
optional uint32 decred_tree = 9; // only for Decred
optional uint32 decred_script_version = 10; // only for Decred
optional bytes prev_block_hash_bip115 = 11; // block hash of previous transaction output (for bip115 implementation)
optional uint32 prev_block_height_bip115 = 12; // block height of previous transaction output (for bip115 implementation)
}
```
@ -73,7 +71,7 @@ The field `script_sig` must not be set.
The field `multisig` can be used for multisig inputs. Documenting the multisig structure is TBD. With regular inputs, `multisig` must not be set.
`decred` and `bip115` fields must only be set when relevant to your currency.
`decred` fields must only be set when relevant to your currency.
### Outputs
@ -94,8 +92,6 @@ message TxOutputType {
optional MultisigRedeemScriptType multisig = 5; // multisig output definition
optional bytes op_return_data = 6; // defines op_return data
optional uint32 decred_script_version = 7; // only for Decred
optional bytes block_hash_bip115 = 8; // block hash of existing block (recommended current_block - 300) (for bip115 implementation)
optional uint32 block_height_bip115 = 9; // block height of existing block (recommended current_block - 300) (for bip115 implementation)
```
@ -112,7 +108,7 @@ For `OP_RETURN` outputs, `script_type` must be set to `"PAYTOOPRETURN"` and
`op_return_data` must be filled appropriately. `address_n` and `address` must not be
set.
`decred` and `bip115` fields must only be set when relevant to your currency.
`decred` fields must only be set when relevant to your currency.
### Transaction metadata

File diff suppressed because one or more lines are too long

@ -27,8 +27,6 @@ class TxInputType(p.MessageType):
amount: int = None,
decred_tree: int = None,
decred_script_version: int = None,
prev_block_hash_bip115: bytes = None,
prev_block_height_bip115: int = None,
) -> None:
self.address_n = address_n if address_n is not None else []
self.prev_hash = prev_hash
@ -40,8 +38,6 @@ class TxInputType(p.MessageType):
self.amount = amount
self.decred_tree = decred_tree
self.decred_script_version = decred_script_version
self.prev_block_hash_bip115 = prev_block_hash_bip115
self.prev_block_height_bip115 = prev_block_height_bip115
@classmethod
def get_fields(cls) -> Dict:
@ -56,6 +52,4 @@ class TxInputType(p.MessageType):
8: ('amount', p.UVarintType, 0),
9: ('decred_tree', p.UVarintType, 0),
10: ('decred_script_version', p.UVarintType, 0),
11: ('prev_block_hash_bip115', p.BytesType, 0),
12: ('prev_block_height_bip115', p.UVarintType, 0),
}

@ -24,8 +24,6 @@ class TxOutputType(p.MessageType):
multisig: MultisigRedeemScriptType = None,
op_return_data: bytes = None,
decred_script_version: int = None,
block_hash_bip115: bytes = None,
block_height_bip115: int = None,
) -> None:
self.address = address
self.address_n = address_n if address_n is not None else []
@ -34,8 +32,6 @@ class TxOutputType(p.MessageType):
self.multisig = multisig
self.op_return_data = op_return_data
self.decred_script_version = decred_script_version
self.block_hash_bip115 = block_hash_bip115
self.block_height_bip115 = block_height_bip115
@classmethod
def get_fields(cls) -> Dict:
@ -47,6 +43,4 @@ class TxOutputType(p.MessageType):
5: ('multisig', MultisigRedeemScriptType, 0),
6: ('op_return_data', p.BytesType, 0),
7: ('decred_script_version', p.UVarintType, 0),
8: ('block_hash_bip115', p.BytesType, 0),
9: ('block_height_bip115', p.UVarintType, 0),
}

@ -79,13 +79,6 @@ def _json_to_bin_output(coin, vout):
DECIMALS = 6 if is_peercoin(coin) else 8
o.amount = int(Decimal(vout["value"]) * (10 ** DECIMALS))
o.script_pubkey = bytes.fromhex(vout["scriptPubKey"]["hex"])
if coin["bip115"] and o.script_pubkey[-1] == 0xB4:
# Verify if coin implements replay protection bip115 and script includes
# checkblockatheight opcode. 0xb4 - is op_code (OP_CHECKBLOCKATHEIGHT)
# <OP_32> <32-byte block hash> <OP_3> <3-byte block height> <OP_CHECKBLOCKATHEIGHT>
tail = o.script_pubkey[-38:]
o.block_hash = tail[1:33] # <32-byte block hash>
o.block_height = int.from_bytes(tail[34:37], "little") # <3-byte block height>
if coin["decred"]:
o.decred_script_version = vout["version"]

@ -23,7 +23,6 @@ from trezorlib import coins, tx_api
CACHE_PATH = os.path.join(os.path.dirname(__file__), "../../tests/txcache")
TxApiBitcoin = coins.tx_api["Bitcoin"]
TxApiZencash = coins.tx_api["Horizen"]
def load_tx_json(coin_name, txhash):
@ -68,18 +67,6 @@ def test_tx_api_gettx():
)
def test_tx_api_current_block():
height = TxApiZencash.current_height()
assert height > 347041
def test_tx_api_get_block_hash():
hash = TxApiZencash.get_block_hash(110000)
assert (
hash.hex() == "000000003f5d6ba1385c6cd2d4f836dfc5adf7f98834309ad67e26faef462454"
)
def test_tx_api_dash_dip2():
dash_data = coins.by_name["Dash"]

Loading…
Cancel
Save