45 lines
1.3 KiB
Python
45 lines
1.3 KiB
Python
|
from . import address
|
||
|
from . import prio
|
||
|
from . import account
|
||
|
|
||
|
class Wallet(object):
|
||
|
accounts = None
|
||
|
|
||
|
def __init__(self, backend):
|
||
|
self._backend = backend
|
||
|
self.refresh()
|
||
|
|
||
|
def refresh(self):
|
||
|
self.accounts = self.accounts or []
|
||
|
idx = 0
|
||
|
for _acc in self._backend.get_accounts():
|
||
|
try:
|
||
|
if self.accounts[idx]:
|
||
|
continue
|
||
|
except IndexError:
|
||
|
pass
|
||
|
self.accounts.append(_acc)
|
||
|
idx += 1
|
||
|
|
||
|
# Following methods operate on default account (index=0)
|
||
|
def get_balance(self):
|
||
|
return self.accounts[0].get_balance()
|
||
|
|
||
|
def get_address(self, index=0):
|
||
|
return self.accounts[0].get_addresses()[0]
|
||
|
|
||
|
def get_payments_in(self):
|
||
|
return self.accounts[0].get_payments_in()
|
||
|
|
||
|
def get_payments_out(self):
|
||
|
return self.accounts[0].get_payments_out()
|
||
|
|
||
|
def transfer(self, address, amount, priority=prio.NORMAL, mixin=5):
|
||
|
self.accounts[0].transfer(address, amount, priority=priority, mixin=mixin)
|
||
|
|
||
|
def transfer_multi(self, destinations, priority=prio.NORMAL, mixin=5):
|
||
|
"""
|
||
|
destinations = [(address, amount), ...]
|
||
|
"""
|
||
|
return self.accounts[0].transfer_multi(destinations, priority=priority, mixin=mixin)
|