# Class BSV::Wallet::Store::EventApplicator <a id="class-BSV-Wallet-Store-EventApplicator"></a>

**Inherits:** `Object`

Transport-agnostic core that applies a decoded broadcast-status event to the
Store. The Rack callback (BroadcastCallback) and the SSE listener (#264) both
decode their incoming wire format into a uniform internal hash, then hand it
here.

The `event` hash uses the internal shape:

    { wtxid:, tx_status:, status:, block_hash:, block_height:,
      merkle_path:, extra_info:, competing_txs: }

`wtxid` is wire-order binary (32 bytes); `block_hash` / `merkle_path` are
binary; everything else is whatever the adapter parsed out of the wire body.

## Public Instance Methods
### `apply(event)` <a id="method-i-apply"></a> <a id="apply-instance_method"></a>
Apply one decoded event. Idempotent on current state: replaying a terminal
event after the cascade has already run is a no-op (find_action returns nil
for the deleted row, which is the unknown-wtxid path).

### `initialize(store:)` <a id="method-i-initialize"></a> <a id="initialize-instance_method"></a>
- **@return** [EventApplicator] a new instance of EventApplicator
