From a91b975e4dd21bd60316a0b686f3e1aec7de9eff Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Sa=C5=82aban?= Date: Mon, 19 Feb 2018 23:06:16 +0100 Subject: [PATCH] Return Seed object from the wallet --- monero/backends/jsonrpc.py | 3 ++- tests/test_jsonrpcwallet.py | 17 +++++++++++++++++ 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/monero/backends/jsonrpc.py b/monero/backends/jsonrpc.py index 5e1bbda..1ed9467 100644 --- a/monero/backends/jsonrpc.py +++ b/monero/backends/jsonrpc.py @@ -10,6 +10,7 @@ from .. import exceptions from ..account import Account from ..address import address, Address, SubAddress from ..numbers import from_atomic, to_atomic, PaymentID +from ..seed import Seed from ..transaction import Transaction, IncomingPayment, OutgoingPayment _log = logging.getLogger(__name__) @@ -133,7 +134,7 @@ class JSONRPCWallet(object): return self.raw_request('query_key', {'key_type': 'view_key'})['key'] def seed(self): - return self.raw_request('query_key', {'key_type': 'mnemonic'})['key'] + return Seed(self.raw_request('query_key', {'key_type': 'mnemonic'})['key']) def accounts(self): accounts = [] diff --git a/tests/test_jsonrpcwallet.py b/tests/test_jsonrpcwallet.py index 0f85d66..aaa6764 100644 --- a/tests/test_jsonrpcwallet.py +++ b/tests/test_jsonrpcwallet.py @@ -10,6 +10,7 @@ from monero.wallet import Wallet from monero.account import Account from monero.address import Address, address from monero.numbers import PaymentID +from monero.seed import Seed from monero.transaction import IncomingPayment, OutgoingPayment, Transaction from monero.backends.jsonrpc import JSONRPCWallet @@ -34,6 +35,22 @@ class SubaddrWalletTestCase(unittest.TestCase): 'total_balance': 236153709446071, 'total_unlocked_balance': 236153709446071}} + @patch('monero.backends.jsonrpc.requests.post') + def test_seed(self, mock_post): + mock_post.return_value.status_code = 200 + mock_post.return_value.json.return_value = self.accounts_result + self.wallet = Wallet(JSONRPCWallet()) + phrase = 'phrases petals speedy fuming ascend weird duplex identity ' \ + 'yearbook masterful elope omission height empty react hope ' \ + 'left iceberg leisure bobsled pyramid ammo sorry tiers ' \ + 'pyramid' + mock_post.return_value.json.return_value = {'id': 0, + 'jsonrpc': '2.0', + 'result': {'key': phrase}} + seed = self.wallet.seed() + self.assertIsInstance(seed, Seed) + self.assertEqual(seed.phrase, phrase) + @patch('monero.backends.jsonrpc.requests.post') def test_balance(self, mock_post): mock_post.return_value.status_code = 200