@polkadot/client-keyring
Version:
45 lines (36 loc) • 1.23 kB
JavaScript
;
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;
});
}
};
};