From 4ed714ba47699f1fe9821386543ce3b3ec79d916 Mon Sep 17 00:00:00 2001 From: Pavol Rusnak Date: Wed, 13 Jan 2021 22:58:07 +0100 Subject: [PATCH] common/defs: add xpub_magic_multisig_segwit_{native,p2sh} fields to coins --- common/defs/bitcoin/actinium.json | 2 + common/defs/bitcoin/axe.json | 2 + common/defs/bitcoin/bcash.json | 2 + common/defs/bitcoin/bcash_testnet.json | 2 + common/defs/bitcoin/bellcoin.json | 2 + common/defs/bitcoin/bgold.json | 2 + common/defs/bitcoin/bgold_testnet.json | 2 + common/defs/bitcoin/bitcoin.json | 2 + common/defs/bitcoin/bitcoin_regtest.json | 2 + common/defs/bitcoin/bitcoin_testnet.json | 2 + common/defs/bitcoin/bitcore.json | 2 + common/defs/bitcoin/bitzeny.json | 2 + common/defs/bitcoin/bprivate.json | 2 + common/defs/bitcoin/brhodium.json | 2 + common/defs/bitcoin/cpuchain.json | 2 + common/defs/bitcoin/crown.json | 2 + common/defs/bitcoin/dash.json | 2 + common/defs/bitcoin/dash_testnet.json | 2 + common/defs/bitcoin/decred.json | 2 + common/defs/bitcoin/decred_testnet.json | 2 + common/defs/bitcoin/digibyte.json | 2 + common/defs/bitcoin/dogecoin.json | 2 + common/defs/bitcoin/elements.json | 2 + common/defs/bitcoin/feathercoin.json | 2 + common/defs/bitcoin/florincoin.json | 2 + common/defs/bitcoin/fujicoin.json | 2 + common/defs/bitcoin/gamecredits.json | 2 + common/defs/bitcoin/groestlcoin.json | 2 + common/defs/bitcoin/groestlcoin_testnet.json | 2 + common/defs/bitcoin/hatch.json | 2 + common/defs/bitcoin/hatch_testnet.json | 2 + common/defs/bitcoin/komodo.json | 2 + common/defs/bitcoin/koto.json | 2 + common/defs/bitcoin/litecoin.json | 2 + common/defs/bitcoin/litecoin_testnet.json | 2 + common/defs/bitcoin/monacoin.json | 2 + common/defs/bitcoin/monetaryunit.json | 2 + common/defs/bitcoin/namecoin.json | 2 + common/defs/bitcoin/nix.json | 2 + common/defs/bitcoin/particl.json | 2 + common/defs/bitcoin/particl_testnet.json | 2 + common/defs/bitcoin/peercoin.json | 2 + common/defs/bitcoin/peercoin_testnet.json | 2 + common/defs/bitcoin/polis.json | 2 + common/defs/bitcoin/primecoin.json | 2 + common/defs/bitcoin/qtum.json | 2 + common/defs/bitcoin/qtum_testnet.json | 2 + common/defs/bitcoin/ravencoin.json | 2 + common/defs/bitcoin/ritocoin.json | 2 + common/defs/bitcoin/smartcash.json | 2 + common/defs/bitcoin/smartcash_testnet.json | 2 + common/defs/bitcoin/stakenet.json | 2 + common/defs/bitcoin/syscoin.json | 2 + common/defs/bitcoin/terracoin.json | 2 + common/defs/bitcoin/unobtanium.json | 2 + common/defs/bitcoin/verge.json | 2 + common/defs/bitcoin/vertcoin.json | 2 + common/defs/bitcoin/viacoin.json | 2 + common/defs/bitcoin/vipstarcoin.json | 2 + common/defs/bitcoin/zcash.json | 2 + common/defs/bitcoin/zcash_testnet.json | 2 + common/defs/bitcoin/zcoin.json | 2 + common/defs/bitcoin/zcoin_testnet.json | 2 + common/defs/bitcoin/zcore.json | 2 + common/tools/cointool.py | 2 + core/src/apps/common/coininfo.py | 130 +++++++++++++++++++ core/src/apps/common/coininfo.py.mako | 6 + legacy/firmware/coin_info.c.mako | 2 + legacy/firmware/coins.h | 2 + 69 files changed, 270 insertions(+) diff --git a/common/defs/bitcoin/actinium.json b/common/defs/bitcoin/actinium.json index adaa0c72e..41d67b8dc 100644 --- a/common/defs/bitcoin/actinium.json +++ b/common/defs/bitcoin/actinium.json @@ -17,6 +17,8 @@ "xpub_magic": 76067358, "xpub_magic_segwit_p2sh": 77429938, "xpub_magic_segwit_native": 78792518, + "xpub_magic_multisig_segwit_p2sh": 76067358, + "xpub_magic_multisig_segwit_native": 76067358, "bech32_prefix": "acm", "cashaddr_prefix": null, "slip44": 228, diff --git a/common/defs/bitcoin/axe.json b/common/defs/bitcoin/axe.json index ba7e4ed69..bdd462495 100644 --- a/common/defs/bitcoin/axe.json +++ b/common/defs/bitcoin/axe.json @@ -17,6 +17,8 @@ "xpub_magic": 50221772, "xpub_magic_segwit_p2sh": null, "xpub_magic_segwit_native": null, + "xpub_magic_multisig_segwit_p2sh": null, + "xpub_magic_multisig_segwit_native": null, "bech32_prefix": null, "cashaddr_prefix": null, "slip44": 4242, diff --git a/common/defs/bitcoin/bcash.json b/common/defs/bitcoin/bcash.json index 4c2af703e..e4690c470 100644 --- a/common/defs/bitcoin/bcash.json +++ b/common/defs/bitcoin/bcash.json @@ -17,6 +17,8 @@ "xpub_magic": 76067358, "xpub_magic_segwit_p2sh": null, "xpub_magic_segwit_native": null, + "xpub_magic_multisig_segwit_p2sh": null, + "xpub_magic_multisig_segwit_native": null, "bech32_prefix": null, "cashaddr_prefix": "bitcoincash", "slip44": 145, diff --git a/common/defs/bitcoin/bcash_testnet.json b/common/defs/bitcoin/bcash_testnet.json index c7d763c37..0ca70148b 100644 --- a/common/defs/bitcoin/bcash_testnet.json +++ b/common/defs/bitcoin/bcash_testnet.json @@ -17,6 +17,8 @@ "xpub_magic": 70617039, "xpub_magic_segwit_p2sh": null, "xpub_magic_segwit_native": null, + "xpub_magic_multisig_segwit_p2sh": null, + "xpub_magic_multisig_segwit_native": null, "bech32_prefix": null, "cashaddr_prefix": "bchtest", "slip44": 1, diff --git a/common/defs/bitcoin/bellcoin.json b/common/defs/bitcoin/bellcoin.json index 6b5b27ee8..0129b2092 100644 --- a/common/defs/bitcoin/bellcoin.json +++ b/common/defs/bitcoin/bellcoin.json @@ -17,6 +17,8 @@ "xpub_magic": 76067358, "xpub_magic_segwit_p2sh": 77429938, "xpub_magic_segwit_native": 78792518, + "xpub_magic_multisig_segwit_p2sh": 76067358, + "xpub_magic_multisig_segwit_native": 76067358, "bech32_prefix": "bm", "cashaddr_prefix": null, "slip44": 25252, diff --git a/common/defs/bitcoin/bgold.json b/common/defs/bitcoin/bgold.json index fd5e6f75a..2a8a7a797 100644 --- a/common/defs/bitcoin/bgold.json +++ b/common/defs/bitcoin/bgold.json @@ -17,6 +17,8 @@ "xpub_magic": 76067358, "xpub_magic_segwit_p2sh": 77429938, "xpub_magic_segwit_native": 78792518, + "xpub_magic_multisig_segwit_p2sh": 76067358, + "xpub_magic_multisig_segwit_native": 76067358, "bech32_prefix": "btg", "cashaddr_prefix": null, "slip44": 156, diff --git a/common/defs/bitcoin/bgold_testnet.json b/common/defs/bitcoin/bgold_testnet.json index aba7665e0..4c4dd8c2e 100644 --- a/common/defs/bitcoin/bgold_testnet.json +++ b/common/defs/bitcoin/bgold_testnet.json @@ -17,6 +17,8 @@ "xpub_magic": 70617039, "xpub_magic_segwit_p2sh": 71979618, "xpub_magic_segwit_native": 73342198, + "xpub_magic_multisig_segwit_p2sh": 70617039, + "xpub_magic_multisig_segwit_native": 70617039, "bech32_prefix": "tbtg", "cashaddr_prefix": null, "slip44": 156, diff --git a/common/defs/bitcoin/bitcoin.json b/common/defs/bitcoin/bitcoin.json index c33d70a49..5b8cea744 100644 --- a/common/defs/bitcoin/bitcoin.json +++ b/common/defs/bitcoin/bitcoin.json @@ -17,6 +17,8 @@ "xpub_magic": 76067358, "xpub_magic_segwit_p2sh": 77429938, "xpub_magic_segwit_native": 78792518, + "xpub_magic_multisig_segwit_p2sh": 43365439, + "xpub_magic_multisig_segwit_native": 44728019, "bech32_prefix": "bc", "cashaddr_prefix": null, "slip44": 0, diff --git a/common/defs/bitcoin/bitcoin_regtest.json b/common/defs/bitcoin/bitcoin_regtest.json index c722682a5..9d600a56e 100644 --- a/common/defs/bitcoin/bitcoin_regtest.json +++ b/common/defs/bitcoin/bitcoin_regtest.json @@ -17,6 +17,8 @@ "xpub_magic": 70617039, "xpub_magic_segwit_p2sh": 71979618, "xpub_magic_segwit_native": 73342198, + "xpub_magic_multisig_segwit_p2sh": 37915119, + "xpub_magic_multisig_segwit_native": 39277699, "bech32_prefix": "bcrt", "cashaddr_prefix": null, "slip44": 1, diff --git a/common/defs/bitcoin/bitcoin_testnet.json b/common/defs/bitcoin/bitcoin_testnet.json index f719ed9bb..a55fad4c5 100644 --- a/common/defs/bitcoin/bitcoin_testnet.json +++ b/common/defs/bitcoin/bitcoin_testnet.json @@ -17,6 +17,8 @@ "xpub_magic": 70617039, "xpub_magic_segwit_p2sh": 71979618, "xpub_magic_segwit_native": 73342198, + "xpub_magic_multisig_segwit_p2sh": 37915119, + "xpub_magic_multisig_segwit_native": 39277699, "bech32_prefix": "tb", "cashaddr_prefix": null, "slip44": 1, diff --git a/common/defs/bitcoin/bitcore.json b/common/defs/bitcoin/bitcore.json index d23617f7a..d90fcc3d0 100644 --- a/common/defs/bitcoin/bitcore.json +++ b/common/defs/bitcoin/bitcore.json @@ -17,6 +17,8 @@ "xpub_magic": 76067358, "xpub_magic_segwit_p2sh": 77429938, "xpub_magic_segwit_native": 78792518, + "xpub_magic_multisig_segwit_p2sh": 76067358, + "xpub_magic_multisig_segwit_native": 76067358, "bech32_prefix": "btx", "cashaddr_prefix": null, "slip44": 160, diff --git a/common/defs/bitcoin/bitzeny.json b/common/defs/bitcoin/bitzeny.json index 5d74f40ac..1aa730e3c 100644 --- a/common/defs/bitcoin/bitzeny.json +++ b/common/defs/bitcoin/bitzeny.json @@ -17,6 +17,8 @@ "xpub_magic": 76067358, "xpub_magic_segwit_p2sh": 77429938, "xpub_magic_segwit_native": 78792518, + "xpub_magic_multisig_segwit_p2sh": 76067358, + "xpub_magic_multisig_segwit_native": 76067358, "bech32_prefix": "bz", "cashaddr_prefix": null, "slip44": 123, diff --git a/common/defs/bitcoin/bprivate.json b/common/defs/bitcoin/bprivate.json index 574395498..14db7d2dc 100644 --- a/common/defs/bitcoin/bprivate.json +++ b/common/defs/bitcoin/bprivate.json @@ -17,6 +17,8 @@ "xpub_magic": 76067358, "xpub_magic_segwit_p2sh": null, "xpub_magic_segwit_native": null, + "xpub_magic_multisig_segwit_p2sh": null, + "xpub_magic_multisig_segwit_native": null, "bech32_prefix": null, "cashaddr_prefix": null, "slip44": 183, diff --git a/common/defs/bitcoin/brhodium.json b/common/defs/bitcoin/brhodium.json index d82d3aa81..100e3fa7c 100644 --- a/common/defs/bitcoin/brhodium.json +++ b/common/defs/bitcoin/brhodium.json @@ -17,6 +17,8 @@ "xpub_magic": 76067358, "xpub_magic_segwit_p2sh": null, "xpub_magic_segwit_native": null, + "xpub_magic_multisig_segwit_p2sh": null, + "xpub_magic_multisig_segwit_native": null, "bech32_prefix": null, "cashaddr_prefix": null, "slip44": 10291, diff --git a/common/defs/bitcoin/cpuchain.json b/common/defs/bitcoin/cpuchain.json index 0bd2644e3..9344b37d0 100644 --- a/common/defs/bitcoin/cpuchain.json +++ b/common/defs/bitcoin/cpuchain.json @@ -17,6 +17,8 @@ "xpub_magic": 76067358, "xpub_magic_segwit_p2sh": 77429938, "xpub_magic_segwit_native": 78792518, + "xpub_magic_multisig_segwit_p2sh": 76067358, + "xpub_magic_multisig_segwit_native": 76067358, "bech32_prefix": "cpu", "cashaddr_prefix": null, "slip44": 363, diff --git a/common/defs/bitcoin/crown.json b/common/defs/bitcoin/crown.json index 678b86bf6..2a402aee8 100644 --- a/common/defs/bitcoin/crown.json +++ b/common/defs/bitcoin/crown.json @@ -17,6 +17,8 @@ "xpub_magic": 76067358, "xpub_magic_segwit_p2sh": null, "xpub_magic_segwit_native": null, + "xpub_magic_multisig_segwit_p2sh": null, + "xpub_magic_multisig_segwit_native": null, "bech32_prefix": null, "cashaddr_prefix": null, "slip44": 72, diff --git a/common/defs/bitcoin/dash.json b/common/defs/bitcoin/dash.json index 81effc6e6..7140d78b6 100644 --- a/common/defs/bitcoin/dash.json +++ b/common/defs/bitcoin/dash.json @@ -17,6 +17,8 @@ "xpub_magic": 50221772, "xpub_magic_segwit_p2sh": null, "xpub_magic_segwit_native": null, + "xpub_magic_multisig_segwit_p2sh": null, + "xpub_magic_multisig_segwit_native": null, "bech32_prefix": null, "cashaddr_prefix": null, "slip44": 5, diff --git a/common/defs/bitcoin/dash_testnet.json b/common/defs/bitcoin/dash_testnet.json index a4c1a2fed..7961689e6 100644 --- a/common/defs/bitcoin/dash_testnet.json +++ b/common/defs/bitcoin/dash_testnet.json @@ -17,6 +17,8 @@ "xpub_magic": 70617039, "xpub_magic_segwit_p2sh": null, "xpub_magic_segwit_native": null, + "xpub_magic_multisig_segwit_p2sh": null, + "xpub_magic_multisig_segwit_native": null, "bech32_prefix": null, "cashaddr_prefix": null, "slip44": 1, diff --git a/common/defs/bitcoin/decred.json b/common/defs/bitcoin/decred.json index 7553a3916..d07857133 100644 --- a/common/defs/bitcoin/decred.json +++ b/common/defs/bitcoin/decred.json @@ -17,6 +17,8 @@ "xpub_magic": 50178342, "xpub_magic_segwit_p2sh": null, "xpub_magic_segwit_native": null, + "xpub_magic_multisig_segwit_p2sh": null, + "xpub_magic_multisig_segwit_native": null, "bech32_prefix": null, "cashaddr_prefix": null, "slip44": 42, diff --git a/common/defs/bitcoin/decred_testnet.json b/common/defs/bitcoin/decred_testnet.json index 42fe10a79..d6079d1e9 100644 --- a/common/defs/bitcoin/decred_testnet.json +++ b/common/defs/bitcoin/decred_testnet.json @@ -17,6 +17,8 @@ "xpub_magic": 70617041, "xpub_magic_segwit_p2sh": null, "xpub_magic_segwit_native": null, + "xpub_magic_multisig_segwit_p2sh": null, + "xpub_magic_multisig_segwit_native": null, "bech32_prefix": null, "cashaddr_prefix": null, "slip44": 1, diff --git a/common/defs/bitcoin/digibyte.json b/common/defs/bitcoin/digibyte.json index 59393af54..9830746ce 100644 --- a/common/defs/bitcoin/digibyte.json +++ b/common/defs/bitcoin/digibyte.json @@ -17,6 +17,8 @@ "xpub_magic": 76067358, "xpub_magic_segwit_p2sh": 77429938, "xpub_magic_segwit_native": 78792518, + "xpub_magic_multisig_segwit_p2sh": 76067358, + "xpub_magic_multisig_segwit_native": 76067358, "bech32_prefix": "dgb", "cashaddr_prefix": null, "slip44": 20, diff --git a/common/defs/bitcoin/dogecoin.json b/common/defs/bitcoin/dogecoin.json index 40bc3ea14..4c3bd920b 100644 --- a/common/defs/bitcoin/dogecoin.json +++ b/common/defs/bitcoin/dogecoin.json @@ -17,6 +17,8 @@ "xpub_magic": 49990397, "xpub_magic_segwit_p2sh": null, "xpub_magic_segwit_native": null, + "xpub_magic_multisig_segwit_p2sh": null, + "xpub_magic_multisig_segwit_native": null, "bech32_prefix": null, "cashaddr_prefix": null, "slip44": 3, diff --git a/common/defs/bitcoin/elements.json b/common/defs/bitcoin/elements.json index 3589a24aa..5f65c2b7e 100644 --- a/common/defs/bitcoin/elements.json +++ b/common/defs/bitcoin/elements.json @@ -17,6 +17,8 @@ "xpub_magic": 70617039, "xpub_magic_segwit_p2sh": 71979618, "xpub_magic_segwit_native": 73342198, + "xpub_magic_multisig_segwit_p2sh": 70617039, + "xpub_magic_multisig_segwit_native": 70617039, "bech32_prefix": "ert", "cashaddr_prefix": null, "slip44": 1, diff --git a/common/defs/bitcoin/feathercoin.json b/common/defs/bitcoin/feathercoin.json index 9fd3daf65..f6c02164b 100644 --- a/common/defs/bitcoin/feathercoin.json +++ b/common/defs/bitcoin/feathercoin.json @@ -17,6 +17,8 @@ "xpub_magic": 76069926, "xpub_magic_segwit_p2sh": 77429938, "xpub_magic_segwit_native": 78792518, + "xpub_magic_multisig_segwit_p2sh": 76069926, + "xpub_magic_multisig_segwit_native": 76069926, "bech32_prefix": "fc", "cashaddr_prefix": null, "slip44": 8, diff --git a/common/defs/bitcoin/florincoin.json b/common/defs/bitcoin/florincoin.json index 047dda787..cb7dfffc3 100644 --- a/common/defs/bitcoin/florincoin.json +++ b/common/defs/bitcoin/florincoin.json @@ -17,6 +17,8 @@ "xpub_magic": 1526049, "xpub_magic_segwit_p2sh": 28471030, "xpub_magic_segwit_native": 78792518, + "xpub_magic_multisig_segwit_p2sh": 1526049, + "xpub_magic_multisig_segwit_native": 1526049, "bech32_prefix": "flo", "cashaddr_prefix": null, "slip44": 216, diff --git a/common/defs/bitcoin/fujicoin.json b/common/defs/bitcoin/fujicoin.json index 16b253206..9f908ff6d 100644 --- a/common/defs/bitcoin/fujicoin.json +++ b/common/defs/bitcoin/fujicoin.json @@ -17,6 +17,8 @@ "xprv_magic": 76066276, "xpub_magic_segwit_p2sh": 77429938, "xpub_magic_segwit_native": 78792518, + "xpub_magic_multisig_segwit_p2sh": 76066276, + "xpub_magic_multisig_segwit_native": 76066276, "bech32_prefix": "fc", "cashaddr_prefix": null, "slip44": 75, diff --git a/common/defs/bitcoin/gamecredits.json b/common/defs/bitcoin/gamecredits.json index 131a62e7f..866c5d3a7 100644 --- a/common/defs/bitcoin/gamecredits.json +++ b/common/defs/bitcoin/gamecredits.json @@ -17,6 +17,8 @@ "xprv_magic": 27108450, "xpub_magic_segwit_p2sh": 28471030, "xpub_magic_segwit_native": 78792518, + "xpub_magic_multisig_segwit_p2sh": 27108450, + "xpub_magic_multisig_segwit_native": 27108450, "bech32_prefix": "game", "cashaddr_prefix": null, "slip44": 101, diff --git a/common/defs/bitcoin/groestlcoin.json b/common/defs/bitcoin/groestlcoin.json index 8d4ad0109..686afd851 100644 --- a/common/defs/bitcoin/groestlcoin.json +++ b/common/defs/bitcoin/groestlcoin.json @@ -17,6 +17,8 @@ "xpub_magic": 76067358, "xpub_magic_segwit_p2sh": 77429938, "xpub_magic_segwit_native": 78792518, + "xpub_magic_multisig_segwit_p2sh": 76067358, + "xpub_magic_multisig_segwit_native": 76067358, "bech32_prefix": "grs", "cashaddr_prefix": null, "slip44": 17, diff --git a/common/defs/bitcoin/groestlcoin_testnet.json b/common/defs/bitcoin/groestlcoin_testnet.json index b11f674f2..37ff8a3cd 100644 --- a/common/defs/bitcoin/groestlcoin_testnet.json +++ b/common/defs/bitcoin/groestlcoin_testnet.json @@ -17,6 +17,8 @@ "xpub_magic": 70617039, "xpub_magic_segwit_p2sh": 71979618, "xpub_magic_segwit_native": 73342198, + "xpub_magic_multisig_segwit_p2sh": 70617039, + "xpub_magic_multisig_segwit_native": 70617039, "bech32_prefix": "tgrs", "cashaddr_prefix": null, "slip44": 1, diff --git a/common/defs/bitcoin/hatch.json b/common/defs/bitcoin/hatch.json index 3ddb92c31..9d009fa99 100644 --- a/common/defs/bitcoin/hatch.json +++ b/common/defs/bitcoin/hatch.json @@ -17,6 +17,8 @@ "xpub_magic": 50221772, "xpub_magic_segwit_p2sh": null, "xpub_magic_segwit_native": null, + "xpub_magic_multisig_segwit_p2sh": null, + "xpub_magic_multisig_segwit_native": null, "bech32_prefix": null, "cashaddr_prefix": null, "slip44": 88888888, diff --git a/common/defs/bitcoin/hatch_testnet.json b/common/defs/bitcoin/hatch_testnet.json index a9e437102..6d3919edd 100644 --- a/common/defs/bitcoin/hatch_testnet.json +++ b/common/defs/bitcoin/hatch_testnet.json @@ -17,6 +17,8 @@ "xpub_magic": 70617039, "xpub_magic_segwit_p2sh": null, "xpub_magic_segwit_native": null, + "xpub_magic_multisig_segwit_p2sh": null, + "xpub_magic_multisig_segwit_native": null, "bech32_prefix": null, "cashaddr_prefix": null, "slip44": 1, diff --git a/common/defs/bitcoin/komodo.json b/common/defs/bitcoin/komodo.json index caec307ab..b335a7fd6 100644 --- a/common/defs/bitcoin/komodo.json +++ b/common/defs/bitcoin/komodo.json @@ -17,6 +17,8 @@ "xpub_magic": 76067358, "xpub_magic_segwit_p2sh": null, "xpub_magic_segwit_native": null, + "xpub_magic_multisig_segwit_p2sh": null, + "xpub_magic_multisig_segwit_native": null, "bech32_prefix": null, "cashaddr_prefix": null, "slip44": 141, diff --git a/common/defs/bitcoin/koto.json b/common/defs/bitcoin/koto.json index 9011b8650..65a999ab7 100644 --- a/common/defs/bitcoin/koto.json +++ b/common/defs/bitcoin/koto.json @@ -17,6 +17,8 @@ "xpub_magic": 76067358, "xpub_magic_segwit_p2sh": null, "xpub_magic_segwit_native": null, + "xpub_magic_multisig_segwit_p2sh": null, + "xpub_magic_multisig_segwit_native": null, "bech32_prefix": null, "cashaddr_prefix": null, "slip44": 510, diff --git a/common/defs/bitcoin/litecoin.json b/common/defs/bitcoin/litecoin.json index 85c17fb35..d48a3bfa6 100644 --- a/common/defs/bitcoin/litecoin.json +++ b/common/defs/bitcoin/litecoin.json @@ -17,6 +17,8 @@ "xpub_magic": 27108450, "xpub_magic_segwit_p2sh": 28471030, "xpub_magic_segwit_native": 78792518, + "xpub_magic_multisig_segwit_p2sh": 27108450, + "xpub_magic_multisig_segwit_native": 27108450, "bech32_prefix": "ltc", "cashaddr_prefix": null, "slip44": 2, diff --git a/common/defs/bitcoin/litecoin_testnet.json b/common/defs/bitcoin/litecoin_testnet.json index c09e14411..7dc80f994 100644 --- a/common/defs/bitcoin/litecoin_testnet.json +++ b/common/defs/bitcoin/litecoin_testnet.json @@ -17,6 +17,8 @@ "xpub_magic": 70617039, "xpub_magic_segwit_p2sh": 71979618, "xpub_magic_segwit_native": 73342198, + "xpub_magic_multisig_segwit_p2sh": 70617039, + "xpub_magic_multisig_segwit_native": 70617039, "bech32_prefix": "tltc", "cashaddr_prefix": null, "slip44": 1, diff --git a/common/defs/bitcoin/monacoin.json b/common/defs/bitcoin/monacoin.json index 2e1a2d2ea..a100a4b25 100644 --- a/common/defs/bitcoin/monacoin.json +++ b/common/defs/bitcoin/monacoin.json @@ -17,6 +17,8 @@ "xpub_magic": 76067358, "xpub_magic_segwit_p2sh": 77429938, "xpub_magic_segwit_native": 78792518, + "xpub_magic_multisig_segwit_p2sh": 76067358, + "xpub_magic_multisig_segwit_native": 76067358, "bech32_prefix": "mona", "cashaddr_prefix": null, "slip44": 22, diff --git a/common/defs/bitcoin/monetaryunit.json b/common/defs/bitcoin/monetaryunit.json index 4a32ebf01..70af20dcd 100644 --- a/common/defs/bitcoin/monetaryunit.json +++ b/common/defs/bitcoin/monetaryunit.json @@ -17,6 +17,8 @@ "xpub_magic": 76067358, "xpub_magic_segwit_p2sh": null, "xpub_magic_segwit_native": null, + "xpub_magic_multisig_segwit_p2sh": null, + "xpub_magic_multisig_segwit_native": null, "bech32_prefix": null, "cashaddr_prefix": null, "slip44": 31, diff --git a/common/defs/bitcoin/namecoin.json b/common/defs/bitcoin/namecoin.json index a7a5a42e5..fd5273835 100644 --- a/common/defs/bitcoin/namecoin.json +++ b/common/defs/bitcoin/namecoin.json @@ -17,6 +17,8 @@ "xpub_magic": 76067358, "xpub_magic_segwit_p2sh": null, "xpub_magic_segwit_native": null, + "xpub_magic_multisig_segwit_p2sh": null, + "xpub_magic_multisig_segwit_native": null, "bech32_prefix": null, "cashaddr_prefix": null, "slip44": 7, diff --git a/common/defs/bitcoin/nix.json b/common/defs/bitcoin/nix.json index f49163230..da401a3bd 100644 --- a/common/defs/bitcoin/nix.json +++ b/common/defs/bitcoin/nix.json @@ -17,6 +17,8 @@ "xpub_magic": 76067358, "xpub_magic_segwit_p2sh": 77429938, "xpub_magic_segwit_native": 78792518, + "xpub_magic_multisig_segwit_p2sh": 76067358, + "xpub_magic_multisig_segwit_native": 76067358, "bech32_prefix": "nix", "cashaddr_prefix": null, "slip44": 400, diff --git a/common/defs/bitcoin/particl.json b/common/defs/bitcoin/particl.json index 586ad0932..9419501b3 100644 --- a/common/defs/bitcoin/particl.json +++ b/common/defs/bitcoin/particl.json @@ -17,6 +17,8 @@ "xpub_magic": 2401087160, "xpub_magic_segwit_p2sh": 28471030, "xpub_magic_segwit_native": 78792518, + "xpub_magic_multisig_segwit_p2sh": 2401087160, + "xpub_magic_multisig_segwit_native": 2401087160, "bech32_prefix": "bc", "cashaddr_prefix": null, "slip44": 44, diff --git a/common/defs/bitcoin/particl_testnet.json b/common/defs/bitcoin/particl_testnet.json index 631775ac2..505e4a394 100644 --- a/common/defs/bitcoin/particl_testnet.json +++ b/common/defs/bitcoin/particl_testnet.json @@ -17,6 +17,8 @@ "xpub_magic": 76059768, "xpub_magic_segwit_p2sh": 71979618, "xpub_magic_segwit_native": 73342198, + "xpub_magic_multisig_segwit_p2sh": 76059768, + "xpub_magic_multisig_segwit_native": 76059768, "bech32_prefix": "tb", "cashaddr_prefix": null, "slip44": 1, diff --git a/common/defs/bitcoin/peercoin.json b/common/defs/bitcoin/peercoin.json index d412b1f0b..ff97e149e 100644 --- a/common/defs/bitcoin/peercoin.json +++ b/common/defs/bitcoin/peercoin.json @@ -17,6 +17,8 @@ "xpub_magic": 76067358, "xpub_magic_segwit_p2sh": 77429938, "xpub_magic_segwit_native": 78792518, + "xpub_magic_multisig_segwit_p2sh": 76067358, + "xpub_magic_multisig_segwit_native": 76067358, "bech32_prefix": "pc", "cashaddr_prefix": null, "slip44": 6, diff --git a/common/defs/bitcoin/peercoin_testnet.json b/common/defs/bitcoin/peercoin_testnet.json index 82aa0f579..583ba0733 100644 --- a/common/defs/bitcoin/peercoin_testnet.json +++ b/common/defs/bitcoin/peercoin_testnet.json @@ -17,6 +17,8 @@ "xpub_magic": 70617039, "xpub_magic_segwit_p2sh": 71979618, "xpub_magic_segwit_native": 73342198, + "xpub_magic_multisig_segwit_p2sh": 70617039, + "xpub_magic_multisig_segwit_native": 70617039, "bech32_prefix": "tpc", "cashaddr_prefix": null, "slip44": 1, diff --git a/common/defs/bitcoin/polis.json b/common/defs/bitcoin/polis.json index 493df2913..eec525fec 100644 --- a/common/defs/bitcoin/polis.json +++ b/common/defs/bitcoin/polis.json @@ -17,6 +17,8 @@ "xpub_magic": 65166718, "xpub_magic_segwit_p2sh": null, "xpub_magic_segwit_native": null, + "xpub_magic_multisig_segwit_p2sh": null, + "xpub_magic_multisig_segwit_native": null, "bech32_prefix": null, "cashaddr_prefix": null, "slip44": 1997, diff --git a/common/defs/bitcoin/primecoin.json b/common/defs/bitcoin/primecoin.json index 13c373754..2b7796a71 100644 --- a/common/defs/bitcoin/primecoin.json +++ b/common/defs/bitcoin/primecoin.json @@ -17,6 +17,8 @@ "xpub_magic": 76067358, "xpub_magic_segwit_p2sh": null, "xpub_magic_segwit_native": null, + "xpub_magic_multisig_segwit_p2sh": null, + "xpub_magic_multisig_segwit_native": null, "bech32_prefix": null, "cashaddr_prefix": null, "slip44": 24, diff --git a/common/defs/bitcoin/qtum.json b/common/defs/bitcoin/qtum.json index ac66c14e9..33328cd8d 100644 --- a/common/defs/bitcoin/qtum.json +++ b/common/defs/bitcoin/qtum.json @@ -17,6 +17,8 @@ "xpub_magic": 76067358, "xpub_magic_segwit_p2sh": 77429938, "xpub_magic_segwit_native": 78792518, + "xpub_magic_multisig_segwit_p2sh": 76067358, + "xpub_magic_multisig_segwit_native": 76067358, "bech32_prefix": "qc", "cashaddr_prefix": null, "slip44": 2301, diff --git a/common/defs/bitcoin/qtum_testnet.json b/common/defs/bitcoin/qtum_testnet.json index 207a0f5f5..ddd3be04a 100644 --- a/common/defs/bitcoin/qtum_testnet.json +++ b/common/defs/bitcoin/qtum_testnet.json @@ -17,6 +17,8 @@ "xpub_magic": 70617039, "xpub_magic_segwit_p2sh": 71979618, "xpub_magic_segwit_native": 73342198, + "xpub_magic_multisig_segwit_p2sh": 70617039, + "xpub_magic_multisig_segwit_native": 70617039, "bech32_prefix": "tq", "cashaddr_prefix": null, "slip44": 1, diff --git a/common/defs/bitcoin/ravencoin.json b/common/defs/bitcoin/ravencoin.json index cf4e3116f..d372547e6 100644 --- a/common/defs/bitcoin/ravencoin.json +++ b/common/defs/bitcoin/ravencoin.json @@ -17,6 +17,8 @@ "xpub_magic": 76067358, "xpub_magic_segwit_p2sh": null, "xpub_magic_segwit_native": null, + "xpub_magic_multisig_segwit_p2sh": null, + "xpub_magic_multisig_segwit_native": null, "bech32_prefix": null, "cashaddr_prefix": null, "slip44": 175, diff --git a/common/defs/bitcoin/ritocoin.json b/common/defs/bitcoin/ritocoin.json index eb88d8849..945df3ac5 100644 --- a/common/defs/bitcoin/ritocoin.json +++ b/common/defs/bitcoin/ritocoin.json @@ -17,6 +17,8 @@ "xpub_magic": 87353290, "xpub_magic_segwit_p2sh": null, "xpub_magic_segwit_native": null, + "xpub_magic_multisig_segwit_p2sh": null, + "xpub_magic_multisig_segwit_native": null, "bech32_prefix": null, "cashaddr_prefix": null, "slip44": 19169, diff --git a/common/defs/bitcoin/smartcash.json b/common/defs/bitcoin/smartcash.json index 03ac53fb6..0bfc321c4 100644 --- a/common/defs/bitcoin/smartcash.json +++ b/common/defs/bitcoin/smartcash.json @@ -17,6 +17,8 @@ "xpub_magic": 76067358, "xpub_magic_segwit_p2sh": null, "xpub_magic_segwit_native": null, + "xpub_magic_multisig_segwit_p2sh": null, + "xpub_magic_multisig_segwit_native": null, "bech32_prefix": null, "cashaddr_prefix": null, "slip44": 224, diff --git a/common/defs/bitcoin/smartcash_testnet.json b/common/defs/bitcoin/smartcash_testnet.json index fc173def8..16cdee8f6 100644 --- a/common/defs/bitcoin/smartcash_testnet.json +++ b/common/defs/bitcoin/smartcash_testnet.json @@ -17,6 +17,8 @@ "xpub_magic": 70617039, "xpub_magic_segwit_p2sh": null, "xpub_magic_segwit_native": null, + "xpub_magic_multisig_segwit_p2sh": null, + "xpub_magic_multisig_segwit_native": null, "bech32_prefix": null, "cashaddr_prefix": null, "slip44": 224, diff --git a/common/defs/bitcoin/stakenet.json b/common/defs/bitcoin/stakenet.json index aa0750b85..7ccf5a6d1 100644 --- a/common/defs/bitcoin/stakenet.json +++ b/common/defs/bitcoin/stakenet.json @@ -17,6 +17,8 @@ "xpub_magic": 76067358, "xpub_magic_segwit_p2sh": 77429938, "xpub_magic_segwit_native": 78792518, + "xpub_magic_multisig_segwit_p2sh": 76067358, + "xpub_magic_multisig_segwit_native": 76067358, "bech32_prefix": "xc", "cashaddr_prefix": null, "slip44": 199, diff --git a/common/defs/bitcoin/syscoin.json b/common/defs/bitcoin/syscoin.json index 6c8dafcbf..c83a36fa4 100644 --- a/common/defs/bitcoin/syscoin.json +++ b/common/defs/bitcoin/syscoin.json @@ -17,6 +17,8 @@ "xpub_magic": 76067358, "xpub_magic_segwit_p2sh": 77429938, "xpub_magic_segwit_native": 78792518, + "xpub_magic_multisig_segwit_p2sh": 76067358, + "xpub_magic_multisig_segwit_native": 76067358, "bech32_prefix": "sys", "cashaddr_prefix": null, "slip44": 57, diff --git a/common/defs/bitcoin/terracoin.json b/common/defs/bitcoin/terracoin.json index 30960673b..517cde9fa 100644 --- a/common/defs/bitcoin/terracoin.json +++ b/common/defs/bitcoin/terracoin.json @@ -17,6 +17,8 @@ "xpub_magic": 76067358, "xpub_magic_segwit_p2sh": null, "xpub_magic_segwit_native": null, + "xpub_magic_multisig_segwit_p2sh": null, + "xpub_magic_multisig_segwit_native": null, "bech32_prefix": null, "cashaddr_prefix": null, "slip44": 83, diff --git a/common/defs/bitcoin/unobtanium.json b/common/defs/bitcoin/unobtanium.json index 7e0677a7b..80782b212 100644 --- a/common/defs/bitcoin/unobtanium.json +++ b/common/defs/bitcoin/unobtanium.json @@ -17,6 +17,8 @@ "xpub_magic": 76067358, "xpub_magic_segwit_p2sh": null, "xpub_magic_segwit_native": null, + "xpub_magic_multisig_segwit_p2sh": null, + "xpub_magic_multisig_segwit_native": null, "bech32_prefix": null, "cashaddr_prefix": null, "slip44": 92, diff --git a/common/defs/bitcoin/verge.json b/common/defs/bitcoin/verge.json index ff6606101..a315bcd0a 100644 --- a/common/defs/bitcoin/verge.json +++ b/common/defs/bitcoin/verge.json @@ -17,6 +17,8 @@ "xpub_magic": 36513075, "xpub_magic_segwit_p2sh": null, "xpub_magic_segwit_native": null, + "xpub_magic_multisig_segwit_p2sh": null, + "xpub_magic_multisig_segwit_native": null, "bech32_prefix": null, "cashaddr_prefix": null, "slip44": 77, diff --git a/common/defs/bitcoin/vertcoin.json b/common/defs/bitcoin/vertcoin.json index 541cac20d..8d067077d 100644 --- a/common/defs/bitcoin/vertcoin.json +++ b/common/defs/bitcoin/vertcoin.json @@ -17,6 +17,8 @@ "xpub_magic": 76067358, "xpub_magic_segwit_p2sh": 77429938, "xpub_magic_segwit_native": 78792518, + "xpub_magic_multisig_segwit_p2sh": 76067358, + "xpub_magic_multisig_segwit_native": 76067358, "bech32_prefix": "vtc", "cashaddr_prefix": null, "slip44": 28, diff --git a/common/defs/bitcoin/viacoin.json b/common/defs/bitcoin/viacoin.json index 3a5a4bc0c..5b355173b 100644 --- a/common/defs/bitcoin/viacoin.json +++ b/common/defs/bitcoin/viacoin.json @@ -17,6 +17,8 @@ "xpub_magic": 76067358, "xpub_magic_segwit_p2sh": 77429938, "xpub_magic_segwit_native": 78792518, + "xpub_magic_multisig_segwit_p2sh": 76067358, + "xpub_magic_multisig_segwit_native": 76067358, "bech32_prefix": "via", "cashaddr_prefix": null, "slip44": 14, diff --git a/common/defs/bitcoin/vipstarcoin.json b/common/defs/bitcoin/vipstarcoin.json index 019947feb..0da033a37 100644 --- a/common/defs/bitcoin/vipstarcoin.json +++ b/common/defs/bitcoin/vipstarcoin.json @@ -17,6 +17,8 @@ "xpub_magic": 76067358, "xpub_magic_segwit_p2sh": 77429938, "xpub_magic_segwit_native": 78792518, + "xpub_magic_multisig_segwit_p2sh": 76067358, + "xpub_magic_multisig_segwit_native": 76067358, "bech32_prefix": "vips", "cashaddr_prefix": null, "slip44": 1919, diff --git a/common/defs/bitcoin/zcash.json b/common/defs/bitcoin/zcash.json index 15be1acdf..f8116c952 100644 --- a/common/defs/bitcoin/zcash.json +++ b/common/defs/bitcoin/zcash.json @@ -17,6 +17,8 @@ "xpub_magic": 76067358, "xpub_magic_segwit_p2sh": null, "xpub_magic_segwit_native": null, + "xpub_magic_multisig_segwit_p2sh": null, + "xpub_magic_multisig_segwit_native": null, "bech32_prefix": null, "cashaddr_prefix": null, "slip44": 133, diff --git a/common/defs/bitcoin/zcash_testnet.json b/common/defs/bitcoin/zcash_testnet.json index 9a5bccf2c..25e783c78 100644 --- a/common/defs/bitcoin/zcash_testnet.json +++ b/common/defs/bitcoin/zcash_testnet.json @@ -17,6 +17,8 @@ "xpub_magic": 70617039, "xpub_magic_segwit_p2sh": null, "xpub_magic_segwit_native": null, + "xpub_magic_multisig_segwit_p2sh": null, + "xpub_magic_multisig_segwit_native": null, "bech32_prefix": null, "cashaddr_prefix": null, "slip44": 1, diff --git a/common/defs/bitcoin/zcoin.json b/common/defs/bitcoin/zcoin.json index 39f4b64f6..6c6d6a956 100644 --- a/common/defs/bitcoin/zcoin.json +++ b/common/defs/bitcoin/zcoin.json @@ -17,6 +17,8 @@ "xpub_magic": 76067358, "xpub_magic_segwit_p2sh": null, "xpub_magic_segwit_native": null, + "xpub_magic_multisig_segwit_p2sh": null, + "xpub_magic_multisig_segwit_native": null, "bech32_prefix": null, "cashaddr_prefix": null, "slip44": 136, diff --git a/common/defs/bitcoin/zcoin_testnet.json b/common/defs/bitcoin/zcoin_testnet.json index 2581fd606..bca7d0c55 100644 --- a/common/defs/bitcoin/zcoin_testnet.json +++ b/common/defs/bitcoin/zcoin_testnet.json @@ -17,6 +17,8 @@ "xpub_magic": 70617039, "xpub_magic_segwit_p2sh": null, "xpub_magic_segwit_native": null, + "xpub_magic_multisig_segwit_p2sh": null, + "xpub_magic_multisig_segwit_native": null, "bech32_prefix": null, "cashaddr_prefix": null, "slip44": 1, diff --git a/common/defs/bitcoin/zcore.json b/common/defs/bitcoin/zcore.json index 018a852d8..a2ff1bc4a 100644 --- a/common/defs/bitcoin/zcore.json +++ b/common/defs/bitcoin/zcore.json @@ -17,6 +17,8 @@ "xpub_magic": 78792518, "xpub_magic_segwit_p2sh": null, "xpub_magic_segwit_native": null, + "xpub_magic_multisig_segwit_p2sh": null, + "xpub_magic_multisig_segwit_native": null, "bech32_prefix": null, "cashaddr_prefix": null, "slip44": 428, diff --git a/common/tools/cointool.py b/common/tools/cointool.py index 7dd0ef9fb..10eebe74e 100755 --- a/common/tools/cointool.py +++ b/common/tools/cointool.py @@ -448,6 +448,8 @@ def check_segwit(coins): "bech32_prefix", "xpub_magic_segwit_native", "xpub_magic_segwit_p2sh", + "xpub_magic_multisig_segwit_native", + "xpub_magic_multisig_segwit_p2sh", ] if segwit: for field in segwit_fields: diff --git a/core/src/apps/common/coininfo.py b/core/src/apps/common/coininfo.py index 3013b8816..0b7438967 100644 --- a/core/src/apps/common/coininfo.py +++ b/core/src/apps/common/coininfo.py @@ -23,6 +23,8 @@ class CoinInfo: xpub_magic: int, xpub_magic_segwit_p2sh: Optional[int], xpub_magic_segwit_native: Optional[int], + xpub_magic_multisig_segwit_p2sh: Optional[int], + xpub_magic_multisig_segwit_native: Optional[int], bech32_prefix: Optional[str], cashaddr_prefix: Optional[str], slip44: int, @@ -47,6 +49,8 @@ class CoinInfo: self.xpub_magic = xpub_magic self.xpub_magic_segwit_p2sh = xpub_magic_segwit_p2sh self.xpub_magic_segwit_native = xpub_magic_segwit_native + self.xpub_magic_multisig_segwit_p2sh = xpub_magic_multisig_segwit_p2sh + self.xpub_magic_multisig_segwit_native = xpub_magic_multisig_segwit_native self.bech32_prefix = bech32_prefix self.cashaddr_prefix = cashaddr_prefix self.slip44 = slip44 @@ -99,6 +103,8 @@ def by_name(name: str) -> CoinInfo: xpub_magic=0x0488b21e, xpub_magic_segwit_p2sh=0x049d7cb2, xpub_magic_segwit_native=0x04b24746, + xpub_magic_multisig_segwit_p2sh=0x0295b43f, + xpub_magic_multisig_segwit_native=0x02aa7ed3, bech32_prefix="bc", cashaddr_prefix=None, slip44=0, @@ -125,6 +131,8 @@ def by_name(name: str) -> CoinInfo: xpub_magic=0x043587cf, xpub_magic_segwit_p2sh=0x044a5262, xpub_magic_segwit_native=0x045f1cf6, + xpub_magic_multisig_segwit_p2sh=0x024289ef, + xpub_magic_multisig_segwit_native=0x02575483, bech32_prefix="bcrt", cashaddr_prefix=None, slip44=1, @@ -151,6 +159,8 @@ def by_name(name: str) -> CoinInfo: xpub_magic=0x043587cf, xpub_magic_segwit_p2sh=0x044a5262, xpub_magic_segwit_native=0x045f1cf6, + xpub_magic_multisig_segwit_p2sh=0x024289ef, + xpub_magic_multisig_segwit_native=0x02575483, bech32_prefix="tb", cashaddr_prefix=None, slip44=1, @@ -180,6 +190,8 @@ def by_name(name: str) -> CoinInfo: xpub_magic=0x0488b21e, xpub_magic_segwit_p2sh=0x049d7cb2, xpub_magic_segwit_native=0x04b24746, + xpub_magic_multisig_segwit_p2sh=0x0488b21e, + xpub_magic_multisig_segwit_native=0x0488b21e, bech32_prefix="acm", cashaddr_prefix=None, slip44=228, @@ -206,6 +218,8 @@ def by_name(name: str) -> CoinInfo: xpub_magic=0x02fe52cc, xpub_magic_segwit_p2sh=None, xpub_magic_segwit_native=None, + xpub_magic_multisig_segwit_p2sh=None, + xpub_magic_multisig_segwit_native=None, bech32_prefix=None, cashaddr_prefix=None, slip44=4242, @@ -232,6 +246,8 @@ def by_name(name: str) -> CoinInfo: xpub_magic=0x0488b21e, xpub_magic_segwit_p2sh=0x049d7cb2, xpub_magic_segwit_native=0x04b24746, + xpub_magic_multisig_segwit_p2sh=0x0488b21e, + xpub_magic_multisig_segwit_native=0x0488b21e, bech32_prefix="bm", cashaddr_prefix=None, slip44=25252, @@ -258,6 +274,8 @@ def by_name(name: str) -> CoinInfo: xpub_magic=0x0488b21e, xpub_magic_segwit_p2sh=0x049d7cb2, xpub_magic_segwit_native=0x04b24746, + xpub_magic_multisig_segwit_p2sh=0x0488b21e, + xpub_magic_multisig_segwit_native=0x0488b21e, bech32_prefix="bz", cashaddr_prefix=None, slip44=123, @@ -284,6 +302,8 @@ def by_name(name: str) -> CoinInfo: xpub_magic=0x0488b21e, xpub_magic_segwit_p2sh=None, xpub_magic_segwit_native=None, + xpub_magic_multisig_segwit_p2sh=None, + xpub_magic_multisig_segwit_native=None, bech32_prefix=None, cashaddr_prefix="bitcoincash", slip44=145, @@ -310,6 +330,8 @@ def by_name(name: str) -> CoinInfo: xpub_magic=0x043587cf, xpub_magic_segwit_p2sh=None, xpub_magic_segwit_native=None, + xpub_magic_multisig_segwit_p2sh=None, + xpub_magic_multisig_segwit_native=None, bech32_prefix=None, cashaddr_prefix="bchtest", slip44=1, @@ -336,6 +358,8 @@ def by_name(name: str) -> CoinInfo: xpub_magic=0x0488b21e, xpub_magic_segwit_p2sh=0x049d7cb2, xpub_magic_segwit_native=0x04b24746, + xpub_magic_multisig_segwit_p2sh=0x0488b21e, + xpub_magic_multisig_segwit_native=0x0488b21e, bech32_prefix="btg", cashaddr_prefix=None, slip44=156, @@ -362,6 +386,8 @@ def by_name(name: str) -> CoinInfo: xpub_magic=0x043587cf, xpub_magic_segwit_p2sh=0x044a5262, xpub_magic_segwit_native=0x045f1cf6, + xpub_magic_multisig_segwit_p2sh=0x043587cf, + xpub_magic_multisig_segwit_native=0x043587cf, bech32_prefix="tbtg", cashaddr_prefix=None, slip44=156, @@ -388,6 +414,8 @@ def by_name(name: str) -> CoinInfo: xpub_magic=0x0488b21e, xpub_magic_segwit_p2sh=None, xpub_magic_segwit_native=None, + xpub_magic_multisig_segwit_p2sh=None, + xpub_magic_multisig_segwit_native=None, bech32_prefix=None, cashaddr_prefix=None, slip44=183, @@ -414,6 +442,8 @@ def by_name(name: str) -> CoinInfo: xpub_magic=0x0488b21e, xpub_magic_segwit_p2sh=None, xpub_magic_segwit_native=None, + xpub_magic_multisig_segwit_p2sh=None, + xpub_magic_multisig_segwit_native=None, bech32_prefix=None, cashaddr_prefix=None, slip44=10291, @@ -440,6 +470,8 @@ def by_name(name: str) -> CoinInfo: xpub_magic=0x0488b21e, xpub_magic_segwit_p2sh=0x049d7cb2, xpub_magic_segwit_native=0x04b24746, + xpub_magic_multisig_segwit_p2sh=0x0488b21e, + xpub_magic_multisig_segwit_native=0x0488b21e, bech32_prefix="btx", cashaddr_prefix=None, slip44=160, @@ -466,6 +498,8 @@ def by_name(name: str) -> CoinInfo: xpub_magic=0x0488b21e, xpub_magic_segwit_p2sh=0x049d7cb2, xpub_magic_segwit_native=0x04b24746, + xpub_magic_multisig_segwit_p2sh=0x0488b21e, + xpub_magic_multisig_segwit_native=0x0488b21e, bech32_prefix="cpu", cashaddr_prefix=None, slip44=363, @@ -492,6 +526,8 @@ def by_name(name: str) -> CoinInfo: xpub_magic=0x0488b21e, xpub_magic_segwit_p2sh=None, xpub_magic_segwit_native=None, + xpub_magic_multisig_segwit_p2sh=None, + xpub_magic_multisig_segwit_native=None, bech32_prefix=None, cashaddr_prefix=None, slip44=72, @@ -518,6 +554,8 @@ def by_name(name: str) -> CoinInfo: xpub_magic=0x02fe52cc, xpub_magic_segwit_p2sh=None, xpub_magic_segwit_native=None, + xpub_magic_multisig_segwit_p2sh=None, + xpub_magic_multisig_segwit_native=None, bech32_prefix=None, cashaddr_prefix=None, slip44=5, @@ -544,6 +582,8 @@ def by_name(name: str) -> CoinInfo: xpub_magic=0x043587cf, xpub_magic_segwit_p2sh=None, xpub_magic_segwit_native=None, + xpub_magic_multisig_segwit_p2sh=None, + xpub_magic_multisig_segwit_native=None, bech32_prefix=None, cashaddr_prefix=None, slip44=1, @@ -570,6 +610,8 @@ def by_name(name: str) -> CoinInfo: xpub_magic=0x02fda926, xpub_magic_segwit_p2sh=None, xpub_magic_segwit_native=None, + xpub_magic_multisig_segwit_p2sh=None, + xpub_magic_multisig_segwit_native=None, bech32_prefix=None, cashaddr_prefix=None, slip44=42, @@ -596,6 +638,8 @@ def by_name(name: str) -> CoinInfo: xpub_magic=0x043587d1, xpub_magic_segwit_p2sh=None, xpub_magic_segwit_native=None, + xpub_magic_multisig_segwit_p2sh=None, + xpub_magic_multisig_segwit_native=None, bech32_prefix=None, cashaddr_prefix=None, slip44=1, @@ -622,6 +666,8 @@ def by_name(name: str) -> CoinInfo: xpub_magic=0x0488b21e, xpub_magic_segwit_p2sh=0x049d7cb2, xpub_magic_segwit_native=0x04b24746, + xpub_magic_multisig_segwit_p2sh=0x0488b21e, + xpub_magic_multisig_segwit_native=0x0488b21e, bech32_prefix="dgb", cashaddr_prefix=None, slip44=20, @@ -648,6 +694,8 @@ def by_name(name: str) -> CoinInfo: xpub_magic=0x02facafd, xpub_magic_segwit_p2sh=None, xpub_magic_segwit_native=None, + xpub_magic_multisig_segwit_p2sh=None, + xpub_magic_multisig_segwit_native=None, bech32_prefix=None, cashaddr_prefix=None, slip44=3, @@ -674,6 +722,8 @@ def by_name(name: str) -> CoinInfo: xpub_magic=0x043587cf, xpub_magic_segwit_p2sh=0x044a5262, xpub_magic_segwit_native=0x045f1cf6, + xpub_magic_multisig_segwit_p2sh=0x043587cf, + xpub_magic_multisig_segwit_native=0x043587cf, bech32_prefix="ert", cashaddr_prefix=None, slip44=1, @@ -700,6 +750,8 @@ def by_name(name: str) -> CoinInfo: xpub_magic=0x0488bc26, xpub_magic_segwit_p2sh=0x049d7cb2, xpub_magic_segwit_native=0x04b24746, + xpub_magic_multisig_segwit_p2sh=0x0488bc26, + xpub_magic_multisig_segwit_native=0x0488bc26, bech32_prefix="fc", cashaddr_prefix=None, slip44=8, @@ -726,6 +778,8 @@ def by_name(name: str) -> CoinInfo: xpub_magic=0x00174921, xpub_magic_segwit_p2sh=0x01b26ef6, xpub_magic_segwit_native=0x04b24746, + xpub_magic_multisig_segwit_p2sh=0x00174921, + xpub_magic_multisig_segwit_native=0x00174921, bech32_prefix="flo", cashaddr_prefix=None, slip44=216, @@ -752,6 +806,8 @@ def by_name(name: str) -> CoinInfo: xpub_magic=0x0488b21e, xpub_magic_segwit_p2sh=0x049d7cb2, xpub_magic_segwit_native=0x04b24746, + xpub_magic_multisig_segwit_p2sh=0x0488ade4, + xpub_magic_multisig_segwit_native=0x0488ade4, bech32_prefix="fc", cashaddr_prefix=None, slip44=75, @@ -778,6 +834,8 @@ def by_name(name: str) -> CoinInfo: xpub_magic=0x019d9cfe, xpub_magic_segwit_p2sh=0x01b26ef6, xpub_magic_segwit_native=0x04b24746, + xpub_magic_multisig_segwit_p2sh=0x019da462, + xpub_magic_multisig_segwit_native=0x019da462, bech32_prefix="game", cashaddr_prefix=None, slip44=101, @@ -804,6 +862,8 @@ def by_name(name: str) -> CoinInfo: xpub_magic=0x0488b21e, xpub_magic_segwit_p2sh=0x049d7cb2, xpub_magic_segwit_native=0x04b24746, + xpub_magic_multisig_segwit_p2sh=0x0488b21e, + xpub_magic_multisig_segwit_native=0x0488b21e, bech32_prefix="grs", cashaddr_prefix=None, slip44=17, @@ -830,6 +890,8 @@ def by_name(name: str) -> CoinInfo: xpub_magic=0x043587cf, xpub_magic_segwit_p2sh=0x044a5262, xpub_magic_segwit_native=0x045f1cf6, + xpub_magic_multisig_segwit_p2sh=0x043587cf, + xpub_magic_multisig_segwit_native=0x043587cf, bech32_prefix="tgrs", cashaddr_prefix=None, slip44=1, @@ -856,6 +918,8 @@ def by_name(name: str) -> CoinInfo: xpub_magic=0x02fe52cc, xpub_magic_segwit_p2sh=None, xpub_magic_segwit_native=None, + xpub_magic_multisig_segwit_p2sh=None, + xpub_magic_multisig_segwit_native=None, bech32_prefix=None, cashaddr_prefix=None, slip44=88888888, @@ -882,6 +946,8 @@ def by_name(name: str) -> CoinInfo: xpub_magic=0x043587cf, xpub_magic_segwit_p2sh=None, xpub_magic_segwit_native=None, + xpub_magic_multisig_segwit_p2sh=None, + xpub_magic_multisig_segwit_native=None, bech32_prefix=None, cashaddr_prefix=None, slip44=1, @@ -908,6 +974,8 @@ def by_name(name: str) -> CoinInfo: xpub_magic=0x0488b21e, xpub_magic_segwit_p2sh=None, xpub_magic_segwit_native=None, + xpub_magic_multisig_segwit_p2sh=None, + xpub_magic_multisig_segwit_native=None, bech32_prefix=None, cashaddr_prefix=None, slip44=141, @@ -934,6 +1002,8 @@ def by_name(name: str) -> CoinInfo: xpub_magic=0x0488b21e, xpub_magic_segwit_p2sh=None, xpub_magic_segwit_native=None, + xpub_magic_multisig_segwit_p2sh=None, + xpub_magic_multisig_segwit_native=None, bech32_prefix=None, cashaddr_prefix=None, slip44=510, @@ -960,6 +1030,8 @@ def by_name(name: str) -> CoinInfo: xpub_magic=0x019da462, xpub_magic_segwit_p2sh=0x01b26ef6, xpub_magic_segwit_native=0x04b24746, + xpub_magic_multisig_segwit_p2sh=0x019da462, + xpub_magic_multisig_segwit_native=0x019da462, bech32_prefix="ltc", cashaddr_prefix=None, slip44=2, @@ -986,6 +1058,8 @@ def by_name(name: str) -> CoinInfo: xpub_magic=0x043587cf, xpub_magic_segwit_p2sh=0x044a5262, xpub_magic_segwit_native=0x045f1cf6, + xpub_magic_multisig_segwit_p2sh=0x043587cf, + xpub_magic_multisig_segwit_native=0x043587cf, bech32_prefix="tltc", cashaddr_prefix=None, slip44=1, @@ -1012,6 +1086,8 @@ def by_name(name: str) -> CoinInfo: xpub_magic=0x0488b21e, xpub_magic_segwit_p2sh=0x049d7cb2, xpub_magic_segwit_native=0x04b24746, + xpub_magic_multisig_segwit_p2sh=0x0488b21e, + xpub_magic_multisig_segwit_native=0x0488b21e, bech32_prefix="mona", cashaddr_prefix=None, slip44=22, @@ -1038,6 +1114,8 @@ def by_name(name: str) -> CoinInfo: xpub_magic=0x0488b21e, xpub_magic_segwit_p2sh=None, xpub_magic_segwit_native=None, + xpub_magic_multisig_segwit_p2sh=None, + xpub_magic_multisig_segwit_native=None, bech32_prefix=None, cashaddr_prefix=None, slip44=31, @@ -1064,6 +1142,8 @@ def by_name(name: str) -> CoinInfo: xpub_magic=0x0488b21e, xpub_magic_segwit_p2sh=0x049d7cb2, xpub_magic_segwit_native=0x04b24746, + xpub_magic_multisig_segwit_p2sh=0x0488b21e, + xpub_magic_multisig_segwit_native=0x0488b21e, bech32_prefix="nix", cashaddr_prefix=None, slip44=400, @@ -1090,6 +1170,8 @@ def by_name(name: str) -> CoinInfo: xpub_magic=0x0488b21e, xpub_magic_segwit_p2sh=None, xpub_magic_segwit_native=None, + xpub_magic_multisig_segwit_p2sh=None, + xpub_magic_multisig_segwit_native=None, bech32_prefix=None, cashaddr_prefix=None, slip44=7, @@ -1116,6 +1198,8 @@ def by_name(name: str) -> CoinInfo: xpub_magic=0x8f1daeb8, xpub_magic_segwit_p2sh=0x01b26ef6, xpub_magic_segwit_native=0x04b24746, + xpub_magic_multisig_segwit_p2sh=0x8f1daeb8, + xpub_magic_multisig_segwit_native=0x8f1daeb8, bech32_prefix="bc", cashaddr_prefix=None, slip44=44, @@ -1142,6 +1226,8 @@ def by_name(name: str) -> CoinInfo: xpub_magic=0x04889478, xpub_magic_segwit_p2sh=0x044a5262, xpub_magic_segwit_native=0x045f1cf6, + xpub_magic_multisig_segwit_p2sh=0x04889478, + xpub_magic_multisig_segwit_native=0x04889478, bech32_prefix="tb", cashaddr_prefix=None, slip44=1, @@ -1168,6 +1254,8 @@ def by_name(name: str) -> CoinInfo: xpub_magic=0x0488b21e, xpub_magic_segwit_p2sh=0x049d7cb2, xpub_magic_segwit_native=0x04b24746, + xpub_magic_multisig_segwit_p2sh=0x0488b21e, + xpub_magic_multisig_segwit_native=0x0488b21e, bech32_prefix="pc", cashaddr_prefix=None, slip44=6, @@ -1194,6 +1282,8 @@ def by_name(name: str) -> CoinInfo: xpub_magic=0x043587cf, xpub_magic_segwit_p2sh=0x044a5262, xpub_magic_segwit_native=0x045f1cf6, + xpub_magic_multisig_segwit_p2sh=0x043587cf, + xpub_magic_multisig_segwit_native=0x043587cf, bech32_prefix="tpc", cashaddr_prefix=None, slip44=1, @@ -1220,6 +1310,8 @@ def by_name(name: str) -> CoinInfo: xpub_magic=0x03e25d7e, xpub_magic_segwit_p2sh=None, xpub_magic_segwit_native=None, + xpub_magic_multisig_segwit_p2sh=None, + xpub_magic_multisig_segwit_native=None, bech32_prefix=None, cashaddr_prefix=None, slip44=1997, @@ -1246,6 +1338,8 @@ def by_name(name: str) -> CoinInfo: xpub_magic=0x0488b21e, xpub_magic_segwit_p2sh=None, xpub_magic_segwit_native=None, + xpub_magic_multisig_segwit_p2sh=None, + xpub_magic_multisig_segwit_native=None, bech32_prefix=None, cashaddr_prefix=None, slip44=24, @@ -1272,6 +1366,8 @@ def by_name(name: str) -> CoinInfo: xpub_magic=0x0488b21e, xpub_magic_segwit_p2sh=0x049d7cb2, xpub_magic_segwit_native=0x04b24746, + xpub_magic_multisig_segwit_p2sh=0x0488b21e, + xpub_magic_multisig_segwit_native=0x0488b21e, bech32_prefix="qc", cashaddr_prefix=None, slip44=2301, @@ -1298,6 +1394,8 @@ def by_name(name: str) -> CoinInfo: xpub_magic=0x043587cf, xpub_magic_segwit_p2sh=0x044a5262, xpub_magic_segwit_native=0x045f1cf6, + xpub_magic_multisig_segwit_p2sh=0x043587cf, + xpub_magic_multisig_segwit_native=0x043587cf, bech32_prefix="tq", cashaddr_prefix=None, slip44=1, @@ -1324,6 +1422,8 @@ def by_name(name: str) -> CoinInfo: xpub_magic=0x0488b21e, xpub_magic_segwit_p2sh=None, xpub_magic_segwit_native=None, + xpub_magic_multisig_segwit_p2sh=None, + xpub_magic_multisig_segwit_native=None, bech32_prefix=None, cashaddr_prefix=None, slip44=175, @@ -1350,6 +1450,8 @@ def by_name(name: str) -> CoinInfo: xpub_magic=0x0534e7ca, xpub_magic_segwit_p2sh=None, xpub_magic_segwit_native=None, + xpub_magic_multisig_segwit_p2sh=None, + xpub_magic_multisig_segwit_native=None, bech32_prefix=None, cashaddr_prefix=None, slip44=19169, @@ -1376,6 +1478,8 @@ def by_name(name: str) -> CoinInfo: xpub_magic=0x0488b21e, xpub_magic_segwit_p2sh=None, xpub_magic_segwit_native=None, + xpub_magic_multisig_segwit_p2sh=None, + xpub_magic_multisig_segwit_native=None, bech32_prefix=None, cashaddr_prefix=None, slip44=224, @@ -1402,6 +1506,8 @@ def by_name(name: str) -> CoinInfo: xpub_magic=0x043587cf, xpub_magic_segwit_p2sh=None, xpub_magic_segwit_native=None, + xpub_magic_multisig_segwit_p2sh=None, + xpub_magic_multisig_segwit_native=None, bech32_prefix=None, cashaddr_prefix=None, slip44=224, @@ -1428,6 +1534,8 @@ def by_name(name: str) -> CoinInfo: xpub_magic=0x0488b21e, xpub_magic_segwit_p2sh=0x049d7cb2, xpub_magic_segwit_native=0x04b24746, + xpub_magic_multisig_segwit_p2sh=0x0488b21e, + xpub_magic_multisig_segwit_native=0x0488b21e, bech32_prefix="xc", cashaddr_prefix=None, slip44=199, @@ -1454,6 +1562,8 @@ def by_name(name: str) -> CoinInfo: xpub_magic=0x0488b21e, xpub_magic_segwit_p2sh=0x049d7cb2, xpub_magic_segwit_native=0x04b24746, + xpub_magic_multisig_segwit_p2sh=0x0488b21e, + xpub_magic_multisig_segwit_native=0x0488b21e, bech32_prefix="sys", cashaddr_prefix=None, slip44=57, @@ -1480,6 +1590,8 @@ def by_name(name: str) -> CoinInfo: xpub_magic=0x0488b21e, xpub_magic_segwit_p2sh=None, xpub_magic_segwit_native=None, + xpub_magic_multisig_segwit_p2sh=None, + xpub_magic_multisig_segwit_native=None, bech32_prefix=None, cashaddr_prefix=None, slip44=92, @@ -1506,6 +1618,8 @@ def by_name(name: str) -> CoinInfo: xpub_magic=0x0488b21e, xpub_magic_segwit_p2sh=0x049d7cb2, xpub_magic_segwit_native=0x04b24746, + xpub_magic_multisig_segwit_p2sh=0x0488b21e, + xpub_magic_multisig_segwit_native=0x0488b21e, bech32_prefix="vips", cashaddr_prefix=None, slip44=1919, @@ -1532,6 +1646,8 @@ def by_name(name: str) -> CoinInfo: xpub_magic=0x022d2533, xpub_magic_segwit_p2sh=None, xpub_magic_segwit_native=None, + xpub_magic_multisig_segwit_p2sh=None, + xpub_magic_multisig_segwit_native=None, bech32_prefix=None, cashaddr_prefix=None, slip44=77, @@ -1558,6 +1674,8 @@ def by_name(name: str) -> CoinInfo: xpub_magic=0x0488b21e, xpub_magic_segwit_p2sh=0x049d7cb2, xpub_magic_segwit_native=0x04b24746, + xpub_magic_multisig_segwit_p2sh=0x0488b21e, + xpub_magic_multisig_segwit_native=0x0488b21e, bech32_prefix="vtc", cashaddr_prefix=None, slip44=28, @@ -1584,6 +1702,8 @@ def by_name(name: str) -> CoinInfo: xpub_magic=0x0488b21e, xpub_magic_segwit_p2sh=0x049d7cb2, xpub_magic_segwit_native=0x04b24746, + xpub_magic_multisig_segwit_p2sh=0x0488b21e, + xpub_magic_multisig_segwit_native=0x0488b21e, bech32_prefix="via", cashaddr_prefix=None, slip44=14, @@ -1610,6 +1730,8 @@ def by_name(name: str) -> CoinInfo: xpub_magic=0x04b24746, xpub_magic_segwit_p2sh=None, xpub_magic_segwit_native=None, + xpub_magic_multisig_segwit_p2sh=None, + xpub_magic_multisig_segwit_native=None, bech32_prefix=None, cashaddr_prefix=None, slip44=428, @@ -1636,6 +1758,8 @@ def by_name(name: str) -> CoinInfo: xpub_magic=0x0488b21e, xpub_magic_segwit_p2sh=None, xpub_magic_segwit_native=None, + xpub_magic_multisig_segwit_p2sh=None, + xpub_magic_multisig_segwit_native=None, bech32_prefix=None, cashaddr_prefix=None, slip44=133, @@ -1662,6 +1786,8 @@ def by_name(name: str) -> CoinInfo: xpub_magic=0x043587cf, xpub_magic_segwit_p2sh=None, xpub_magic_segwit_native=None, + xpub_magic_multisig_segwit_p2sh=None, + xpub_magic_multisig_segwit_native=None, bech32_prefix=None, cashaddr_prefix=None, slip44=1, @@ -1688,6 +1814,8 @@ def by_name(name: str) -> CoinInfo: xpub_magic=0x0488b21e, xpub_magic_segwit_p2sh=None, xpub_magic_segwit_native=None, + xpub_magic_multisig_segwit_p2sh=None, + xpub_magic_multisig_segwit_native=None, bech32_prefix=None, cashaddr_prefix=None, slip44=136, @@ -1714,6 +1842,8 @@ def by_name(name: str) -> CoinInfo: xpub_magic=0x043587cf, xpub_magic_segwit_p2sh=None, xpub_magic_segwit_native=None, + xpub_magic_multisig_segwit_p2sh=None, + xpub_magic_multisig_segwit_native=None, bech32_prefix=None, cashaddr_prefix=None, slip44=1, diff --git a/core/src/apps/common/coininfo.py.mako b/core/src/apps/common/coininfo.py.mako index b0e20866e..c6b352c2b 100644 --- a/core/src/apps/common/coininfo.py.mako +++ b/core/src/apps/common/coininfo.py.mako @@ -23,6 +23,8 @@ class CoinInfo: xpub_magic: int, xpub_magic_segwit_p2sh: Optional[int], xpub_magic_segwit_native: Optional[int], + xpub_magic_multisig_segwit_p2sh: Optional[int], + xpub_magic_multisig_segwit_native: Optional[int], bech32_prefix: Optional[str], cashaddr_prefix: Optional[str], slip44: int, @@ -47,6 +49,8 @@ class CoinInfo: self.xpub_magic = xpub_magic self.xpub_magic_segwit_p2sh = xpub_magic_segwit_p2sh self.xpub_magic_segwit_native = xpub_magic_segwit_native + self.xpub_magic_multisig_segwit_p2sh = xpub_magic_multisig_segwit_p2sh + self.xpub_magic_multisig_segwit_native = xpub_magic_multisig_segwit_native self.bech32_prefix = bech32_prefix self.cashaddr_prefix = cashaddr_prefix self.slip44 = slip44 @@ -107,6 +111,8 @@ ATTRIBUTES = ( ("xpub_magic", hexfmt), ("xpub_magic_segwit_p2sh", hexfmt), ("xpub_magic_segwit_native", hexfmt), + ("xpub_magic_multisig_segwit_p2sh", hexfmt), + ("xpub_magic_multisig_segwit_native", hexfmt), ("bech32_prefix", black_repr), ("cashaddr_prefix", black_repr), ("slip44", int), diff --git a/legacy/firmware/coin_info.c.mako b/legacy/firmware/coin_info.c.mako index 0bf75df24..56fe9e3f1 100644 --- a/legacy/firmware/coin_info.c.mako +++ b/legacy/firmware/coin_info.c.mako @@ -39,6 +39,8 @@ const CoinInfo coins[COINS_COUNT] = { .xpub_magic = ${hex(c.xpub_magic)}, .xpub_magic_segwit_p2sh = ${hex(c.xpub_magic_segwit_p2sh)}, .xpub_magic_segwit_native = ${hex(c.xpub_magic_segwit_native)}, + .xpub_magic_multisig_segwit_p2sh = ${hex(c.xpub_magic_multisig_segwit_p2sh)}, + .xpub_magic_multisig_segwit_native = ${hex(c.xpub_magic_multisig_segwit_native)}, .fork_id = ${c_int(c.fork_id)}, .bech32_prefix = ${c_str(c.bech32_prefix)}, .cashaddr_prefix = ${c_str(c.cashaddr_prefix)}, diff --git a/legacy/firmware/coins.h b/legacy/firmware/coins.h index 4bb924f78..9366e8b8a 100644 --- a/legacy/firmware/coins.h +++ b/legacy/firmware/coins.h @@ -42,6 +42,8 @@ typedef struct _CoinInfo { uint32_t xpub_magic; uint32_t xpub_magic_segwit_p2sh; uint32_t xpub_magic_segwit_native; + uint32_t xpub_magic_multisig_segwit_p2sh; + uint32_t xpub_magic_multisig_segwit_native; uint32_t fork_id; const char *bech32_prefix; const char *cashaddr_prefix;