Skip to content

Jets Overview

Jets are available for common bit widths: 1, 8, 16, 32, 64, 128, 256. Operations follow the pattern jet::operation_N where N is the bit width.

Arithmetic Jets

Addition Operations

Available bit widths: 1, 8, 16, 32, 64, 128, 256

add_N - Addition with carry flag - (uN, uN) → (bool, uN) - let (carry, sum) = jet::add_32(x, y);

Subtraction Operations

Available bit widths: 1, 8, 16, 32, 64, 128, 256

subtract_N - Subtraction with borrow flag - (uN, uN) → (bool, uN)

Multiplication Operations

Available bit widths: 8, 16, 32, 64, 128

multiply_N - Multiplication returning double-width result - (uN, uN) → u(2N)

Division Operations

Available bit widths: 1, 8, 16, 32, 64, 128, 256

divide_N - Division returning quotient and remainder - (uN, uN) → (uN, uN)

Increment/Decrement Operations

Available bit widths: 1, 8, 16, 32, 64, 128, 256

increment_N / decrement_N - Add/subtract 1 with overflow flag - uN → (bool, uN)

Comparison Jets

Available bit widths: 1, 8, 16, 32, 64, 128, 256

eq_N, le_N, lt_N - Equality and comparison operations - (uN, uN) → bool

max_N, min_N - Return larger/smaller value - (uN, uN) → uN

Bitwise Integer Operations

Logical Operations

Available bit widths: 1, 8, 16, 32, 64, 128, 256

and_N, or_N, xor_N - Bitwise logical operations - (uN, uN) → uN

complement_N - Bitwise NOT - uN → uN

Bit Shifting Operations

Available bit widths: 1, 8, 16, 32, 64, 128, 256

shift_left_N, shift_right_N - Bit shifting - (uN, u8) → uN

Type Conversion Jets

left_pad_low_A_B - Zero-pad smaller type to larger type - uA → uB (e.g., u16 → u32) - Example: jet::left_pad_low_16_32(x)

Common patterns: 1→8,16,32,64, 8→16,32,64, 16→32,64, 32→64

high_N, low_N - Extract high/low bits from larger integers

Cryptographic Jets

Hash Functions

sha_256_ctx_8_init - Initialize SHA-256 context - () → Ctx8

sha_256_ctx_8_add_4 - Add 4-byte word to SHA-256 context - (Ctx8, u32) → Ctx8

sha_256_ctx_8_finalize - Finalize SHA-256 hash - Ctx8 → u256

Digital Signatures

bip_0340_check - Verify BIP-340 Schnorr signature (returns bool) - (Pubkey, u256, Signature) → bool

bip_0340_verify - Verify BIP-340 Schnorr signature (panics if invalid) - ((Pubkey, u256), Signature) → ()

Bitcoin-Specific Jets

sig_all_hash - Compute SIGHASH_ALL signature hash - () → u256

check_lock_height - Validate height-based timelock - u32 → ()