コード例 #1
0
    def test_relay_slave_txn(self):
        with set_qrl_dir("wallet_ver1"):
            walletd = WalletD()
            qaddress = walletd.add_new_address(height=4)
            walletd.encrypt_wallet(self.passphrase)
            walletd.unlock_wallet(self.passphrase)

            alice_xmss = get_alice_xmss(4)
            slave_pks = [alice_xmss.pk]
            access_types = [0]
            walletd._public_stub.PushTransaction = Mock(
                return_value=qrl_pb2.PushTransactionResp(
                    error_code=qrl_pb2.PushTransactionResp.SUBMITTED))
            tx = walletd.relay_slave_txn(slave_pks=slave_pks,
                                         access_types=access_types,
                                         fee=100000000,
                                         master_qaddress=None,
                                         signer_address=qaddress,
                                         ots_index=0)
            self.assertIsNotNone(tx)

            walletd.lock_wallet()
            with self.assertRaises(ValueError):
                walletd.relay_slave_txn(slave_pks=slave_pks,
                                        access_types=access_types,
                                        fee=100000000,
                                        master_qaddress=None,
                                        signer_address=qaddress,
                                        ots_index=0)
コード例 #2
0
    def test_relay_transfer_token_txn(self):
        with set_qrl_dir("wallet_ver1"):
            walletd = WalletD()
            qaddress = walletd.add_new_address(height=4)
            walletd.encrypt_wallet(self.passphrase)
            walletd.unlock_wallet(self.passphrase)

            alice_xmss = get_alice_xmss(4)
            bob_xmss = get_bob_xmss(4)
            qaddresses_to = [alice_xmss.qaddress, bob_xmss.qaddress]
            amounts = [1000000000, 1000000000]
            walletd._public_stub.PushTransaction = Mock(
                return_value=qrl_pb2.PushTransactionResp(
                    error_code=qrl_pb2.PushTransactionResp.SUBMITTED))
            tx = walletd.relay_transfer_token_txn(qaddresses_to=qaddresses_to,
                                                  amounts=amounts,
                                                  token_txhash='',
                                                  fee=100000000,
                                                  master_qaddress=None,
                                                  signer_address=qaddress,
                                                  ots_index=0)
            self.assertIsNotNone(tx)

            walletd.lock_wallet()
            with self.assertRaises(ValueError):
                walletd.relay_transfer_token_txn(qaddresses_to=qaddresses_to,
                                                 amounts=amounts,
                                                 token_txhash='',
                                                 fee=100000000,
                                                 master_qaddress=None,
                                                 signer_address=qaddress,
                                                 ots_index=0)
コード例 #3
0
 def test_lock_wallet(self):
     with set_qrl_dir("wallet_ver1"):
         walletd = WalletD()
         walletd.add_new_address()
         walletd.encrypt_wallet(passphrase=self.passphrase)
         walletd.lock_wallet()
         with self.assertRaises(ValueError):
             walletd.add_new_address()
コード例 #4
0
 def test_unlock_wallet(self):
     with set_qrl_dir("wallet_ver1"):
         walletd = WalletD()
         walletd.add_new_address()
         walletd.encrypt_wallet(passphrase=self.passphrase)
         walletd.lock_wallet()
         with self.assertRaises(ValueError):
             walletd.add_new_address()
         with self.assertRaises(WalletDecryptionError):
             walletd.unlock_wallet(passphrase='pass123')
         walletd.unlock_wallet(passphrase=self.passphrase)
         walletd.add_new_address()
         self.assertEqual(len(walletd.list_address()), 2)
コード例 #5
0
    def test_change_passphrase(self):
        with set_qrl_dir("wallet_ver1"):
            walletd = WalletD()
            qaddress = walletd.add_new_address()
            walletd.encrypt_wallet(passphrase=self.passphrase)
            walletd.lock_wallet()

            passphrase2 = 'pass000'

            with self.assertRaises(ValueError):
                walletd.change_passphrase(old_passphrase='pass123',
                                          new_passphrase='pass234')
            walletd.change_passphrase(old_passphrase=self.passphrase,
                                      new_passphrase=passphrase2)

            with self.assertRaises(WalletDecryptionError):
                walletd.unlock_wallet(passphrase=self.passphrase)

            walletd.unlock_wallet(passphrase=passphrase2)
            qaddresses = walletd.list_address()
            self.assertEqual(len(qaddresses), 1)
            self.assertEqual(qaddresses[0], qaddress)
コード例 #6
0
    def test_relay_token_txn2(self):
        with set_qrl_dir("wallet_ver1"):
            walletd = WalletD()
            qaddress = walletd.add_new_address(height=4)
            walletd.encrypt_wallet(self.passphrase)
            walletd.unlock_wallet(self.passphrase)

            alice_xmss = get_alice_xmss(4)
            bob_xmss = get_bob_xmss(4)
            qaddresses = [alice_xmss.qaddress, bob_xmss.qaddress]
            amounts = [1000000000, 1000000000]
            walletd._public_stub.PushTransaction = Mock(
                return_value=qrl_pb2.PushTransactionResp(
                    error_code=qrl_pb2.PushTransactionResp.SUBMITTED))
            tx = walletd.relay_token_txn(symbol='QRL',
                                         name='Quantum Resistant Ledger',
                                         owner_qaddress=alice_xmss.qaddress,
                                         decimals=5,
                                         qaddresses=qaddresses,
                                         amounts=amounts,
                                         fee=100000000,
                                         master_qaddress=None,
                                         signer_address=qaddress,
                                         ots_index=0)
            self.assertIsNotNone(tx)

            walletd.lock_wallet()
            with self.assertRaises(ValueError):
                walletd.relay_token_txn(symbol='QRL',
                                        name='Quantum Resistant Ledger',
                                        owner_qaddress=alice_xmss.qaddress,
                                        decimals=5,
                                        qaddresses=qaddresses,
                                        amounts=amounts,
                                        fee=100000000,
                                        master_qaddress=None,
                                        signer_address=qaddress,
                                        ots_index=0)
コード例 #7
0
    def test_relay_message_txn2(self):
        with set_qrl_dir("wallet_ver1"):
            walletd = WalletD()
            qaddress = walletd.add_new_address(height=4)
            walletd.encrypt_wallet(self.passphrase)
            walletd.unlock_wallet(self.passphrase)
            walletd._public_stub.PushTransaction = Mock(
                return_value=qrl_pb2.PushTransactionResp(
                    error_code=qrl_pb2.PushTransactionResp.SUBMITTED))
            tx = walletd.relay_message_txn(message='Hello QRL!',
                                           fee=100000000,
                                           master_qaddress=None,
                                           signer_address=qaddress,
                                           ots_index=0)
            self.assertIsNotNone(tx)

            walletd.lock_wallet()
            with self.assertRaises(ValueError):
                walletd.relay_message_txn(message='Hello QRL!',
                                          fee=100000000,
                                          master_qaddress=None,
                                          signer_address=qaddress,
                                          ots_index=0)