Module BSV::Wallet::Wire::Validation ¶
Branded-type validators for BRC-100 parameters.
Each method raises InvalidParameterError on failure and returns nil on success. Port of ts-sdk/src/wallet/validationHelpers.ts.
The existing ProtoWallet::Validators module delegates here so there is a single source of truth for all parameter validation logic.
Constants¶
MAX_SATOSHIS ¶
Not documented.
Public Class Methods¶
acquisition_protocol!(name, value) ¶
Validates a certificate acquisition protocol: 'direct' or 'issuance'. - @param name [String] parameter name for error messages - @param value [Object] the value to validate - @raise [InvalidParameterError]
base64_string!(name, value) ¶
Validates that value is a Base64-encoded string. - @param name [String] parameter name for error messages - @param value [Object] the value to validate - @raise [InvalidParameterError]
basket_string!(name, value) ¶
Validates a basket name (1..300 characters). - @param name [String] parameter name for error messages - @param value [Object] the value to validate - @raise [InvalidParameterError]
description_5_to_50!(name, value) ¶
Validates a description string (5..50 printable characters). - @param name [String] parameter name for error messages - @param value [Object] the value to validate - @raise [InvalidParameterError]
hex_string!(name, value, length: = nil) ¶
Validates that value is a hex string (even length, hex chars only). - @param name [String] parameter name for error messages - @param value [Object] the value to validate - @param length [Integer, nil] expected number of hex chars (nil = any) - @raise [InvalidParameterError]
key_id_string_1_to_800!(name, value) ¶
Validates a BRC-43 key ID string (1..800 bytes). - @param name [String] parameter name for error messages - @param value [Object] the value to validate - @raise [InvalidParameterError]
label_string!(name, value) ¶
Validates a label string (1..150 characters, no spaces). - @param name [String] parameter name for error messages - @param value [Object] the value to validate - @raise [InvalidParameterError]
originator_domain!(name, value) ¶
Validates an originator domain (1..250 bytes UTF-8). The originator must fit in a single-byte length field in the wire frame. - @param name [String] parameter name for error messages - @param value [Object] the value to validate - @raise [InvalidParameterError]
outpoint_string!(name, value) ¶
Validates an outpoint string in the form "<64-hex-txid>.name [String] parameter name for error messages - @param value [Object] the value to validate - @raise [InvalidParameterError]
positive_integer_or_zero!(name, value) ¶
Validates a non-negative integer. - @param name [String] parameter name for error messages - @param value [Object] the value to validate - @raise [InvalidParameterError]
protocol_string_5_to_400!(name, value) ¶
Validates a BRC-43 protocol name string (5..400 chars, lowercase). - @param name [String] parameter name for error messages - @param value [Object] the value to validate - @raise [InvalidParameterError]
pub_key_hex!(name, value) ¶
Validates a compressed public key in hex form (66 chars, 02/03 prefix). - @param name [String] parameter name for error messages - @param value [Object] the value to validate - @raise [InvalidParameterError]
satoshi_value!(name, value) ¶
Validates a satoshi amount (0..21_000_000 * 10^8). - @param name [String] parameter name for error messages - @param value [Object] the value to validate - @raise [InvalidParameterError]
wallet_counterparty!(name, value) ¶
Validates a wallet counterparty: 'self', 'anyone', or a 66-char hex pubkey. - @param name [String] parameter name for error messages - @param value [Object] the value to validate
wallet_protocol!(name, value) ¶
Validates a BRC-43 protocol ID: [security_level (0-2), protocol_name (5-400 chars)]. - @param name [String] parameter name for error messages - @param value [Object] the value to validate - @raise [InvalidParameterError]