UNPKG

@airgap/crypto

Version:

The @airgap/crypto packages provides common crypto functionalities.

48 lines 2.02 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.newCryptoDerivativeFromNode = exports.newCryptoDerivativeFromKeys = exports.newDerivationNodeFromKeys = exports.newDerivationNodeFromDerivative = void 0; function newDerivationNodeFromDerivative(derivative) { return { depth: derivative.depth, parentFingerprint: derivative.parentFingerprint, index: derivative.index, chainCode: Buffer.from(derivative.chainCode, 'hex'), secretKey: Buffer.from(derivative.secretKey, 'hex'), publicKey: Buffer.from(derivative.publicKey, 'hex') }; } exports.newDerivationNodeFromDerivative = newDerivationNodeFromDerivative; function newDerivationNodeFromKeys(secretKey, publicKey) { if (secretKey.depth !== publicKey.depth || secretKey.parentFingerprint !== publicKey.parentFingerprint || secretKey.index !== publicKey.index || !secretKey.chainCode.equals(publicKey.chainCode)) { throw new Error('Derivation keys mismatch'); } return { depth: secretKey.depth, parentFingerprint: secretKey.parentFingerprint, index: secretKey.index, chainCode: secretKey.chainCode, secretKey: secretKey.key, publicKey: publicKey.key }; } exports.newDerivationNodeFromKeys = newDerivationNodeFromKeys; function newCryptoDerivativeFromKeys(secretKey, publicKey) { var node = newDerivationNodeFromKeys(secretKey, publicKey); return newCryptoDerivativeFromNode(node); } exports.newCryptoDerivativeFromKeys = newCryptoDerivativeFromKeys; function newCryptoDerivativeFromNode(node) { return { depth: node.depth, parentFingerprint: node.parentFingerprint, index: node.index, chainCode: node.chainCode.toString('hex'), secretKey: node.secretKey.toString('hex'), publicKey: node.publicKey.toString('hex') }; } exports.newCryptoDerivativeFromNode = newCryptoDerivativeFromNode; //# sourceMappingURL=factory.js.map