Skip to main content

Crate hns_script

Crate hns_script 

Source
Expand description

Consensus-visible Handshake script, signature-hash, and fee-policy primitives.

Structs§

FeeRate
Fee rate in dollarydoos per 1,000 HSD policy virtual bytes.
Instruction
One bounded, decoded script instruction.
K256SignatureVerifier
Pure Rust secp256k1 verifier backed by k256.
PolicyVirtualSize
Sigop-adjusted transaction size in HSD policy virtual bytes.
ScriptFlags
SigopCost
HSD signature-operation cost used by transaction policy sizing.
TransactionWeight
Serialized transaction weight, in HSD witness weight units.
UnavailableSignatureVerifier
Fail-closed verifier for builds which intentionally supply no secp256k1 backend.

Enums§

FeePolicyError
ScriptError

Constants§

HIP1_SELLER_SIGHASH
LOCKTIME_FLAG
LOCKTIME_GRANULARITY
LOCKTIME_MASK
LOCKTIME_MULTIPLIER
MAX_MULTISIG_PUBKEYS
Maximum number of public keys consumed by OP_CHECKMULTISIG.
MAX_POLICY_TRANSACTION_SIGOPS
Maximum standard transaction sigop cost admitted by the pinned HSD policy.
MAX_POLICY_TRANSACTION_WEIGHT
Maximum standard transaction weight admitted by the pinned HSD policy.
MAX_SCRIPT_OPS
Maximum number of non-push operations in a script.
MAX_SCRIPT_PUSH
Maximum size of an individual pushed stack item.
MAX_SCRIPT_SIZE
Maximum serialized script size accepted by HSD consensus.
MAX_SCRIPT_STACK
Maximum combined main- and alternate-stack item count.
MIN_RELAY_FEE_RATE
HSD’s default minimum relay rate in dollarydoos per 1,000 policy virtual bytes.
OP_0
OP_0NOTEQUAL
OP_1
OP_2
OP_3
OP_4
OP_5
OP_6
OP_7
OP_8
OP_9
OP_1ADD
OP_1NEGATE
OP_1SUB
OP_2DIV
OP_2DROP
OP_2DUP
OP_2MUL
OP_2OVER
OP_2ROT
OP_2SWAP
OP_3DUP
OP_10
OP_11
OP_12
OP_13
OP_14
OP_15
OP_16
OP_ABS
OP_ADD
OP_AND
OP_BLAKE160
OP_BLAKE256
OP_BOOLAND
OP_BOOLOR
OP_CAT
OP_CHECKLOCKTIMEVERIFY
OP_CHECKMULTISIG
OP_CHECKMULTISIGVERIFY
OP_CHECKSEQUENCEVERIFY
OP_CHECKSIG
OP_CHECKSIGVERIFY
OP_CODESEPARATOR
OP_DEPTH
OP_DIV
OP_DROP
OP_DUP
OP_ELSE
OP_ENDIF
OP_EQUAL
OP_EQUALVERIFY
OP_FROMALTSTACK
OP_GREATERTHAN
OP_GREATERTHANOREQUAL
OP_HASH160
OP_HASH256
OP_IF
OP_IFDUP
OP_INVALIDOPCODE
OP_INVERT
OP_KECCAK
OP_LEFT
OP_LESSTHAN
OP_LESSTHANOREQUAL
OP_LSHIFT
OP_MAX
OP_MIN
OP_MOD
OP_MUL
OP_NEGATE
OP_NIP
OP_NOP
OP_NOP1
OP_NOP4
OP_NOP5
OP_NOP6
OP_NOP7
OP_NOP8
OP_NOP9
OP_NOP10
OP_NOT
OP_NOTIF
OP_NUMEQUAL
OP_NUMEQUALVERIFY
OP_NUMNOTEQUAL
OP_OR
OP_OVER
OP_PICK
OP_PUSHDATA1
OP_PUSHDATA2
OP_PUSHDATA4
OP_RESERVED
OP_RESERVED1
OP_RESERVED2
OP_RETURN
OP_RIGHT
OP_RIPEMD160
OP_ROLL
OP_ROT
OP_RSHIFT
OP_SHA1
OP_SHA3
OP_SHA256
OP_SIZE
OP_SUB
OP_SUBSTR
OP_SWAP
OP_TOALTSTACK
OP_TUCK
OP_TYPE
OP_VER
OP_VERIF
OP_VERIFY
OP_VERNOTIF
OP_WITHIN
OP_XOR
POLICY_BYTES_PER_SIGOP
HSD weight units charged per signature operation for policy sizing.
POLICY_FEE_RATE_SCALE
Number of policy virtual bytes in HSD’s fee-rate unit.
POLICY_WITNESS_SCALE_FACTOR
HSD witness weight units per policy virtual byte.
SEQUENCE_DISABLE_FLAG
SEQUENCE_GRANULARITY
SEQUENCE_MASK
SEQUENCE_TYPE_FLAG
SIGHASH_ALL
SIGHASH_ANYONE_CAN_PAY
SIGHASH_BASE_MASK
SIGHASH_NOINPUT
SIGHASH_NONE
SIGHASH_SINGLE
SIGHASH_SINGLE_REVERSE

Traits§

SignatureVerifier
Pluggable compact-secp256k1 verifier used by the runtime-independent interpreter. Implementations must enforce HSD’s low-S encoding rule.

Functions§

count_script_sigops
Count HSD witness sigops without executing the script. A malformed trailing push terminates scanning after the valid prefix, matching HSD.
execute_script
Execute one script against an existing stack. The caller retains the final stack, making this useful below witness-program policy while remaining bounded and independent of any async runtime or storage.
is_valid_signature_hash_type
minimum_policy_fee
Calculate HSD’s minimum policy fee for a virtual size and fee rate.
parse_script
Parse a serialized script using HSD’s pushdata encoding and consensus size bound. Push-size policy is enforced by execution so callers can inspect a syntactically valid script containing an oversized push.
signature_hash
sigop_adjusted_virtual_size
Calculate HSD’s sigop-adjusted policy virtual size.
transaction_policy_virtual_size
Calculate the exact HSD policy virtual size for a transaction and its resolved input coins.
transaction_sigops
verify_locktime_predicate
verify_sequence_predicate
verify_witness_program
witness_program_sigops