mirror of
https://github.com/trezor/trezor-firmware.git
synced 2025-03-11 21:56:07 +00:00
all: drop Horizen and BIP-115 support [NO BACKPORT]
This commit is contained in:
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…
Reference in New Issue
Block a user