aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--accounts/account_manager.go20
1 files changed, 11 insertions, 9 deletions
diff --git a/accounts/account_manager.go b/accounts/account_manager.go
index bb664878a..4575334bf 100644
--- a/accounts/account_manager.go
+++ b/accounts/account_manager.go
@@ -33,6 +33,7 @@ and accounts persistence is derived from stored keys' addresses
package accounts
import (
+ "bytes"
"crypto/ecdsa"
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.
func (am *Manager) Coinbase() (addr []byte, err error) {
// TODO: persist coinbase address on disk
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) {
addrs, err := am.keyStore.GetKeyAddresses()
if err != nil {
@@ -135,9 +139,7 @@ func (am *Manager) Accounts() ([]Account, error) {
if err != nil {
return nil, err
}
-
accounts := make([]Account, len(addresses))
-
for i, addr := range addresses {
accounts[i] = Account{
Address: addr,