def setUp(self):
        super(TestMultisigMofN, self).setUp()
        self.storage = WalletStorage(self.fake_config)
        self.storage.put_above_chain('multisig_m', 3)
        self.storage.put_above_chain('multisig_n', 4)
        self.wallet = Wallet_MofN(self.storage)

        # set cosigner master privkey
        cosigner1_master_privkey = bip32_private_derivation(
            self.cosigner1_root_privkey, "m/", "m/1491'/0'")[0]
        self.cosigner1_master_pubkey = xpub_from_xprv(cosigner1_master_privkey)

        cosigner2_master_privkey = bip32_private_derivation(
            self.cosigner2_root_privkey, "m/", "m/1491'/0'")[0]
        self.cosigner2_master_pubkey = xpub_from_xprv(cosigner2_master_privkey)

        cosigner3_master_privkey = bip32_private_derivation(
            self.cosigner3_root_privkey, "m/", "m/1491'/0'")[0]
        self.cosigner3_master_pubkey = xpub_from_xprv(cosigner3_master_privkey)

        self.wallet.set_chain("BTC")
        self.wallet.add_seed(self.seed_text, self.password)
        self.wallet.create_master_keys(self.password)
        self.wallet.add_master_public_key("x2/", self.cosigner1_master_pubkey)
        self.wallet.add_master_public_key("x3/", self.cosigner2_master_pubkey)
        self.wallet.add_master_public_key("x4/", self.cosigner3_master_pubkey)
        self.wallet.create_main_account(self.password)
Exemple #2
0
 def setUp(self):
     super(TestNewWallet, self).setUp()
     self.storage = WalletStorage(self.fake_config)
     self.wallet = NewWallet(self.storage)
     # This cannot be constructed by electrum at random, it should be safe
     # from eventual collisions.
     self.wallet.add_seed(self.seed_text, self.password)
Exemple #3
0
 def test_wallet_without_seed_is_watching_only(self):
     # We need a new storage , since the default storage was already seeded
     # in setUp()
     new_dir = tempfile.mkdtemp()
     storage = WalletStorage(os.path.join(new_dir, "somewallet"))
     wallet = NewWallet(storage)
     self.assertTrue(wallet.is_watching_only())
     shutil.rmtree(new_dir)  # Don't leave useless stuff in /tmp
Exemple #4
0
 def setUp(self):
     super(TestNewWallet, self).setUp()
     self.storage = WalletStorage(self.wallet_path)
     self.wallet = NewWallet(self.storage)
     # This cannot be constructed by electrum at random, it should be safe
     # from eventual collisions.
     self.wallet.add_seed(self.seed_text, self.password)
     self.wallet.create_master_keys(self.password)
     self.wallet.create_main_account(self.password)
Exemple #5
0
    def test_read_dictionnary_from_file(self):

        some_dict = {"a": "b", "c": "d"}
        contents = repr(some_dict)
        with open(self.wallet_path, "w") as f:
            contents = f.write(contents)

        storage = WalletStorage(self.wallet_path)
        self.assertEqual("b", storage.get("a"))
        self.assertEqual("d", storage.get("c"))
Exemple #6
0
    def test_read_dictionnary_from_file(self):
        path = os.path.join(self.user_dir, "somewallet")
        self.fake_config.set("wallet_path", path)

        some_dict = {"a": "b", "c": "d"}
        contents = repr(some_dict)
        with open(path, "w") as f:
            contents = f.write(contents)

        storage = WalletStorage(self.fake_config)
        self.assertEqual("b", storage.get("a"))
        self.assertEqual("d", storage.get("c"))
Exemple #7
0
    def test_write_dictionnary_to_file(self):

        storage = WalletStorage(self.wallet_path)

        some_dict = {"a": "b", "c": "d"}
        storage.data = some_dict

        storage.write()

        contents = ""
        with open(self.wallet_path, "r") as f:
            contents = f.read()
        self.assertEqual(some_dict, json.loads(contents))
Exemple #8
0
    def test_write_dictionnary_to_file(self):

        storage = WalletStorage(self.wallet_path)

        some_dict = {"a": "b", "c": "d"}

        for key, value in some_dict.items():
            storage.put(key, value)
        storage.write()

        contents = ""
        with open(self.wallet_path, "r") as f:
            contents = f.read()
        self.assertEqual(some_dict, json.loads(contents))
Exemple #9
0
    def setUp(self):
        super(TestMultisigWallet, self).setUp()
        self.storage = WalletStorage(self.fake_config)
        self.wallet = Wallet_2of2(self.storage)

        # set cosigner master privkey
        cosigner_master_privkey = bip32_private_derivation(self.cosigner_root_privkey, "m/", "m/1491'/0'")[0]
        self.cosigner_master_pubkey = xpub_from_xprv(cosigner_master_privkey)

        self.wallet.set_chain("BTC")
        self.wallet.add_seed(self.seed_text, self.password)
        self.wallet.create_master_keys(self.password)
        self.wallet.add_master_public_key("x2/", self.cosigner_master_pubkey)
        self.wallet.create_main_account(self.password)
Exemple #10
0
    def test_write_dictionnary_to_file(self):
        path = os.path.join(self.user_dir, "somewallet")
        self.fake_config.set("wallet_path", path)

        storage = WalletStorage(self.fake_config)

        some_dict = {"a": "b", "c": "d"}
        storage.data = some_dict

        storage.write()

        contents = ""
        with open(path, "r") as f:
            contents = f.read()
        self.assertEqual(some_dict, json.loads(contents))
Exemple #11
0
    def test_init_wallet_default_wallet_path(self):
        path = os.path.join(self.user_dir, "somewallet")
        self.fake_config.set("default_wallet_path", path)

        storage = WalletStorage(self.fake_config)
        self.assertEqual(path, storage.path)
Exemple #12
0
 def test_init_wallet_default_path(self):
     storage = WalletStorage(self.fake_config)
     expected = os.path.join(self.user_dir, "wallets", "default_wallet")
     self.assertEqual(expected, storage.path)