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

BRC-103 serialiser for list_actions (call byte 4).

Wire layout (port of go-sdk/wallet/serializer/list_actions.go):

Args:
    [string_slice]     labels
    [1 byte]           label_query_mode: 0x01=any, 0x02=all, 0xFF=absent
    [optional_bool] include_labels
    [optional_bool] include_inputs
    [optional_bool] include_input_source_locking_scripts
    [optional_bool] include_input_unlocking_scripts
    [optional_bool] include_outputs
    [optional_bool] include_output_locking_scripts
    [optional_uint32]  limit
    [optional_uint32]  offset
    [optional_bool] seek_permission

Result:
    [varint]           total_actions
    For each action:
      [32 bytes]       txid (display order — reversed from wire storage)
      [varint]         satoshis (int64 as varint)
      [1 byte]         status code
      [optional_bool ptr] is_outgoing (written as optional_bool pointer in Go)
      [string]         description
      [string_slice]   labels
      [varint]         version
      [varint]         lock_time
      [inputs]         NegativeOne | varint count + input_record…
      [outputs]        NegativeOne | varint count + output_record…

Input record:
    [36 bytes] source_outpoint (32-byte wire txid + varint vout)
    [varint]   source_satoshis
    [int_bytes_optional] source_locking_script
    [int_bytes_optional] unlocking_script
    [string]   input_description
    [varint]   sequence_number

Output record:
    [varint]   output_index
    [varint]   satoshis
    [int_bytes_optional] locking_script
    [optional_bool ptr] spendable
    [string]   output_description
    [string]   basket
    [string_slice] tags
    [optional_string] custom_instructions

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

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

## Public Class Methods
### `deserialize(bytes)` <a id="method-c-deserialize"></a> <a id="deserialize-class_method"></a>
- **@param** `bytes` [String] binary
- **@return** [Hash]

### `serialize(args)` <a id="method-c-serialize"></a> <a id="serialize-class_method"></a>
- **@param** `args` [Hash]
- **@return** [String] binary
