ethers.js/packages/json-wallets/lib.esm/index.js
2020-02-27 19:58:05 +00:00

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, };