forked from LBRYCommunity/lbry-sdk
+ account.modified_on
This commit is contained in:
parent
cdd25e3b0f
commit
a021ddeffd
3 changed files with 18 additions and 3 deletions
|
@ -143,6 +143,7 @@ class TestHierarchicalDeterministicAccount(AsyncioTestCase):
|
|||
async def test_load_and_save_account(self):
|
||||
account_data = {
|
||||
'name': 'My Account',
|
||||
'modified_on': 123.456,
|
||||
'seed':
|
||||
"carbon smart garage balance margin twelve chest sword toast envelope bottom stomac"
|
||||
"h absent",
|
||||
|
@ -302,6 +303,7 @@ class TestSingleKeyAccount(AsyncioTestCase):
|
|||
async def test_load_and_save_account(self):
|
||||
account_data = {
|
||||
'name': 'My Account',
|
||||
'modified_on': 123.456,
|
||||
'seed':
|
||||
"carbon smart garage balance margin twelve chest sword toast envelope bottom stomac"
|
||||
"h absent",
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
import tempfile
|
||||
from binascii import hexlify
|
||||
|
||||
from torba.testcase import AsyncioTestCase
|
||||
|
||||
|
@ -35,6 +36,7 @@ class TestWalletCreation(AsyncioTestCase):
|
|||
{
|
||||
'name': 'An Account',
|
||||
'ledger': 'btc_mainnet',
|
||||
'modified_on': 123.456,
|
||||
'seed':
|
||||
"carbon smart garage balance margin twelve chest sword toast envelope bottom stomac"
|
||||
"h absent",
|
||||
|
@ -57,12 +59,19 @@ class TestWalletCreation(AsyncioTestCase):
|
|||
storage = WalletStorage(default=wallet_dict)
|
||||
wallet = Wallet.from_storage(storage, self.manager)
|
||||
self.assertEqual(wallet.name, 'Main Wallet')
|
||||
self.assertEqual(
|
||||
hexlify(wallet.hash), b'9f462b8dd802eb8c913e54f09a09827ebc14abbc13f33baa90d8aec5ae920fc7'
|
||||
)
|
||||
self.assertEqual(len(wallet.accounts), 1)
|
||||
account = wallet.default_account
|
||||
self.assertIsInstance(account, BTCLedger.account_class)
|
||||
self.maxDiff = None
|
||||
self.assertDictEqual(wallet_dict, wallet.to_dict())
|
||||
|
||||
encrypted = wallet.pack('password')
|
||||
decrypted = Wallet.unpack('password', encrypted)
|
||||
self.assertEqual(decrypted['accounts'][0]['name'], 'An Account')
|
||||
|
||||
def test_read_write(self):
|
||||
manager = BaseWalletManager()
|
||||
config = {'data_path': '/tmp/wallet'}
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
import json
|
||||
import time
|
||||
import asyncio
|
||||
import random
|
||||
import typing
|
||||
|
@ -198,12 +199,13 @@ class BaseAccount:
|
|||
def __init__(self, ledger: 'baseledger.BaseLedger', wallet: 'basewallet.Wallet', name: str,
|
||||
seed: str, private_key_string: str, encrypted: bool,
|
||||
private_key: Optional[PrivateKey], public_key: PubKey,
|
||||
address_generator: dict) -> None:
|
||||
address_generator: dict, modified_on: float) -> None:
|
||||
self.ledger = ledger
|
||||
self.wallet = wallet
|
||||
self.id = public_key.address
|
||||
self.name = name
|
||||
self.seed = seed
|
||||
self.modified_on = modified_on
|
||||
self.private_key_string = private_key_string
|
||||
self.password: Optional[str] = None
|
||||
self.private_key_encryption_init_vector: Optional[bytes] = None
|
||||
|
@ -269,7 +271,8 @@ class BaseAccount:
|
|||
encrypted=d.get('encrypted', False),
|
||||
private_key=private_key,
|
||||
public_key=public_key,
|
||||
address_generator=d.get('address_generator', {})
|
||||
address_generator=d.get('address_generator', {}),
|
||||
modified_on=d.get('modified_on', time.time())
|
||||
)
|
||||
|
||||
def to_dict(self):
|
||||
|
@ -289,7 +292,8 @@ class BaseAccount:
|
|||
'encrypted': self.serialize_encrypted,
|
||||
'private_key': private_key_string,
|
||||
'public_key': self.public_key.extended_key_string(),
|
||||
'address_generator': self.address_generator.to_dict(self.receiving, self.change)
|
||||
'address_generator': self.address_generator.to_dict(self.receiving, self.change),
|
||||
'modified_on': self.modified_on
|
||||
}
|
||||
|
||||
@property
|
||||
|
|
Loading…
Reference in a new issue