Module BSV::Wallet::Serializer::Certificate ¶
Shared BRC-103 wire codec for Certificate and IdentityCertificate.
Certificate wire layout (matches go-sdk serializeCertificate): [32 bytes: type (raw bytes decoded from Base64)] [32 bytes: serial_number (raw bytes decoded from Base64)] [33 bytes: subject compressed pubkey] [33 bytes: certifier compressed pubkey] [32 bytes + varint: revocation_outpoint (display-order txid + varint vout)] [varint: field_count] per field: [varint-len name][varint-len value] [remaining: DER signature bytes (absent if no signature)]
IdentityCertificate additionally appends: [varint-int: serialised Certificate bytes (int-prefixed)] [varint-str: certifier_info.name] [varint-str: certifier_info.icon_url] [varint-str: certifier_info.description] [1 byte: certifier_info.trust] [varint: keyring_count] per entry: [varint-str key][varint-int raw_bytes] [varint: decrypted_fields_count] per entry: [varint-str key][varint-str value]
Constants¶
CERT_TYPE_SIZE ¶
Not documented.
NULL_TXID_HEX ¶
NULL outpoint used when revocation_outpoint is nil.
PUBKEY_SIZE ¶
Not documented.
SERIAL_SIZE ¶
Not documented.
Public Class Methods¶
deserialize_certificate(bytes) ¶
Deserialise a certificate from binary. - @param bytes [String] binary - @return [Hash]
deserialize_identity_certificate(reader) ¶
Deserialise an IdentityCertificate from a Reader (reads inline, not length-prefixed). - @param reader [Wire::Reader] - @return [Hash]
serialize_certificate(cert, include_signature: = true) ¶
Serialise a certificate Hash to binary. - @param cert [Hash] with keys: :type (Base64), :serial_number (Base64), :subject (hex pubkey), :certifier (hex pubkey), :revocation_outpoint (String "txid.vout" or nil), :fields (Hashinclude_signature [Boolean] whether to append signature bytes - @return [String] binary
serialize_identity_certificate(cert) ¶
Serialise an IdentityCertificate (used by discover_ result). - @param* cert [Hash] all Certificate fields plus: :certifier_info ({ name:, icon_url:, description:, trust: }) :publicly_revealed_keyring (Hash