From 19ad1dae8b9a872d75858c0b205574b060020d05 Mon Sep 17 00:00:00 2001 From: matejcik Date: Fri, 24 Jul 2020 13:22:10 +0200 Subject: [PATCH] core/bitcoin: allow compatibility namespaces for Casa/Greenaddress --- core/src/apps/bitcoin/keychain.py | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/core/src/apps/bitcoin/keychain.py b/core/src/apps/bitcoin/keychain.py index 978db04a9..338508d86 100644 --- a/core/src/apps/bitcoin/keychain.py +++ b/core/src/apps/bitcoin/keychain.py @@ -3,6 +3,8 @@ from trezor import wire from apps.common import HARDENED, coininfo from apps.common.keychain import get_keychain +from .common import BITCOIN_NAMES + if False: from protobuf import MessageType from typing import Callable, Optional, Tuple, TypeVar @@ -37,6 +39,21 @@ def get_namespaces_for_coin(coin: coininfo.CoinInfo): # BIP-84 - native segwit: m/84'/slip44' (/account'/change/addr) namespaces.append([84 | HARDENED, slip44_id]) + if coin.coin_name in BITCOIN_NAMES: + # compatibility namespace for Casa + namespaces.append([49, slip44_id]) + + # compatibility namespace for Greenaddress: + # m/branch/address_pointer, for branch in (1, 4) + namespaces.append([1]) + namespaces.append([4]) + # m/3'/subaccount'/branch/address_pointer + namespaces.append([3 | HARDENED]) + # sign msg: + # m/0x4741b11e + # m/0x4741b11e/6/pointer + namespaces.append([0x4741B11E]) + return namespaces