@polkadot/util-keyring
Version:
76 lines (57 loc) • 1.78 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _fromSeed = _interopRequireDefault(require("@polkadot/util-crypto/nacl/keypair/fromSeed"));
var _toU8a = _interopRequireDefault(require("@polkadot/util/hex/toU8a"));
var _decode = _interopRequireDefault(require("./address/decode"));
var _pair = _interopRequireDefault(require("./pair"));
var _pairs = _interopRequireDefault(require("./pairs"));
// Copyright 2017-2018 @polkadot/util-keyring authors & contributors
// This software may be modified and distributed under the terms
// of the ISC license. See the LICENSE file for details.
class Keyring {
constructor() {
this._pairs = void 0;
this._pairs = new _pairs.default();
}
addPair(pair) {
return this._pairs.add(pair);
}
addFromAddress(address, meta, defaultEncoded) {
// @ts-ignore no secretKey - cannot unlock
return this.addPair((0, _pair.default)({
publicKey: (0, _decode.default)(address)
}, meta, defaultEncoded));
}
addFromJson({
address,
encoded,
meta
}) {
return this.addFromAddress(address, meta, (0, _toU8a.default)(encoded));
}
addFromSeed(seed, meta) {
return this.addPair((0, _pair.default)((0, _fromSeed.default)(seed), meta));
}
getPair(address) {
return this._pairs.get(address);
}
getPairs() {
return this._pairs.all();
}
getPublicKeys() {
return this._pairs.all().map(({
publicKey
}) => publicKey());
}
removePair(address) {
this._pairs.remove(address);
}
toJson(address, passphrase) {
return this._pairs.get(address).toJson(passphrase);
}
}
exports.default = Keyring;