function doAccountAddressFromPublicKey(base58AccountPublicKey) { var base58AccountPublicKey = document.getElementById('base58AccountPublicKey').value; if(Base58.decode(base58AccountPublicKey).length != 32) { document.getElementById('base58AccountAddress').value = ''; alert("invalid PublicKey!"); return; } var base58AccountAddress = getAccountAddressFromPublicKey(base58AccountPublicKey); document.getElementById('base58AccountAddress').value = base58AccountAddress; } function doBrain(brainWalletPassphrase) { //var brainWalletPassphrase = document.getElementById('brainWalletPassphrase').value; if(brainWalletPassphrase.length < 8) { alert("invalid passphrase length!\nIt should be at least 8 characters."); return; } var byteSeed = new Uint8Array(SHA256.digest(SHA256.digest(brainWalletPassphrase))); var base58BaseSeed = Base58.encode(byteSeed); doAccounts(base58BaseSeed); } function doAccountFromSeed(base58AccountSeed) { if(base58AccountSeed) { document.getElementById('base58AccountSeed').value = base58AccountSeed; } else { base58AccountSeed = document.getElementById('base58AccountSeed').value; } if(Base58.decode(base58AccountSeed).length != 32) { alert("invalid seed!"); return; } keyPair = getKeyPairFromSeed(base58AccountSeed, false); var base58AccountAddress = getAccountAddressFromPublicKey(keyPair.publicKey); var base58AccountPublicKey = Base58.encode(keyPair.publicKey); var base58AccountPrivateKey = Base58.encode(keyPair.privateKey); } function doAccounts(base58BaseSeed){ if(base58BaseSeed == '') { return; } countAddrs = 10; if(isNaN(countAddrs) || countAddrs < 1) { alert("invalid count!"); return; } seed = Base58.decode(base58BaseSeed); if(seed.length != 32) { alert("invalid seed!"); return; } for (var nonce = 0; nonce < countAddrs; nonce ++) { var accountSeed = generateAccountSeed(seed, nonce, false); var keyPair = getKeyPairFromSeed(accountSeed); var base58addressSeed = Base58.encode(accountSeed); address = getAccountAddressFromPublicKey(keyPair.publicKey); $("#selected-name").append("") } }