diff --git a/defs/coins/bcash.json b/defs/coins/bcash.json index c72fed992..e9a10b137 100644 --- a/defs/coins/bcash.json +++ b/defs/coins/bcash.json @@ -15,6 +15,7 @@ "xprv_magic": "0488ade4", "xpub_magic": "0488b21e", "xpub_magic_segwit_p2sh": null, + "xpub_magic_segwit_native": null, "bech32_prefix": null, "cashaddr_prefix": "bitcoincash", "slip44": 145, diff --git a/defs/coins/bcash.png b/defs/coins/bcash.png new file mode 100644 index 000000000..e6192b007 Binary files /dev/null and b/defs/coins/bcash.png differ diff --git a/defs/coins/bcash_testnet.json b/defs/coins/bcash_testnet.json index 219ed1b3d..c65fea84b 100644 --- a/defs/coins/bcash_testnet.json +++ b/defs/coins/bcash_testnet.json @@ -15,6 +15,7 @@ "xprv_magic": "04358394", "xpub_magic": "043587cf", "xpub_magic_segwit_p2sh": null, + "xpub_magic_segwit_native": null, "bech32_prefix": null, "cashaddr_prefix": "bchtest", "slip44": 1, diff --git a/defs/coins/bgold.json b/defs/coins/bgold.json index 233173c6c..e2c892490 100644 --- a/defs/coins/bgold.json +++ b/defs/coins/bgold.json @@ -15,6 +15,7 @@ "xprv_magic": "0488ade4", "xpub_magic": "0488b21e", "xpub_magic_segwit_p2sh": "049d7cb2", + "xpub_magic_segwit_native": null, "bech32_prefix": "btg", "cashaddr_prefix": null, "slip44": 156, diff --git a/defs/coins/bgold.png b/defs/coins/bgold.png new file mode 100644 index 000000000..dd5484e97 Binary files /dev/null and b/defs/coins/bgold.png differ diff --git a/defs/coins/bitcoin.json b/defs/coins/bitcoin.json index bcae7be88..07f8b9bd6 100644 --- a/defs/coins/bitcoin.json +++ b/defs/coins/bitcoin.json @@ -15,6 +15,7 @@ "xprv_magic": "0488ade4", "xpub_magic": "0488b21e", "xpub_magic_segwit_p2sh": "049d7cb2", + "xpub_magic_segwit_native": "04b24746", "bech32_prefix": "bc", "cashaddr_prefix": null, "slip44": 0, diff --git a/defs/coins/bitcoin.png b/defs/coins/bitcoin.png new file mode 100644 index 000000000..a2abccbd3 Binary files /dev/null and b/defs/coins/bitcoin.png differ diff --git a/defs/coins/bitcoin_testnet.json b/defs/coins/bitcoin_testnet.json index bd31b6c20..4e3076f89 100644 --- a/defs/coins/bitcoin_testnet.json +++ b/defs/coins/bitcoin_testnet.json @@ -15,6 +15,7 @@ "xprv_magic": "04358394", "xpub_magic": "043587cf", "xpub_magic_segwit_p2sh": "044a5262", + "xpub_magic_segwit_native": null, "bech32_prefix": "tb", "cashaddr_prefix": null, "slip44": 1, diff --git a/defs/coins/bitcoin_testnet.png b/defs/coins/bitcoin_testnet.png new file mode 100644 index 000000000..fcb258eee Binary files /dev/null and b/defs/coins/bitcoin_testnet.png differ diff --git a/defs/coins/bitcore.json b/defs/coins/bitcore.json index 5f99fbb74..ecab52457 100644 --- a/defs/coins/bitcore.json +++ b/defs/coins/bitcore.json @@ -15,6 +15,7 @@ "xprv_magic": "0488ade4", "xpub_magic": "0488b21e", "xpub_magic_segwit_p2sh": "049d7cb2", + "xpub_magic_segwit_native": null, "bech32_prefix": "bc", "cashaddr_prefix": null, "slip44": 0, diff --git a/defs/coins/bprivate.json b/defs/coins/bprivate.json index dbe2d3a34..96a5b3e53 100644 --- a/defs/coins/bprivate.json +++ b/defs/coins/bprivate.json @@ -15,6 +15,7 @@ "xprv_magic": "0488ade4", "xpub_magic": "0488b21e", "xpub_magic_segwit_p2sh": null, + "xpub_magic_segwit_native": null, "bech32_prefix": null, "cashaddr_prefix": null, "slip44": 183, diff --git a/defs/coins/combine.py b/defs/coins/combine.py index 8b483ce2e..0d0b79dcb 100755 --- a/defs/coins/combine.py +++ b/defs/coins/combine.py @@ -51,9 +51,13 @@ def validate_coin(coin): assert check_type(coin['xprv_magic'], str, regex=r'^[0-9a-f]{8}$') assert check_type(coin['xpub_magic'], str, regex=r'^[0-9a-f]{8}$') assert check_type(coin['xpub_magic_segwit_p2sh'], str, regex=r'^[0-9a-f]{8}$', nullable=True) + assert check_type(coin['xpub_magic_segwit_native'], str, regex=r'^[0-9a-f]{8}$', nullable=True) assert coin['xprv_magic'] != coin['xpub_magic'] assert coin['xprv_magic'] != coin['xpub_magic_segwit_p2sh'] + assert coin['xprv_magic'] != coin['xpub_magic_segwit_native'] assert coin['xpub_magic'] != coin['xpub_magic_segwit_p2sh'] + assert coin['xpub_magic'] != coin['xpub_magic_segwit_native'] + assert coin['xpub_magic_segwit_p2sh'] is None or coin['xpub_magic_segwit_native'] is None or coin['xpub_magic_segwit_p2sh'] != coin['xpub_magic_segwit_native'] assert check_type(coin['slip44'], int) assert check_type(coin['segwit'], bool) assert check_type(coin['decred'], bool) diff --git a/defs/coins/crown.json b/defs/coins/crown.json index 6c1ab6430..eab56cfcc 100644 --- a/defs/coins/crown.json +++ b/defs/coins/crown.json @@ -15,6 +15,7 @@ "xprv_magic": "0488ade4", "xpub_magic": "0488b21e", "xpub_magic_segwit_p2sh": null, + "xpub_magic_segwit_native": null, "bech32_prefix": null, "cashaddr_prefix": null, "slip44": 72, diff --git a/defs/coins/dash.json b/defs/coins/dash.json index be568f587..30c1ec968 100644 --- a/defs/coins/dash.json +++ b/defs/coins/dash.json @@ -15,6 +15,7 @@ "xprv_magic": "02fe52f8", "xpub_magic": "02fe52cc", "xpub_magic_segwit_p2sh": null, + "xpub_magic_segwit_native": null, "bech32_prefix": null, "cashaddr_prefix": null, "slip44": 5, diff --git a/defs/coins/dash.png b/defs/coins/dash.png new file mode 100644 index 000000000..5c3a113db Binary files /dev/null and b/defs/coins/dash.png differ diff --git a/defs/coins/dash_testnet.json b/defs/coins/dash_testnet.json index 3bd3f55ed..2d8e51b43 100644 --- a/defs/coins/dash_testnet.json +++ b/defs/coins/dash_testnet.json @@ -15,6 +15,7 @@ "xprv_magic": "04358394", "xpub_magic": "043587cf", "xpub_magic_segwit_p2sh": null, + "xpub_magic_segwit_native": null, "bech32_prefix": null, "cashaddr_prefix": null, "slip44": 1, diff --git a/defs/coins/decred_testnet.json b/defs/coins/decred_testnet.json index 0ae331a25..bedc740ea 100644 --- a/defs/coins/decred_testnet.json +++ b/defs/coins/decred_testnet.json @@ -15,6 +15,7 @@ "xprv_magic": "04358397", "xpub_magic": "043587d1", "xpub_magic_segwit_p2sh": null, + "xpub_magic_segwit_native": null, "bech32_prefix": null, "cashaddr_prefix": null, "slip44": 1, diff --git a/defs/coins/denarius.json b/defs/coins/denarius.json index 6a1fc28a7..06228599f 100644 --- a/defs/coins/denarius.json +++ b/defs/coins/denarius.json @@ -15,6 +15,7 @@ "xprv_magic": "0488ade4", "xpub_magic": "0488b21e", "xpub_magic_segwit_p2sh": null, + "xpub_magic_segwit_native": null, "bech32_prefix": null, "cashaddr_prefix": null, "slip44": 116, diff --git a/defs/coins/digibyte.json b/defs/coins/digibyte.json index 510da8104..953c4211e 100644 --- a/defs/coins/digibyte.json +++ b/defs/coins/digibyte.json @@ -15,6 +15,7 @@ "xprv_magic": "0488ade4", "xpub_magic": "0488b21e", "xpub_magic_segwit_p2sh": "049d7cb2", + "xpub_magic_segwit_native": null, "bech32_prefix": "dgb", "cashaddr_prefix": null, "slip44": 20, diff --git a/defs/coins/dogecoin.json b/defs/coins/dogecoin.json index cc70bb0ea..35f4277e1 100644 --- a/defs/coins/dogecoin.json +++ b/defs/coins/dogecoin.json @@ -15,6 +15,7 @@ "xprv_magic": "02fac398", "xpub_magic": "02facafd", "xpub_magic_segwit_p2sh": null, + "xpub_magic_segwit_native": null, "bech32_prefix": null, "cashaddr_prefix": null, "slip44": 3, diff --git a/defs/coins/flashcoin.json b/defs/coins/flashcoin.json index 5aeef8e16..0b28d83ca 100644 --- a/defs/coins/flashcoin.json +++ b/defs/coins/flashcoin.json @@ -15,6 +15,7 @@ "xprv_magic": "0488ade4", "xpub_magic": "0488b21e", "xpub_magic_segwit_p2sh": "049d7cb2", + "xpub_magic_segwit_native": null, "bech32_prefix": null, "cashaddr_prefix": null, "slip44": 120, diff --git a/defs/coins/fujicoin.json b/defs/coins/fujicoin.json index 57e73570f..e8da0e9a6 100644 --- a/defs/coins/fujicoin.json +++ b/defs/coins/fujicoin.json @@ -15,6 +15,7 @@ "xpub_magic": "0488b21e", "xprv_magic": "0488ade4", "xpub_magic_segwit_p2sh": "049d7cb2", + "xpub_magic_segwit_native": null, "bech32_prefix": "fc", "cashaddr_prefix": null, "slip44": 75, diff --git a/defs/coins/groestlcoin.json b/defs/coins/groestlcoin.json index 43cb4eeb4..1f74761ee 100644 --- a/defs/coins/groestlcoin.json +++ b/defs/coins/groestlcoin.json @@ -15,6 +15,7 @@ "xprv_magic": "0488ade4", "xpub_magic": "0488b21e", "xpub_magic_segwit_p2sh": "049d7cb2", + "xpub_magic_segwit_native": null, "bech32_prefix": "grs", "cashaddr_prefix": null, "slip44": 17, diff --git a/defs/coins/litecoin.json b/defs/coins/litecoin.json index 1cd9bd041..34e35c7ab 100644 --- a/defs/coins/litecoin.json +++ b/defs/coins/litecoin.json @@ -15,6 +15,7 @@ "xprv_magic": "019d9cfe", "xpub_magic": "019da462", "xpub_magic_segwit_p2sh": "01b26ef6", + "xpub_magic_segwit_native": null, "bech32_prefix": "ltc", "cashaddr_prefix": null, "slip44": 2, diff --git a/defs/coins/litecoin.png b/defs/coins/litecoin.png new file mode 100644 index 000000000..8c537114c Binary files /dev/null and b/defs/coins/litecoin.png differ diff --git a/defs/coins/litecoin_testnet.json b/defs/coins/litecoin_testnet.json index 071ff8c80..6c5c59df9 100644 --- a/defs/coins/litecoin_testnet.json +++ b/defs/coins/litecoin_testnet.json @@ -15,6 +15,7 @@ "xprv_magic": "04358394", "xpub_magic": "043587cf", "xpub_magic_segwit_p2sh": null, + "xpub_magic_segwit_native": null, "bech32_prefix": "tltc", "cashaddr_prefix": null, "slip44": 1, diff --git a/defs/coins/monacoin.json b/defs/coins/monacoin.json index 977b628fb..f30997de6 100644 --- a/defs/coins/monacoin.json +++ b/defs/coins/monacoin.json @@ -15,6 +15,7 @@ "xpub_magic": "0488b21e", "xprv_magic": "0488ade4", "xpub_magic_segwit_p2sh": "049d7cb2", + "xpub_magic_segwit_native": null, "bech32_prefix": "mona", "cashaddr_prefix": null, "slip44": 22, diff --git a/defs/coins/myriad.json b/defs/coins/myriad.json index 5bcc847c6..1c67083bd 100644 --- a/defs/coins/myriad.json +++ b/defs/coins/myriad.json @@ -15,6 +15,7 @@ "xprv_magic": "0488ade4", "xpub_magic": "0488b21e", "xpub_magic_segwit_p2sh": null, + "xpub_magic_segwit_native": null, "bech32_prefix": null, "cashaddr_prefix": null, "slip44": 90, diff --git a/defs/coins/namecoin.json b/defs/coins/namecoin.json index 38382517d..58d5c4964 100644 --- a/defs/coins/namecoin.json +++ b/defs/coins/namecoin.json @@ -15,6 +15,7 @@ "xprv_magic": "019d9cfe", "xpub_magic": "019da462", "xpub_magic_segwit_p2sh": null, + "xpub_magic_segwit_native": null, "bech32_prefix": null, "cashaddr_prefix": null, "slip44": 7, diff --git a/defs/coins/schema.proto b/defs/coins/schema.proto index 865ac5036..88d13f9b8 100644 --- a/defs/coins/schema.proto +++ b/defs/coins/schema.proto @@ -13,16 +13,17 @@ message CoinDef { optional uint32 xprv_magic = 11; optional uint32 xpub_magic = 12; optional uint32 xpub_magic_segwit_p2sh = 13; - optional string bech32_prefix = 14; - optional string cashaddr_prefix = 15; - optional uint32 slip44 = 16; - optional bool segwit = 17; - optional bool decred = 18; - optional uint32 fork_id = 19; - optional bool force_bip143 = 20; - optional uint64 dust_limit = 21; - optional float blocktime_minute = 22; - optional string address_prefix = 23; - optional uint32 min_address_length = 24; - optional uint32 max_address_length = 25; + optional uint32 xpub_magic_segwit_native = 14; + optional string bech32_prefix = 15; + optional string cashaddr_prefix = 16; + optional uint32 slip44 = 17; + optional bool segwit = 18; + optional bool decred = 19; + optional uint32 fork_id = 20; + optional bool force_bip143 = 21; + optional uint64 dust_limit = 22; + optional uint32 blocktime_seconds = 23; + optional string address_prefix = 24; + optional uint32 min_address_length = 25; + optional uint32 max_address_length = 26; } diff --git a/defs/coins/terracoin.json b/defs/coins/terracoin.json index 5fdc34f89..410fdb660 100644 --- a/defs/coins/terracoin.json +++ b/defs/coins/terracoin.json @@ -15,6 +15,7 @@ "xprv_magic": "0488ade4", "xpub_magic": "0488b21e", "xpub_magic_segwit_p2sh": null, + "xpub_magic_segwit_native": null, "bech32_prefix": null, "cashaddr_prefix": null, "slip44": 0, diff --git a/defs/coins/vertcoin.json b/defs/coins/vertcoin.json index 3d9f85c3d..338300a63 100644 --- a/defs/coins/vertcoin.json +++ b/defs/coins/vertcoin.json @@ -15,6 +15,7 @@ "xprv_magic": "0488ade4", "xpub_magic": "0488b21e", "xpub_magic_segwit_p2sh": "049d7cb2", + "xpub_magic_segwit_native": null, "bech32_prefix": "vtc", "cashaddr_prefix": null, "slip44": 28, diff --git a/defs/coins/viacoin.json b/defs/coins/viacoin.json index aeb245c4b..719345616 100644 --- a/defs/coins/viacoin.json +++ b/defs/coins/viacoin.json @@ -15,6 +15,7 @@ "xprv_magic": "0488ade4", "xpub_magic": "0488b21e", "xpub_magic_segwit_p2sh": "049d7cb2", + "xpub_magic_segwit_native": null, "bech32_prefix": "via", "cashaddr_prefix": null, "slip44": 14, diff --git a/defs/coins/zcash.json b/defs/coins/zcash.json index 9699e0431..f19d7a065 100644 --- a/defs/coins/zcash.json +++ b/defs/coins/zcash.json @@ -15,6 +15,7 @@ "xprv_magic": "0488ade4", "xpub_magic": "0488b21e", "xpub_magic_segwit_p2sh": null, + "xpub_magic_segwit_native": null, "bech32_prefix": null, "cashaddr_prefix": null, "slip44": 133, diff --git a/defs/coins/zcash.png b/defs/coins/zcash.png new file mode 100644 index 000000000..213908ae4 Binary files /dev/null and b/defs/coins/zcash.png differ diff --git a/defs/coins/zcash_testnet.json b/defs/coins/zcash_testnet.json index ae5a361f4..70a16cd30 100644 --- a/defs/coins/zcash_testnet.json +++ b/defs/coins/zcash_testnet.json @@ -15,6 +15,7 @@ "xprv_magic": "04358394", "xpub_magic": "043587cf", "xpub_magic_segwit_p2sh": null, + "xpub_magic_segwit_native": null, "bech32_prefix": null, "cashaddr_prefix": null, "slip44": 1, diff --git a/defs/coins/zcoin.json b/defs/coins/zcoin.json index 0154c365d..45ce95d1a 100644 --- a/defs/coins/zcoin.json +++ b/defs/coins/zcoin.json @@ -15,6 +15,7 @@ "xprv_magic": "0488ade4", "xpub_magic": "0488b21e", "xpub_magic_segwit_p2sh": null, + "xpub_magic_segwit_native": null, "bech32_prefix": null, "cashaddr_prefix": null, "slip44": 136, diff --git a/defs/coins/zcoin_testnet.json b/defs/coins/zcoin_testnet.json index 716fba60a..66eb0eea4 100644 --- a/defs/coins/zcoin_testnet.json +++ b/defs/coins/zcoin_testnet.json @@ -15,6 +15,7 @@ "xprv_magic": "04358394", "xpub_magic": "043587cf", "xpub_magic_segwit_p2sh": null, + "xpub_magic_segwit_native": null, "bech32_prefix": null, "cashaddr_prefix": null, "slip44": 1,