import {createkey, isValidMnemonic} from '../utils/key/createKey';
import {encryptKey, decryptKey} from '../utils/key/keystore';
import { restoreFromKeyStore } from '../utils/account';
+import { camelize } from '../utils/utils';
function keysSDK() {
data.mnemonic = mnemonic;
const res = createkey(data);
-
return res;
};
*/
keysSDK.prototype.restoreFromKeystore = function( password, keystore) {
- const walletImage = JSON.parse(keystore);
+ const result = decryptKey(keystore, password);
+ result.xpub = result.xPub.toString('hex');
+ delete result['xPub'];
+
+ return result;
+};
+
+/**
+ * Create a new key.
+ *
+ * @param {String} keystore - User specified, unique identifier.
+ */
+keysSDK.prototype.isValidKeystore = function( keystore ) {
+
+ const walletImage = camelize(JSON.parse(keystore));
let keys, key;
- if(walletImage.key_images && walletImage.key_images.xkeys ){
- keys = walletImage.key_images.xkeys;
+ if(walletImage.keyImages && walletImage.keyImages.xkeys ){
+ keys = walletImage.keyImages.xkeys;
}
// match older version of backups keystore files
key = walletImage;
}
- if(keys.length>1){
- throw 'do not support multiple keystore imported.';
+ if(keys){
+ if(keys.length>1){
+ throw 'do not support multiple keystore imported.';
+ }
+ else if(keys.length === 1){
+ key = keys[0];
+ }
}
- else if(keys.length === 1){
- key = keys[0];
- }
-
- const result = decryptKey(key, password);
- return result;
+ return key;
};
/**
function importKeyFromMnemonic(alias, password, mnemonic, language) {
isValidMnemonic(mnemonic, language)
- return createKeyFromMnemonic(alias, password, mnemonic);
+ const result = createKeyFromMnemonic(alias, password, mnemonic);
+ result.xpub = result.xPub;
+ delete result['xPub'];
+
+ return result;
}
function createKeyFromMnemonic(alias,password, mnemonic) {