Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
G
Geth-Modification
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
张蕾
Geth-Modification
Commits
35a82f8f
Commit
35a82f8f
authored
Apr 07, 2014
by
Maran
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Added support for mneomnic privkeys
parent
782910ea
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
1760 additions
and
0 deletions
+1760
-0
mnemonic.go
ethutil/mnemonic.go
+1686
-0
mnemonic_test.go
ethutil/mnemonic_test.go
+74
-0
No files found.
ethutil/mnemonic.go
0 → 100644
View file @
35a82f8f
package
ethutil
import
(
"fmt"
"strconv"
)
var
words
[]
string
=
[]
string
{
"like"
,
"just"
,
"love"
,
"know"
,
"never"
,
"want"
,
"time"
,
"out"
,
"there"
,
"make"
,
"look"
,
"eye"
,
"down"
,
"only"
,
"think"
,
"heart"
,
"back"
,
"then"
,
"into"
,
"about"
,
"more"
,
"away"
,
"still"
,
"them"
,
"take"
,
"thing"
,
"even"
,
"through"
,
"long"
,
"always"
,
"world"
,
"too"
,
"friend"
,
"tell"
,
"try"
,
"hand"
,
"thought"
,
"over"
,
"here"
,
"other"
,
"need"
,
"smile"
,
"again"
,
"much"
,
"cry"
,
"been"
,
"night"
,
"ever"
,
"little"
,
"said"
,
"end"
,
"some"
,
"those"
,
"around"
,
"mind"
,
"people"
,
"girl"
,
"leave"
,
"dream"
,
"left"
,
"turn"
,
"myself"
,
"give"
,
"nothing"
,
"really"
,
"off"
,
"before"
,
"something"
,
"find"
,
"walk"
,
"wish"
,
"good"
,
"once"
,
"place"
,
"ask"
,
"stop"
,
"keep"
,
"watch"
,
"seem"
,
"everything"
,
"wait"
,
"got"
,
"yet"
,
"made"
,
"remember"
,
"start"
,
"alone"
,
"run"
,
"hope"
,
"maybe"
,
"believe"
,
"body"
,
"hate"
,
"after"
,
"close"
,
"talk"
,
"stand"
,
"own"
,
"each"
,
"hurt"
,
"help"
,
"home"
,
"god"
,
"soul"
,
"new"
,
"many"
,
"two"
,
"inside"
,
"should"
,
"true"
,
"first"
,
"fear"
,
"mean"
,
"better"
,
"play"
,
"another"
,
"gone"
,
"change"
,
"use"
,
"wonder"
,
"someone"
,
"hair"
,
"cold"
,
"open"
,
"best"
,
"any"
,
"behind"
,
"happen"
,
"water"
,
"dark"
,
"laugh"
,
"stay"
,
"forever"
,
"name"
,
"work"
,
"show"
,
"sky"
,
"break"
,
"came"
,
"deep"
,
"door"
,
"put"
,
"black"
,
"together"
,
"upon"
,
"happy"
,
"such"
,
"great"
,
"white"
,
"matter"
,
"fill"
,
"past"
,
"please"
,
"burn"
,
"cause"
,
"enough"
,
"touch"
,
"moment"
,
"soon"
,
"voice"
,
"scream"
,
"anything"
,
"stare"
,
"sound"
,
"red"
,
"everyone"
,
"hide"
,
"kiss"
,
"truth"
,
"death"
,
"beautiful"
,
"mine"
,
"blood"
,
"broken"
,
"very"
,
"pass"
,
"next"
,
"forget"
,
"tree"
,
"wrong"
,
"air"
,
"mother"
,
"understand"
,
"lip"
,
"hit"
,
"wall"
,
"memory"
,
"sleep"
,
"free"
,
"high"
,
"realize"
,
"school"
,
"might"
,
"skin"
,
"sweet"
,
"perfect"
,
"blue"
,
"kill"
,
"breath"
,
"dance"
,
"against"
,
"fly"
,
"between"
,
"grow"
,
"strong"
,
"under"
,
"listen"
,
"bring"
,
"sometimes"
,
"speak"
,
"pull"
,
"person"
,
"become"
,
"family"
,
"begin"
,
"ground"
,
"real"
,
"small"
,
"father"
,
"sure"
,
"feet"
,
"rest"
,
"young"
,
"finally"
,
"land"
,
"across"
,
"today"
,
"different"
,
"guy"
,
"line"
,
"fire"
,
"reason"
,
"reach"
,
"second"
,
"slowly"
,
"write"
,
"eat"
,
"smell"
,
"mouth"
,
"step"
,
"learn"
,
"three"
,
"floor"
,
"promise"
,
"breathe"
,
"darkness"
,
"push"
,
"earth"
,
"guess"
,
"save"
,
"song"
,
"above"
,
"along"
,
"both"
,
"color"
,
"house"
,
"almost"
,
"sorry"
,
"anymore"
,
"brother"
,
"okay"
,
"dear"
,
"game"
,
"fade"
,
"already"
,
"apart"
,
"warm"
,
"beauty"
,
"heard"
,
"notice"
,
"question"
,
"shine"
,
"began"
,
"piece"
,
"whole"
,
"shadow"
,
"secret"
,
"street"
,
"within"
,
"finger"
,
"point"
,
"morning"
,
"whisper"
,
"child"
,
"moon"
,
"green"
,
"story"
,
"glass"
,
"kid"
,
"silence"
,
"since"
,
"soft"
,
"yourself"
,
"empty"
,
"shall"
,
"angel"
,
"answer"
,
"baby"
,
"bright"
,
"dad"
,
"path"
,
"worry"
,
"hour"
,
"drop"
,
"follow"
,
"power"
,
"war"
,
"half"
,
"flow"
,
"heaven"
,
"act"
,
"chance"
,
"fact"
,
"least"
,
"tired"
,
"children"
,
"near"
,
"quite"
,
"afraid"
,
"rise"
,
"sea"
,
"taste"
,
"window"
,
"cover"
,
"nice"
,
"trust"
,
"lot"
,
"sad"
,
"cool"
,
"force"
,
"peace"
,
"return"
,
"blind"
,
"easy"
,
"ready"
,
"roll"
,
"rose"
,
"drive"
,
"held"
,
"music"
,
"beneath"
,
"hang"
,
"mom"
,
"paint"
,
"emotion"
,
"quiet"
,
"clear"
,
"cloud"
,
"few"
,
"pretty"
,
"bird"
,
"outside"
,
"paper"
,
"picture"
,
"front"
,
"rock"
,
"simple"
,
"anyone"
,
"meant"
,
"reality"
,
"road"
,
"sense"
,
"waste"
,
"bit"
,
"leaf"
,
"thank"
,
"happiness"
,
"meet"
,
"men"
,
"smoke"
,
"truly"
,
"decide"
,
"self"
,
"age"
,
"book"
,
"form"
,
"alive"
,
"carry"
,
"escape"
,
"damn"
,
"instead"
,
"able"
,
"ice"
,
"minute"
,
"throw"
,
"catch"
,
"leg"
,
"ring"
,
"course"
,
"goodbye"
,
"lead"
,
"poem"
,
"sick"
,
"corner"
,
"desire"
,
"known"
,
"problem"
,
"remind"
,
"shoulder"
,
"suppose"
,
"toward"
,
"wave"
,
"drink"
,
"jump"
,
"woman"
,
"pretend"
,
"sister"
,
"week"
,
"human"
,
"joy"
,
"crack"
,
"grey"
,
"pray"
,
"surprise"
,
"dry"
,
"knee"
,
"less"
,
"search"
,
"bleed"
,
"caught"
,
"clean"
,
"embrace"
,
"future"
,
"king"
,
"son"
,
"sorrow"
,
"chest"
,
"hug"
,
"remain"
,
"sat"
,
"worth"
,
"blow"
,
"daddy"
,
"final"
,
"parent"
,
"tight"
,
"also"
,
"create"
,
"lonely"
,
"safe"
,
"cross"
,
"dress"
,
"evil"
,
"silent"
,
"bone"
,
"fate"
,
"perhaps"
,
"anger"
,
"class"
,
"scar"
,
"snow"
,
"tiny"
,
"tonight"
,
"continue"
,
"control"
,
"dog"
,
"edge"
,
"mirror"
,
"month"
,
"suddenly"
,
"comfort"
,
"given"
,
"loud"
,
"quickly"
,
"gaze"
,
"plan"
,
"rush"
,
"stone"
,
"town"
,
"battle"
,
"ignore"
,
"spirit"
,
"stood"
,
"stupid"
,
"yours"
,
"brown"
,
"build"
,
"dust"
,
"hey"
,
"kept"
,
"pay"
,
"phone"
,
"twist"
,
"although"
,
"ball"
,
"beyond"
,
"hidden"
,
"nose"
,
"taken"
,
"fail"
,
"float"
,
"pure"
,
"somehow"
,
"wash"
,
"wrap"
,
"angry"
,
"cheek"
,
"creature"
,
"forgotten"
,
"heat"
,
"rip"
,
"single"
,
"space"
,
"special"
,
"weak"
,
"whatever"
,
"yell"
,
"anyway"
,
"blame"
,
"job"
,
"choose"
,
"country"
,
"curse"
,
"drift"
,
"echo"
,
"figure"
,
"grew"
,
"laughter"
,
"neck"
,
"suffer"
,
"worse"
,
"yeah"
,
"disappear"
,
"foot"
,
"forward"
,
"knife"
,
"mess"
,
"somewhere"
,
"stomach"
,
"storm"
,
"beg"
,
"idea"
,
"lift"
,
"offer"
,
"breeze"
,
"field"
,
"five"
,
"often"
,
"simply"
,
"stuck"
,
"win"
,
"allow"
,
"confuse"
,
"enjoy"
,
"except"
,
"flower"
,
"seek"
,
"strength"
,
"calm"
,
"grin"
,
"gun"
,
"heavy"
,
"hill"
,
"large"
,
"ocean"
,
"shoe"
,
"sigh"
,
"straight"
,
"summer"
,
"tongue"
,
"accept"
,
"crazy"
,
"everyday"
,
"exist"
,
"grass"
,
"mistake"
,
"sent"
,
"shut"
,
"surround"
,
"table"
,
"ache"
,
"brain"
,
"destroy"
,
"heal"
,
"nature"
,
"shout"
,
"sign"
,
"stain"
,
"choice"
,
"doubt"
,
"glance"
,
"glow"
,
"mountain"
,
"queen"
,
"stranger"
,
"throat"
,
"tomorrow"
,
"city"
,
"either"
,
"fish"
,
"flame"
,
"rather"
,
"shape"
,
"spin"
,
"spread"
,
"ash"
,
"distance"
,
"finish"
,
"image"
,
"imagine"
,
"important"
,
"nobody"
,
"shatter"
,
"warmth"
,
"became"
,
"feed"
,
"flesh"
,
"funny"
,
"lust"
,
"shirt"
,
"trouble"
,
"yellow"
,
"attention"
,
"bare"
,
"bite"
,
"money"
,
"protect"
,
"amaze"
,
"appear"
,
"born"
,
"choke"
,
"completely"
,
"daughter"
,
"fresh"
,
"friendship"
,
"gentle"
,
"probably"
,
"six"
,
"deserve"
,
"expect"
,
"grab"
,
"middle"
,
"nightmare"
,
"river"
,
"thousand"
,
"weight"
,
"worst"
,
"wound"
,
"barely"
,
"bottle"
,
"cream"
,
"regret"
,
"relationship"
,
"stick"
,
"test"
,
"crush"
,
"endless"
,
"fault"
,
"itself"
,
"rule"
,
"spill"
,
"art"
,
"circle"
,
"join"
,
"kick"
,
"mask"
,
"master"
,
"passion"
,
"quick"
,
"raise"
,
"smooth"
,
"unless"
,
"wander"
,
"actually"
,
"broke"
,
"chair"
,
"deal"
,
"favorite"
,
"gift"
,
"note"
,
"number"
,
"sweat"
,
"box"
,
"chill"
,
"clothes"
,
"lady"
,
"mark"
,
"park"
,
"poor"
,
"sadness"
,
"tie"
,
"animal"
,
"belong"
,
"brush"
,
"consume"
,
"dawn"
,
"forest"
,
"innocent"
,
"pen"
,
"pride"
,
"stream"
,
"thick"
,
"clay"
,
"complete"
,
"count"
,
"draw"
,
"faith"
,
"press"
,
"silver"
,
"struggle"
,
"surface"
,
"taught"
,
"teach"
,
"wet"
,
"bless"
,
"chase"
,
"climb"
,
"enter"
,
"letter"
,
"melt"
,
"metal"
,
"movie"
,
"stretch"
,
"swing"
,
"vision"
,
"wife"
,
"beside"
,
"crash"
,
"forgot"
,
"guide"
,
"haunt"
,
"joke"
,
"knock"
,
"plant"
,
"pour"
,
"prove"
,
"reveal"
,
"steal"
,
"stuff"
,
"trip"
,
"wood"
,
"wrist"
,
"bother"
,
"bottom"
,
"crawl"
,
"crowd"
,
"fix"
,
"forgive"
,
"frown"
,
"grace"
,
"loose"
,
"lucky"
,
"party"
,
"release"
,
"surely"
,
"survive"
,
"teacher"
,
"gently"
,
"grip"
,
"speed"
,
"suicide"
,
"travel"
,
"treat"
,
"vein"
,
"written"
,
"cage"
,
"chain"
,
"conversation"
,
"date"
,
"enemy"
,
"however"
,
"interest"
,
"million"
,
"page"
,
"pink"
,
"proud"
,
"sway"
,
"themselves"
,
"winter"
,
"church"
,
"cruel"
,
"cup"
,
"demon"
,
"experience"
,
"freedom"
,
"pair"
,
"pop"
,
"purpose"
,
"respect"
,
"shoot"
,
"softly"
,
"state"
,
"strange"
,
"bar"
,
"birth"
,
"curl"
,
"dirt"
,
"excuse"
,
"lord"
,
"lovely"
,
"monster"
,
"order"
,
"pack"
,
"pants"
,
"pool"
,
"scene"
,
"seven"
,
"shame"
,
"slide"
,
"ugly"
,
"among"
,
"blade"
,
"blonde"
,
"closet"
,
"creek"
,
"deny"
,
"drug"
,
"eternity"
,
"gain"
,
"grade"
,
"handle"
,
"key"
,
"linger"
,
"pale"
,
"prepare"
,
"swallow"
,
"swim"
,
"tremble"
,
"wheel"
,
"won"
,
"cast"
,
"cigarette"
,
"claim"
,
"college"
,
"direction"
,
"dirty"
,
"gather"
,
"ghost"
,
"hundred"
,
"loss"
,
"lung"
,
"orange"
,
"present"
,
"swear"
,
"swirl"
,
"twice"
,
"wild"
,
"bitter"
,
"blanket"
,
"doctor"
,
"everywhere"
,
"flash"
,
"grown"
,
"knowledge"
,
"numb"
,
"pressure"
,
"radio"
,
"repeat"
,
"ruin"
,
"spend"
,
"unknown"
,
"buy"
,
"clock"
,
"devil"
,
"early"
,
"false"
,
"fantasy"
,
"pound"
,
"precious"
,
"refuse"
,
"sheet"
,
"teeth"
,
"welcome"
,
"add"
,
"ahead"
,
"block"
,
"bury"
,
"caress"
,
"content"
,
"depth"
,
"despite"
,
"distant"
,
"marry"
,
"purple"
,
"threw"
,
"whenever"
,
"bomb"
,
"dull"
,
"easily"
,
"grasp"
,
"hospital"
,
"innocence"
,
"normal"
,
"receive"
,
"reply"
,
"rhyme"
,
"shade"
,
"someday"
,
"sword"
,
"toe"
,
"visit"
,
"asleep"
,
"bought"
,
"center"
,
"consider"
,
"flat"
,
"hero"
,
"history"
,
"ink"
,
"insane"
,
"muscle"
,
"mystery"
,
"pocket"
,
"reflection"
,
"shove"
,
"silently"
,
"smart"
,
"soldier"
,
"spot"
,
"stress"
,
"train"
,
"type"
,
"view"
,
"whether"
,
"bus"
,
"energy"
,
"explain"
,
"holy"
,
"hunger"
,
"inch"
,
"magic"
,
"mix"
,
"noise"
,
"nowhere"
,
"prayer"
,
"presence"
,
"shock"
,
"snap"
,
"spider"
,
"study"
,
"thunder"
,
"trail"
,
"admit"
,
"agree"
,
"bag"
,
"bang"
,
"bound"
,
"butterfly"
,
"cute"
,
"exactly"
,
"explode"
,
"familiar"
,
"fold"
,
"further"
,
"pierce"
,
"reflect"
,
"scent"
,
"selfish"
,
"sharp"
,
"sink"
,
"spring"
,
"stumble"
,
"universe"
,
"weep"
,
"women"
,
"wonderful"
,
"action"
,
"ancient"
,
"attempt"
,
"avoid"
,
"birthday"
,
"branch"
,
"chocolate"
,
"core"
,
"depress"
,
"drunk"
,
"especially"
,
"focus"
,
"fruit"
,
"honest"
,
"match"
,
"palm"
,
"perfectly"
,
"pillow"
,
"pity"
,
"poison"
,
"roar"
,
"shift"
,
"slightly"
,
"thump"
,
"truck"
,
"tune"
,
"twenty"
,
"unable"
,
"wipe"
,
"wrote"
,
"coat"
,
"constant"
,
"dinner"
,
"drove"
,
"egg"
,
"eternal"
,
"flight"
,
"flood"
,
"frame"
,
"freak"
,
"gasp"
,
"glad"
,
"hollow"
,
"motion"
,
"peer"
,
"plastic"
,
"root"
,
"screen"
,
"season"
,
"sting"
,
"strike"
,
"team"
,
"unlike"
,
"victim"
,
"volume"
,
"warn"
,
"weird"
,
"attack"
,
"await"
,
"awake"
,
"built"
,
"charm"
,
"crave"
,
"despair"
,
"fought"
,
"grant"
,
"grief"
,
"horse"
,
"limit"
,
"message"
,
"ripple"
,
"sanity"
,
"scatter"
,
"serve"
,
"split"
,
"string"
,
"trick"
,
"annoy"
,
"blur"
,
"boat"
,
"brave"
,
"clearly"
,
"cling"
,
"connect"
,
"fist"
,
"forth"
,
"imagination"
,
"iron"
,
"jock"
,
"judge"
,
"lesson"
,
"milk"
,
"misery"
,
"nail"
,
"naked"
,
"ourselves"
,
"poet"
,
"possible"
,
"princess"
,
"sail"
,
"size"
,
"snake"
,
"society"
,
"stroke"
,
"torture"
,
"toss"
,
"trace"
,
"wise"
,
"bloom"
,
"bullet"
,
"cell"
,
"check"
,
"cost"
,
"darling"
,
"during"
,
"footstep"
,
"fragile"
,
"hallway"
,
"hardly"
,
"horizon"
,
"invisible"
,
"journey"
,
"midnight"
,
"mud"
,
"nod"
,
"pause"
,
"relax"
,
"shiver"
,
"sudden"
,
"value"
,
"youth"
,
"abuse"
,
"admire"
,
"blink"
,
"breast"
,
"bruise"
,
"constantly"
,
"couple"
,
"creep"
,
"curve"
,
"difference"
,
"dumb"
,
"emptiness"
,
"gotta"
,
"honor"
,
"plain"
,
"planet"
,
"recall"
,
"rub"
,
"ship"
,
"slam"
,
"soar"
,
"somebody"
,
"tightly"
,
"weather"
,
"adore"
,
"approach"
,
"bond"
,
"bread"
,
"burst"
,
"candle"
,
"coffee"
,
"cousin"
,
"crime"
,
"desert"
,
"flutter"
,
"frozen"
,
"grand"
,
"heel"
,
"hello"
,
"language"
,
"level"
,
"movement"
,
"pleasure"
,
"powerful"
,
"random"
,
"rhythm"
,
"settle"
,
"silly"
,
"slap"
,
"sort"
,
"spoken"
,
"steel"
,
"threaten"
,
"tumble"
,
"upset"
,
"aside"
,
"awkward"
,
"bee"
,
"blank"
,
"board"
,
"button"
,
"card"
,
"carefully"
,
"complain"
,
"crap"
,
"deeply"
,
"discover"
,
"drag"
,
"dread"
,
"effort"
,
"entire"
,
"fairy"
,
"giant"
,
"gotten"
,
"greet"
,
"illusion"
,
"jeans"
,
"leap"
,
"liquid"
,
"march"
,
"mend"
,
"nervous"
,
"nine"
,
"replace"
,
"rope"
,
"spine"
,
"stole"
,
"terror"
,
"accident"
,
"apple"
,
"balance"
,
"boom"
,
"childhood"
,
"collect"
,
"demand"
,
"depression"
,
"eventually"
,
"faint"
,
"glare"
,
"goal"
,
"group"
,
"honey"
,
"kitchen"
,
"laid"
,
"limb"
,
"machine"
,
"mere"
,
"mold"
,
"murder"
,
"nerve"
,
"painful"
,
"poetry"
,
"prince"
,
"rabbit"
,
"shelter"
,
"shore"
,
"shower"
,
"soothe"
,
"stair"
,
"steady"
,
"sunlight"
,
"tangle"
,
"tease"
,
"treasure"
,
"uncle"
,
"begun"
,
"bliss"
,
"canvas"
,
"cheer"
,
"claw"
,
"clutch"
,
"commit"
,
"crimson"
,
"crystal"
,
"delight"
,
"doll"
,
"existence"
,
"express"
,
"fog"
,
"football"
,
"gay"
,
"goose"
,
"guard"
,
"hatred"
,
"illuminate"
,
"mass"
,
"math"
,
"mourn"
,
"rich"
,
"rough"
,
"skip"
,
"stir"
,
"student"
,
"style"
,
"support"
,
"thorn"
,
"tough"
,
"yard"
,
"yearn"
,
"yesterday"
,
"advice"
,
"appreciate"
,
"autumn"
,
"bank"
,
"beam"
,
"bowl"
,
"capture"
,
"carve"
,
"collapse"
,
"confusion"
,
"creation"
,
"dove"
,
"feather"
,
"girlfriend"
,
"glory"
,
"government"
,
"harsh"
,
"hop"
,
"inner"
,
"loser"
,
"moonlight"
,
"neighbor"
,
"neither"
,
"peach"
,
"pig"
,
"praise"
,
"screw"
,
"shield"
,
"shimmer"
,
"sneak"
,
"stab"
,
"subject"
,
"throughout"
,
"thrown"
,
"tower"
,
"twirl"
,
"wow"
,
"army"
,
"arrive"
,
"bathroom"
,
"bump"
,
"cease"
,
"cookie"
,
"couch"
,
"courage"
,
"dim"
,
"guilt"
,
"howl"
,
"hum"
,
"husband"
,
"insult"
,
"led"
,
"lunch"
,
"mock"
,
"mostly"
,
"natural"
,
"nearly"
,
"needle"
,
"nerd"
,
"peaceful"
,
"perfection"
,
"pile"
,
"price"
,
"remove"
,
"roam"
,
"sanctuary"
,
"serious"
,
"shiny"
,
"shook"
,
"sob"
,
"stolen"
,
"tap"
,
"vain"
,
"void"
,
"warrior"
,
"wrinkle"
,
"affection"
,
"apologize"
,
"blossom"
,
"bounce"
,
"bridge"
,
"cheap"
,
"crumble"
,
"decision"
,
"descend"
,
"desperately"
,
"dig"
,
"dot"
,
"flip"
,
"frighten"
,
"heartbeat"
,
"huge"
,
"lazy"
,
"lick"
,
"odd"
,
"opinion"
,
"process"
,
"puzzle"
,
"quietly"
,
"retreat"
,
"score"
,
"sentence"
,
"separate"
,
"situation"
,
"skill"
,
"soak"
,
"square"
,
"stray"
,
"taint"
,
"task"
,
"tide"
,
"underneath"
,
"veil"
,
"whistle"
,
"anywhere"
,
"bedroom"
,
"bid"
,
"bloody"
,
"burden"
,
"careful"
,
"compare"
,
"concern"
,
"curtain"
,
"decay"
,
"defeat"
,
"describe"
,
"double"
,
"dreamer"
,
"driver"
,
"dwell"
,
"evening"
,
"flare"
,
"flicker"
,
"grandma"
,
"guitar"
,
"harm"
,
"horrible"
,
"hungry"
,
"indeed"
,
"lace"
,
"melody"
,
"monkey"
,
"nation"
,
"object"
,
"obviously"
,
"rainbow"
,
"salt"
,
"scratch"
,
"shown"
,
"shy"
,
"stage"
,
"stun"
,
"third"
,
"tickle"
,
"useless"
,
"weakness"
,
"worship"
,
"worthless"
,
"afternoon"
,
"beard"
,
"boyfriend"
,
"bubble"
,
"busy"
,
"certain"
,
"chin"
,
"concrete"
,
"desk"
,
"diamond"
,
"doom"
,
"drawn"
,
"due"
,
"felicity"
,
"freeze"
,
"frost"
,
"garden"
,
"glide"
,
"harmony"
,
"hopefully"
,
"hunt"
,
"jealous"
,
"lightning"
,
"mama"
,
"mercy"
,
"peel"
,
"physical"
,
"position"
,
"pulse"
,
"punch"
,
"quit"
,
"rant"
,
"respond"
,
"salty"
,
"sane"
,
"satisfy"
,
"savior"
,
"sheep"
,
"slept"
,
"social"
,
"sport"
,
"tuck"
,
"utter"
,
"valley"
,
"wolf"
,
"aim"
,
"alas"
,
"alter"
,
"arrow"
,
"awaken"
,
"beaten"
,
"belief"
,
"brand"
,
"ceiling"
,
"cheese"
,
"clue"
,
"confidence"
,
"connection"
,
"daily"
,
"disguise"
,
"eager"
,
"erase"
,
"essence"
,
"everytime"
,
"expression"
,
"fan"
,
"flag"
,
"flirt"
,
"foul"
,
"fur"
,
"giggle"
,
"glorious"
,
"ignorance"
,
"law"
,
"lifeless"
,
"measure"
,
"mighty"
,
"muse"
,
"north"
,
"opposite"
,
"paradise"
,
"patience"
,
"patient"
,
"pencil"
,
"petal"
,
"plate"
,
"ponder"
,
"possibly"
,
"practice"
,
"slice"
,
"spell"
,
"stock"
,
"strife"
,
"strip"
,
"suffocate"
,
"suit"
,
"tender"
,
"tool"
,
"trade"
,
"velvet"
,
"verse"
,
"waist"
,
"witch"
,
"aunt"
,
"bench"
,
"bold"
,
"cap"
,
"certainly"
,
"click"
,
"companion"
,
"creator"
,
"dart"
,
"delicate"
,
"determine"
,
"dish"
,
"dragon"
,
"drama"
,
"drum"
,
"dude"
,
"everybody"
,
"feast"
,
"forehead"
,
"former"
,
"fright"
,
"fully"
,
"gas"
,
"hook"
,
"hurl"
,
"invite"
,
"juice"
,
"manage"
,
"moral"
,
"possess"
,
"raw"
,
"rebel"
,
"royal"
,
"scale"
,
"scary"
,
"several"
,
"slight"
,
"stubborn"
,
"swell"
,
"talent"
,
"tea"
,
"terrible"
,
"thread"
,
"torment"
,
"trickle"
,
"usually"
,
"vast"
,
"violence"
,
"weave"
,
"acid"
,
"agony"
,
"ashamed"
,
"awe"
,
"belly"
,
"blend"
,
"blush"
,
"character"
,
"cheat"
,
"common"
,
"company"
,
"coward"
,
"creak"
,
"danger"
,
"deadly"
,
"defense"
,
"define"
,
"depend"
,
"desperate"
,
"destination"
,
"dew"
,
"duck"
,
"dusty"
,
"embarrass"
,
"engine"
,
"example"
,
"explore"
,
"foe"
,
"freely"
,
"frustrate"
,
"generation"
,
"glove"
,
"guilty"
,
"health"
,
"hurry"
,
"idiot"
,
"impossible"
,
"inhale"
,
"jaw"
,
"kingdom"
,
"mention"
,
"mist"
,
"moan"
,
"mumble"
,
"mutter"
,
"observe"
,
"ode"
,
"pathetic"
,
"pattern"
,
"pie"
,
"prefer"
,
"puff"
,
"rape"
,
"rare"
,
"revenge"
,
"rude"
,
"scrape"
,
"spiral"
,
"squeeze"
,
"strain"
,
"sunset"
,
"suspend"
,
"sympathy"
,
"thigh"
,
"throne"
,
"total"
,
"unseen"
,
"weapon"
,
"weary"
,
}
var
n
int64
=
1626
func
IndexOf
(
slice
[]
string
,
value
string
)
int64
{
for
p
,
v
:=
range
slice
{
if
v
==
value
{
return
int64
(
p
)
}
}
return
-
1
}
func
MnemonicEncode
(
message
string
)
[]
string
{
var
out
[]
string
for
i
:=
0
;
i
<
len
(
message
);
i
+=
(
len
(
message
)
/
8
)
{
x
:=
message
[
i
:
i
+
8
]
bit
,
_
:=
strconv
.
ParseInt
(
x
,
16
,
64
)
w1
:=
(
bit
%
n
)
w2
:=
((
bit
/
n
)
+
w1
)
%
n
w3
:=
((
bit
/
n
/
n
)
+
w2
)
%
n
out
=
append
(
out
,
words
[
w1
],
words
[
w2
],
words
[
w3
])
}
return
out
}
func
MnemonicDecode
(
wordsar
[]
string
)
string
{
var
out
string
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
)
y
:=
(
w2
-
w1
)
%
n
z
:=
(
w3
-
w2
)
%
n
// Golang handles modulo with negative numbers different then most languages
if
z
<
0
{
z
+=
n
}
if
y
<
0
{
y
+=
n
}
x
:=
w1
+
n
*
(
y
)
+
n
*
n
*
(
z
)
out
+=
fmt
.
Sprintf
(
"%08x"
,
x
)
}
return
out
}
ethutil/mnemonic_test.go
0 → 100644
View file @
35a82f8f
package
ethutil
import
(
"testing"
)
func
TestMnDecode
(
t
*
testing
.
T
)
{
words
:=
[]
string
{
"ink"
,
"balance"
,
"gain"
,
"fear"
,
"happen"
,
"melt"
,
"mom"
,
"surface"
,
"stir"
,
"bottle"
,
"unseen"
,
"expression"
,
"important"
,
"curl"
,
"grant"
,
"fairy"
,
"across"
,
"back"
,
"figure"
,
"breast"
,
"nobody"
,
"scratch"
,
"worry"
,
"yesterday"
,
}
encode
:=
"c61d43dc5bb7a4e754d111dae8105b6f25356492df5e50ecb33b858d94f8c338"
result
:=
MnemonicDecode
(
words
)
if
encode
!=
result
{
t
.
Error
(
"We expected"
,
encode
,
"got"
,
result
,
"instead"
)
}
}
func
TestMnEncode
(
t
*
testing
.
T
)
{
encode
:=
"c61d43dc5bb7a4e754d111dae8105b6f25356492df5e50ecb33b858d94f8c338"
result
:=
[]
string
{
"ink"
,
"balance"
,
"gain"
,
"fear"
,
"happen"
,
"melt"
,
"mom"
,
"surface"
,
"stir"
,
"bottle"
,
"unseen"
,
"expression"
,
"important"
,
"curl"
,
"grant"
,
"fairy"
,
"across"
,
"back"
,
"figure"
,
"breast"
,
"nobody"
,
"scratch"
,
"worry"
,
"yesterday"
,
}
words
:=
MnemonicEncode
(
encode
)
for
i
,
word
:=
range
words
{
if
word
!=
result
[
i
]
{
t
.
Error
(
"Mnenonic does not match:"
,
words
,
result
)
}
}
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment