Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
var pbkdf2_1 = require("@ethersproject/pbkdf2");
var random_1 = require("@ethersproject/random");
var properties_1 = require("@ethersproject/properties");
var transactions_1 = require("@ethersproject/transactions");
var utils_1 = require("./utils");
// Exported Types
var KeystoreAccount = /** @class */ (function (_super) {
__extends(KeystoreAccount, _super);
function KeystoreAccount() {
return _super !== null && _super.apply(this, arguments) || this;
}
KeystoreAccount.prototype.isKeystoreAccount = function (value) {
return !!(value && value._isKeystoreAccount);
};
return KeystoreAccount;
}(properties_1.Description));
exports.KeystoreAccount = KeystoreAccount;
function decrypt(json, password, progressCallback) {
return __awaiter(this, void 0, void 0, function () {
var data, passwordBytes, decrypt, computeMAC, getAccount, kdf, salt, N, r, p, dkLen, key, salt, prfFunc, prf, c, dkLen, key;
return __generator(this, function (_a) {
switch (_a.label) {
case 0:
data = JSON.parse(json);
passwordBytes = utils_1.getPassword(password);
decrypt = function (key, ciphertext) {
var cipher = utils_1.searchPath(data, "crypto/cipher");
if (cipher === "aes-128-ctr") {
var iv = utils_1.looseArrayify(utils_1.searchPath(data, "crypto/cipherparams/iv"));
var counter = new aes_js_1.default.Counter(iv);
var aesCtr = new aes_js_1.default.ModeOfOperation.ctr(key, counter);
return bytes_1.arrayify(aesCtr.decrypt(ciphertext));
var strings_1 = require("@ethersproject/strings");
var properties_1 = require("@ethersproject/properties");
var logger_1 = require("@ethersproject/logger");
var _version_1 = require("./_version");
var logger = new logger_1.Logger(_version_1.version);
var utils_1 = require("./utils");
var CrowdsaleAccount = /** @class */ (function (_super) {
__extends(CrowdsaleAccount, _super);
function CrowdsaleAccount() {
return _super !== null && _super.apply(this, arguments) || this;
}
CrowdsaleAccount.prototype.isCrowdsaleAccount = function (value) {
return !!(value && value._isCrowdsaleAccount);
};
return CrowdsaleAccount;
}(properties_1.Description));
exports.CrowdsaleAccount = CrowdsaleAccount;
// See: https://github.com/ethereum/pyethsaletool
function decrypt(json, password) {
var data = JSON.parse(json);
password = utils_1.getPassword(password);
// Ethereum Address
var ethaddr = address_1.getAddress(utils_1.searchPath(data, "ethaddr"));
// Encrypted Seed
var encseed = utils_1.looseArrayify(utils_1.searchPath(data, "encseed"));
if (!encseed || (encseed.length % 16) !== 0) {
logger.throwArgumentError("invalid encseed", "json", json);
}
var key = bytes_1.arrayify(pbkdf2_1.pbkdf2(password, password, 2000, 32, "sha256")).slice(0, 16);
var iv = encseed.slice(0, 16);
var encryptedSeed = encseed.slice(16);
// Decrypt the seed
var logger = new logger_1.Logger(_version_1.version);
;
;
//export type CallTransactionable = {
// call(transaction: TransactionRequest): Promise;
//};
var ForkEvent = /** @class */ (function (_super) {
__extends(ForkEvent, _super);
function ForkEvent() {
return _super !== null && _super.apply(this, arguments) || this;
}
ForkEvent.isForkEvent = function (value) {
return !!(value && value._isForkEvent);
};
return ForkEvent;
}(properties_1.Description));
exports.ForkEvent = ForkEvent;
var BlockForkEvent = /** @class */ (function (_super) {
__extends(BlockForkEvent, _super);
function BlockForkEvent(blockhash, expiry) {
var _this = this;
if (!bytes_1.isHexString(blockhash, 32)) {
logger.throwArgumentError("invalid blockhash", "blockhash", blockhash);
}
_this = _super.call(this, {
_isForkEvent: true,
_isBlockForkEvent: true,
expiry: (expiry || 0),
blockHash: blockhash
}) || this;
return _this;
}
var logger = new logger_1.Logger(_version_1.version);
var LogDescription = /** @class */ (function (_super) {
__extends(LogDescription, _super);
function LogDescription() {
return _super !== null && _super.apply(this, arguments) || this;
}
return LogDescription;
}(properties_1.Description));
exports.LogDescription = LogDescription;
var TransactionDescription = /** @class */ (function (_super) {
__extends(TransactionDescription, _super);
function TransactionDescription() {
return _super !== null && _super.apply(this, arguments) || this;
}
return TransactionDescription;
}(properties_1.Description));
exports.TransactionDescription = TransactionDescription;
var Indexed = /** @class */ (function (_super) {
__extends(Indexed, _super);
function Indexed() {
return _super !== null && _super.apply(this, arguments) || this;
}
Indexed.isIndexed = function (value) {
return !!(value && value._isIndexed);
};
return Indexed;
}(properties_1.Description));
exports.Indexed = Indexed;
var Result = /** @class */ (function () {
function Result() {
}
return Result;