UNPKG

@polkadot/util-keyring

Version:
76 lines (57 loc) 1.78 kB
"use strict"; 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;