UNPKG

@vbyte/btc-dev

Version:

Batteries-included toolset for plebian bitcoin development

62 lines (52 loc) 1.58 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', } as const export const SPEND_SCRIPT_TYPE = { P2PKH : 'p2pkh', P2SH : 'p2sh', P2WPKH : 'p2wpkh', P2WSH : 'p2wsh', P2TR : 'p2tr', P2TS : 'p2ts', } as const export const LOCK_SCRIPT_REGEX : Record<string, RegExp> = { [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, } as const 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 ]