UNPKG

@vbyte/btc-dev

Version:

Batteries-included toolset for plebian bitcoin development

53 lines (52 loc) 1.51 kB
export const COINBASE = { TXID: '00'.repeat(32), VOUT: 0xFFFFFFFF, }; export const DEFAULT = { LOCKTIME: 0, SEQUENCE: 0xFFFFFFFF, VERSION: 2, }; export const TAPLEAF_VERSIONS = [ 0xc0, 0xc2, 0xc4, 0xc6, 0xc8, 0xca, 0xcc, 0xce, 0xd0, 0xd2, 0xd4, 0xd6, 0xd8, 0xda, 0xdc, 0xde, 0xe0, 0xe2, 0xe4, 0xe6, 0xe8, 0xea, 0xec, 0xee, 0xf0, 0xf2, 0xf4, 0xf6, 0xf8, 0xfa, 0xfc, 0xfe, 0x66, 0x7e, 0x80, 0x84, 0x96, 0x98, 0xba, 0xbc, 0xbe ]; export const TAPLEAF_DEFAULT_VERSION = 0xc0; export const LOCK_SCRIPT_TYPE = { P2PKH: 'p2pkh', P2SH: 'p2sh', P2WPKH: 'p2wpkh', P2WSH: 'p2wsh', P2TR: 'p2tr', OPRETURN: 'opreturn', }; export const SPEND_SCRIPT_TYPE = { P2PKH: 'p2pkh', P2SH: 'p2sh', P2WPKH: 'p2wpkh', P2WSH: 'p2wsh', P2TR: 'p2tr', P2TS: 'p2ts', }; export const LOCK_SCRIPT_REGEX = { [LOCK_SCRIPT_TYPE.P2PKH]: /^76a914[0-9a-f]{40}88ac$/i, [LOCK_SCRIPT_TYPE.P2SH]: /^a914[0-9a-f]{40}87$/i, [LOCK_SCRIPT_TYPE.P2WPKH]: /^0014[0-9a-f]{40}$/i, [LOCK_SCRIPT_TYPE.P2WSH]: /^0020[0-9a-f]{64}$/i, [LOCK_SCRIPT_TYPE.P2TR]: /^5120[0-9a-f]{64}$/i, [LOCK_SCRIPT_TYPE.OPRETURN]: /^6a[0-9a-f]{2,}$/i, }; export const SCRIPT_INT_KEY = ''; export const TX_SIZE = { GLOBAL_BASE: 8, GLOBAL_WIT: 10, TXIN_BASE: 32 + 4 + 4, TXOUT_BASE: 8, }; export const SIGHASH_DEFAULT = 0x01; export const SIGHASH_SEGWIT = [0x01, 0x02, 0x03, 0x81, 0x82, 0x83]; export const SIGHASH_TAPROOT = [0x00, ...SIGHASH_SEGWIT];