accounts: add Manager.HasAccount, delete Manager.Default
This commit is contained in:
parent
63758db379
commit
c2e5dacf55
@ -33,6 +33,7 @@ and accounts persistence is derived from stored keys' addresses
|
|||||||
package accounts
|
package accounts
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"bytes"
|
||||||
"crypto/ecdsa"
|
"crypto/ecdsa"
|
||||||
crand "crypto/rand"
|
crand "crypto/rand"
|
||||||
|
|
||||||
@ -72,19 +73,22 @@ func NewManager(keyStore crypto.KeyStore2, unlockTime time.Duration) *Manager {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (am *Manager) HasAccount(addr []byte) bool {
|
||||||
|
accounts, _ := am.Accounts()
|
||||||
|
for _, acct := range accounts {
|
||||||
|
if bytes.Compare(acct.Address, addr) == 0 {
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
// Coinbase returns the account address that mining rewards are sent to.
|
// Coinbase returns the account address that mining rewards are sent to.
|
||||||
func (am *Manager) Coinbase() (addr []byte, err error) {
|
func (am *Manager) Coinbase() (addr []byte, err error) {
|
||||||
// TODO: persist coinbase address on disk
|
// TODO: persist coinbase address on disk
|
||||||
return am.firstAddr()
|
return am.firstAddr()
|
||||||
}
|
}
|
||||||
|
|
||||||
// MainAccount returns the primary account used for transactions.
|
|
||||||
func (am *Manager) Default() (Account, error) {
|
|
||||||
// TODO: persist main account address on disk
|
|
||||||
addr, err := am.firstAddr()
|
|
||||||
return Account{Address: addr}, err
|
|
||||||
}
|
|
||||||
|
|
||||||
func (am *Manager) firstAddr() ([]byte, error) {
|
func (am *Manager) firstAddr() ([]byte, error) {
|
||||||
addrs, err := am.keyStore.GetKeyAddresses()
|
addrs, err := am.keyStore.GetKeyAddresses()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@ -135,9 +139,7 @@ func (am *Manager) Accounts() ([]Account, error) {
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
accounts := make([]Account, len(addresses))
|
accounts := make([]Account, len(addresses))
|
||||||
|
|
||||||
for i, addr := range addresses {
|
for i, addr := range addresses {
|
||||||
accounts[i] = Account{
|
accounts[i] = Account{
|
||||||
Address: addr,
|
Address: addr,
|
||||||
|
Loading…
Reference in New Issue
Block a user