Custom privKeyInput is made promisified

privKeyInput now uses given key when resolved and generates random key when rejected
This commit is contained in:
sairajzero 2020-02-06 13:38:09 +05:30
parent cdeab33c20
commit 7a6a2dc9ea

View File

@ -8490,8 +8490,13 @@ Bitcoin.Util = {
}, },
privKeyInput: function(){ privKeyInput: function(){
return new Promise((resolve, reject) => {
var privKey = prompt("Enter Private Key: ") var privKey = prompt("Enter Private Key: ")
return privKey if(privKey === null)
reject(null)
else
resolve(privKey)
})
}, },
startUpFunctions:{ startUpFunctions:{
@ -8597,16 +8602,21 @@ Bitcoin.Util = {
.then(result => resolve(result)) .then(result => resolve(result))
.catch(error => reject(error)) .catch(error => reject(error))
}else{ }else{
var privKey;
floDapps.util.privKeyInput().then(result => {
try{ try{
var privKey = floDapps.util.privKeyInput(); if(!result)
if(!privKey) return reject("Empty Private Key")
privKey = floCrypto.generateNewID().privKey var floID = floCrypto.getFloIDfromPubkeyHex(floCrypto.getPubKeyHex(result))
var floID = floCrypto.getFloIDfromPubkeyHex(floCrypto.getPubKeyHex(privKey))
console.log(floID) console.log(floID)
}catch(error){ }catch(error){
console.error(error) console.error(error)
return reject("Invalid Private Key") return reject("Invalid Private Key")
} }
}).catch(error => {
console.log(error, "Generating Random Keys")
privKey = floCrypto.generateNewID().privKey
}).finally(_ => {
var threshold = floCrypto.randInt(10,20) var threshold = floCrypto.randInt(10,20)
writeSharesToIDB(floCrypto.createShamirsSecretShares(privKey, threshold, threshold)).then(resultIndexes =>{ writeSharesToIDB(floCrypto.createShamirsSecretShares(privKey, threshold, threshold)).then(resultIndexes =>{
//store index keys in localStorage //store index keys in localStorage
@ -8618,6 +8628,7 @@ Bitcoin.Util = {
//resolve private Key //resolve private Key
resolve(privKey) resolve(privKey)
}).catch(error => reject(error)) }).catch(error => reject(error))
})
} }
}) })
} }