|
|
|
@ -1,6 +1,7 @@ |
|
|
|
|
package utils |
|
|
|
|
|
|
|
|
|
import ( |
|
|
|
|
"bitbucket.org/kardianos/osext" |
|
|
|
|
"fmt" |
|
|
|
|
"github.com/ethereum/eth-go" |
|
|
|
|
"github.com/ethereum/eth-go/ethcrypto" |
|
|
|
@ -16,6 +17,8 @@ import ( |
|
|
|
|
"os" |
|
|
|
|
"os/signal" |
|
|
|
|
"path" |
|
|
|
|
"path/filepath" |
|
|
|
|
"runtime" |
|
|
|
|
"time" |
|
|
|
|
) |
|
|
|
|
|
|
|
|
@ -164,7 +167,34 @@ func NewKeyManager(KeyStore string, Datadir string, db ethutil.Database) *ethcry |
|
|
|
|
return keyManager |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
func DefaultAssetPath() string { |
|
|
|
|
var assetPath string |
|
|
|
|
// If the current working directory is the go-ethereum dir
|
|
|
|
|
// assume a debug build and use the source directory as
|
|
|
|
|
// asset directory.
|
|
|
|
|
pwd, _ := os.Getwd() |
|
|
|
|
if pwd == path.Join(os.Getenv("GOPATH"), "src", "github.com", "ethereum", "go-ethereum", "ethereal") { |
|
|
|
|
assetPath = path.Join(pwd, "assets") |
|
|
|
|
} else { |
|
|
|
|
switch runtime.GOOS { |
|
|
|
|
case "darwin": |
|
|
|
|
// Get Binary Directory
|
|
|
|
|
exedir, _ := osext.ExecutableFolder() |
|
|
|
|
assetPath = filepath.Join(exedir, "../Resources") |
|
|
|
|
case "linux": |
|
|
|
|
assetPath = "/usr/share/ethereal" |
|
|
|
|
case "windows": |
|
|
|
|
assetPath = "./assets" |
|
|
|
|
default: |
|
|
|
|
assetPath = "." |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
return assetPath |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
func KeyTasks(keyManager *ethcrypto.KeyManager, KeyRing string, GenAddr bool, SecretFile string, ExportDir string, NonInteractive bool) { |
|
|
|
|
ethcrypto.InitWords(DefaultAssetPath()) // Init mnemonic word list
|
|
|
|
|
|
|
|
|
|
var err error |
|
|
|
|
switch { |
|
|
|
|
case GenAddr: |
|
|
|
|