# Class BSV::Overlay::OverlayBroadcastResult <a id="class-BSV-Overlay-OverlayBroadcastResult"></a>

**Inherits:** `Object`

Result of broadcasting a transaction to an Overlay Services host.

## Attributes
### `code` [R] <a id="attribute-i-code"></a> <a id="code-instance_method"></a>
- **@return** [String, nil] machine-readable error code

### `description` [R] <a id="attribute-i-description"></a> <a id="description-instance_method"></a>
- **@return** [String, nil] human-readable error description

### `message` [R] <a id="attribute-i-message"></a> <a id="message-instance_method"></a>
- **@return** [String, nil] human-readable result message

### `status` [R] <a id="attribute-i-status"></a> <a id="status-instance_method"></a>
- **@return** [String] result status ('success' or 'error')

### `txid` [R] <a id="attribute-i-txid"></a> <a id="txid-instance_method"></a>
Overlay API boundary: display-order hex txid echoed from the broadcast
response.
- **@return** [String, nil] transaction identifier (present on success)

## Public Instance Methods
### `initialize(status:, txid: = nil, message: = nil, code: = nil, description: = nil)` <a id="method-i-initialize"></a> <a id="initialize-instance_method"></a>
- **@param** `status` [String]
- **@param** `txid` [String, nil]
- **@param** `message` [String, nil]
- **@param** `code` [String, nil]
- **@param** `description` [String, nil]
- **@return** [OverlayBroadcastResult] a new instance of OverlayBroadcastResult

### `raise_if_error!()` <a id="method-i-raise_if_error-21"></a> <a id="raise_if_error!-instance_method"></a>
Raise the appropriate {OverlayError} subclass when {#success?} is false. Lets
callers treat a broadcast failure as an exception rather than silently
swallowing the result object — used by Identity and Registry clients which
terminate on broadcast failure regardless.
- **@raise** [NoCompetentHostsError] for +ERR_NO_HOSTS_INTERESTED+
- **@raise** [AllHostsRejectedError] for +ERR_ALL_HOSTS_REJECTED+
- **@raise** [AcknowledgementError] for +ERR_REQUIRE_ACK_*_FAILED+
- **@raise** [OverlayError] for any other non-success status
- **@return** [self] when the result is a success (chainable)

### `success?()` <a id="method-i-success-3F"></a> <a id="success?-instance_method"></a>
- **@return** [Boolean] true when the broadcast reached at least one
competent host and satisfied any acknowledgement requirements.
