# Module BSV::Wallet::Serializer::ProveCertificate <a id="module-BSV-Wallet-Serializer-ProveCertificate"></a>

BRC-103 wire codec for the `prove_certificate` call (call byte 19).

Args wire layout (matches go-sdk SerializeProveCertificateArgs):
    [32 bytes: cert.type]
    [33 bytes: cert.subject pubkey]
    [32 bytes: cert.serial_number]
    [33 bytes: cert.certifier pubkey]
    [36 bytes: cert.revocation_outpoint]
    [varint-int: cert.signature bytes] (0-length if nil)
    [varint: field_count] per field: [varint-int name_bytes][varint-int value_bytes]
    [varint: fields_to_reveal_count] per field: [varint-int name_bytes]
    [33 bytes: verifier pubkey]
    [privileged params]

Result wire layout:
    [varint: keyring_count] per entry: [varint-int key_bytes][varint-int base64 bytes]

## Constants
### `CERT_TYPE_SIZE` <a id="constant-CERT_TYPE_SIZE"></a> <a id="CERT_TYPE_SIZE-constant"></a>
Not documented.

### `PUBKEY_SIZE` <a id="constant-PUBKEY_SIZE"></a> <a id="PUBKEY_SIZE-constant"></a>
Not documented.

### `SERIAL_SIZE` <a id="constant-SERIAL_SIZE"></a> <a id="SERIAL_SIZE-constant"></a>
Not documented.

## Public Class Methods
### `deserialize_args(bytes)` <a id="method-c-deserialize_args"></a> <a id="deserialize_args-class_method"></a>
Not documented.

### `deserialize_result(bytes)` <a id="method-c-deserialize_result"></a> <a id="deserialize_result-class_method"></a>
Not documented.

### `serialize_args(args)` <a id="method-c-serialize_args"></a> <a id="serialize_args-class_method"></a>
Not documented.

### `serialize_result(result)` <a id="method-c-serialize_result"></a> <a id="serialize_result-class_method"></a>
Not documented.
