31 lines
1.2 KiB
JavaScript
31 lines
1.2 KiB
JavaScript
"use strict";
|
|
import { decrypt as decryptCrowdsale } from "./crowdsale";
|
|
import { getJsonWalletAddress, isCrowdsaleWallet, isKeystoreWallet } from "./inspect";
|
|
import { decrypt as decryptKeystore, decryptSync as decryptKeystoreSync, encrypt as encryptKeystore } from "./keystore";
|
|
function decryptJsonWallet(json, password, progressCallback) {
|
|
if (isCrowdsaleWallet(json)) {
|
|
if (progressCallback) {
|
|
progressCallback(0);
|
|
}
|
|
const account = decryptCrowdsale(json, password);
|
|
if (progressCallback) {
|
|
progressCallback(1);
|
|
}
|
|
return Promise.resolve(account);
|
|
}
|
|
if (isKeystoreWallet(json)) {
|
|
return decryptKeystore(json, password, progressCallback);
|
|
}
|
|
return Promise.reject(new Error("invalid JSON wallet"));
|
|
}
|
|
function decryptJsonWalletSync(json, password) {
|
|
if (isCrowdsaleWallet(json)) {
|
|
return decryptCrowdsale(json, password);
|
|
}
|
|
if (isKeystoreWallet(json)) {
|
|
return decryptKeystoreSync(json, password);
|
|
}
|
|
throw new Error("invalid JSON wallet");
|
|
}
|
|
export { decryptCrowdsale, decryptKeystore, decryptKeystoreSync, encryptKeystore, isCrowdsaleWallet, isKeystoreWallet, getJsonWalletAddress, decryptJsonWallet, decryptJsonWalletSync, };
|