diff options
author | Felix Lange <fjl@twurst.com> | 2016-08-16 00:38:32 +0800 |
---|---|---|
committer | Felix Lange <fjl@twurst.com> | 2016-08-17 23:39:03 +0800 |
commit | 312263c7d9457fe7c24aac8e42a4cf2efc6ccd8e (patch) | |
tree | e10f9cc260af1ce13cb67b02bbce9c17c3b09de2 /cmd/geth/accountcmd.go | |
parent | d6625ac34dad741f5659ca1dad3b0179603d37f0 (diff) | |
download | go-tangerine-312263c7d9457fe7c24aac8e42a4cf2efc6ccd8e.tar go-tangerine-312263c7d9457fe7c24aac8e42a4cf2efc6ccd8e.tar.gz go-tangerine-312263c7d9457fe7c24aac8e42a4cf2efc6ccd8e.tar.bz2 go-tangerine-312263c7d9457fe7c24aac8e42a4cf2efc6ccd8e.tar.lz go-tangerine-312263c7d9457fe7c24aac8e42a4cf2efc6ccd8e.tar.xz go-tangerine-312263c7d9457fe7c24aac8e42a4cf2efc6ccd8e.tar.zst go-tangerine-312263c7d9457fe7c24aac8e42a4cf2efc6ccd8e.zip |
cmd/utils, node: create account manager in package node
The account manager was previously created by packge cmd/utils as part
of flag processing and then passed down into eth.Ethereum through its
config struct. Since we are starting to create nodes which do not have
eth.Ethereum as a registered service, the code was rearranged to
register the account manager as its own service. Making it a service is
ugly though and it doesn't really fix the root cause: creating nodes
without eth.Ethereum requires duplicating lots of code.
This commit splits utils.MakeSystemNode into three functions, making
creation of other node/service configurations easier. It also moves the
account manager into Node so it can be used by those configurations
without requiring package eth.
Diffstat (limited to 'cmd/geth/accountcmd.go')
-rw-r--r-- | cmd/geth/accountcmd.go | 24 |
1 files changed, 11 insertions, 13 deletions
diff --git a/cmd/geth/accountcmd.go b/cmd/geth/accountcmd.go index 7fea16a25..2069df6cd 100644 --- a/cmd/geth/accountcmd.go +++ b/cmd/geth/accountcmd.go @@ -168,8 +168,8 @@ nodes. ) func accountList(ctx *cli.Context) error { - accman := utils.MakeAccountManager(ctx) - for i, acct := range accman.Accounts() { + stack := utils.MakeNode(ctx, clientIdentifier, verString) + for i, acct := range stack.AccountManager().Accounts() { fmt.Printf("Account #%d: {%x} %s\n", i, acct.Address, acct.File) } return nil @@ -261,10 +261,10 @@ func ambiguousAddrRecovery(am *accounts.Manager, err *accounts.AmbiguousAddrErro // accountCreate creates a new account into the keystore defined by the CLI flags. func accountCreate(ctx *cli.Context) error { - accman := utils.MakeAccountManager(ctx) + stack := utils.MakeNode(ctx, clientIdentifier, verString) password := getPassPhrase("Your new account is locked with a password. Please give a password. Do not forget this password.", true, 0, utils.MakePasswordList(ctx)) - account, err := accman.NewAccount(password) + account, err := stack.AccountManager().NewAccount(password) if err != nil { utils.Fatalf("Failed to create account: %v", err) } @@ -278,11 +278,10 @@ func accountUpdate(ctx *cli.Context) error { if len(ctx.Args()) == 0 { utils.Fatalf("No accounts specified to update") } - accman := utils.MakeAccountManager(ctx) - - account, oldPassword := unlockAccount(ctx, accman, ctx.Args().First(), 0, nil) + stack := utils.MakeNode(ctx, clientIdentifier, verString) + account, oldPassword := unlockAccount(ctx, stack.AccountManager(), ctx.Args().First(), 0, nil) newPassword := getPassPhrase("Please give a new password. Do not forget this password.", true, 0, nil) - if err := accman.Update(account, oldPassword, newPassword); err != nil { + if err := stack.AccountManager().Update(account, oldPassword, newPassword); err != nil { utils.Fatalf("Could not update the account: %v", err) } return nil @@ -298,10 +297,9 @@ func importWallet(ctx *cli.Context) error { utils.Fatalf("Could not read wallet file: %v", err) } - accman := utils.MakeAccountManager(ctx) + stack := utils.MakeNode(ctx, clientIdentifier, verString) passphrase := getPassPhrase("", false, 0, utils.MakePasswordList(ctx)) - - acct, err := accman.ImportPreSaleKey(keyJson, passphrase) + acct, err := stack.AccountManager().ImportPreSaleKey(keyJson, passphrase) if err != nil { utils.Fatalf("%v", err) } @@ -318,9 +316,9 @@ func accountImport(ctx *cli.Context) error { if err != nil { utils.Fatalf("Failed to load the private key: %v", err) } - accman := utils.MakeAccountManager(ctx) + stack := utils.MakeNode(ctx, clientIdentifier, verString) passphrase := getPassPhrase("Your new account is locked with a password. Please give a password. Do not forget this password.", true, 0, utils.MakePasswordList(ctx)) - acct, err := accman.ImportECDSA(key, passphrase) + acct, err := stack.AccountManager().ImportECDSA(key, passphrase) if err != nil { utils.Fatalf("Could not create the account: %v", err) } |