URI: 
       tchange testnet p2wsh-p2sh prefix to 0x024289ef to reflect Upub (#4210) - electrum - Electrum Bitcoin wallet
  HTML git clone https://git.parazyd.org/electrum
   DIR Log
   DIR Files
   DIR Refs
   DIR Submodules
       ---
   DIR commit 192288c02585c4fcc3f3a8eb0fccab506152943c
   DIR parent 9de4d19c5a183d8ca61edddb456218f0ed0dbfc3
  HTML Author: fivepiece <fivepiece@users.noreply.github.com>
       Date:   Sun,  1 Apr 2018 17:48:54 +0300
       
       change testnet p2wsh-p2sh prefix to 0x024289ef to reflect Upub (#4210)
       
       * change testnet p2wsh-p2sh prefix to 0x024289ef to reflect Upub
       
       * add testnet p2sh-p2wsh 2of2 multisig test
       Diffstat:
         M lib/constants.py                    |       2 +-
         M lib/tests/test_wallet_vertical.py   |      24 ++++++++++++++++++++++++
       
       2 files changed, 25 insertions(+), 1 deletion(-)
       ---
   DIR diff --git a/lib/constants.py b/lib/constants.py
       t@@ -87,7 +87,7 @@ class BitcoinTestnet:
            XPUB_HEADERS = {
                'standard':    0x043587cf,  # tpub
                'p2wpkh-p2sh': 0x044a5262,  # upub
       -        'p2wsh-p2sh':  0x024285ef,  # Upub
       +        'p2wsh-p2sh':  0x024289ef,  # Upub
                'p2wpkh':      0x045f1cf6,  # vpub
                'p2wsh':       0x02575483,  # Vpub
            }
   DIR diff --git a/lib/tests/test_wallet_vertical.py b/lib/tests/test_wallet_vertical.py
       t@@ -5,6 +5,7 @@ import lib.bitcoin as bitcoin
        import lib.keystore as keystore
        import lib.storage as storage
        import lib.wallet as wallet
       +from lib import constants
        
        from plugins.trustedcoin import trustedcoin
        
       t@@ -287,3 +288,26 @@ class TestWalletKeystoreAddressIntegrity(unittest.TestCase):
        
                self.assertEqual(w.get_receiving_addresses()[0], '35LeC45QgCVeRor1tJD6LiDgPbybBXisns')
                self.assertEqual(w.get_change_addresses()[0], '39RhtDchc6igmx5tyoimhojFL1ZbQBrXa6')
       +
       +    @mock.patch.object(storage.WalletStorage, '_write')
       +    def test_bip39_multisig_seed_p2sh_segwit_testnet(self, mock_write):
       +        constants.set_testnet()
       +        # bip39 seed: finish seminar arrange erosion sunny coil insane together pretty lunch lunch rose
       +        # der: m/49'/1'/0'
       +        # NOTE: there is currently no bip43 standard derivation path for p2wsh-p2sh
       +        ks1 = keystore.from_xprv('Uprv9BEixD3As2LK5h6G2SNT3cTqbZpsWYPceKTSuVAm1yuSybxSvQz2MV1o8cHTtctQmj4HAenb3eh5YJv4YRZjv35i8fofVnNbs4Dd2B4i5je')
       +        self.assertTrue(isinstance(ks1, keystore.BIP32_KeyStore))
       +        self.assertEqual(ks1.xpub, 'Upub5QE5Mia4hPtcJBAj8TuTQkQa9bfMv17U1YP3hsaNaKSRrQHbTxJGuHLGyv3MbKZixuPyjfXGUdbTjE4KwyFcX8YD7PX5ybTDbP11UT8UpZR')
       +
       +        # bip39 seed: square page wood spy oil story rebel give milk screen slide shuffle
       +        # der: m/49'/1'/0'
       +        ks2 = keystore.from_xpub('Upub5QRzUGRJuWJe5MxGzwgQAeyJjzcdGTXkkq77w6EfBkCyf5iWppSaZ4caY2MgWcU9LP4a4uE5apUFN4wLoENoe9tpu26mrUxeGsH84dN3JFh')
       +        self._check_xpub_keystore_sanity(ks2)
       +        self.assertTrue(isinstance(ks2, keystore.BIP32_KeyStore))
       +
       +        w = self._create_multisig_wallet(ks1, ks2)
       +        self.assertEqual(w.txin_type, 'p2wsh-p2sh')
       +
       +        self.assertEqual(w.get_receiving_addresses()[0], '2MzsfTfTGomPRne6TkctMmoDj6LwmVkDrMt')
       +        self.assertEqual(w.get_change_addresses()[0], '2NFp9w8tbYYP9Ze2xQpeYBJQjx3gbXymHX7')
       +        constants.set_mainnet()