UNPKG

@hover-labs/tezos-msig-cli

Version:
25 lines 1.24 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.keyStoreFromPrivateKey = void 0; const conseiljs_softsigner_1 = require("conseiljs-softsigner"); const tezos_multisig_lib_1 = require("@hover-labs/tezos-multisig-lib"); const base58Check = require('bs58check'); const sodium = require('libsodium-wrappers'); const keyStoreFromPrivateKey = async (privateKey) => { if (!privateKey.startsWith('edsk')) { throw new Error('Only edsk keys are supported'); } if (privateKey.length === 54) { await sodium.ready; const decodedBytes = base58Check.decode(privateKey).slice(4); const keyPair = sodium.crypto_sign_seed_keypair(decodedBytes); const derivedPrivateKeyBytes = tezos_multisig_lib_1.Utils.mergeBytes(new Uint8Array([43, 246, 78, 7]), keyPair.privateKey); const derivedPrivateKey = base58Check.encode(derivedPrivateKeyBytes); return await conseiljs_softsigner_1.KeyStoreUtils.restoreIdentityFromSecretKey(derivedPrivateKey); } else { return await conseiljs_softsigner_1.KeyStoreUtils.restoreIdentityFromSecretKey(privateKey); } }; exports.keyStoreFromPrivateKey = keyStoreFromPrivateKey; //# sourceMappingURL=helpers.js.map