UNPKG

@okxweb3/coin-bitcoin

Version:

@okxweb3/coin-bitcoin is a Bitcoin SDK for building Web3 wallets and applications. It supports BTC, BSV, DOGE, LTC, and TBTC, enabling private key management, transaction signing, address generation, and inscriptions like BRC-20, Runes, CAT, and Atomicals

35 lines 1.13 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.makeConverter = void 0; function makeConverter(TYPE_BYTE) { function decode(keyVal) { if (keyVal.key[0] !== TYPE_BYTE || keyVal.key.length !== 1) { throw new Error('Decode Error: could not decode tapInternalKey with key 0x' + keyVal.key.toString('hex')); } if (keyVal.value.length !== 32) { throw new Error('Decode Error: tapInternalKey not a 32-byte x-only pubkey'); } return keyVal.value; } function encode(value) { const key = Buffer.from([TYPE_BYTE]); return { key, value }; } const expected = 'Buffer'; function check(data) { return Buffer.isBuffer(data) && data.length === 32; } function canAdd(currentData, newData) { return (!!currentData && !!newData && currentData.tapInternalKey === undefined); } return { decode, encode, check, expected, canAdd, }; } exports.makeConverter = makeConverter; //# sourceMappingURL=tapInternalKey.js.map