UNPKG

@ordinalsbot/bitcoin-fee-estimator

Version:

A library for calculating Bitcoin transaction fees

35 lines (30 loc) 1.19 kB
// Public key export const PUBKEY_SIZE = 33; export const UNCOMPRESSED_PUBKEY_SIZE = 65; // Inputs (bytes for non-SegWit, vBytes for SegWit) export const P2PKH_INPUT_SIZE = 148; export const P2SH_P2WPKH_INPUT_SIZE = 90.75; export const P2WPKH_INPUT_SIZE = 67.75; export const P2TR_INPUT_SIZE = 58.5; export const P2TR_INSCRIPTION_INPUT_SIZE = 75; export const P2PK_INPUT_SIZE_COMPRESSED = 114; export const P2PK_UNCOMPRESSED_INPUT_SIZE = 114; // Outputs export const P2WPKH_OUTPUT_SIZE = 31; export const P2WSH_OUTPUT_SIZE = 43; export const P2TR_OUTPUT_SIZE = 43; export const P2SH_OUTPUT_SIZE = 32; export const P2SH_P2WPKH_OUTPUT_SIZE = 32; export const P2SH_P2WSH_OUTPUT_SIZE = 32; export const P2PKH_OUTPUT_SIZE = 34.25; export const P2PK_OUTPUT_SIZE_COMPRESSED = 44; export const P2PK_UNCOMPRESSED_OUTPUT_SIZE = 76; // Signatures & Witness export const P2WPKH_WITNESS_SIZE = 107; export const P2TR_WITNESS_SIZE = 65; export const MULTISIG_REDEEM_SCRIPT_SIZE = 1 + 1 * (1 + PUBKEY_SIZE) + 1 + 1; // OP_M + pubkey + OP_N + OP_CHECKMULTISIG export const SIGNATURE_SIZE = 72; // Other export const SEQUENCE_SIZE = 4; export const P2SH_WRAPPER_SIZE = 23; export const OUTPOINT_SIZE = 36;