Skip to content

Commit

Permalink
Merge branch 'main' into damian/2962-persist-channel-state-before-app…
Browse files Browse the repository at this point in the history
…-cbs
  • Loading branch information
damiannolan authored Jan 6, 2023
2 parents f666e95 + 48efd8e commit 1b61b2c
Show file tree
Hide file tree
Showing 5 changed files with 8 additions and 4 deletions.
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand Down
2 changes: 1 addition & 1 deletion docs/architecture/adr-006-02-client-refactor.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@

## Status

Accepted and applied in v6 of ibc-go
Accepted and applied in v7 of ibc-go

## Context

Expand Down
4 changes: 2 additions & 2 deletions docs/architecture/adr-007-solomachine-signbytes.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,11 @@

## Status

Accepted, applied in v6
Accepted, applied in v7

## Context

The `06-solomachine` implemention up until ibc-go v6 constructed sign bytes using a `DataType` which described what type of data was being signed.
The `06-solomachine` implemention up until ibc-go v7 constructed sign bytes using a `DataType` which described what type of data was being signed.
This design decision arose from a misunderstanding of the security implications.
It was noted that the proto definitions do not [provide uniqueness](https://github.com/cosmos/cosmos-sdk/pull/7237#discussion_r484264573) which is a necessity for ensuring two signatures over different data types can never be the same.
What was missed is that the uniqueness is not provided by the proto definition, but by the usage of the proto definition.
Expand Down
1 change: 0 additions & 1 deletion modules/light-clients/06-solomachine/client_state.go
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,6 @@ func NewClientState(latestSequence uint64, consensusState *ConsensusState) *Clie
Sequence: latestSequence,
IsFrozen: false,
ConsensusState: consensusState,
// AllowUpdateAfterProposal has been DEPRECATED. See 01_concepts in the solo machine spec repo for more details.
}
}

Expand Down
4 changes: 4 additions & 0 deletions proto/ibc/core/connection/v1/tx.proto
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand Down Expand Up @@ -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.
Expand Down

0 comments on commit 1b61b2c

Please sign in to comment.