aboutsummaryrefslogtreecommitdiffstats
path: root/ethcrypto/mnemonic.go
diff options
context:
space:
mode:
Diffstat (limited to 'ethcrypto/mnemonic.go')
-rw-r--r--ethcrypto/mnemonic.go40
1 files changed, 6 insertions, 34 deletions
diff --git a/ethcrypto/mnemonic.go b/ethcrypto/mnemonic.go
index 2d3ac85a3..5fb620219 100644
--- a/ethcrypto/mnemonic.go
+++ b/ethcrypto/mnemonic.go
@@ -2,37 +2,9 @@ package ethcrypto
import (
"fmt"
- "io/ioutil"
- "os"
- "path"
- "path/filepath"
"strconv"
- "strings"
)
-func InitWords(wordsPath string) {
- filename := path.Join(wordsPath, "mnemonic.words.lst")
- if _, err := os.Stat(filename); os.IsNotExist(err) {
- dir := path.Join(os.Getenv("GOPATH"), "src", "github.com", "ethereum", "eth-go", "ethcrypto")
- filename = path.Join(dir, "mnemonic.words.lst")
- if _, err := os.Stat(filename); os.IsNotExist(err) {
- dir, err := filepath.Abs(filepath.Dir(os.Args[0]))
- if err != nil {
- panic(fmt.Errorf("problem getting current folder: ", err))
- }
- filename = path.Join(dir, "mnemonic.words.lst")
- }
- }
-
- content, err := ioutil.ReadFile(filename)
- if err != nil {
- panic(fmt.Errorf("All options for finding the mnemonic word list file 'mnemonic.words.lst' failed: ", err))
- }
- words = strings.Split(string(content), "\n")
-}
-
-var words []string
-
// TODO: See if we can refactor this into a shared util lib if we need it multiple times
func IndexOf(slice []string, value string) int64 {
for p, v := range slice {
@@ -45,7 +17,7 @@ func IndexOf(slice []string, value string) int64 {
func MnemonicEncode(message string) []string {
var out []string
- n := int64(len(words))
+ n := int64(len(MnemonicWords))
for i := 0; i < len(message); i += (len(message) / 8) {
x := message[i : i+8]
@@ -53,22 +25,22 @@ func MnemonicEncode(message string) []string {
w1 := (bit % n)
w2 := ((bit / n) + w1) % n
w3 := ((bit / n / n) + w2) % n
- out = append(out, words[w1], words[w2], words[w3])
+ out = append(out, MnemonicWords[w1], MnemonicWords[w2], MnemonicWords[w3])
}
return out
}
func MnemonicDecode(wordsar []string) string {
var out string
- n := int64(len(words))
+ n := int64(len(MnemonicWords))
for i := 0; i < len(wordsar); i += 3 {
word1 := wordsar[i]
word2 := wordsar[i+1]
word3 := wordsar[i+2]
- w1 := IndexOf(words, word1)
- w2 := IndexOf(words, word2)
- w3 := IndexOf(words, word3)
+ w1 := IndexOf(MnemonicWords, word1)
+ w2 := IndexOf(MnemonicWords, word2)
+ w3 := IndexOf(MnemonicWords, word3)
y := (w2 - w1) % n
z := (w3 - w2) % n