--- title: Events sidebar_label: Events sidebar_position: 5 slug: /contract-api/events --- # Events The `cw-ica-controller` contract emits events upon various channel and packet lifecycle events. I haven't really thought about what events should be emitted, so this is a work in progress and feel free to open an issue if you have any suggestions. Changes in events will not be considered breaking changes as they are not stored on the blockchain, thus, can be included in patch releases. Core IBC already emits events for channel and packet lifecycle events, so we keep the events to a minimum. The only events emitted by the contract are when an acknowledgement packet is received, so that an external indexer can index the result of the packet execution. ## Attributes Whether or not the result of the packet execution was successful, the following attributes are emitted: | **Attribute Key** | **Attribute Value** | |:--------------------:|:-------------------:| | `packet_sequence` | String | | `packet_src_port` | String | | `packet_src_channel` | String | If the packet execution was successful, then the following attributes are also emitted: | **Attribute Key** | **Attribute Value** | |:-------------------:|:-------------------:| | `packet_ack_base64` | Base64 (String) | If the packet execution was unsuccessful, then the following attributes are also emitted: | **Attribute Key** | **Attribute Value** | |:-----------------:|:-------------------:| | `error` | String |