mirror of
https://github.com/ethereum/go-ethereum.git
synced 2026-08-12 06:53:46 +00:00
cmd: remove unused deps, add deleted code back
This commit is contained in:
parent
3a4dde953f
commit
0d1f96960e
6 changed files with 48 additions and 43 deletions
|
|
@ -22,8 +22,6 @@ import (
|
||||||
"os"
|
"os"
|
||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
"github.com/urfave/cli/v2"
|
|
||||||
|
|
||||||
"github.com/ethereum/go-ethereum/accounts"
|
"github.com/ethereum/go-ethereum/accounts"
|
||||||
"github.com/ethereum/go-ethereum/accounts/keystore"
|
"github.com/ethereum/go-ethereum/accounts/keystore"
|
||||||
"github.com/ethereum/go-ethereum/cmd/utils"
|
"github.com/ethereum/go-ethereum/cmd/utils"
|
||||||
|
|
|
||||||
|
|
@ -18,13 +18,14 @@ package main
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"fmt"
|
"fmt"
|
||||||
|
"os"
|
||||||
|
"path/filepath"
|
||||||
"slices"
|
"slices"
|
||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
"github.com/urfave/cli/v2"
|
|
||||||
|
|
||||||
"github.com/ethereum/go-ethereum/cmd/utils"
|
"github.com/ethereum/go-ethereum/cmd/utils"
|
||||||
"github.com/ethereum/go-ethereum/console"
|
"github.com/ethereum/go-ethereum/console"
|
||||||
|
"github.com/ethereum/go-ethereum/node"
|
||||||
"github.com/urfave/cli/v2"
|
"github.com/urfave/cli/v2"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -30,7 +30,6 @@ import (
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/ethereum/go-ethereum/accounts"
|
"github.com/ethereum/go-ethereum/accounts"
|
||||||
"github.com/ethereum/go-ethereum/accounts/keystore"
|
|
||||||
"github.com/ethereum/go-ethereum/cmd/utils"
|
"github.com/ethereum/go-ethereum/cmd/utils"
|
||||||
"github.com/ethereum/go-ethereum/common"
|
"github.com/ethereum/go-ethereum/common"
|
||||||
"github.com/ethereum/go-ethereum/console/prompt"
|
"github.com/ethereum/go-ethereum/console/prompt"
|
||||||
|
|
@ -59,7 +58,7 @@ const (
|
||||||
|
|
||||||
var (
|
var (
|
||||||
// flags that configure the node
|
// flags that configure the node
|
||||||
nodeFlags = flags.Merge([]cli.Flag{
|
nodeFlags = slices.Concat([]cli.Flag{
|
||||||
utils.BorLogsFlag,
|
utils.BorLogsFlag,
|
||||||
utils.IdentityFlag,
|
utils.IdentityFlag,
|
||||||
utils.UnlockedAccountFlag,
|
utils.UnlockedAccountFlag,
|
||||||
|
|
@ -465,41 +464,6 @@ func startNode(ctx *cli.Context, stack *node.Node, isConsole bool) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// unlockAccounts unlocks any account specifically requested.
|
|
||||||
func unlockAccounts(ctx *cli.Context, stack *node.Node) {
|
|
||||||
var unlocks []string
|
|
||||||
|
|
||||||
inputs := strings.Split(ctx.String(utils.UnlockedAccountFlag.Name), ",")
|
|
||||||
for _, input := range inputs {
|
|
||||||
if trimmed := strings.TrimSpace(input); trimmed != "" {
|
|
||||||
unlocks = append(unlocks, trimmed)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
// Short circuit if there is no account to unlock.
|
|
||||||
if len(unlocks) == 0 {
|
|
||||||
return
|
|
||||||
}
|
|
||||||
// If insecure account unlocking is not allowed if node's APIs are exposed to external.
|
|
||||||
// Print warning log to user and skip unlocking.
|
|
||||||
if !stack.Config().InsecureUnlockAllowed && stack.Config().ExtRPCEnabled() {
|
|
||||||
utils.Fatalf("Account unlock with HTTP access is forbidden!")
|
|
||||||
}
|
|
||||||
|
|
||||||
backends := stack.AccountManager().Backends(keystore.KeyStoreType)
|
|
||||||
|
|
||||||
if len(backends) == 0 {
|
|
||||||
log.Warn("Failed to unlock accounts, keystore is not available")
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
ks := backends[0].(*keystore.KeyStore)
|
|
||||||
passwords := utils.MakePasswordList(ctx)
|
|
||||||
|
|
||||||
for i, account := range unlocks {
|
|
||||||
unlockAccount(ks, account, i, passwords)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func getHeimdallArgs(ctx *cli.Context) []string {
|
func getHeimdallArgs(ctx *cli.Context) []string {
|
||||||
heimdallArgs := strings.Split(ctx.String(utils.RunHeimdallArgsFlag.Name), ",")
|
heimdallArgs := strings.Split(ctx.String(utils.RunHeimdallArgsFlag.Name), ",")
|
||||||
return append([]string{"start"}, heimdallArgs...)
|
return append([]string{"start"}, heimdallArgs...)
|
||||||
|
|
|
||||||
|
|
@ -22,8 +22,6 @@ import (
|
||||||
"runtime"
|
"runtime"
|
||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
"github.com/urfave/cli/v2"
|
|
||||||
|
|
||||||
"github.com/ethereum/go-ethereum/internal/version"
|
"github.com/ethereum/go-ethereum/internal/version"
|
||||||
"github.com/urfave/cli/v2"
|
"github.com/urfave/cli/v2"
|
||||||
)
|
)
|
||||||
|
|
|
||||||
|
|
@ -1311,6 +1311,33 @@ func MakeDatabaseHandles(max int) int {
|
||||||
return int(raised / 2) // Leave half for networking and other stuff
|
return int(raised / 2) // Leave half for networking and other stuff
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// MakeAddress converts an account specified directly as a hex encoded string or
|
||||||
|
// a key index in the key store to an internal account representation.
|
||||||
|
func MakeAddress(ks *keystore.KeyStore, account string) (accounts.Account, error) {
|
||||||
|
// If the specified account is a valid address, return it
|
||||||
|
if common.IsHexAddress(account) {
|
||||||
|
return accounts.Account{Address: common.HexToAddress(account)}, nil
|
||||||
|
}
|
||||||
|
// Otherwise try to interpret the account as a keystore index
|
||||||
|
index, err := strconv.Atoi(account)
|
||||||
|
if err != nil || index < 0 {
|
||||||
|
return accounts.Account{}, fmt.Errorf("invalid account address or index %q", account)
|
||||||
|
}
|
||||||
|
|
||||||
|
log.Warn("-------------------------------------------------------------------")
|
||||||
|
log.Warn("Referring to accounts by order in the keystore folder is dangerous!")
|
||||||
|
log.Warn("This functionality is deprecated and will be removed in the future!")
|
||||||
|
log.Warn("Please use explicit addresses! (can search via `geth account list`)")
|
||||||
|
log.Warn("-------------------------------------------------------------------")
|
||||||
|
|
||||||
|
accs := ks.Accounts()
|
||||||
|
if len(accs) <= index {
|
||||||
|
return accounts.Account{}, fmt.Errorf("index %d higher than number of accounts %d", index, len(accs))
|
||||||
|
}
|
||||||
|
|
||||||
|
return accs[index], nil
|
||||||
|
}
|
||||||
|
|
||||||
// setEtherbase retrieves the etherbase from the directly specified command line flags.
|
// setEtherbase retrieves the etherbase from the directly specified command line flags.
|
||||||
func setEtherbase(ctx *cli.Context, cfg *ethconfig.Config) {
|
func setEtherbase(ctx *cli.Context, cfg *ethconfig.Config) {
|
||||||
if ctx.IsSet(MinerEtherbaseFlag.Name) {
|
if ctx.IsSet(MinerEtherbaseFlag.Name) {
|
||||||
|
|
|
||||||
|
|
@ -49,3 +49,20 @@ func GetPassPhrase(text string, confirmation bool) string {
|
||||||
|
|
||||||
return password
|
return password
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// GetPassPhraseWithList retrieves the password associated with an account, either fetched
|
||||||
|
// from a list of preloaded passphrases, or requested interactively from the user.
|
||||||
|
func GetPassPhraseWithList(text string, confirmation bool, index int, passwords []string) string {
|
||||||
|
// If a list of passwords was supplied, retrieve from them
|
||||||
|
if len(passwords) > 0 {
|
||||||
|
if index < len(passwords) {
|
||||||
|
return passwords[index]
|
||||||
|
}
|
||||||
|
|
||||||
|
return passwords[len(passwords)-1]
|
||||||
|
}
|
||||||
|
// Otherwise prompt the user for the password
|
||||||
|
password := GetPassPhrase(text, confirmation)
|
||||||
|
|
||||||
|
return password
|
||||||
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue