master v1.1.1
Michał Sałaban 2 years ago
parent a385a6146e
commit 3f3a4cdc2a

@ -1,3 +1 @@
from . import address, account, const, daemon, wallet, numbers, wordlists, seed
__version__ = "1.1.1" __version__ = "1.1.1"

@ -23,9 +23,6 @@ class OfflineWallet(object):
self._svk = view_key or self._svk self._svk = view_key or self._svk
self._ssk = spend_key or self._ssk self._ssk = spend_key or self._ssk
def height(self):
raise WalletIsOffline()
def spend_key(self): def spend_key(self):
return self._ssk return self._ssk
@ -38,37 +35,26 @@ class OfflineWallet(object):
def accounts(self): def accounts(self):
return [Account(self, 0)] return [Account(self, 0)]
def new_account(self, label=None):
raise WalletIsOffline()
def addresses(self, account=0, addr_indices=None): def addresses(self, account=0, addr_indices=None):
if account == 0 and (addr_indices == [0] or addr_indices is None): if account == 0 and (addr_indices == [0] or addr_indices is None):
return [self._address] return [self._address]
raise WalletIsOffline() # pragma: no cover (this should never happen) raise WalletIsOffline() # pragma: no cover (this should never happen)
def new_address(self, account=0, label=None): def is_offline(self, *_, **__):
raise WalletIsOffline() raise WalletIsOffline()
def balances(self, account=0): address_balance = (
raise WalletIsOffline() balances
) = (
def transfers_in(self, account, pmtfilter): export_key_images
raise WalletIsOffline() ) = (
export_outputs
def transfers_out(self, account, pmtfilter): ) = (
raise WalletIsOffline() height
) = (
def export_outputs(self): import_key_images
raise WalletIsOffline() ) = (
import_outputs
def import_outputs(self, outputs_hex): ) = (
raise WalletIsOffline() new_account
) = new_address = transfer = transfers_in = transfers_out = sweep_all = is_offline
def export_key_images(self):
raise WalletIsOffline()
def import_key_images(self, key_images):
raise WalletIsOffline()
def transfer(self, *args, **kwargs):
raise WalletIsOffline()

@ -75,7 +75,6 @@ class ExtraParser(object):
raise ValueError( raise ValueError(
"offset {:d}: extra nonce exceeds field size".format(self.offset) "offset {:d}: extra nonce exceeds field size".format(self.offset)
) )
return []
nonce = bytearray(extra[:noncelen]) nonce = bytearray(extra[:noncelen])
if "nonces" in self.data: if "nonces" in self.data:
self.data["nonces"].append(nonce) self.data["nonces"].append(nonce)

@ -1,7 +0,0 @@
from . import test_address
from . import test_numbers
from . import test_seed
from . import test_transaction
from . import test_wallet
from . import test_offline
from . import test_jsonrpcwallet

@ -1,4 +1,3 @@
import pytest
import unittest import unittest
from monero import const from monero import const
@ -132,8 +131,8 @@ class Tests(object):
self.assertRaises(ValueError, Address, self.addr_invalid) self.assertRaises(ValueError, Address, self.addr_invalid)
self.assertRaises(ValueError, Address, self.iaddr_invalid) self.assertRaises(ValueError, Address, self.iaddr_invalid)
a = Address(self.addr) a = Address(self.addr)
self.assertRaises(TypeError, a.with_payment_id, 2 ** 64 + 1) self.assertRaises(TypeError, a.with_payment_id, 2**64 + 1)
self.assertRaises(TypeError, a.with_payment_id, "%x" % (2 ** 64 + 1)) self.assertRaises(TypeError, a.with_payment_id, "%x" % (2**64 + 1))
s = SubAddress(self.subaddr) s = SubAddress(self.subaddr)
self.assertRaises(TypeError, s.with_payment_id, 0) self.assertRaises(TypeError, s.with_payment_id, 0)
self.assertRaises(ValueError, address, "whatever") self.assertRaises(ValueError, address, "whatever")

@ -1,4 +1,3 @@
import pytest
import unittest import unittest
from monero.backends.offline import OfflineWallet, WalletIsOffline from monero.backends.offline import OfflineWallet, WalletIsOffline
@ -14,17 +13,19 @@ class OfflineTest(unittest.TestCase):
self.wallet = Wallet(OfflineWallet(self.addr, view_key=self.svk)) self.wallet = Wallet(OfflineWallet(self.addr, view_key=self.svk))
def test_offline_exception(self): def test_offline_exception(self):
self.assertRaises(WalletIsOffline, self.wallet.height) self.assertRaises(WalletIsOffline, self.wallet.address_balance)
self.assertRaises(WalletIsOffline, self.wallet.new_account) self.assertRaises(WalletIsOffline, self.wallet.balance)
self.assertRaises(WalletIsOffline, self.wallet.new_address) self.assertRaises(WalletIsOffline, self.wallet.balances)
self.assertRaises(WalletIsOffline, self.wallet.export_outputs)
self.assertRaises(WalletIsOffline, self.wallet.import_outputs, "")
self.assertRaises(WalletIsOffline, self.wallet.export_key_images) self.assertRaises(WalletIsOffline, self.wallet.export_key_images)
self.assertRaises(WalletIsOffline, self.wallet.export_outputs)
self.assertRaises(WalletIsOffline, self.wallet.height)
self.assertRaises(WalletIsOffline, self.wallet.import_key_images, "") self.assertRaises(WalletIsOffline, self.wallet.import_key_images, "")
self.assertRaises(WalletIsOffline, self.wallet.balances) self.assertRaises(WalletIsOffline, self.wallet.import_outputs, "")
self.assertRaises(WalletIsOffline, self.wallet.balance)
self.assertRaises(WalletIsOffline, self.wallet.incoming) self.assertRaises(WalletIsOffline, self.wallet.incoming)
self.assertRaises(WalletIsOffline, self.wallet.new_account)
self.assertRaises(WalletIsOffline, self.wallet.new_address)
self.assertRaises(WalletIsOffline, self.wallet.outgoing) self.assertRaises(WalletIsOffline, self.wallet.outgoing)
self.assertRaises(WalletIsOffline, self.wallet.sweep_all, "")
self.assertRaises( self.assertRaises(
WalletIsOffline, self.wallet.transfer, self.wallet.get_address(1, 0), 1 WalletIsOffline, self.wallet.transfer, self.wallet.get_address(1, 0), 1
) )
@ -71,8 +72,8 @@ class AddressTestCase(SubaddrTest, JSONTestCase):
def test_subaddress_out_of_range(self): def test_subaddress_out_of_range(self):
self.assertRaises(ValueError, self.wallet.get_address, 0, -1) self.assertRaises(ValueError, self.wallet.get_address, 0, -1)
self.assertRaises(ValueError, self.wallet.get_address, -1, 0) self.assertRaises(ValueError, self.wallet.get_address, -1, 0)
self.assertRaises(ValueError, self.wallet.get_address, 1, 2 ** 32) self.assertRaises(ValueError, self.wallet.get_address, 1, 2**32)
self.assertRaises(ValueError, self.wallet.get_address, 2 ** 32, 1) self.assertRaises(ValueError, self.wallet.get_address, 2**32, 1)
class TestnetAddressTestCase(SubaddrTest, JSONTestCase): class TestnetAddressTestCase(SubaddrTest, JSONTestCase):

@ -1,10 +1,5 @@
from decimal import Decimal from decimal import Decimal
import json import json
try:
from unittest.mock import patch, Mock
except ImportError:
from mock import patch, Mock
import responses import responses
from monero.backends.jsonrpc import JSONRPCDaemon, JSONRPCWallet from monero.backends.jsonrpc import JSONRPCDaemon, JSONRPCWallet

@ -1,7 +1,5 @@
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import unittest import unittest
from monero.address import Address from monero.address import Address
from monero.seed import Seed from monero.seed import Seed
from monero.wordlists import list_wordlists from monero.wordlists import list_wordlists
@ -145,7 +143,7 @@ class SeedTestCase(unittest.TestCase):
def test_chinese_simplified(self): def test_chinese_simplified(self):
seed = Seed( seed = Seed(
u"遭 牲 本 点 司 司 仲 吉 虎 只 绝 生 指 纯 伟 破 夫 惊 群 楚 祥 旋 暗 骨 伟", "Chinese (simplified)" "遭 牲 本 点 司 司 仲 吉 虎 只 绝 生 指 纯 伟 破 夫 惊 群 楚 祥 旋 暗 骨 伟", "Chinese (simplified)"
) )
self.assertEqual( self.assertEqual(
seed.secret_spend_key(), seed.secret_spend_key(),
@ -170,7 +168,7 @@ class SeedTestCase(unittest.TestCase):
def test_dutch(self): def test_dutch(self):
seed = Seed( seed = Seed(
u"ralf tolvrij copier roon ossuarium wedstrijd splijt debbie bomtapijt occlusie oester noren hiaat scenario geshockt veeteler rotten symboliek jarig bock yoghurt plegen weert zeeblauw wedstrijd", "ralf tolvrij copier roon ossuarium wedstrijd splijt debbie bomtapijt occlusie oester noren hiaat scenario geshockt veeteler rotten symboliek jarig bock yoghurt plegen weert zeeblauw wedstrijd",
"Dutch", "Dutch",
) )
self.assertEqual( self.assertEqual(
@ -196,7 +194,7 @@ class SeedTestCase(unittest.TestCase):
def test_esperanto(self): def test_esperanto(self):
seed = Seed( seed = Seed(
u"knedi aspekti boli asbesto pterido aparta muro sandalo hufumo porcelana degeli utopia ebono lifto dutaga hundo vejno ebono higieno nikotino orkestro arlekeno insekto jaguaro hundo", "knedi aspekti boli asbesto pterido aparta muro sandalo hufumo porcelana degeli utopia ebono lifto dutaga hundo vejno ebono higieno nikotino orkestro arlekeno insekto jaguaro hundo",
"Esperanto", "Esperanto",
) )
self.assertEqual( self.assertEqual(
@ -222,7 +220,7 @@ class SeedTestCase(unittest.TestCase):
def test_french(self): def test_french(self):
seed = Seed( seed = Seed(
u"sauce exprimer chasse asile larve tacler digestion muguet rondeur sept clore narrer fluor arme torse dans glace tant salon sanguin globe quiche ficher flaque clore", "sauce exprimer chasse asile larve tacler digestion muguet rondeur sept clore narrer fluor arme torse dans glace tant salon sanguin globe quiche ficher flaque clore",
"French", "French",
) )
self.assertEqual( self.assertEqual(
@ -248,7 +246,7 @@ class SeedTestCase(unittest.TestCase):
def test_german(self): def test_german(self):
seed = Seed( seed = Seed(
u"Erdgas Gesuch beeilen Chiffon Abendrot Alter Helium Salz Almweide Ampel Dichter Rotglut Dialekt Akkord Rampe Gesöff Ziege Boykott keuchen Krach Anbau Labor Esel Ferien Ampel", "Erdgas Gesuch beeilen Chiffon Abendrot Alter Helium Salz Almweide Ampel Dichter Rotglut Dialekt Akkord Rampe Gesöff Ziege Boykott keuchen Krach Anbau Labor Esel Ferien Ampel",
"German", "German",
) )
self.assertEqual( self.assertEqual(
@ -274,7 +272,7 @@ class SeedTestCase(unittest.TestCase):
def test_italian(self): def test_italian(self):
seed = Seed( seed = Seed(
u"tramonto spuntare ruota afrodite binocolo riferire moneta assalire tuta firmare malattia flagello paradiso tacere sindrome spuntare sogliola volare follia versare insulto diagnosi lapide meteo malattia", "tramonto spuntare ruota afrodite binocolo riferire moneta assalire tuta firmare malattia flagello paradiso tacere sindrome spuntare sogliola volare follia versare insulto diagnosi lapide meteo malattia",
"Italian", "Italian",
) )
self.assertEqual( self.assertEqual(
@ -300,7 +298,7 @@ class SeedTestCase(unittest.TestCase):
def test_japanese(self): def test_japanese(self):
seed = Seed( seed = Seed(
u"いもり すあな いきる しちょう うったえる ちひょう けなみ たいちょう うぶごえ しかい しなぎれ いっせい つかれる しなん ばあさん たいまつばな しひょう おいかける あんがい ていへん せんもん きこく せんく そそぐ つかれる", "いもり すあな いきる しちょう うったえる ちひょう けなみ たいちょう うぶごえ しかい しなぎれ いっせい つかれる しなん ばあさん たいまつばな しひょう おいかける あんがい ていへん せんもん きこく せんく そそぐ つかれる",
"Japanese", "Japanese",
) )
self.assertFalse(seed.is_mymonero()) self.assertFalse(seed.is_mymonero())
@ -327,7 +325,7 @@ class SeedTestCase(unittest.TestCase):
def test_portuguese(self): def test_portuguese(self):
seed = Seed( seed = Seed(
u"rebuscar mefistofelico luto isca vulva ontologico autuar epiteto jarro invulneravel inquisitorial vietnamita voile potro mamute giroscopio scherzo cheroqui gueto loquaz fissurar fazer violoncelo viquingue vulva", "rebuscar mefistofelico luto isca vulva ontologico autuar epiteto jarro invulneravel inquisitorial vietnamita voile potro mamute giroscopio scherzo cheroqui gueto loquaz fissurar fazer violoncelo viquingue vulva",
"Portuguese", "Portuguese",
) )
self.assertFalse(seed.is_mymonero()) self.assertFalse(seed.is_mymonero())
@ -354,7 +352,7 @@ class SeedTestCase(unittest.TestCase):
def test_russian(self): def test_russian(self):
seed = Seed( seed = Seed(
u"дощатый ателье мыло паек азот ружье домашний уныние уплата торговля шкаф кекс газета тревога улица армия лазерный иголка друг хищник пашня дневник кричать лыжный иголка", "дощатый ателье мыло паек азот ружье домашний уныние уплата торговля шкаф кекс газета тревога улица армия лазерный иголка друг хищник пашня дневник кричать лыжный иголка",
"Russian", "Russian",
) )
self.assertEqual( self.assertEqual(
@ -380,7 +378,7 @@ class SeedTestCase(unittest.TestCase):
def test_spanish(self): def test_spanish(self):
seed = Seed( seed = Seed(
u"riesgo lápiz martes fuerza dinero pupila pago mensaje guion libro órgano juntar imperio puñal historia pasión nación posible paso límite don afirmar receta reposo fuerza", "riesgo lápiz martes fuerza dinero pupila pago mensaje guion libro órgano juntar imperio puñal historia pasión nación posible paso límite don afirmar receta reposo fuerza",
"Spanish", "Spanish",
) )
self.assertFalse(seed.is_mymonero()) self.assertFalse(seed.is_mymonero())

Loading…
Cancel
Save