@polkadot/util-keyring
Version:
61 lines (44 loc) • 1.64 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
require("core-js/modules/web.dom.iterable");
var _assert = _interopRequireDefault(require("@polkadot/util/assert"));
var _hex = _interopRequireDefault(require("@polkadot/util/is/hex"));
var _u8a = _interopRequireDefault(require("@polkadot/util/is/u8a"));
var _toHex = _interopRequireDefault(require("@polkadot/util/u8a/toHex"));
var _toU8a = _interopRequireDefault(require("@polkadot/util/u8a/toU8a"));
var _decode = _interopRequireDefault(require("./address/decode"));
// 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 Pairs {
constructor() {
this._map = void 0;
this._map = {};
}
add(pair) {
// @ts-ignore we use coercion :(
this._map[pair.publicKey()] = pair;
return pair;
}
all() {
return Object.values(this._map);
}
get(address) {
// @ts-ignore we use coercion :(
const pair = this._map[(0, _decode.default)(address)];
(0, _assert.default)(pair, () => {
const formatted = (0, _u8a.default)(address) || (0, _hex.default)(address) ? (0, _toHex.default)((0, _toU8a.default)(address)) : address;
return `Unable to retrieve keypair '${formatted}'`;
});
return pair;
}
remove(address) {
// @ts-ignore we use coercion :(
delete this._map[(0, _decode.default)(address)];
}
}
exports.default = Pairs;