From 48efd8e99666d9206e61167c248fb384a7a21989 Mon Sep 17 00:00:00 2001
From: Web3 Philosopher <seunlanlege@gmail.com>
Date: Tue, 27 Dec 2022 22:14:57 +0100
Subject: [PATCH] improvement: allow chains that can't introspect their own
 `ConsensusState` support IBC

---
 CHANGELOG.md                          | 1 +
 proto/ibc/core/connection/v1/tx.proto | 4 ++++
 2 files changed, 5 insertions(+)

diff --git a/CHANGELOG.md b/CHANGELOG.md
index 0333484265a..0621a405486 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -88,6 +88,7 @@ Ref: https://keepachangelog.com/en/1.0.0/
 * (light-clients/06-solomachine) Moving `verifyMisbehaviour` function from update.go to misbehaviour_handle.go.
 * [\#2434](https://github.com/cosmos/ibc-go/pull/2478) Removed all `TypeMsg` constants
 * (modules/core/exported) [#1689] (https://github.com/cosmos/ibc-go/pull/2539) Removing `GetVersions` from `ConnectionI` interface.
+* (core/02-connection) [#2419](https://github.com/cosmos/ibc-go/pull/2419) Add optional proof data to proto definitions of `MsgConnectionOpenTry` and `MsgConnectionOpenAck` for host state machines that are unable to introspect their own consensus state.
 
 ### Features
 
diff --git a/proto/ibc/core/connection/v1/tx.proto b/proto/ibc/core/connection/v1/tx.proto
index 94d676bbc38..8d1a0f3ec1d 100644
--- a/proto/ibc/core/connection/v1/tx.proto
+++ b/proto/ibc/core/connection/v1/tx.proto
@@ -67,6 +67,8 @@ message MsgConnectionOpenTry {
   ibc.core.client.v1.Height consensus_height = 11
       [(gogoproto.moretags) = "yaml:\"consensus_height\"", (gogoproto.nullable) = false];
   string signer = 12;
+  // optional proof data for host state machines that are unable to introspect their own consensus state
+  bytes host_consensus_state_proof = 13;
 }
 
 // MsgConnectionOpenTryResponse defines the Msg/ConnectionOpenTry response type.
@@ -94,6 +96,8 @@ message MsgConnectionOpenAck {
   ibc.core.client.v1.Height consensus_height = 9
       [(gogoproto.moretags) = "yaml:\"consensus_height\"", (gogoproto.nullable) = false];
   string signer = 10;
+    // optional proof data for host state machines that are unable to introspect their own consensus state
+    bytes host_consensus_state_proof = 11;
 }
 
 // MsgConnectionOpenAckResponse defines the Msg/ConnectionOpenAck response type.