UNPKG

@polkadot/client-keyring

Version:
45 lines (36 loc) 1.23 kB
'use strict'; var _values = require('babel-runtime/core-js/object/values'); var _values2 = _interopRequireDefault(_values); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } // Copyright 2017-2018 Jaco Greeff // This software may be modified and distributed under the terms // of the ISC license. See the LICENSE file for details. var naclKeypairFromSeed = require('@polkadot/util-crypto/nacl/keypair/fromSeed'); var u8aToString = require('@polkadot/util/u8a/toString'); var createPair = require('./pair'); module.exports = function keyring() { var pairs = {}; var getPairs = function getPairs() { return ( // flowlint-next-line unclear-type:off (0, _values2.default)(pairs) ); }; return { addFromSeed: function addFromSeed(seed) { var pair = createPair(naclKeypairFromSeed(seed)); pairs[pair.id] = pair; return pair; }, getPair: function getPair(publicKey) { return pairs[u8aToString(publicKey)]; }, getPairs: getPairs, getPublicKeys: function getPublicKeys() { return getPairs().map(function (_ref) { var publicKey = _ref.publicKey; return publicKey; }); } }; };