mirror of
https://github.com/trezor/trezor-firmware.git
synced 2025-03-12 14:16:06 +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,
|
"decred": false,
|
||||||
"fork_id": null,
|
"fork_id": null,
|
||||||
"force_bip143": false,
|
"force_bip143": false,
|
||||||
"bip115": false,
|
|
||||||
"default_fee_b": {
|
"default_fee_b": {
|
||||||
"Normal": 1000
|
"Normal": 1000
|
||||||
},
|
},
|
||||||
|
@ -24,7 +24,6 @@
|
|||||||
"decred": false,
|
"decred": false,
|
||||||
"fork_id": null,
|
"fork_id": null,
|
||||||
"force_bip143": false,
|
"force_bip143": false,
|
||||||
"bip115": false,
|
|
||||||
"default_fee_b": {
|
"default_fee_b": {
|
||||||
"Normal": 10
|
"Normal": 10
|
||||||
},
|
},
|
||||||
|
@ -24,7 +24,6 @@
|
|||||||
"decred": false,
|
"decred": false,
|
||||||
"fork_id": 0,
|
"fork_id": 0,
|
||||||
"force_bip143": true,
|
"force_bip143": true,
|
||||||
"bip115": false,
|
|
||||||
"default_fee_b": {
|
"default_fee_b": {
|
||||||
"Low": 10,
|
"Low": 10,
|
||||||
"Economy": 70,
|
"Economy": 70,
|
||||||
|
@ -24,7 +24,6 @@
|
|||||||
"decred": false,
|
"decred": false,
|
||||||
"fork_id": 0,
|
"fork_id": 0,
|
||||||
"force_bip143": true,
|
"force_bip143": true,
|
||||||
"bip115": false,
|
|
||||||
"default_fee_b": {
|
"default_fee_b": {
|
||||||
"Normal": 10
|
"Normal": 10
|
||||||
},
|
},
|
||||||
|
@ -24,7 +24,6 @@
|
|||||||
"decred": false,
|
"decred": false,
|
||||||
"fork_id": null,
|
"fork_id": null,
|
||||||
"force_bip143": false,
|
"force_bip143": false,
|
||||||
"bip115": false,
|
|
||||||
"default_fee_b": {
|
"default_fee_b": {
|
||||||
"Normal": 20
|
"Normal": 20
|
||||||
},
|
},
|
||||||
|
@ -24,7 +24,6 @@
|
|||||||
"decred": false,
|
"decred": false,
|
||||||
"fork_id": 79,
|
"fork_id": 79,
|
||||||
"force_bip143": true,
|
"force_bip143": true,
|
||||||
"bip115": false,
|
|
||||||
"default_fee_b": {
|
"default_fee_b": {
|
||||||
"Low": 10,
|
"Low": 10,
|
||||||
"Economy": 70,
|
"Economy": 70,
|
||||||
|
@ -24,7 +24,6 @@
|
|||||||
"decred": false,
|
"decred": false,
|
||||||
"fork_id": 79,
|
"fork_id": 79,
|
||||||
"force_bip143": true,
|
"force_bip143": true,
|
||||||
"bip115": false,
|
|
||||||
"default_fee_b": {
|
"default_fee_b": {
|
||||||
"Low": 10,
|
"Low": 10,
|
||||||
"Economy": 70,
|
"Economy": 70,
|
||||||
|
@ -24,7 +24,6 @@
|
|||||||
"decred": false,
|
"decred": false,
|
||||||
"fork_id": null,
|
"fork_id": null,
|
||||||
"force_bip143": false,
|
"force_bip143": false,
|
||||||
"bip115": false,
|
|
||||||
"default_fee_b": {
|
"default_fee_b": {
|
||||||
"Low": 10,
|
"Low": 10,
|
||||||
"Economy": 70,
|
"Economy": 70,
|
||||||
|
@ -24,7 +24,6 @@
|
|||||||
"decred": false,
|
"decred": false,
|
||||||
"fork_id": null,
|
"fork_id": null,
|
||||||
"force_bip143": false,
|
"force_bip143": false,
|
||||||
"bip115": false,
|
|
||||||
"default_fee_b": {
|
"default_fee_b": {
|
||||||
"Normal": 10
|
"Normal": 10
|
||||||
},
|
},
|
||||||
|
@ -24,7 +24,6 @@
|
|||||||
"decred": false,
|
"decred": false,
|
||||||
"fork_id": null,
|
"fork_id": null,
|
||||||
"force_bip143": false,
|
"force_bip143": false,
|
||||||
"bip115": false,
|
|
||||||
"default_fee_b": {
|
"default_fee_b": {
|
||||||
"Normal": 10
|
"Normal": 10
|
||||||
},
|
},
|
||||||
|
@ -24,7 +24,6 @@
|
|||||||
"decred": false,
|
"decred": false,
|
||||||
"fork_id": null,
|
"fork_id": null,
|
||||||
"force_bip143": false,
|
"force_bip143": false,
|
||||||
"bip115": false,
|
|
||||||
"default_fee_b": {
|
"default_fee_b": {
|
||||||
"Low": 10
|
"Low": 10
|
||||||
},
|
},
|
||||||
|
@ -24,7 +24,6 @@
|
|||||||
"decred": false,
|
"decred": false,
|
||||||
"fork_id": null,
|
"fork_id": null,
|
||||||
"force_bip143": false,
|
"force_bip143": false,
|
||||||
"bip115": false,
|
|
||||||
"default_fee_b": {
|
"default_fee_b": {
|
||||||
"Normal": 20
|
"Normal": 20
|
||||||
},
|
},
|
||||||
|
@ -24,7 +24,6 @@
|
|||||||
"decred": false,
|
"decred": false,
|
||||||
"fork_id": 42,
|
"fork_id": 42,
|
||||||
"force_bip143": false,
|
"force_bip143": false,
|
||||||
"bip115": false,
|
|
||||||
"default_fee_b": {
|
"default_fee_b": {
|
||||||
"Normal": 10
|
"Normal": 10
|
||||||
},
|
},
|
||||||
|
@ -24,7 +24,6 @@
|
|||||||
"decred": false,
|
"decred": false,
|
||||||
"fork_id": null,
|
"fork_id": null,
|
||||||
"force_bip143": false,
|
"force_bip143": false,
|
||||||
"bip115": false,
|
|
||||||
"default_fee_b": {
|
"default_fee_b": {
|
||||||
"Low": 10,
|
"Low": 10,
|
||||||
"Economy": 70,
|
"Economy": 70,
|
||||||
|
@ -24,7 +24,6 @@
|
|||||||
"decred": false,
|
"decred": false,
|
||||||
"fork_id": null,
|
"fork_id": null,
|
||||||
"force_bip143": false,
|
"force_bip143": false,
|
||||||
"bip115": false,
|
|
||||||
"default_fee_b": {
|
"default_fee_b": {
|
||||||
"Low": 1,
|
"Low": 1,
|
||||||
"Economy": 7,
|
"Economy": 7,
|
||||||
|
@ -24,7 +24,6 @@
|
|||||||
"decred": false,
|
"decred": false,
|
||||||
"fork_id": null,
|
"fork_id": null,
|
||||||
"force_bip143": false,
|
"force_bip143": false,
|
||||||
"bip115": false,
|
|
||||||
"default_fee_b": {
|
"default_fee_b": {
|
||||||
"Normal": 20
|
"Normal": 20
|
||||||
},
|
},
|
||||||
|
@ -24,7 +24,6 @@
|
|||||||
"decred": false,
|
"decred": false,
|
||||||
"fork_id": null,
|
"fork_id": null,
|
||||||
"force_bip143": false,
|
"force_bip143": false,
|
||||||
"bip115": false,
|
|
||||||
"default_fee_b": {
|
"default_fee_b": {
|
||||||
"Normal": 10
|
"Normal": 10
|
||||||
},
|
},
|
||||||
|
@ -24,7 +24,6 @@
|
|||||||
"decred": false,
|
"decred": false,
|
||||||
"fork_id": null,
|
"fork_id": null,
|
||||||
"force_bip143": false,
|
"force_bip143": false,
|
||||||
"bip115": false,
|
|
||||||
"default_fee_b": {
|
"default_fee_b": {
|
||||||
"Normal": 10
|
"Normal": 10
|
||||||
},
|
},
|
||||||
|
@ -24,7 +24,6 @@
|
|||||||
"decred": false,
|
"decred": false,
|
||||||
"fork_id": null,
|
"fork_id": null,
|
||||||
"force_bip143": false,
|
"force_bip143": false,
|
||||||
"bip115": false,
|
|
||||||
"default_fee_b": {
|
"default_fee_b": {
|
||||||
"Normal": 10
|
"Normal": 10
|
||||||
},
|
},
|
||||||
|
@ -24,7 +24,6 @@
|
|||||||
"decred": true,
|
"decred": true,
|
||||||
"fork_id": null,
|
"fork_id": null,
|
||||||
"force_bip143": false,
|
"force_bip143": false,
|
||||||
"bip115": false,
|
|
||||||
"default_fee_b": {
|
"default_fee_b": {
|
||||||
"Normal": 10
|
"Normal": 10
|
||||||
},
|
},
|
||||||
|
@ -24,7 +24,6 @@
|
|||||||
"decred": true,
|
"decred": true,
|
||||||
"fork_id": null,
|
"fork_id": null,
|
||||||
"force_bip143": false,
|
"force_bip143": false,
|
||||||
"bip115": false,
|
|
||||||
"default_fee_b": {
|
"default_fee_b": {
|
||||||
"Normal": 10
|
"Normal": 10
|
||||||
},
|
},
|
||||||
|
@ -24,7 +24,6 @@
|
|||||||
"decred": false,
|
"decred": false,
|
||||||
"fork_id": null,
|
"fork_id": null,
|
||||||
"force_bip143": false,
|
"force_bip143": false,
|
||||||
"bip115": false,
|
|
||||||
"default_fee_b": {
|
"default_fee_b": {
|
||||||
"Low": 10,
|
"Low": 10,
|
||||||
"Economy": 70,
|
"Economy": 70,
|
||||||
|
@ -24,7 +24,6 @@
|
|||||||
"decred": false,
|
"decred": false,
|
||||||
"fork_id": null,
|
"fork_id": null,
|
||||||
"force_bip143": false,
|
"force_bip143": false,
|
||||||
"bip115": false,
|
|
||||||
"default_fee_b": {
|
"default_fee_b": {
|
||||||
"Normal": 100000
|
"Normal": 100000
|
||||||
},
|
},
|
||||||
|
@ -24,7 +24,6 @@
|
|||||||
"decred": false,
|
"decred": false,
|
||||||
"fork_id": null,
|
"fork_id": null,
|
||||||
"force_bip143": false,
|
"force_bip143": false,
|
||||||
"bip115": false,
|
|
||||||
"default_fee_b": {
|
"default_fee_b": {
|
||||||
"Normal": 10
|
"Normal": 10
|
||||||
},
|
},
|
||||||
|
@ -24,7 +24,6 @@
|
|||||||
"decred": false,
|
"decred": false,
|
||||||
"fork_id": null,
|
"fork_id": null,
|
||||||
"force_bip143": false,
|
"force_bip143": false,
|
||||||
"bip115": false,
|
|
||||||
"default_fee_b": {
|
"default_fee_b": {
|
||||||
"Low": 10,
|
"Low": 10,
|
||||||
"Economy": 70,
|
"Economy": 70,
|
||||||
@ -37,8 +36,7 @@
|
|||||||
"min_address_length": 27,
|
"min_address_length": 27,
|
||||||
"max_address_length": 34,
|
"max_address_length": 34,
|
||||||
"bitcore": [],
|
"bitcore": [],
|
||||||
"blockbook": [
|
"blockbook": [],
|
||||||
],
|
|
||||||
"negative_fee": false,
|
"negative_fee": false,
|
||||||
"cooldown": 100,
|
"cooldown": 100,
|
||||||
"consensus_branch_id": null,
|
"consensus_branch_id": null,
|
||||||
|
@ -24,7 +24,6 @@
|
|||||||
"decred": false,
|
"decred": false,
|
||||||
"fork_id": null,
|
"fork_id": null,
|
||||||
"force_bip143": false,
|
"force_bip143": false,
|
||||||
"bip115": false,
|
|
||||||
"default_fee_b": {
|
"default_fee_b": {
|
||||||
"Normal": 1000
|
"Normal": 1000
|
||||||
},
|
},
|
||||||
|
@ -24,7 +24,6 @@
|
|||||||
"decred": false,
|
"decred": false,
|
||||||
"fork_id": null,
|
"fork_id": null,
|
||||||
"force_bip143": false,
|
"force_bip143": false,
|
||||||
"bip115": false,
|
|
||||||
"default_fee_b": {
|
"default_fee_b": {
|
||||||
"Normal": 1000
|
"Normal": 1000
|
||||||
},
|
},
|
||||||
|
@ -24,7 +24,6 @@
|
|||||||
"decred": false,
|
"decred": false,
|
||||||
"fork_id": null,
|
"fork_id": null,
|
||||||
"force_bip143": false,
|
"force_bip143": false,
|
||||||
"bip115": false,
|
|
||||||
"default_fee_b": {
|
"default_fee_b": {
|
||||||
"Low": 10000,
|
"Low": 10000,
|
||||||
"Economy": 20000,
|
"Economy": 20000,
|
||||||
|
@ -24,7 +24,6 @@
|
|||||||
"decred": false,
|
"decred": false,
|
||||||
"fork_id": null,
|
"fork_id": null,
|
||||||
"force_bip143": false,
|
"force_bip143": false,
|
||||||
"bip115": false,
|
|
||||||
"default_fee_b": {
|
"default_fee_b": {
|
||||||
"Normal": 1000
|
"Normal": 1000
|
||||||
},
|
},
|
||||||
|
@ -24,7 +24,6 @@
|
|||||||
"decred": false,
|
"decred": false,
|
||||||
"fork_id": null,
|
"fork_id": null,
|
||||||
"force_bip143": false,
|
"force_bip143": false,
|
||||||
"bip115": false,
|
|
||||||
"default_fee_b": {
|
"default_fee_b": {
|
||||||
"Normal": 10
|
"Normal": 10
|
||||||
},
|
},
|
||||||
|
@ -24,7 +24,6 @@
|
|||||||
"decred": false,
|
"decred": false,
|
||||||
"fork_id": null,
|
"fork_id": null,
|
||||||
"force_bip143": false,
|
"force_bip143": false,
|
||||||
"bip115": false,
|
|
||||||
"default_fee_b": {
|
"default_fee_b": {
|
||||||
"Normal": 10
|
"Normal": 10
|
||||||
},
|
},
|
||||||
|
@ -24,7 +24,6 @@
|
|||||||
"decred": false,
|
"decred": false,
|
||||||
"fork_id": null,
|
"fork_id": null,
|
||||||
"force_bip143": false,
|
"force_bip143": false,
|
||||||
"bip115": false,
|
|
||||||
"default_fee_b": {
|
"default_fee_b": {
|
||||||
"Normal": 10
|
"Normal": 10
|
||||||
},
|
},
|
||||||
|
@ -24,7 +24,6 @@
|
|||||||
"decred": false,
|
"decred": false,
|
||||||
"fork_id": null,
|
"fork_id": null,
|
||||||
"force_bip143": false,
|
"force_bip143": false,
|
||||||
"bip115": false,
|
|
||||||
"default_fee_b": {
|
"default_fee_b": {
|
||||||
"Normal": 10
|
"Normal": 10
|
||||||
},
|
},
|
||||||
|
@ -24,7 +24,6 @@
|
|||||||
"decred": false,
|
"decred": false,
|
||||||
"fork_id": null,
|
"fork_id": null,
|
||||||
"force_bip143": false,
|
"force_bip143": false,
|
||||||
"bip115": false,
|
|
||||||
"default_fee_b": {
|
"default_fee_b": {
|
||||||
"Normal": 10
|
"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,
|
"decred": false,
|
||||||
"fork_id": null,
|
"fork_id": null,
|
||||||
"force_bip143": false,
|
"force_bip143": false,
|
||||||
"bip115": false,
|
|
||||||
"default_fee_b": {
|
"default_fee_b": {
|
||||||
"Normal": 10
|
"Normal": 10
|
||||||
},
|
},
|
||||||
|
@ -24,7 +24,6 @@
|
|||||||
"decred": false,
|
"decred": false,
|
||||||
"fork_id": null,
|
"fork_id": null,
|
||||||
"force_bip143": false,
|
"force_bip143": false,
|
||||||
"bip115": false,
|
|
||||||
"default_fee_b": {
|
"default_fee_b": {
|
||||||
"Normal": 10
|
"Normal": 10
|
||||||
},
|
},
|
||||||
|
@ -24,7 +24,6 @@
|
|||||||
"decred": false,
|
"decred": false,
|
||||||
"fork_id": null,
|
"fork_id": null,
|
||||||
"force_bip143": false,
|
"force_bip143": false,
|
||||||
"bip115": false,
|
|
||||||
"default_fee_b": {
|
"default_fee_b": {
|
||||||
"Normal": 1000
|
"Normal": 1000
|
||||||
},
|
},
|
||||||
|
@ -24,7 +24,6 @@
|
|||||||
"decred": false,
|
"decred": false,
|
||||||
"fork_id": null,
|
"fork_id": null,
|
||||||
"force_bip143": false,
|
"force_bip143": false,
|
||||||
"bip115": false,
|
|
||||||
"default_fee_b": {
|
"default_fee_b": {
|
||||||
"Normal": 10
|
"Normal": 10
|
||||||
},
|
},
|
||||||
|
@ -24,7 +24,6 @@
|
|||||||
"decred": false,
|
"decred": false,
|
||||||
"fork_id": null,
|
"fork_id": null,
|
||||||
"force_bip143": false,
|
"force_bip143": false,
|
||||||
"bip115": false,
|
|
||||||
"default_fee_b": {
|
"default_fee_b": {
|
||||||
"Normal": 1000
|
"Normal": 1000
|
||||||
},
|
},
|
||||||
|
@ -24,7 +24,6 @@
|
|||||||
"decred": false,
|
"decred": false,
|
||||||
"fork_id": null,
|
"fork_id": null,
|
||||||
"force_bip143": false,
|
"force_bip143": false,
|
||||||
"bip115": false,
|
|
||||||
"default_fee_b": {
|
"default_fee_b": {
|
||||||
"Normal": 10
|
"Normal": 10
|
||||||
},
|
},
|
||||||
|
@ -24,7 +24,6 @@
|
|||||||
"decred": false,
|
"decred": false,
|
||||||
"fork_id": null,
|
"fork_id": null,
|
||||||
"force_bip143": false,
|
"force_bip143": false,
|
||||||
"bip115": false,
|
|
||||||
"default_fee_b": {
|
"default_fee_b": {
|
||||||
"Normal": 10
|
"Normal": 10
|
||||||
},
|
},
|
||||||
|
@ -24,7 +24,6 @@
|
|||||||
"decred": false,
|
"decred": false,
|
||||||
"fork_id": null,
|
"fork_id": null,
|
||||||
"force_bip143": false,
|
"force_bip143": false,
|
||||||
"bip115": false,
|
|
||||||
"default_fee_b": {
|
"default_fee_b": {
|
||||||
"Normal": 1000
|
"Normal": 1000
|
||||||
},
|
},
|
||||||
|
@ -24,7 +24,6 @@
|
|||||||
"decred": false,
|
"decred": false,
|
||||||
"fork_id": null,
|
"fork_id": null,
|
||||||
"force_bip143": false,
|
"force_bip143": false,
|
||||||
"bip115": false,
|
|
||||||
"default_fee_b": {
|
"default_fee_b": {
|
||||||
"Low": 10,
|
"Low": 10,
|
||||||
"Economy": 70,
|
"Economy": 70,
|
||||||
|
@ -24,7 +24,6 @@
|
|||||||
"decred": false,
|
"decred": false,
|
||||||
"fork_id": null,
|
"fork_id": null,
|
||||||
"force_bip143": false,
|
"force_bip143": false,
|
||||||
"bip115": false,
|
|
||||||
"default_fee_b": {
|
"default_fee_b": {
|
||||||
"Normal": 10
|
"Normal": 10
|
||||||
},
|
},
|
||||||
|
@ -24,7 +24,6 @@
|
|||||||
"decred": false,
|
"decred": false,
|
||||||
"fork_id": null,
|
"fork_id": null,
|
||||||
"force_bip143": false,
|
"force_bip143": false,
|
||||||
"bip115": false,
|
|
||||||
"default_fee_b": {
|
"default_fee_b": {
|
||||||
"Normal": 10
|
"Normal": 10
|
||||||
},
|
},
|
||||||
|
@ -24,7 +24,6 @@
|
|||||||
"decred": false,
|
"decred": false,
|
||||||
"fork_id": null,
|
"fork_id": null,
|
||||||
"force_bip143": false,
|
"force_bip143": false,
|
||||||
"bip115": false,
|
|
||||||
"default_fee_b": {
|
"default_fee_b": {
|
||||||
"Normal": 10
|
"Normal": 10
|
||||||
},
|
},
|
||||||
|
@ -24,7 +24,6 @@
|
|||||||
"decred": false,
|
"decred": false,
|
||||||
"fork_id": null,
|
"fork_id": null,
|
||||||
"force_bip143": false,
|
"force_bip143": false,
|
||||||
"bip115": false,
|
|
||||||
"default_fee_b": {
|
"default_fee_b": {
|
||||||
"Normal": 10
|
"Normal": 10
|
||||||
},
|
},
|
||||||
|
@ -24,7 +24,6 @@
|
|||||||
"decred": false,
|
"decred": false,
|
||||||
"fork_id": null,
|
"fork_id": null,
|
||||||
"force_bip143": false,
|
"force_bip143": false,
|
||||||
"bip115": false,
|
|
||||||
"default_fee_b": {
|
"default_fee_b": {
|
||||||
"Normal": 10
|
"Normal": 10
|
||||||
},
|
},
|
||||||
|
@ -24,7 +24,6 @@
|
|||||||
"decred": false,
|
"decred": false,
|
||||||
"fork_id": null,
|
"fork_id": null,
|
||||||
"force_bip143": false,
|
"force_bip143": false,
|
||||||
"bip115": false,
|
|
||||||
"default_fee_b": {
|
"default_fee_b": {
|
||||||
"Normal": 10
|
"Normal": 10
|
||||||
},
|
},
|
||||||
|
@ -24,7 +24,6 @@
|
|||||||
"decred": false,
|
"decred": false,
|
||||||
"fork_id": null,
|
"fork_id": null,
|
||||||
"force_bip143": false,
|
"force_bip143": false,
|
||||||
"bip115": false,
|
|
||||||
"default_fee_b": {
|
"default_fee_b": {
|
||||||
"Normal": 10
|
"Normal": 10
|
||||||
},
|
},
|
||||||
|
@ -24,7 +24,6 @@
|
|||||||
"decred": false,
|
"decred": false,
|
||||||
"fork_id": null,
|
"fork_id": null,
|
||||||
"force_bip143": false,
|
"force_bip143": false,
|
||||||
"bip115": false,
|
|
||||||
"default_fee_b": {
|
"default_fee_b": {
|
||||||
"Normal": 10
|
"Normal": 10
|
||||||
},
|
},
|
||||||
|
@ -24,7 +24,6 @@
|
|||||||
"decred": false,
|
"decred": false,
|
||||||
"fork_id": null,
|
"fork_id": null,
|
||||||
"force_bip143": false,
|
"force_bip143": false,
|
||||||
"bip115": false,
|
|
||||||
"default_fee_b": {
|
"default_fee_b": {
|
||||||
"Low": 410,
|
"Low": 410,
|
||||||
"Economy": 500,
|
"Economy": 500,
|
||||||
|
@ -24,7 +24,6 @@
|
|||||||
"decred": false,
|
"decred": false,
|
||||||
"fork_id": null,
|
"fork_id": null,
|
||||||
"force_bip143": false,
|
"force_bip143": false,
|
||||||
"bip115": false,
|
|
||||||
"default_fee_b": {
|
"default_fee_b": {
|
||||||
"Low": 410,
|
"Low": 410,
|
||||||
"Economy": 500,
|
"Economy": 500,
|
||||||
|
@ -24,7 +24,6 @@
|
|||||||
"decred": false,
|
"decred": false,
|
||||||
"fork_id": null,
|
"fork_id": null,
|
||||||
"force_bip143": false,
|
"force_bip143": false,
|
||||||
"bip115": false,
|
|
||||||
"default_fee_b": {
|
"default_fee_b": {
|
||||||
"Low": 10
|
"Low": 10
|
||||||
},
|
},
|
||||||
|
@ -24,7 +24,6 @@
|
|||||||
"decred": false,
|
"decred": false,
|
||||||
"fork_id": null,
|
"fork_id": null,
|
||||||
"force_bip143": false,
|
"force_bip143": false,
|
||||||
"bip115": false,
|
|
||||||
"default_fee_b": {
|
"default_fee_b": {
|
||||||
"Low": 10
|
"Low": 10
|
||||||
},
|
},
|
||||||
|
@ -24,7 +24,6 @@
|
|||||||
"decred": false,
|
"decred": false,
|
||||||
"fork_id": null,
|
"fork_id": null,
|
||||||
"force_bip143": false,
|
"force_bip143": false,
|
||||||
"bip115": false,
|
|
||||||
"default_fee_b": {
|
"default_fee_b": {
|
||||||
"Low": 1,
|
"Low": 1,
|
||||||
"Economy": 10,
|
"Economy": 10,
|
||||||
|
@ -24,7 +24,6 @@
|
|||||||
"decred": false,
|
"decred": false,
|
||||||
"fork_id": null,
|
"fork_id": null,
|
||||||
"force_bip143": false,
|
"force_bip143": false,
|
||||||
"bip115": false,
|
|
||||||
"default_fee_b": {
|
"default_fee_b": {
|
||||||
"Low": 1,
|
"Low": 1,
|
||||||
"Economy": 10,
|
"Economy": 10,
|
||||||
|
@ -24,7 +24,6 @@
|
|||||||
"decred": false,
|
"decred": false,
|
||||||
"fork_id": null,
|
"fork_id": null,
|
||||||
"force_bip143": false,
|
"force_bip143": false,
|
||||||
"bip115": false,
|
|
||||||
"default_fee_b": {
|
"default_fee_b": {
|
||||||
"Low": 10,
|
"Low": 10,
|
||||||
"Economy": 70,
|
"Economy": 70,
|
||||||
|
@ -24,7 +24,6 @@
|
|||||||
"decred": false,
|
"decred": false,
|
||||||
"fork_id": null,
|
"fork_id": null,
|
||||||
"force_bip143": false,
|
"force_bip143": false,
|
||||||
"bip115": false,
|
|
||||||
"default_fee_b": {
|
"default_fee_b": {
|
||||||
"Low": 100,
|
"Low": 100,
|
||||||
"Economy": 200,
|
"Economy": 200,
|
||||||
|
@ -24,7 +24,6 @@
|
|||||||
"decred": false,
|
"decred": false,
|
||||||
"fork_id": null,
|
"fork_id": null,
|
||||||
"force_bip143": false,
|
"force_bip143": false,
|
||||||
"bip115": false,
|
|
||||||
"default_fee_b": {
|
"default_fee_b": {
|
||||||
"Normal": 10
|
"Normal": 10
|
||||||
},
|
},
|
||||||
|
@ -40,7 +40,6 @@
|
|||||||
"https://blockbook.flurbo.xyz",
|
"https://blockbook.flurbo.xyz",
|
||||||
"https://blockbook.unobtanium.uno"
|
"https://blockbook.unobtanium.uno"
|
||||||
],
|
],
|
||||||
"bip115": false,
|
|
||||||
"negative_fee": false,
|
"negative_fee": false,
|
||||||
"cooldown": 100,
|
"cooldown": 100,
|
||||||
"consensus_branch_id": null,
|
"consensus_branch_id": null,
|
||||||
|
@ -24,7 +24,6 @@
|
|||||||
"decred": false,
|
"decred": false,
|
||||||
"fork_id": null,
|
"fork_id": null,
|
||||||
"force_bip143": false,
|
"force_bip143": false,
|
||||||
"bip115": false,
|
|
||||||
"default_fee_b": {
|
"default_fee_b": {
|
||||||
"Normal": 1000
|
"Normal": 1000
|
||||||
},
|
},
|
||||||
|
@ -24,7 +24,6 @@
|
|||||||
"decred": false,
|
"decred": false,
|
||||||
"fork_id": null,
|
"fork_id": null,
|
||||||
"force_bip143": false,
|
"force_bip143": false,
|
||||||
"bip115": false,
|
|
||||||
"default_fee_b": {
|
"default_fee_b": {
|
||||||
"Low": 1000,
|
"Low": 1000,
|
||||||
"Economy": 7000,
|
"Economy": 7000,
|
||||||
|
@ -24,7 +24,6 @@
|
|||||||
"decred": false,
|
"decred": false,
|
||||||
"fork_id": null,
|
"fork_id": null,
|
||||||
"force_bip143": false,
|
"force_bip143": false,
|
||||||
"bip115": false,
|
|
||||||
"default_fee_b": {
|
"default_fee_b": {
|
||||||
"Low": 410,
|
"Low": 410,
|
||||||
"Economy": 500,
|
"Economy": 500,
|
||||||
|
@ -24,7 +24,6 @@
|
|||||||
"decred": false,
|
"decred": false,
|
||||||
"fork_id": null,
|
"fork_id": null,
|
||||||
"force_bip143": false,
|
"force_bip143": false,
|
||||||
"bip115": false,
|
|
||||||
"default_fee_b": {
|
"default_fee_b": {
|
||||||
"Normal": 10
|
"Normal": 10
|
||||||
},
|
},
|
||||||
|
@ -24,7 +24,6 @@
|
|||||||
"decred": false,
|
"decred": false,
|
||||||
"fork_id": null,
|
"fork_id": null,
|
||||||
"force_bip143": false,
|
"force_bip143": false,
|
||||||
"bip115": false,
|
|
||||||
"default_fee_b": {
|
"default_fee_b": {
|
||||||
"Normal": 10
|
"Normal": 10
|
||||||
},
|
},
|
||||||
|
@ -24,7 +24,6 @@
|
|||||||
"decred": false,
|
"decred": false,
|
||||||
"fork_id": null,
|
"fork_id": null,
|
||||||
"force_bip143": false,
|
"force_bip143": false,
|
||||||
"bip115": false,
|
|
||||||
"default_fee_b": {
|
"default_fee_b": {
|
||||||
"Low": 1,
|
"Low": 1,
|
||||||
"Economy": 10,
|
"Economy": 10,
|
||||||
|
@ -24,7 +24,6 @@
|
|||||||
"decred": false,
|
"decred": false,
|
||||||
"fork_id": null,
|
"fork_id": null,
|
||||||
"force_bip143": false,
|
"force_bip143": false,
|
||||||
"bip115": false,
|
|
||||||
"default_fee_b": {
|
"default_fee_b": {
|
||||||
"Low": 1,
|
"Low": 1,
|
||||||
"Economy": 10,
|
"Economy": 10,
|
||||||
|
@ -24,7 +24,6 @@
|
|||||||
"decred": false,
|
"decred": false,
|
||||||
"fork_id": null,
|
"fork_id": null,
|
||||||
"force_bip143": false,
|
"force_bip143": false,
|
||||||
"bip115": false,
|
|
||||||
"default_fee_b": {
|
"default_fee_b": {
|
||||||
"Normal": 10
|
"Normal": 10
|
||||||
},
|
},
|
||||||
|
@ -24,7 +24,6 @@
|
|||||||
"decred": false,
|
"decred": false,
|
||||||
"fork_id": null,
|
"fork_id": null,
|
||||||
"force_bip143": false,
|
"force_bip143": false,
|
||||||
"bip115": false,
|
|
||||||
"default_fee_b": {
|
"default_fee_b": {
|
||||||
"Normal": 10
|
"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 uint64 amount = 8; // amount of previous transaction output (for segwit only)
|
||||||
optional uint32 decred_tree = 9; // only for Decred
|
optional uint32 decred_tree = 9; // only for Decred
|
||||||
optional uint32 decred_script_version = 10; // 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 bytes prev_block_hash_bip115 = 11; // BIP-115 support dropped
|
||||||
optional uint32 prev_block_height_bip115 = 12; // block height of previous transaction output (for bip115 implementation)
|
// optional uint32 prev_block_height_bip115 = 12; // BIP-115 support dropped
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
* Structure representing compiled transaction output
|
* Structure representing compiled transaction output
|
||||||
@ -236,8 +236,8 @@ message TxAck {
|
|||||||
optional MultisigRedeemScriptType multisig = 5; // defines multisig address; script_type must be PAYTOMULTISIG
|
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 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 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 bytes block_hash_bip115 = 8; // BIP-115 support dropped
|
||||||
optional uint32 block_height_bip115 = 9; // block height of existing block (recommended current_block - 300) (for bip115 implementation)
|
// optional uint32 block_height_bip115 = 9; // BIP-115 support dropped
|
||||||
enum OutputScriptType {
|
enum OutputScriptType {
|
||||||
PAYTOADDRESS = 0; // used for all addresses (bitcoin, p2sh, witness)
|
PAYTOADDRESS = 0; // used for all addresses (bitcoin, p2sh, witness)
|
||||||
PAYTOSCRIPTHASH = 1; // p2sh address (deprecated; use PAYTOADDRESS)
|
PAYTOSCRIPTHASH = 1; // p2sh address (deprecated; use PAYTOADDRESS)
|
||||||
|
@ -136,7 +136,6 @@ BTC_CHECKS = [
|
|||||||
check_key("decred", bool),
|
check_key("decred", bool),
|
||||||
check_key("fork_id", int, nullable=True),
|
check_key("fork_id", int, nullable=True),
|
||||||
check_key("force_bip143", bool),
|
check_key("force_bip143", bool),
|
||||||
check_key("bip115", bool),
|
|
||||||
check_key("default_fee_b", dict),
|
check_key("default_fee_b", dict),
|
||||||
check_key("dust_limit", int),
|
check_key("dust_limit", int),
|
||||||
check_key("blocktime_seconds", int),
|
check_key("blocktime_seconds", int),
|
||||||
|
@ -33,7 +33,6 @@ class CoinDef(p.MessageType):
|
|||||||
29: ("github", p.UnicodeType, 0),
|
29: ("github", p.UnicodeType, 0),
|
||||||
30: ("maintainer", p.UnicodeType, 0),
|
30: ("maintainer", p.UnicodeType, 0),
|
||||||
31: ("blocktime_seconds", p.UVarintType, 0),
|
31: ("blocktime_seconds", p.UVarintType, 0),
|
||||||
32: ("bip115", p.BoolType, 0),
|
|
||||||
33: ("cooldown", p.UVarintType, 0),
|
33: ("cooldown", p.UVarintType, 0),
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -60,7 +59,6 @@ class CoinDef(p.MessageType):
|
|||||||
decred: bool = None,
|
decred: bool = None,
|
||||||
fork_id: int = None,
|
fork_id: int = None,
|
||||||
force_bip143: bool = None,
|
force_bip143: bool = None,
|
||||||
bip115: bool = None,
|
|
||||||
dust_limit: int = None,
|
dust_limit: int = None,
|
||||||
uri_prefix: str = None,
|
uri_prefix: str = None,
|
||||||
min_address_length: int = None,
|
min_address_length: int = None,
|
||||||
@ -96,7 +94,6 @@ class CoinDef(p.MessageType):
|
|||||||
self.decred = decred
|
self.decred = decred
|
||||||
self.fork_id = fork_id
|
self.fork_id = fork_id
|
||||||
self.force_bip143 = force_bip143
|
self.force_bip143 = force_bip143
|
||||||
self.bip115 = bip115
|
|
||||||
self.dust_limit = dust_limit
|
self.dust_limit = dust_limit
|
||||||
self.uri_prefix = uri_prefix
|
self.uri_prefix = uri_prefix
|
||||||
self.min_address_length = min_address_length
|
self.min_address_length = min_address_length
|
||||||
|
@ -26,7 +26,6 @@ class CoinInfo:
|
|||||||
segwit: bool,
|
segwit: bool,
|
||||||
fork_id: int,
|
fork_id: int,
|
||||||
force_bip143: bool,
|
force_bip143: bool,
|
||||||
bip115: bool,
|
|
||||||
decred: bool,
|
decred: bool,
|
||||||
negative_fee: bool,
|
negative_fee: bool,
|
||||||
curve_name: str,
|
curve_name: str,
|
||||||
@ -51,7 +50,6 @@ class CoinInfo:
|
|||||||
self.segwit = segwit
|
self.segwit = segwit
|
||||||
self.fork_id = fork_id
|
self.fork_id = fork_id
|
||||||
self.force_bip143 = force_bip143
|
self.force_bip143 = force_bip143
|
||||||
self.bip115 = bip115
|
|
||||||
self.decred = decred
|
self.decred = decred
|
||||||
self.negative_fee = negative_fee
|
self.negative_fee = negative_fee
|
||||||
self.curve_name = curve_name
|
self.curve_name = curve_name
|
||||||
@ -104,7 +102,6 @@ def by_name(name: str) -> CoinInfo:
|
|||||||
segwit=True,
|
segwit=True,
|
||||||
fork_id=None,
|
fork_id=None,
|
||||||
force_bip143=False,
|
force_bip143=False,
|
||||||
bip115=False,
|
|
||||||
decred=False,
|
decred=False,
|
||||||
negative_fee=False,
|
negative_fee=False,
|
||||||
curve_name='secp256k1',
|
curve_name='secp256k1',
|
||||||
@ -131,7 +128,6 @@ def by_name(name: str) -> CoinInfo:
|
|||||||
segwit=True,
|
segwit=True,
|
||||||
fork_id=None,
|
fork_id=None,
|
||||||
force_bip143=False,
|
force_bip143=False,
|
||||||
bip115=False,
|
|
||||||
decred=False,
|
decred=False,
|
||||||
negative_fee=False,
|
negative_fee=False,
|
||||||
curve_name='secp256k1',
|
curve_name='secp256k1',
|
||||||
@ -158,7 +154,6 @@ def by_name(name: str) -> CoinInfo:
|
|||||||
segwit=True,
|
segwit=True,
|
||||||
fork_id=None,
|
fork_id=None,
|
||||||
force_bip143=False,
|
force_bip143=False,
|
||||||
bip115=False,
|
|
||||||
decred=False,
|
decred=False,
|
||||||
negative_fee=False,
|
negative_fee=False,
|
||||||
curve_name='secp256k1',
|
curve_name='secp256k1',
|
||||||
@ -188,7 +183,6 @@ def by_name(name: str) -> CoinInfo:
|
|||||||
segwit=True,
|
segwit=True,
|
||||||
fork_id=None,
|
fork_id=None,
|
||||||
force_bip143=False,
|
force_bip143=False,
|
||||||
bip115=False,
|
|
||||||
decred=False,
|
decred=False,
|
||||||
negative_fee=False,
|
negative_fee=False,
|
||||||
curve_name='secp256k1',
|
curve_name='secp256k1',
|
||||||
@ -215,7 +209,6 @@ def by_name(name: str) -> CoinInfo:
|
|||||||
segwit=False,
|
segwit=False,
|
||||||
fork_id=None,
|
fork_id=None,
|
||||||
force_bip143=False,
|
force_bip143=False,
|
||||||
bip115=False,
|
|
||||||
decred=False,
|
decred=False,
|
||||||
negative_fee=False,
|
negative_fee=False,
|
||||||
curve_name='secp256k1',
|
curve_name='secp256k1',
|
||||||
@ -242,7 +235,6 @@ def by_name(name: str) -> CoinInfo:
|
|||||||
segwit=True,
|
segwit=True,
|
||||||
fork_id=None,
|
fork_id=None,
|
||||||
force_bip143=False,
|
force_bip143=False,
|
||||||
bip115=False,
|
|
||||||
decred=False,
|
decred=False,
|
||||||
negative_fee=False,
|
negative_fee=False,
|
||||||
curve_name='secp256k1',
|
curve_name='secp256k1',
|
||||||
@ -269,7 +261,6 @@ def by_name(name: str) -> CoinInfo:
|
|||||||
segwit=True,
|
segwit=True,
|
||||||
fork_id=None,
|
fork_id=None,
|
||||||
force_bip143=False,
|
force_bip143=False,
|
||||||
bip115=False,
|
|
||||||
decred=False,
|
decred=False,
|
||||||
negative_fee=False,
|
negative_fee=False,
|
||||||
curve_name='secp256k1',
|
curve_name='secp256k1',
|
||||||
@ -296,7 +287,6 @@ def by_name(name: str) -> CoinInfo:
|
|||||||
segwit=False,
|
segwit=False,
|
||||||
fork_id=0,
|
fork_id=0,
|
||||||
force_bip143=True,
|
force_bip143=True,
|
||||||
bip115=False,
|
|
||||||
decred=False,
|
decred=False,
|
||||||
negative_fee=False,
|
negative_fee=False,
|
||||||
curve_name='secp256k1',
|
curve_name='secp256k1',
|
||||||
@ -323,7 +313,6 @@ def by_name(name: str) -> CoinInfo:
|
|||||||
segwit=False,
|
segwit=False,
|
||||||
fork_id=0,
|
fork_id=0,
|
||||||
force_bip143=True,
|
force_bip143=True,
|
||||||
bip115=False,
|
|
||||||
decred=False,
|
decred=False,
|
||||||
negative_fee=False,
|
negative_fee=False,
|
||||||
curve_name='secp256k1',
|
curve_name='secp256k1',
|
||||||
@ -350,7 +339,6 @@ def by_name(name: str) -> CoinInfo:
|
|||||||
segwit=True,
|
segwit=True,
|
||||||
fork_id=79,
|
fork_id=79,
|
||||||
force_bip143=True,
|
force_bip143=True,
|
||||||
bip115=False,
|
|
||||||
decred=False,
|
decred=False,
|
||||||
negative_fee=False,
|
negative_fee=False,
|
||||||
curve_name='secp256k1',
|
curve_name='secp256k1',
|
||||||
@ -377,7 +365,6 @@ def by_name(name: str) -> CoinInfo:
|
|||||||
segwit=True,
|
segwit=True,
|
||||||
fork_id=79,
|
fork_id=79,
|
||||||
force_bip143=True,
|
force_bip143=True,
|
||||||
bip115=False,
|
|
||||||
decred=False,
|
decred=False,
|
||||||
negative_fee=False,
|
negative_fee=False,
|
||||||
curve_name='secp256k1',
|
curve_name='secp256k1',
|
||||||
@ -404,7 +391,6 @@ def by_name(name: str) -> CoinInfo:
|
|||||||
segwit=False,
|
segwit=False,
|
||||||
fork_id=42,
|
fork_id=42,
|
||||||
force_bip143=False,
|
force_bip143=False,
|
||||||
bip115=False,
|
|
||||||
decred=False,
|
decred=False,
|
||||||
negative_fee=False,
|
negative_fee=False,
|
||||||
curve_name='secp256k1',
|
curve_name='secp256k1',
|
||||||
@ -431,7 +417,6 @@ def by_name(name: str) -> CoinInfo:
|
|||||||
segwit=False,
|
segwit=False,
|
||||||
fork_id=None,
|
fork_id=None,
|
||||||
force_bip143=False,
|
force_bip143=False,
|
||||||
bip115=False,
|
|
||||||
decred=False,
|
decred=False,
|
||||||
negative_fee=False,
|
negative_fee=False,
|
||||||
curve_name='secp256k1',
|
curve_name='secp256k1',
|
||||||
@ -458,7 +443,6 @@ def by_name(name: str) -> CoinInfo:
|
|||||||
segwit=True,
|
segwit=True,
|
||||||
fork_id=None,
|
fork_id=None,
|
||||||
force_bip143=False,
|
force_bip143=False,
|
||||||
bip115=False,
|
|
||||||
decred=False,
|
decred=False,
|
||||||
negative_fee=False,
|
negative_fee=False,
|
||||||
curve_name='secp256k1',
|
curve_name='secp256k1',
|
||||||
@ -485,7 +469,6 @@ def by_name(name: str) -> CoinInfo:
|
|||||||
segwit=True,
|
segwit=True,
|
||||||
fork_id=None,
|
fork_id=None,
|
||||||
force_bip143=False,
|
force_bip143=False,
|
||||||
bip115=False,
|
|
||||||
decred=False,
|
decred=False,
|
||||||
negative_fee=False,
|
negative_fee=False,
|
||||||
curve_name='secp256k1',
|
curve_name='secp256k1',
|
||||||
@ -512,7 +495,6 @@ def by_name(name: str) -> CoinInfo:
|
|||||||
segwit=False,
|
segwit=False,
|
||||||
fork_id=None,
|
fork_id=None,
|
||||||
force_bip143=False,
|
force_bip143=False,
|
||||||
bip115=False,
|
|
||||||
decred=False,
|
decred=False,
|
||||||
negative_fee=False,
|
negative_fee=False,
|
||||||
curve_name='secp256k1',
|
curve_name='secp256k1',
|
||||||
@ -539,7 +521,6 @@ def by_name(name: str) -> CoinInfo:
|
|||||||
segwit=False,
|
segwit=False,
|
||||||
fork_id=None,
|
fork_id=None,
|
||||||
force_bip143=False,
|
force_bip143=False,
|
||||||
bip115=False,
|
|
||||||
decred=False,
|
decred=False,
|
||||||
negative_fee=False,
|
negative_fee=False,
|
||||||
curve_name='secp256k1',
|
curve_name='secp256k1',
|
||||||
@ -566,7 +547,6 @@ def by_name(name: str) -> CoinInfo:
|
|||||||
segwit=False,
|
segwit=False,
|
||||||
fork_id=None,
|
fork_id=None,
|
||||||
force_bip143=False,
|
force_bip143=False,
|
||||||
bip115=False,
|
|
||||||
decred=False,
|
decred=False,
|
||||||
negative_fee=False,
|
negative_fee=False,
|
||||||
curve_name='secp256k1',
|
curve_name='secp256k1',
|
||||||
@ -593,7 +573,6 @@ def by_name(name: str) -> CoinInfo:
|
|||||||
segwit=False,
|
segwit=False,
|
||||||
fork_id=None,
|
fork_id=None,
|
||||||
force_bip143=False,
|
force_bip143=False,
|
||||||
bip115=False,
|
|
||||||
decred=False,
|
decred=False,
|
||||||
negative_fee=False,
|
negative_fee=False,
|
||||||
curve_name='secp256k1',
|
curve_name='secp256k1',
|
||||||
@ -620,7 +599,6 @@ def by_name(name: str) -> CoinInfo:
|
|||||||
segwit=False,
|
segwit=False,
|
||||||
fork_id=None,
|
fork_id=None,
|
||||||
force_bip143=False,
|
force_bip143=False,
|
||||||
bip115=False,
|
|
||||||
decred=True,
|
decred=True,
|
||||||
negative_fee=False,
|
negative_fee=False,
|
||||||
curve_name='secp256k1-decred',
|
curve_name='secp256k1-decred',
|
||||||
@ -647,7 +625,6 @@ def by_name(name: str) -> CoinInfo:
|
|||||||
segwit=False,
|
segwit=False,
|
||||||
fork_id=None,
|
fork_id=None,
|
||||||
force_bip143=False,
|
force_bip143=False,
|
||||||
bip115=False,
|
|
||||||
decred=True,
|
decred=True,
|
||||||
negative_fee=False,
|
negative_fee=False,
|
||||||
curve_name='secp256k1-decred',
|
curve_name='secp256k1-decred',
|
||||||
@ -674,7 +651,6 @@ def by_name(name: str) -> CoinInfo:
|
|||||||
segwit=True,
|
segwit=True,
|
||||||
fork_id=None,
|
fork_id=None,
|
||||||
force_bip143=False,
|
force_bip143=False,
|
||||||
bip115=False,
|
|
||||||
decred=False,
|
decred=False,
|
||||||
negative_fee=False,
|
negative_fee=False,
|
||||||
curve_name='secp256k1',
|
curve_name='secp256k1',
|
||||||
@ -701,7 +677,6 @@ def by_name(name: str) -> CoinInfo:
|
|||||||
segwit=False,
|
segwit=False,
|
||||||
fork_id=None,
|
fork_id=None,
|
||||||
force_bip143=False,
|
force_bip143=False,
|
||||||
bip115=False,
|
|
||||||
decred=False,
|
decred=False,
|
||||||
negative_fee=False,
|
negative_fee=False,
|
||||||
curve_name='secp256k1',
|
curve_name='secp256k1',
|
||||||
@ -728,7 +703,6 @@ def by_name(name: str) -> CoinInfo:
|
|||||||
segwit=True,
|
segwit=True,
|
||||||
fork_id=None,
|
fork_id=None,
|
||||||
force_bip143=False,
|
force_bip143=False,
|
||||||
bip115=False,
|
|
||||||
decred=False,
|
decred=False,
|
||||||
negative_fee=False,
|
negative_fee=False,
|
||||||
curve_name='secp256k1',
|
curve_name='secp256k1',
|
||||||
@ -755,7 +729,6 @@ def by_name(name: str) -> CoinInfo:
|
|||||||
segwit=True,
|
segwit=True,
|
||||||
fork_id=None,
|
fork_id=None,
|
||||||
force_bip143=False,
|
force_bip143=False,
|
||||||
bip115=False,
|
|
||||||
decred=False,
|
decred=False,
|
||||||
negative_fee=False,
|
negative_fee=False,
|
||||||
curve_name='secp256k1',
|
curve_name='secp256k1',
|
||||||
@ -782,7 +755,6 @@ def by_name(name: str) -> CoinInfo:
|
|||||||
segwit=True,
|
segwit=True,
|
||||||
fork_id=None,
|
fork_id=None,
|
||||||
force_bip143=False,
|
force_bip143=False,
|
||||||
bip115=False,
|
|
||||||
decred=False,
|
decred=False,
|
||||||
negative_fee=False,
|
negative_fee=False,
|
||||||
curve_name='secp256k1',
|
curve_name='secp256k1',
|
||||||
@ -809,7 +781,6 @@ def by_name(name: str) -> CoinInfo:
|
|||||||
segwit=True,
|
segwit=True,
|
||||||
fork_id=None,
|
fork_id=None,
|
||||||
force_bip143=False,
|
force_bip143=False,
|
||||||
bip115=False,
|
|
||||||
decred=False,
|
decred=False,
|
||||||
negative_fee=False,
|
negative_fee=False,
|
||||||
curve_name='secp256k1',
|
curve_name='secp256k1',
|
||||||
@ -836,7 +807,6 @@ def by_name(name: str) -> CoinInfo:
|
|||||||
segwit=False,
|
segwit=False,
|
||||||
fork_id=None,
|
fork_id=None,
|
||||||
force_bip143=False,
|
force_bip143=False,
|
||||||
bip115=False,
|
|
||||||
decred=False,
|
decred=False,
|
||||||
negative_fee=False,
|
negative_fee=False,
|
||||||
curve_name='secp256k1',
|
curve_name='secp256k1',
|
||||||
@ -863,7 +833,6 @@ def by_name(name: str) -> CoinInfo:
|
|||||||
segwit=True,
|
segwit=True,
|
||||||
fork_id=None,
|
fork_id=None,
|
||||||
force_bip143=False,
|
force_bip143=False,
|
||||||
bip115=False,
|
|
||||||
decred=False,
|
decred=False,
|
||||||
negative_fee=False,
|
negative_fee=False,
|
||||||
curve_name='secp256k1',
|
curve_name='secp256k1',
|
||||||
@ -890,7 +859,6 @@ def by_name(name: str) -> CoinInfo:
|
|||||||
segwit=True,
|
segwit=True,
|
||||||
fork_id=None,
|
fork_id=None,
|
||||||
force_bip143=False,
|
force_bip143=False,
|
||||||
bip115=False,
|
|
||||||
decred=False,
|
decred=False,
|
||||||
negative_fee=False,
|
negative_fee=False,
|
||||||
curve_name='secp256k1-groestl',
|
curve_name='secp256k1-groestl',
|
||||||
@ -917,7 +885,6 @@ def by_name(name: str) -> CoinInfo:
|
|||||||
segwit=True,
|
segwit=True,
|
||||||
fork_id=None,
|
fork_id=None,
|
||||||
force_bip143=False,
|
force_bip143=False,
|
||||||
bip115=False,
|
|
||||||
decred=False,
|
decred=False,
|
||||||
negative_fee=False,
|
negative_fee=False,
|
||||||
curve_name='secp256k1-groestl',
|
curve_name='secp256k1-groestl',
|
||||||
@ -944,7 +911,6 @@ def by_name(name: str) -> CoinInfo:
|
|||||||
segwit=False,
|
segwit=False,
|
||||||
fork_id=None,
|
fork_id=None,
|
||||||
force_bip143=False,
|
force_bip143=False,
|
||||||
bip115=False,
|
|
||||||
decred=False,
|
decred=False,
|
||||||
negative_fee=False,
|
negative_fee=False,
|
||||||
curve_name='secp256k1',
|
curve_name='secp256k1',
|
||||||
@ -971,34 +937,6 @@ def by_name(name: str) -> CoinInfo:
|
|||||||
segwit=False,
|
segwit=False,
|
||||||
fork_id=None,
|
fork_id=None,
|
||||||
force_bip143=False,
|
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,
|
decred=False,
|
||||||
negative_fee=False,
|
negative_fee=False,
|
||||||
curve_name='secp256k1',
|
curve_name='secp256k1',
|
||||||
@ -1025,7 +963,6 @@ def by_name(name: str) -> CoinInfo:
|
|||||||
segwit=False,
|
segwit=False,
|
||||||
fork_id=None,
|
fork_id=None,
|
||||||
force_bip143=False,
|
force_bip143=False,
|
||||||
bip115=False,
|
|
||||||
decred=False,
|
decred=False,
|
||||||
negative_fee=True,
|
negative_fee=True,
|
||||||
curve_name='secp256k1',
|
curve_name='secp256k1',
|
||||||
@ -1052,7 +989,6 @@ def by_name(name: str) -> CoinInfo:
|
|||||||
segwit=False,
|
segwit=False,
|
||||||
fork_id=None,
|
fork_id=None,
|
||||||
force_bip143=False,
|
force_bip143=False,
|
||||||
bip115=False,
|
|
||||||
decred=False,
|
decred=False,
|
||||||
negative_fee=False,
|
negative_fee=False,
|
||||||
curve_name='secp256k1',
|
curve_name='secp256k1',
|
||||||
@ -1079,7 +1015,6 @@ def by_name(name: str) -> CoinInfo:
|
|||||||
segwit=True,
|
segwit=True,
|
||||||
fork_id=None,
|
fork_id=None,
|
||||||
force_bip143=False,
|
force_bip143=False,
|
||||||
bip115=False,
|
|
||||||
decred=False,
|
decred=False,
|
||||||
negative_fee=False,
|
negative_fee=False,
|
||||||
curve_name='secp256k1',
|
curve_name='secp256k1',
|
||||||
@ -1106,7 +1041,6 @@ def by_name(name: str) -> CoinInfo:
|
|||||||
segwit=True,
|
segwit=True,
|
||||||
fork_id=None,
|
fork_id=None,
|
||||||
force_bip143=False,
|
force_bip143=False,
|
||||||
bip115=False,
|
|
||||||
decred=False,
|
decred=False,
|
||||||
negative_fee=False,
|
negative_fee=False,
|
||||||
curve_name='secp256k1',
|
curve_name='secp256k1',
|
||||||
@ -1133,7 +1067,6 @@ def by_name(name: str) -> CoinInfo:
|
|||||||
segwit=False,
|
segwit=False,
|
||||||
fork_id=None,
|
fork_id=None,
|
||||||
force_bip143=False,
|
force_bip143=False,
|
||||||
bip115=False,
|
|
||||||
decred=False,
|
decred=False,
|
||||||
negative_fee=False,
|
negative_fee=False,
|
||||||
curve_name='secp256k1',
|
curve_name='secp256k1',
|
||||||
@ -1160,7 +1093,6 @@ def by_name(name: str) -> CoinInfo:
|
|||||||
segwit=True,
|
segwit=True,
|
||||||
fork_id=None,
|
fork_id=None,
|
||||||
force_bip143=False,
|
force_bip143=False,
|
||||||
bip115=False,
|
|
||||||
decred=False,
|
decred=False,
|
||||||
negative_fee=False,
|
negative_fee=False,
|
||||||
curve_name='secp256k1',
|
curve_name='secp256k1',
|
||||||
@ -1187,7 +1119,6 @@ def by_name(name: str) -> CoinInfo:
|
|||||||
segwit=False,
|
segwit=False,
|
||||||
fork_id=None,
|
fork_id=None,
|
||||||
force_bip143=False,
|
force_bip143=False,
|
||||||
bip115=False,
|
|
||||||
decred=False,
|
decred=False,
|
||||||
negative_fee=False,
|
negative_fee=False,
|
||||||
curve_name='secp256k1',
|
curve_name='secp256k1',
|
||||||
@ -1214,7 +1145,6 @@ def by_name(name: str) -> CoinInfo:
|
|||||||
segwit=True,
|
segwit=True,
|
||||||
fork_id=None,
|
fork_id=None,
|
||||||
force_bip143=False,
|
force_bip143=False,
|
||||||
bip115=False,
|
|
||||||
decred=False,
|
decred=False,
|
||||||
negative_fee=False,
|
negative_fee=False,
|
||||||
curve_name='secp256k1',
|
curve_name='secp256k1',
|
||||||
@ -1241,7 +1171,6 @@ def by_name(name: str) -> CoinInfo:
|
|||||||
segwit=False,
|
segwit=False,
|
||||||
fork_id=None,
|
fork_id=None,
|
||||||
force_bip143=False,
|
force_bip143=False,
|
||||||
bip115=False,
|
|
||||||
decred=False,
|
decred=False,
|
||||||
negative_fee=False,
|
negative_fee=False,
|
||||||
curve_name='secp256k1',
|
curve_name='secp256k1',
|
||||||
@ -1268,7 +1197,6 @@ def by_name(name: str) -> CoinInfo:
|
|||||||
segwit=False,
|
segwit=False,
|
||||||
fork_id=None,
|
fork_id=None,
|
||||||
force_bip143=False,
|
force_bip143=False,
|
||||||
bip115=False,
|
|
||||||
decred=False,
|
decred=False,
|
||||||
negative_fee=False,
|
negative_fee=False,
|
||||||
curve_name='secp256k1',
|
curve_name='secp256k1',
|
||||||
@ -1295,7 +1223,6 @@ def by_name(name: str) -> CoinInfo:
|
|||||||
segwit=False,
|
segwit=False,
|
||||||
fork_id=None,
|
fork_id=None,
|
||||||
force_bip143=False,
|
force_bip143=False,
|
||||||
bip115=False,
|
|
||||||
decred=False,
|
decred=False,
|
||||||
negative_fee=False,
|
negative_fee=False,
|
||||||
curve_name='secp256k1',
|
curve_name='secp256k1',
|
||||||
@ -1322,7 +1249,6 @@ def by_name(name: str) -> CoinInfo:
|
|||||||
segwit=True,
|
segwit=True,
|
||||||
fork_id=None,
|
fork_id=None,
|
||||||
force_bip143=False,
|
force_bip143=False,
|
||||||
bip115=False,
|
|
||||||
decred=False,
|
decred=False,
|
||||||
negative_fee=False,
|
negative_fee=False,
|
||||||
curve_name='secp256k1',
|
curve_name='secp256k1',
|
||||||
@ -1349,7 +1275,6 @@ def by_name(name: str) -> CoinInfo:
|
|||||||
segwit=True,
|
segwit=True,
|
||||||
fork_id=None,
|
fork_id=None,
|
||||||
force_bip143=False,
|
force_bip143=False,
|
||||||
bip115=False,
|
|
||||||
decred=False,
|
decred=False,
|
||||||
negative_fee=False,
|
negative_fee=False,
|
||||||
curve_name='secp256k1',
|
curve_name='secp256k1',
|
||||||
@ -1376,7 +1301,6 @@ def by_name(name: str) -> CoinInfo:
|
|||||||
segwit=True,
|
segwit=True,
|
||||||
fork_id=None,
|
fork_id=None,
|
||||||
force_bip143=False,
|
force_bip143=False,
|
||||||
bip115=False,
|
|
||||||
decred=False,
|
decred=False,
|
||||||
negative_fee=False,
|
negative_fee=False,
|
||||||
curve_name='secp256k1',
|
curve_name='secp256k1',
|
||||||
@ -1403,7 +1327,6 @@ def by_name(name: str) -> CoinInfo:
|
|||||||
segwit=True,
|
segwit=True,
|
||||||
fork_id=None,
|
fork_id=None,
|
||||||
force_bip143=False,
|
force_bip143=False,
|
||||||
bip115=False,
|
|
||||||
decred=False,
|
decred=False,
|
||||||
negative_fee=False,
|
negative_fee=False,
|
||||||
curve_name='secp256k1',
|
curve_name='secp256k1',
|
||||||
@ -1430,7 +1353,6 @@ def by_name(name: str) -> CoinInfo:
|
|||||||
segwit=False,
|
segwit=False,
|
||||||
fork_id=None,
|
fork_id=None,
|
||||||
force_bip143=False,
|
force_bip143=False,
|
||||||
bip115=False,
|
|
||||||
decred=False,
|
decred=False,
|
||||||
negative_fee=False,
|
negative_fee=False,
|
||||||
curve_name='secp256k1',
|
curve_name='secp256k1',
|
||||||
@ -1457,7 +1379,6 @@ def by_name(name: str) -> CoinInfo:
|
|||||||
segwit=False,
|
segwit=False,
|
||||||
fork_id=None,
|
fork_id=None,
|
||||||
force_bip143=False,
|
force_bip143=False,
|
||||||
bip115=False,
|
|
||||||
decred=False,
|
decred=False,
|
||||||
negative_fee=False,
|
negative_fee=False,
|
||||||
curve_name='secp256k1',
|
curve_name='secp256k1',
|
||||||
@ -1484,7 +1405,6 @@ def by_name(name: str) -> CoinInfo:
|
|||||||
segwit=False,
|
segwit=False,
|
||||||
fork_id=None,
|
fork_id=None,
|
||||||
force_bip143=False,
|
force_bip143=False,
|
||||||
bip115=False,
|
|
||||||
decred=False,
|
decred=False,
|
||||||
negative_fee=False,
|
negative_fee=False,
|
||||||
curve_name='secp256k1',
|
curve_name='secp256k1',
|
||||||
@ -1511,7 +1431,6 @@ def by_name(name: str) -> CoinInfo:
|
|||||||
segwit=True,
|
segwit=True,
|
||||||
fork_id=None,
|
fork_id=None,
|
||||||
force_bip143=False,
|
force_bip143=False,
|
||||||
bip115=False,
|
|
||||||
decred=False,
|
decred=False,
|
||||||
negative_fee=False,
|
negative_fee=False,
|
||||||
curve_name='secp256k1',
|
curve_name='secp256k1',
|
||||||
@ -1538,7 +1457,6 @@ def by_name(name: str) -> CoinInfo:
|
|||||||
segwit=True,
|
segwit=True,
|
||||||
fork_id=None,
|
fork_id=None,
|
||||||
force_bip143=False,
|
force_bip143=False,
|
||||||
bip115=False,
|
|
||||||
decred=False,
|
decred=False,
|
||||||
negative_fee=False,
|
negative_fee=False,
|
||||||
curve_name='secp256k1',
|
curve_name='secp256k1',
|
||||||
@ -1565,7 +1483,6 @@ def by_name(name: str) -> CoinInfo:
|
|||||||
segwit=False,
|
segwit=False,
|
||||||
fork_id=None,
|
fork_id=None,
|
||||||
force_bip143=False,
|
force_bip143=False,
|
||||||
bip115=False,
|
|
||||||
decred=False,
|
decred=False,
|
||||||
negative_fee=False,
|
negative_fee=False,
|
||||||
curve_name='secp256k1',
|
curve_name='secp256k1',
|
||||||
@ -1592,7 +1509,6 @@ def by_name(name: str) -> CoinInfo:
|
|||||||
segwit=False,
|
segwit=False,
|
||||||
fork_id=None,
|
fork_id=None,
|
||||||
force_bip143=False,
|
force_bip143=False,
|
||||||
bip115=False,
|
|
||||||
decred=False,
|
decred=False,
|
||||||
negative_fee=False,
|
negative_fee=False,
|
||||||
curve_name='secp256k1',
|
curve_name='secp256k1',
|
||||||
@ -1619,7 +1535,6 @@ def by_name(name: str) -> CoinInfo:
|
|||||||
segwit=False,
|
segwit=False,
|
||||||
fork_id=None,
|
fork_id=None,
|
||||||
force_bip143=False,
|
force_bip143=False,
|
||||||
bip115=False,
|
|
||||||
decred=False,
|
decred=False,
|
||||||
negative_fee=False,
|
negative_fee=False,
|
||||||
curve_name='secp256k1-smart',
|
curve_name='secp256k1-smart',
|
||||||
@ -1646,7 +1561,6 @@ def by_name(name: str) -> CoinInfo:
|
|||||||
segwit=False,
|
segwit=False,
|
||||||
fork_id=None,
|
fork_id=None,
|
||||||
force_bip143=False,
|
force_bip143=False,
|
||||||
bip115=False,
|
|
||||||
decred=False,
|
decred=False,
|
||||||
negative_fee=False,
|
negative_fee=False,
|
||||||
curve_name='secp256k1-smart',
|
curve_name='secp256k1-smart',
|
||||||
@ -1673,7 +1587,6 @@ def by_name(name: str) -> CoinInfo:
|
|||||||
segwit=True,
|
segwit=True,
|
||||||
fork_id=None,
|
fork_id=None,
|
||||||
force_bip143=False,
|
force_bip143=False,
|
||||||
bip115=False,
|
|
||||||
decred=False,
|
decred=False,
|
||||||
negative_fee=False,
|
negative_fee=False,
|
||||||
curve_name='secp256k1',
|
curve_name='secp256k1',
|
||||||
@ -1700,7 +1613,6 @@ def by_name(name: str) -> CoinInfo:
|
|||||||
segwit=True,
|
segwit=True,
|
||||||
fork_id=None,
|
fork_id=None,
|
||||||
force_bip143=False,
|
force_bip143=False,
|
||||||
bip115=False,
|
|
||||||
decred=False,
|
decred=False,
|
||||||
negative_fee=False,
|
negative_fee=False,
|
||||||
curve_name='secp256k1',
|
curve_name='secp256k1',
|
||||||
@ -1727,7 +1639,6 @@ def by_name(name: str) -> CoinInfo:
|
|||||||
segwit=False,
|
segwit=False,
|
||||||
fork_id=None,
|
fork_id=None,
|
||||||
force_bip143=False,
|
force_bip143=False,
|
||||||
bip115=False,
|
|
||||||
decred=False,
|
decred=False,
|
||||||
negative_fee=False,
|
negative_fee=False,
|
||||||
curve_name='secp256k1',
|
curve_name='secp256k1',
|
||||||
@ -1754,7 +1665,6 @@ def by_name(name: str) -> CoinInfo:
|
|||||||
segwit=True,
|
segwit=True,
|
||||||
fork_id=None,
|
fork_id=None,
|
||||||
force_bip143=False,
|
force_bip143=False,
|
||||||
bip115=False,
|
|
||||||
decred=False,
|
decred=False,
|
||||||
negative_fee=False,
|
negative_fee=False,
|
||||||
curve_name='secp256k1',
|
curve_name='secp256k1',
|
||||||
@ -1781,7 +1691,6 @@ def by_name(name: str) -> CoinInfo:
|
|||||||
segwit=True,
|
segwit=True,
|
||||||
fork_id=None,
|
fork_id=None,
|
||||||
force_bip143=False,
|
force_bip143=False,
|
||||||
bip115=False,
|
|
||||||
decred=False,
|
decred=False,
|
||||||
negative_fee=False,
|
negative_fee=False,
|
||||||
curve_name='secp256k1',
|
curve_name='secp256k1',
|
||||||
@ -1808,7 +1717,6 @@ def by_name(name: str) -> CoinInfo:
|
|||||||
segwit=True,
|
segwit=True,
|
||||||
fork_id=None,
|
fork_id=None,
|
||||||
force_bip143=False,
|
force_bip143=False,
|
||||||
bip115=False,
|
|
||||||
decred=False,
|
decred=False,
|
||||||
negative_fee=False,
|
negative_fee=False,
|
||||||
curve_name='secp256k1',
|
curve_name='secp256k1',
|
||||||
@ -1835,7 +1743,6 @@ def by_name(name: str) -> CoinInfo:
|
|||||||
segwit=False,
|
segwit=False,
|
||||||
fork_id=None,
|
fork_id=None,
|
||||||
force_bip143=False,
|
force_bip143=False,
|
||||||
bip115=False,
|
|
||||||
decred=False,
|
decred=False,
|
||||||
negative_fee=False,
|
negative_fee=False,
|
||||||
curve_name='secp256k1',
|
curve_name='secp256k1',
|
||||||
@ -1862,7 +1769,6 @@ def by_name(name: str) -> CoinInfo:
|
|||||||
segwit=False,
|
segwit=False,
|
||||||
fork_id=None,
|
fork_id=None,
|
||||||
force_bip143=False,
|
force_bip143=False,
|
||||||
bip115=False,
|
|
||||||
decred=False,
|
decred=False,
|
||||||
negative_fee=False,
|
negative_fee=False,
|
||||||
curve_name='secp256k1',
|
curve_name='secp256k1',
|
||||||
@ -1889,7 +1795,6 @@ def by_name(name: str) -> CoinInfo:
|
|||||||
segwit=False,
|
segwit=False,
|
||||||
fork_id=None,
|
fork_id=None,
|
||||||
force_bip143=False,
|
force_bip143=False,
|
||||||
bip115=False,
|
|
||||||
decred=False,
|
decred=False,
|
||||||
negative_fee=False,
|
negative_fee=False,
|
||||||
curve_name='secp256k1',
|
curve_name='secp256k1',
|
||||||
@ -1916,7 +1821,6 @@ def by_name(name: str) -> CoinInfo:
|
|||||||
segwit=False,
|
segwit=False,
|
||||||
fork_id=None,
|
fork_id=None,
|
||||||
force_bip143=False,
|
force_bip143=False,
|
||||||
bip115=False,
|
|
||||||
decred=False,
|
decred=False,
|
||||||
negative_fee=False,
|
negative_fee=False,
|
||||||
curve_name='secp256k1',
|
curve_name='secp256k1',
|
||||||
@ -1943,7 +1847,6 @@ def by_name(name: str) -> CoinInfo:
|
|||||||
segwit=False,
|
segwit=False,
|
||||||
fork_id=None,
|
fork_id=None,
|
||||||
force_bip143=False,
|
force_bip143=False,
|
||||||
bip115=False,
|
|
||||||
decred=False,
|
decred=False,
|
||||||
negative_fee=False,
|
negative_fee=False,
|
||||||
curve_name='secp256k1',
|
curve_name='secp256k1',
|
||||||
@ -1970,7 +1873,6 @@ def by_name(name: str) -> CoinInfo:
|
|||||||
segwit=False,
|
segwit=False,
|
||||||
fork_id=None,
|
fork_id=None,
|
||||||
force_bip143=False,
|
force_bip143=False,
|
||||||
bip115=False,
|
|
||||||
decred=False,
|
decred=False,
|
||||||
negative_fee=False,
|
negative_fee=False,
|
||||||
curve_name='secp256k1',
|
curve_name='secp256k1',
|
||||||
|
@ -26,7 +26,6 @@ class CoinInfo:
|
|||||||
segwit: bool,
|
segwit: bool,
|
||||||
fork_id: int,
|
fork_id: int,
|
||||||
force_bip143: bool,
|
force_bip143: bool,
|
||||||
bip115: bool,
|
|
||||||
decred: bool,
|
decred: bool,
|
||||||
negative_fee: bool,
|
negative_fee: bool,
|
||||||
curve_name: str,
|
curve_name: str,
|
||||||
@ -51,7 +50,6 @@ class CoinInfo:
|
|||||||
self.segwit = segwit
|
self.segwit = segwit
|
||||||
self.fork_id = fork_id
|
self.fork_id = fork_id
|
||||||
self.force_bip143 = force_bip143
|
self.force_bip143 = force_bip143
|
||||||
self.bip115 = bip115
|
|
||||||
self.decred = decred
|
self.decred = decred
|
||||||
self.negative_fee = negative_fee
|
self.negative_fee = negative_fee
|
||||||
self.curve_name = curve_name
|
self.curve_name = curve_name
|
||||||
@ -112,7 +110,6 @@ ATTRIBUTES = (
|
|||||||
("segwit", bool),
|
("segwit", bool),
|
||||||
("fork_id", black_repr),
|
("fork_id", black_repr),
|
||||||
("force_bip143", bool),
|
("force_bip143", bool),
|
||||||
("bip115", bool),
|
|
||||||
("decred", bool),
|
("decred", bool),
|
||||||
("negative_fee", bool),
|
("negative_fee", bool),
|
||||||
("curve_name", lambda r: repr(r.replace("_", "-"))),
|
("curve_name", lambda r: repr(r.replace("_", "-"))),
|
||||||
|
@ -223,11 +223,6 @@ def sanitize_tx_input(tx: TransactionType, coin: CoinInfo) -> TxInputType:
|
|||||||
FailureType.DataError,
|
FailureType.DataError,
|
||||||
"Decred details provided but Decred coin not specified.",
|
"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
|
return txi
|
||||||
|
|
||||||
|
|
||||||
|
@ -4,12 +4,7 @@ from trezor.messages.MultisigRedeemScriptType import MultisigRedeemScriptType
|
|||||||
from apps.common.coininfo import CoinInfo
|
from apps.common.coininfo import CoinInfo
|
||||||
from apps.common.writers import empty_bytearray
|
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.multisig import multisig_get_pubkey_count, multisig_get_pubkeys
|
||||||
from apps.wallet.sign_tx.writers import (
|
from apps.wallet.sign_tx.writers import write_bytes, write_op_push, write_varint
|
||||||
write_bytes,
|
|
||||||
write_op_push,
|
|
||||||
write_scriptnum,
|
|
||||||
write_varint,
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
class ScriptsError(ValueError):
|
class ScriptsError(ValueError):
|
||||||
@ -53,20 +48,6 @@ def output_script_p2sh(scripthash: bytes) -> bytearray:
|
|||||||
return s
|
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
|
# SegWit: Native P2WPKH or P2WSH
|
||||||
# ===
|
# ===
|
||||||
# https://github.com/bitcoin/bips/blob/master/bip-0141.mediawiki#p2wpkh
|
# 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(
|
txi_sign.script_sig = scripts.output_script_p2pkh(
|
||||||
addresses.ecdsa_hash_pubkey(key_sign_pub, coin)
|
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:
|
else:
|
||||||
raise SigningError(
|
raise SigningError(
|
||||||
FailureType.ProcessError, "Unknown transaction type"
|
FailureType.ProcessError, "Unknown transaction type"
|
||||||
@ -744,20 +739,12 @@ def output_derive_script(
|
|||||||
# p2pkh
|
# p2pkh
|
||||||
pubkeyhash = address_type.strip(coin.address_type, raw_address)
|
pubkeyhash = address_type.strip(coin.address_type, raw_address)
|
||||||
script = scripts.output_script_p2pkh(pubkeyhash)
|
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
|
return script
|
||||||
|
|
||||||
elif address_type.check(coin.address_type_p2sh, raw_address):
|
elif address_type.check(coin.address_type_p2sh, raw_address):
|
||||||
# p2sh
|
# p2sh
|
||||||
scripthash = address_type.strip(coin.address_type_p2sh, raw_address)
|
scripthash = address_type.strip(coin.address_type_p2sh, raw_address)
|
||||||
script = scripts.output_script_p2sh(scripthash)
|
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
|
return script
|
||||||
|
|
||||||
raise SigningError(FailureType.DataError, "Invalid address type")
|
raise SigningError(FailureType.DataError, "Invalid address type")
|
||||||
|
@ -95,28 +95,6 @@ def write_varint(w, n: int):
|
|||||||
w.append((n >> 24) & 0xFF)
|
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:
|
def get_tx_hash(w, double: bool = False, reverse: bool = False) -> bytes:
|
||||||
d = w.get_digest()
|
d = w.get_digest()
|
||||||
if double:
|
if double:
|
||||||
|
@ -27,8 +27,6 @@ class TxInputType(p.MessageType):
|
|||||||
amount: int = None,
|
amount: int = None,
|
||||||
decred_tree: int = None,
|
decred_tree: int = None,
|
||||||
decred_script_version: int = None,
|
decred_script_version: int = None,
|
||||||
prev_block_hash_bip115: bytes = None,
|
|
||||||
prev_block_height_bip115: int = None,
|
|
||||||
) -> None:
|
) -> None:
|
||||||
self.address_n = address_n if address_n is not None else []
|
self.address_n = address_n if address_n is not None else []
|
||||||
self.prev_hash = prev_hash
|
self.prev_hash = prev_hash
|
||||||
@ -40,8 +38,6 @@ class TxInputType(p.MessageType):
|
|||||||
self.amount = amount
|
self.amount = amount
|
||||||
self.decred_tree = decred_tree
|
self.decred_tree = decred_tree
|
||||||
self.decred_script_version = decred_script_version
|
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
|
@classmethod
|
||||||
def get_fields(cls) -> Dict:
|
def get_fields(cls) -> Dict:
|
||||||
@ -56,6 +52,4 @@ class TxInputType(p.MessageType):
|
|||||||
8: ('amount', p.UVarintType, 0),
|
8: ('amount', p.UVarintType, 0),
|
||||||
9: ('decred_tree', p.UVarintType, 0),
|
9: ('decred_tree', p.UVarintType, 0),
|
||||||
10: ('decred_script_version', 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,
|
multisig: MultisigRedeemScriptType = None,
|
||||||
op_return_data: bytes = None,
|
op_return_data: bytes = None,
|
||||||
decred_script_version: int = None,
|
decred_script_version: int = None,
|
||||||
block_hash_bip115: bytes = None,
|
|
||||||
block_height_bip115: int = None,
|
|
||||||
) -> None:
|
) -> None:
|
||||||
self.address = address
|
self.address = address
|
||||||
self.address_n = address_n if address_n is not None else []
|
self.address_n = address_n if address_n is not None else []
|
||||||
@ -34,8 +32,6 @@ class TxOutputType(p.MessageType):
|
|||||||
self.multisig = multisig
|
self.multisig = multisig
|
||||||
self.op_return_data = op_return_data
|
self.op_return_data = op_return_data
|
||||||
self.decred_script_version = decred_script_version
|
self.decred_script_version = decred_script_version
|
||||||
self.block_hash_bip115 = block_hash_bip115
|
|
||||||
self.block_height_bip115 = block_height_bip115
|
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def get_fields(cls) -> Dict:
|
def get_fields(cls) -> Dict:
|
||||||
@ -47,6 +43,4 @@ class TxOutputType(p.MessageType):
|
|||||||
5: ('multisig', MultisigRedeemScriptType, 0),
|
5: ('multisig', MultisigRedeemScriptType, 0),
|
||||||
6: ('op_return_data', p.BytesType, 0),
|
6: ('op_return_data', p.BytesType, 0),
|
||||||
7: ('decred_script_version', p.UVarintType, 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.address_n max_count:8
|
||||||
TxInputType.prev_hash max_size:32
|
TxInputType.prev_hash max_size:32
|
||||||
TxInputType.script_sig max_size:1650
|
TxInputType.script_sig max_size:1650
|
||||||
TxInputType.prev_block_hash_bip115 max_size:32
|
|
||||||
|
|
||||||
TxOutputType.address max_size:130
|
TxOutputType.address max_size:130
|
||||||
TxOutputType.address_n max_count:8
|
TxOutputType.address_n max_count:8
|
||||||
TxOutputType.op_return_data max_size:80
|
TxOutputType.op_return_data max_size:80
|
||||||
TxOutputType.block_hash_bip115 max_size:32
|
|
||||||
|
|
||||||
TxOutputBinType.script_pubkey max_size:520
|
TxOutputBinType.script_pubkey max_size:520
|
||||||
|
|
||||||
|
@ -60,8 +60,6 @@ message TxInputType {
|
|||||||
optional uint64 amount = 8; // amount of previous transaction output
|
optional uint64 amount = 8; // amount of previous transaction output
|
||||||
optional uint32 decred_tree = 9; // only for Decred
|
optional uint32 decred_tree = 9; // only for Decred
|
||||||
optional uint32 decred_script_version = 10; // 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.
|
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
|
### Outputs
|
||||||
|
|
||||||
@ -94,8 +92,6 @@ message TxOutputType {
|
|||||||
optional MultisigRedeemScriptType multisig = 5; // multisig output definition
|
optional MultisigRedeemScriptType multisig = 5; // multisig output definition
|
||||||
optional bytes op_return_data = 6; // defines op_return data
|
optional bytes op_return_data = 6; // defines op_return data
|
||||||
optional uint32 decred_script_version = 7; // only for Decred
|
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
|
`op_return_data` must be filled appropriately. `address_n` and `address` must not be
|
||||||
set.
|
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
|
### Transaction metadata
|
||||||
|
|
||||||
|
File diff suppressed because one or more lines are too long
@ -27,8 +27,6 @@ class TxInputType(p.MessageType):
|
|||||||
amount: int = None,
|
amount: int = None,
|
||||||
decred_tree: int = None,
|
decred_tree: int = None,
|
||||||
decred_script_version: int = None,
|
decred_script_version: int = None,
|
||||||
prev_block_hash_bip115: bytes = None,
|
|
||||||
prev_block_height_bip115: int = None,
|
|
||||||
) -> None:
|
) -> None:
|
||||||
self.address_n = address_n if address_n is not None else []
|
self.address_n = address_n if address_n is not None else []
|
||||||
self.prev_hash = prev_hash
|
self.prev_hash = prev_hash
|
||||||
@ -40,8 +38,6 @@ class TxInputType(p.MessageType):
|
|||||||
self.amount = amount
|
self.amount = amount
|
||||||
self.decred_tree = decred_tree
|
self.decred_tree = decred_tree
|
||||||
self.decred_script_version = decred_script_version
|
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
|
@classmethod
|
||||||
def get_fields(cls) -> Dict:
|
def get_fields(cls) -> Dict:
|
||||||
@ -56,6 +52,4 @@ class TxInputType(p.MessageType):
|
|||||||
8: ('amount', p.UVarintType, 0),
|
8: ('amount', p.UVarintType, 0),
|
||||||
9: ('decred_tree', p.UVarintType, 0),
|
9: ('decred_tree', p.UVarintType, 0),
|
||||||
10: ('decred_script_version', 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,
|
multisig: MultisigRedeemScriptType = None,
|
||||||
op_return_data: bytes = None,
|
op_return_data: bytes = None,
|
||||||
decred_script_version: int = None,
|
decred_script_version: int = None,
|
||||||
block_hash_bip115: bytes = None,
|
|
||||||
block_height_bip115: int = None,
|
|
||||||
) -> None:
|
) -> None:
|
||||||
self.address = address
|
self.address = address
|
||||||
self.address_n = address_n if address_n is not None else []
|
self.address_n = address_n if address_n is not None else []
|
||||||
@ -34,8 +32,6 @@ class TxOutputType(p.MessageType):
|
|||||||
self.multisig = multisig
|
self.multisig = multisig
|
||||||
self.op_return_data = op_return_data
|
self.op_return_data = op_return_data
|
||||||
self.decred_script_version = decred_script_version
|
self.decred_script_version = decred_script_version
|
||||||
self.block_hash_bip115 = block_hash_bip115
|
|
||||||
self.block_height_bip115 = block_height_bip115
|
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def get_fields(cls) -> Dict:
|
def get_fields(cls) -> Dict:
|
||||||
@ -47,6 +43,4 @@ class TxOutputType(p.MessageType):
|
|||||||
5: ('multisig', MultisigRedeemScriptType, 0),
|
5: ('multisig', MultisigRedeemScriptType, 0),
|
||||||
6: ('op_return_data', p.BytesType, 0),
|
6: ('op_return_data', p.BytesType, 0),
|
||||||
7: ('decred_script_version', p.UVarintType, 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
|
DECIMALS = 6 if is_peercoin(coin) else 8
|
||||||
o.amount = int(Decimal(vout["value"]) * (10 ** DECIMALS))
|
o.amount = int(Decimal(vout["value"]) * (10 ** DECIMALS))
|
||||||
o.script_pubkey = bytes.fromhex(vout["scriptPubKey"]["hex"])
|
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"]:
|
if coin["decred"]:
|
||||||
o.decred_script_version = vout["version"]
|
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")
|
CACHE_PATH = os.path.join(os.path.dirname(__file__), "../../tests/txcache")
|
||||||
|
|
||||||
TxApiBitcoin = coins.tx_api["Bitcoin"]
|
TxApiBitcoin = coins.tx_api["Bitcoin"]
|
||||||
TxApiZencash = coins.tx_api["Horizen"]
|
|
||||||
|
|
||||||
|
|
||||||
def load_tx_json(coin_name, txhash):
|
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():
|
def test_tx_api_dash_dip2():
|
||||||
dash_data = coins.by_name["Dash"]
|
dash_data = coins.by_name["Dash"]
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user