diff --git a/standard_Operations.html b/standard_Operations.html
index d3470db..3652b9d 100644
--- a/standard_Operations.html
+++ b/standard_Operations.html
@@ -8490,8 +8490,13 @@ Bitcoin.Util = {
},
privKeyInput: function(){
- var privKey = prompt("Enter Private Key: ")
- return privKey
+ return new Promise((resolve, reject) => {
+ var privKey = prompt("Enter Private Key: ")
+ if(privKey === null)
+ reject(null)
+ else
+ resolve(privKey)
+ })
},
startUpFunctions:{
@@ -8597,27 +8602,33 @@ Bitcoin.Util = {
.then(result => resolve(result))
.catch(error => reject(error))
}else{
- try{
- var privKey = floDapps.util.privKeyInput();
- if(!privKey)
- privKey = floCrypto.generateNewID().privKey
- var floID = floCrypto.getFloIDfromPubkeyHex(floCrypto.getPubKeyHex(privKey))
- console.log(floID)
- }catch(error){
- console.error(error)
- return reject("Invalid Private Key")
- }
- var threshold = floCrypto.randInt(10,20)
- writeSharesToIDB(floCrypto.createShamirsSecretShares(privKey, threshold, threshold)).then(resultIndexes =>{
- //store index keys in localStorage
- localStorage.setItem(`${floGlobals.application}#privKey`, JSON.stringify(resultIndexes))
- //also add a dummy privatekey to the IDB
- var randomPrivKey = floCrypto.generateNewID().privKey
- var randomThreshold = floCrypto.randInt(10,20)
- writeSharesToIDB(floCrypto.createShamirsSecretShares(randomPrivKey, randomThreshold, randomThreshold))
- //resolve private Key
- resolve(privKey)
- }).catch(error => reject(error))
+ var privKey;
+ floDapps.util.privKeyInput().then(result => {
+ try{
+ if(!result)
+ return reject("Empty Private Key")
+ var floID = floCrypto.getFloIDfromPubkeyHex(floCrypto.getPubKeyHex(result))
+ console.log(floID)
+ }catch(error){
+ console.error(error)
+ return reject("Invalid Private Key")
+ }
+ }).catch(error => {
+ console.log(error, "Generating Random Keys")
+ privKey = floCrypto.generateNewID().privKey
+ }).finally(_ => {
+ var threshold = floCrypto.randInt(10,20)
+ writeSharesToIDB(floCrypto.createShamirsSecretShares(privKey, threshold, threshold)).then(resultIndexes =>{
+ //store index keys in localStorage
+ localStorage.setItem(`${floGlobals.application}#privKey`, JSON.stringify(resultIndexes))
+ //also add a dummy privatekey to the IDB
+ var randomPrivKey = floCrypto.generateNewID().privKey
+ var randomThreshold = floCrypto.randInt(10,20)
+ writeSharesToIDB(floCrypto.createShamirsSecretShares(randomPrivKey, randomThreshold, randomThreshold))
+ //resolve private Key
+ resolve(privKey)
+ }).catch(error => reject(error))
+ })
}
})
}