From f3aeb1be39785b5b322460f0cb1a229b9e62f450 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Colin=20Axn=C3=A9r?= <25233464+colin-axner@users.noreply.github.com> Date: Mon, 10 May 2021 19:55:29 +0200 Subject: [PATCH 1/4] change frozen sequence to is frozen in solo machine --- docs/ibc/proto-docs.md | 2 +- .../06-solomachine/types/client_state.go | 15 +- .../06-solomachine/types/client_state_test.go | 98 +-------- .../types/misbehaviour_handle.go | 6 +- .../types/misbehaviour_handle_test.go | 12 +- .../06-solomachine/types/proposal_handle.go | 2 +- .../types/proposal_handle_test.go | 2 +- .../06-solomachine/types/solomachine.pb.go | 194 +++++++++--------- .../06-solomachine/types/update_test.go | 2 +- .../solomachine/v1/solomachine.proto | 2 +- testing/sdk_test.go | 4 +- 11 files changed, 113 insertions(+), 226 deletions(-) diff --git a/docs/ibc/proto-docs.md b/docs/ibc/proto-docs.md index ecacd9f42dc..3750ca61fe4 100644 --- a/docs/ibc/proto-docs.md +++ b/docs/ibc/proto-docs.md @@ -2939,7 +2939,7 @@ state and if the client is frozen. | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | `sequence` | [uint64](#uint64) | | latest sequence of the client state | -| `frozen_sequence` | [uint64](#uint64) | | frozen sequence of the solo machine | +| `is_frozen` | [bool](#bool) | | frozen sequence of the solo machine | | `consensus_state` | [ConsensusState](#ibc.lightclients.solomachine.v1.ConsensusState) | | | | `allow_update_after_proposal` | [bool](#bool) | | when set to true, will allow governance to update a solo machine client. The client will be unfrozen if it is frozen. | diff --git a/modules/light-clients/06-solomachine/types/client_state.go b/modules/light-clients/06-solomachine/types/client_state.go index 8a75749433f..a9a078f9a30 100644 --- a/modules/light-clients/06-solomachine/types/client_state.go +++ b/modules/light-clients/06-solomachine/types/client_state.go @@ -22,7 +22,7 @@ var _ exported.ClientState = (*ClientState)(nil) func NewClientState(latestSequence uint64, consensusState *ConsensusState, allowUpdateAfterProposal bool) *ClientState { return &ClientState{ Sequence: latestSequence, - FrozenSequence: 0, + IsFrozen: false, ConsensusState: consensusState, AllowUpdateAfterProposal: allowUpdateAfterProposal, } @@ -45,23 +45,18 @@ func (cs ClientState) GetLatestHeight() exported.Height { // - Active: if frozen sequence is 0 // - Frozen: otherwise solo machine is frozen func (cs ClientState) Status(_ sdk.Context, _ sdk.KVStore, _ codec.BinaryCodec) exported.Status { - if cs.FrozenSequence != 0 { + if cs.IsFrozen { return exported.Frozen } return exported.Active } -// IsFrozen returns true if the client is frozen. -func (cs ClientState) IsFrozen() bool { - return cs.FrozenSequence != 0 -} - // GetFrozenHeight returns the frozen sequence of the client. // Return exported.Height to satisfy interface // Revision number is always 0 for a solo-machine func (cs ClientState) GetFrozenHeight() exported.Height { - return clienttypes.NewHeight(0, cs.FrozenSequence) + return clienttypes.NewHeight(0, 1) } // GetProofSpecs returns nil proof specs since client state verification uses signatures. @@ -445,10 +440,6 @@ func produceVerificationArgs( } // sequence is encoded in the revision height of height struct sequence := height.GetRevisionHeight() - if cs.IsFrozen() { - return nil, nil, 0, 0, clienttypes.ErrClientFrozen - } - if prefix == nil { return nil, nil, 0, 0, sdkerrors.Wrap(commitmenttypes.ErrInvalidPrefix, "prefix cannot be empty") } diff --git a/modules/light-clients/06-solomachine/types/client_state_test.go b/modules/light-clients/06-solomachine/types/client_state_test.go index c2907c0d584..82b9ac57b12 100644 --- a/modules/light-clients/06-solomachine/types/client_state_test.go +++ b/modules/light-clients/06-solomachine/types/client_state_test.go @@ -32,7 +32,7 @@ func (suite *SoloMachineTestSuite) TestStatus() { suite.Require().Equal(exported.Active, status) // freeze solo machine - clientState.FrozenSequence = 1 + clientState.IsFrozen = true status = clientState.Status(suite.chainA.GetContext(), nil, nil) suite.Require().Equal(exported.Frozen, status) } @@ -188,18 +188,6 @@ func (suite *SoloMachineTestSuite) TestVerifyClientState() { proof, false, }, - { - "client is frozen", - &types.ClientState{ - Sequence: 1, - FrozenSequence: 1, - ConsensusState: solomachine.ConsensusState(), - AllowUpdateAfterProposal: false, - }, - prefix, - proof, - false, - }, { "consensus state in client state is nil", types.NewClientState(1, nil, false), @@ -321,18 +309,6 @@ func (suite *SoloMachineTestSuite) TestVerifyClientConsensusState() { proof, false, }, - { - "client is frozen", - &types.ClientState{ - Sequence: 1, - FrozenSequence: 1, - ConsensusState: solomachine.ConsensusState(), - AllowUpdateAfterProposal: false, - }, - prefix, - proof, - false, - }, { "consensus state in client state is nil", types.NewClientState(1, nil, false), @@ -450,18 +426,6 @@ func (suite *SoloMachineTestSuite) TestVerifyConnectionState() { proof, false, }, - { - "client is frozen", - &types.ClientState{ - Sequence: 1, - FrozenSequence: 1, - ConsensusState: solomachine.ConsensusState(), - AllowUpdateAfterProposal: false, - }, - prefix, - proof, - false, - }, { "proof is nil", solomachine.ClientState(), @@ -540,18 +504,6 @@ func (suite *SoloMachineTestSuite) TestVerifyChannelState() { proof, false, }, - { - "client is frozen", - &types.ClientState{ - Sequence: 1, - FrozenSequence: 1, - ConsensusState: solomachine.ConsensusState(), - AllowUpdateAfterProposal: false, - }, - prefix, - proof, - false, - }, { "proof is nil", solomachine.ClientState(), @@ -629,18 +581,6 @@ func (suite *SoloMachineTestSuite) TestVerifyPacketCommitment() { proof, false, }, - { - "client is frozen", - &types.ClientState{ - Sequence: 1, - FrozenSequence: 1, - ConsensusState: solomachine.ConsensusState(), - AllowUpdateAfterProposal: false, - }, - prefix, - proof, - false, - }, { "proof is nil", solomachine.ClientState(), @@ -716,18 +656,6 @@ func (suite *SoloMachineTestSuite) TestVerifyPacketAcknowledgement() { proof, false, }, - { - "client is frozen", - &types.ClientState{ - Sequence: 1, - FrozenSequence: 1, - ConsensusState: solomachine.ConsensusState(), - AllowUpdateAfterProposal: false, - }, - prefix, - proof, - false, - }, { "proof is nil", solomachine.ClientState(), @@ -803,18 +731,6 @@ func (suite *SoloMachineTestSuite) TestVerifyPacketReceiptAbsence() { proof, false, }, - { - "client is frozen", - &types.ClientState{ - Sequence: 1, - FrozenSequence: 1, - ConsensusState: solomachine.ConsensusState(), - AllowUpdateAfterProposal: false, - }, - prefix, - proof, - false, - }, { "proof is nil", solomachine.ClientState(), @@ -890,18 +806,6 @@ func (suite *SoloMachineTestSuite) TestVerifyNextSeqRecv() { proof, false, }, - { - "client is frozen", - &types.ClientState{ - Sequence: 1, - FrozenSequence: 1, - ConsensusState: solomachine.ConsensusState(), - AllowUpdateAfterProposal: false, - }, - prefix, - proof, - false, - }, { "proof is nil", solomachine.ClientState(), diff --git a/modules/light-clients/06-solomachine/types/misbehaviour_handle.go b/modules/light-clients/06-solomachine/types/misbehaviour_handle.go index b50c38831b8..dd0188d3edf 100644 --- a/modules/light-clients/06-solomachine/types/misbehaviour_handle.go +++ b/modules/light-clients/06-solomachine/types/misbehaviour_handle.go @@ -29,10 +29,6 @@ func (cs ClientState) CheckMisbehaviourAndUpdateState( ) } - if cs.IsFrozen() { - return nil, sdkerrors.Wrapf(clienttypes.ErrClientFrozen, "client is already frozen") - } - // NOTE: a check that the misbehaviour message data are not equal is done by // misbehaviour.ValidateBasic which is called by the 02-client keeper. @@ -46,7 +42,7 @@ func (cs ClientState) CheckMisbehaviourAndUpdateState( return nil, sdkerrors.Wrap(err, "failed to verify signature two") } - cs.FrozenSequence = soloMisbehaviour.Sequence + cs.IsFrozen = true return &cs, nil } diff --git a/modules/light-clients/06-solomachine/types/misbehaviour_handle_test.go b/modules/light-clients/06-solomachine/types/misbehaviour_handle_test.go index cb13f4a735f..b5945656f6c 100644 --- a/modules/light-clients/06-solomachine/types/misbehaviour_handle_test.go +++ b/modules/light-clients/06-solomachine/types/misbehaviour_handle_test.go @@ -37,16 +37,6 @@ func (suite *SoloMachineTestSuite) TestCheckMisbehaviourAndUpdateState() { misbehaviour = solomachine.CreateMisbehaviour() }, true, }, - { - "client is frozen", - func() { - cs := solomachine.ClientState() - cs.FrozenSequence = 1 - clientState = cs - misbehaviour = solomachine.CreateMisbehaviour() - }, - false, - }, { "wrong client state type", func() { @@ -264,7 +254,7 @@ func (suite *SoloMachineTestSuite) TestCheckMisbehaviourAndUpdateState() { if tc.expPass { suite.Require().NoError(err) - suite.Require().True(clientState.(*types.ClientState).FrozenSequence != 0, "client not frozen") + suite.Require().True(clientState.(*types.ClientState).IsFrozen, "client not frozen") } else { suite.Require().Error(err) suite.Require().Nil(clientState) diff --git a/modules/light-clients/06-solomachine/types/proposal_handle.go b/modules/light-clients/06-solomachine/types/proposal_handle.go index 342ab2e6d93..a4a89006894 100644 --- a/modules/light-clients/06-solomachine/types/proposal_handle.go +++ b/modules/light-clients/06-solomachine/types/proposal_handle.go @@ -58,7 +58,7 @@ func (cs ClientState) CheckSubstituteAndUpdateState( // update to substitute parameters clientState.Sequence = substituteClientState.Sequence clientState.ConsensusState = substituteClientState.ConsensusState - clientState.FrozenSequence = 0 + clientState.IsFrozen = false return clientState, nil } diff --git a/modules/light-clients/06-solomachine/types/proposal_handle_test.go b/modules/light-clients/06-solomachine/types/proposal_handle_test.go index db99bbe2538..bc8e69acbcb 100644 --- a/modules/light-clients/06-solomachine/types/proposal_handle_test.go +++ b/modules/light-clients/06-solomachine/types/proposal_handle_test.go @@ -77,7 +77,7 @@ func (suite *SoloMachineTestSuite) TestCheckSubstituteAndUpdateState() { suite.Require().Equal(substituteClientState.(*types.ClientState).ConsensusState, updatedClient.(*types.ClientState).ConsensusState) suite.Require().Equal(substituteClientState.(*types.ClientState).Sequence, updatedClient.(*types.ClientState).Sequence) - suite.Require().Equal(uint64(0), updatedClient.(*types.ClientState).FrozenSequence) + suite.Require().Equal(false, updatedClient.(*types.ClientState).IsFrozen) } else { suite.Require().Error(err) suite.Require().Nil(updatedClient) diff --git a/modules/light-clients/06-solomachine/types/solomachine.pb.go b/modules/light-clients/06-solomachine/types/solomachine.pb.go index 1bdca7b87a2..88b96b8be34 100644 --- a/modules/light-clients/06-solomachine/types/solomachine.pb.go +++ b/modules/light-clients/06-solomachine/types/solomachine.pb.go @@ -93,7 +93,7 @@ type ClientState struct { // latest sequence of the client state Sequence uint64 `protobuf:"varint,1,opt,name=sequence,proto3" json:"sequence,omitempty"` // frozen sequence of the solo machine - FrozenSequence uint64 `protobuf:"varint,2,opt,name=frozen_sequence,json=frozenSequence,proto3" json:"frozen_sequence,omitempty" yaml:"frozen_sequence"` + IsFrozen bool `protobuf:"varint,2,opt,name=is_frozen,json=isFrozen,proto3" json:"is_frozen,omitempty" yaml:"is_frozen"` ConsensusState *ConsensusState `protobuf:"bytes,3,opt,name=consensus_state,json=consensusState,proto3" json:"consensus_state,omitempty" yaml:"consensus_state"` // when set to true, will allow governance to update a solo machine client. // The client will be unfrozen if it is frozen. @@ -823,93 +823,93 @@ func init() { } var fileDescriptor_6cc2ee18f7f86d4e = []byte{ - // 1364 bytes of a gzipped FileDescriptorProto + // 1366 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x57, 0xdf, 0x8e, 0xdb, 0x54, - 0x13, 0x5f, 0xa7, 0xe9, 0x76, 0x33, 0xd9, 0x66, 0xf3, 0xb9, 0x69, 0x9b, 0x75, 0xab, 0xc4, 0x9f, - 0x11, 0x65, 0x41, 0x34, 0x61, 0x8b, 0xa8, 0x50, 0x85, 0x00, 0xc7, 0x31, 0x34, 0xed, 0xae, 0x37, - 0x38, 0x5e, 0xa0, 0x15, 0xc8, 0x72, 0x9c, 0xb3, 0x89, 0xd5, 0xc4, 0x27, 0xc4, 0x4e, 0xd2, 0x20, - 0x21, 0x21, 0xae, 0x4a, 0xc4, 0x05, 0x2f, 0x10, 0x09, 0x81, 0x78, 0x15, 0xe0, 0xb2, 0xdc, 0x71, - 0x15, 0x50, 0xfb, 0x06, 0x79, 0x02, 0x64, 0x9f, 0x93, 0xd8, 0xce, 0xee, 0x66, 0xc5, 0xbf, 0xbb, - 0x73, 0x66, 0x7e, 0xf3, 0x9b, 0x39, 0x33, 0xe3, 0x39, 0xc7, 0xb0, 0x6b, 0xd5, 0xcd, 0x62, 0xdb, - 0x6a, 0xb6, 0x5c, 0xb3, 0x6d, 0x21, 0xdb, 0x75, 0x8a, 0x0e, 0x6e, 0xe3, 0x8e, 0x61, 0xb6, 0x2c, - 0x1b, 0x15, 0x07, 0xbb, 0xe1, 0x6d, 0xa1, 0xdb, 0xc3, 0x2e, 0x66, 0xf3, 0x56, 0xdd, 0x2c, 0x84, - 0x4d, 0x0a, 0x61, 0xcc, 0x60, 0x97, 0x7b, 0xc9, 0xe3, 0x34, 0x71, 0x0f, 0x15, 0x4d, 0x6c, 0xdb, - 0xc8, 0x74, 0x2d, 0x6c, 0x7b, 0x54, 0xc1, 0x8e, 0x30, 0x71, 0xff, 0x0f, 0x80, 0x2d, 0xc3, 0xb6, - 0x51, 0xdb, 0x47, 0x91, 0x25, 0x85, 0x64, 0x9a, 0xb8, 0x89, 0xfd, 0x65, 0xd1, 0x5b, 0x51, 0xe9, - 0x76, 0x13, 0xe3, 0x66, 0x1b, 0x15, 0xfd, 0x5d, 0xbd, 0x7f, 0x54, 0x34, 0xec, 0x11, 0x51, 0x09, - 0xbf, 0xc6, 0x20, 0x29, 0xf9, 0x71, 0xd5, 0x5c, 0xc3, 0x45, 0x2c, 0x07, 0x1b, 0x0e, 0xfa, 0xac, - 0x8f, 0x6c, 0x13, 0x65, 0x19, 0x9e, 0xd9, 0x89, 0xab, 0x8b, 0x3d, 0x2b, 0xc1, 0xd6, 0x51, 0x0f, - 0x7f, 0x8e, 0x6c, 0x7d, 0x01, 0x89, 0x79, 0x90, 0x12, 0x37, 0x9b, 0xe6, 0xaf, 0x8c, 0x8c, 0x4e, - 0xfb, 0x8e, 0xb0, 0x04, 0x10, 0xd4, 0x14, 0x91, 0xd4, 0xe6, 0x24, 0x2e, 0x6c, 0x99, 0xd8, 0x76, - 0x90, 0xed, 0xf4, 0x1d, 0xdd, 0xf1, 0x7c, 0x66, 0xcf, 0xf1, 0xcc, 0x4e, 0xf2, 0x56, 0xb1, 0x70, - 0x46, 0xa2, 0x0a, 0xd2, 0xdc, 0xce, 0x0f, 0x35, 0xec, 0x75, 0x89, 0x51, 0x50, 0x53, 0x66, 0x04, - 0xcb, 0x22, 0xb8, 0x66, 0xb4, 0xdb, 0x78, 0xa8, 0xf7, 0xbb, 0x0d, 0xc3, 0x45, 0xba, 0x71, 0xe4, - 0xa2, 0x9e, 0xde, 0xed, 0xe1, 0x2e, 0x76, 0x8c, 0x76, 0x36, 0xce, 0x33, 0x3b, 0x1b, 0xa5, 0x1b, - 0xb3, 0x69, 0x5e, 0x20, 0x84, 0x2b, 0xc0, 0x82, 0x9a, 0xf5, 0xb5, 0x87, 0xbe, 0x52, 0xf4, 0x74, - 0x55, 0xaa, 0xba, 0x13, 0x7f, 0xf2, 0x5d, 0x7e, 0x4d, 0xf8, 0x9e, 0x81, 0x54, 0x34, 0x56, 0xf6, - 0x1e, 0x40, 0xb7, 0x5f, 0x6f, 0x5b, 0xa6, 0xfe, 0x08, 0x8d, 0xfc, 0xc4, 0x26, 0x6f, 0x65, 0x0a, - 0xa4, 0x2c, 0x85, 0x79, 0x59, 0x0a, 0xa2, 0x3d, 0x2a, 0x5d, 0x9e, 0x4d, 0xf3, 0xff, 0x23, 0x41, - 0x04, 0x16, 0x82, 0x9a, 0x20, 0x9b, 0xfb, 0x68, 0xc4, 0xf2, 0x90, 0x6c, 0x58, 0x03, 0xd4, 0x73, - 0xac, 0x23, 0x0b, 0xf5, 0xfc, 0x12, 0x24, 0xd4, 0xb0, 0x88, 0xbd, 0x0e, 0x09, 0xd7, 0xea, 0x20, - 0xc7, 0x35, 0x3a, 0x5d, 0x3f, 0xbb, 0x71, 0x35, 0x10, 0xd0, 0x20, 0xbf, 0x8a, 0xc1, 0xfa, 0x5d, - 0x64, 0x34, 0x50, 0x6f, 0x65, 0xcd, 0x23, 0x54, 0xb1, 0x25, 0x2a, 0x4f, 0xeb, 0x58, 0x4d, 0xdb, - 0x70, 0xfb, 0x3d, 0x52, 0xc6, 0x4d, 0x35, 0x10, 0xb0, 0x87, 0x90, 0xb2, 0xd1, 0x50, 0x0f, 0x1d, - 0x3c, 0xbe, 0xe2, 0xe0, 0xdb, 0xb3, 0x69, 0xfe, 0x32, 0x39, 0x78, 0xd4, 0x4a, 0x50, 0x37, 0x6d, - 0x34, 0xac, 0x2e, 0xce, 0x2f, 0xc1, 0x96, 0x07, 0x08, 0xe7, 0xe0, 0xbc, 0x97, 0x83, 0x70, 0x43, - 0x2c, 0x01, 0x04, 0xd5, 0x8b, 0xa4, 0x1c, 0x08, 0x68, 0x12, 0x7e, 0x8e, 0xc1, 0xe6, 0xbe, 0xe5, - 0xd4, 0x51, 0xcb, 0x18, 0x58, 0xb8, 0xdf, 0x63, 0x77, 0x21, 0x41, 0x9a, 0x4f, 0xb7, 0x1a, 0x7e, - 0x2e, 0x12, 0xa5, 0xcc, 0x6c, 0x9a, 0x4f, 0xd3, 0x36, 0x9b, 0xab, 0x04, 0x75, 0x83, 0xac, 0x2b, - 0x8d, 0x48, 0xf6, 0x62, 0x4b, 0xd9, 0xeb, 0xc2, 0xc5, 0x45, 0x3a, 0x74, 0x6c, 0xcf, 0x5b, 0x7d, - 0xf7, 0xcc, 0x56, 0xaf, 0xcd, 0xad, 0x44, 0xbb, 0x51, 0x36, 0x5c, 0xa3, 0x94, 0x9d, 0x4d, 0xf3, - 0x19, 0x12, 0x45, 0x84, 0x51, 0x50, 0x37, 0x17, 0xfb, 0x03, 0x7b, 0xc9, 0xa3, 0x3b, 0xc4, 0x34, - 0xe5, 0xff, 0x96, 0x47, 0x77, 0x88, 0xc3, 0x1e, 0xb5, 0x21, 0xa6, 0x99, 0xfc, 0x89, 0x81, 0xf4, - 0x32, 0x45, 0xb4, 0x3d, 0x98, 0xe5, 0xf6, 0xf8, 0x04, 0x12, 0x0d, 0xc3, 0x35, 0x74, 0x77, 0xd4, - 0x25, 0x99, 0x4b, 0xdd, 0x7a, 0xf9, 0xcc, 0x30, 0x3d, 0x5e, 0x6d, 0xd4, 0x45, 0xe1, 0xb2, 0x2c, - 0x58, 0x04, 0x75, 0xa3, 0x41, 0xf5, 0x2c, 0x0b, 0x71, 0x6f, 0x4d, 0xbb, 0xd2, 0x5f, 0x47, 0x9b, - 0x39, 0x7e, 0xf2, 0x77, 0xf1, 0x25, 0x03, 0x59, 0x6d, 0x2e, 0x43, 0x8d, 0xc5, 0x99, 0xfc, 0x03, - 0xbd, 0x0b, 0xa9, 0x20, 0x17, 0x3e, 0xbd, 0x7f, 0xaa, 0x70, 0xef, 0x46, 0xf5, 0x82, 0x1a, 0x94, - 0xa3, 0x7c, 0x2c, 0x84, 0xd8, 0xc9, 0x21, 0xfc, 0xce, 0x40, 0xc2, 0xf3, 0x5b, 0x1a, 0xb9, 0xc8, - 0xf9, 0x07, 0x5f, 0xe7, 0xd2, 0xa0, 0x38, 0x77, 0x7c, 0x50, 0x44, 0x4a, 0x10, 0xff, 0xaf, 0x4a, - 0x70, 0x3e, 0x28, 0x01, 0x3d, 0xe1, 0x8f, 0x0c, 0x00, 0x19, 0x3e, 0x7e, 0x52, 0xf6, 0x20, 0x49, - 0x3f, 0xf9, 0x33, 0xc7, 0xe3, 0x95, 0xd9, 0x34, 0xcf, 0x46, 0xa6, 0x04, 0x9d, 0x8f, 0x64, 0x44, - 0x9c, 0x32, 0x1f, 0x62, 0x7f, 0x73, 0x3e, 0x7c, 0x01, 0x5b, 0xa1, 0xcb, 0xd1, 0x8f, 0x95, 0x85, - 0x78, 0xd7, 0x70, 0x5b, 0xb4, 0x9d, 0xfd, 0x35, 0x5b, 0x85, 0x4d, 0x3a, 0x1a, 0xc8, 0x85, 0x16, - 0x5b, 0x71, 0x80, 0xab, 0xb3, 0x69, 0xfe, 0x52, 0x64, 0x9c, 0xd0, 0x2b, 0x2b, 0x69, 0x06, 0x9e, - 0xa8, 0xfb, 0xaf, 0x19, 0x60, 0xa3, 0x17, 0xc9, 0xa9, 0x21, 0x3c, 0x38, 0x7e, 0xad, 0xae, 0x8a, - 0xe2, 0x2f, 0xdc, 0x9d, 0x34, 0x96, 0x01, 0x5c, 0x92, 0x16, 0x0f, 0x92, 0xd5, 0xb1, 0xc8, 0x00, - 0xc1, 0xdb, 0x85, 0x86, 0xf1, 0xa2, 0xdf, 0x56, 0xde, 0xe3, 0xa5, 0x10, 0x7a, 0xd7, 0x90, 0x4b, - 0x9d, 0xee, 0x64, 0xbb, 0xa1, 0x86, 0x0c, 0xa9, 0xdf, 0x06, 0xa4, 0x25, 0xf2, 0xc4, 0x59, 0xed, - 0xf4, 0x36, 0x5c, 0xa0, 0x4f, 0x21, 0xea, 0xf1, 0x7a, 0xc8, 0x23, 0x7d, 0x23, 0x79, 0xee, 0xc8, - 0x52, 0x9d, 0x83, 0xa9, 0x97, 0x7b, 0x90, 0xa9, 0x1a, 0xe6, 0x23, 0xe4, 0x4a, 0xb8, 0xd3, 0xb1, - 0xdc, 0x0e, 0xb2, 0xdd, 0x53, 0x3d, 0xe5, 0xbc, 0xe3, 0xcd, 0x51, 0xbe, 0xb3, 0x4d, 0x35, 0x24, - 0x11, 0x1e, 0xc0, 0x36, 0xe1, 0x12, 0xcd, 0x47, 0x36, 0x1e, 0xb6, 0x51, 0xa3, 0x89, 0x56, 0x12, - 0xee, 0xc0, 0x96, 0x11, 0x85, 0x52, 0xd6, 0x65, 0xb1, 0x50, 0x80, 0x2c, 0xa1, 0x56, 0x91, 0x89, - 0xac, 0xae, 0x2b, 0xd6, 0x1d, 0x6f, 0x0e, 0x9c, 0xc6, 0x2c, 0xb4, 0x20, 0xa3, 0xa0, 0xc7, 0xee, - 0xfc, 0xf1, 0xa5, 0x22, 0x73, 0x70, 0x6a, 0x14, 0x6f, 0xc1, 0x45, 0x1b, 0x3d, 0x76, 0xbd, 0xa7, - 0x9b, 0xde, 0x43, 0xe6, 0x80, 0xbe, 0xed, 0x42, 0xd7, 0x40, 0x44, 0x2d, 0xa8, 0x49, 0x9b, 0x50, - 0x7b, 0xac, 0xaf, 0x7c, 0x13, 0x87, 0x8d, 0xf9, 0x60, 0x60, 0xdf, 0x84, 0x17, 0xca, 0xa2, 0x26, - 0xea, 0xda, 0x83, 0xaa, 0xac, 0x1f, 0x2a, 0x15, 0xa5, 0xa2, 0x55, 0xc4, 0xbd, 0xca, 0x43, 0xb9, - 0xac, 0x1f, 0x2a, 0xb5, 0xaa, 0x2c, 0x55, 0xde, 0xab, 0xc8, 0xe5, 0xf4, 0x1a, 0xb7, 0x35, 0x9e, - 0xf0, 0xc9, 0x90, 0x88, 0xbd, 0x01, 0x57, 0x02, 0x4b, 0x69, 0xaf, 0x22, 0x2b, 0x9a, 0x5e, 0xd3, - 0x44, 0x4d, 0x4e, 0x33, 0x1c, 0x8c, 0x27, 0xfc, 0x3a, 0x91, 0xb1, 0xaf, 0xc2, 0x76, 0x08, 0x77, - 0xa0, 0xd4, 0x64, 0xa5, 0x76, 0x58, 0xa3, 0xd0, 0x18, 0x77, 0x71, 0x3c, 0xe1, 0x13, 0x0b, 0x31, - 0x5b, 0x00, 0x2e, 0x82, 0x56, 0x64, 0x49, 0xab, 0x1c, 0x28, 0x14, 0x7e, 0x8e, 0x4b, 0x8d, 0x27, - 0x3c, 0x04, 0x72, 0x76, 0x07, 0xae, 0x86, 0xf0, 0x77, 0x45, 0x45, 0x91, 0xf7, 0x28, 0x38, 0xce, - 0x25, 0xc7, 0x13, 0xfe, 0x02, 0x15, 0xb2, 0x6f, 0xc0, 0xb5, 0x00, 0x59, 0x15, 0xa5, 0xfb, 0xb2, - 0xa6, 0x4b, 0x07, 0xfb, 0xfb, 0x15, 0x6d, 0x5f, 0x56, 0xb4, 0xf4, 0x79, 0x2e, 0x33, 0x9e, 0xf0, - 0x69, 0xa2, 0x08, 0xe4, 0xec, 0x3b, 0xc0, 0x1f, 0x33, 0x13, 0xa5, 0xfb, 0xca, 0xc1, 0x47, 0x7b, - 0x72, 0xf9, 0x7d, 0xd9, 0xb7, 0x5d, 0xe7, 0xb6, 0xc7, 0x13, 0xfe, 0x32, 0xd1, 0x2e, 0x29, 0xd9, - 0xb7, 0x4f, 0x20, 0x50, 0x65, 0x49, 0xae, 0x54, 0x35, 0x5d, 0x2c, 0xd5, 0x64, 0x45, 0x92, 0xd3, - 0x17, 0xb8, 0xec, 0x78, 0xc2, 0x67, 0x88, 0x96, 0x2a, 0xa9, 0x8e, 0xbd, 0x0d, 0xd7, 0x03, 0x7b, - 0x45, 0xfe, 0x58, 0xd3, 0x6b, 0xf2, 0x07, 0x87, 0x9e, 0xca, 0xa3, 0xf9, 0x30, 0xbd, 0x41, 0x02, - 0xf7, 0x34, 0x73, 0x85, 0x27, 0x67, 0x79, 0x48, 0x07, 0x76, 0x77, 0x65, 0xb1, 0x2c, 0xab, 0xe9, - 0x04, 0xa9, 0x0c, 0xd9, 0x71, 0xf1, 0x27, 0x3f, 0xe4, 0xd6, 0x4a, 0x9f, 0xfe, 0xf2, 0x2c, 0xc7, - 0x3c, 0x7d, 0x96, 0x63, 0xfe, 0x78, 0x96, 0x63, 0xbe, 0x7d, 0x9e, 0x5b, 0x7b, 0xfa, 0x3c, 0xb7, - 0xf6, 0xdb, 0xf3, 0xdc, 0xda, 0x43, 0xa9, 0x69, 0xb9, 0xad, 0x7e, 0xbd, 0x60, 0xe2, 0x4e, 0xd1, - 0xc4, 0x4e, 0x07, 0x3b, 0x45, 0xab, 0x6e, 0xde, 0x6c, 0xe2, 0x62, 0x07, 0x37, 0xfa, 0x6d, 0xe4, - 0x90, 0xdf, 0xab, 0x9b, 0xf3, 0xff, 0xab, 0xd7, 0x6e, 0xdf, 0x0c, 0xff, 0x62, 0x79, 0x77, 0x8c, - 0x53, 0x5f, 0xf7, 0x87, 0xd9, 0xeb, 0x7f, 0x06, 0x00, 0x00, 0xff, 0xff, 0xb3, 0xbe, 0x52, 0x62, - 0x8f, 0x0d, 0x00, 0x00, + 0x13, 0x5f, 0xa7, 0xe9, 0x36, 0x99, 0x6c, 0x77, 0xf3, 0xb9, 0x69, 0x9b, 0x75, 0xab, 0xc4, 0x9f, + 0x11, 0x65, 0x41, 0x34, 0x61, 0x8b, 0xa8, 0x50, 0x85, 0x00, 0xc7, 0x71, 0x69, 0xda, 0x5d, 0x6f, + 0x70, 0xbc, 0x40, 0x2b, 0x90, 0xe5, 0x38, 0x67, 0x13, 0xab, 0x89, 0x4f, 0x1a, 0x3b, 0x49, 0x83, + 0x84, 0x84, 0xb8, 0x2a, 0x11, 0x17, 0xbc, 0x40, 0x24, 0x04, 0xe2, 0x39, 0xb8, 0x03, 0x2e, 0x7b, + 0xc9, 0x55, 0x40, 0xed, 0x1b, 0xe4, 0x09, 0x90, 0x7d, 0x4e, 0x62, 0x3b, 0xdb, 0xcd, 0x8a, 0x7f, + 0x77, 0xe7, 0xcc, 0x6f, 0xe6, 0x37, 0x73, 0x66, 0xc6, 0x73, 0x8e, 0x61, 0xd7, 0xaa, 0x9b, 0xc5, + 0xb6, 0xd5, 0x6c, 0xb9, 0x66, 0xdb, 0x42, 0xb6, 0xeb, 0x14, 0x1d, 0xdc, 0xc6, 0x1d, 0xc3, 0x6c, + 0x59, 0x36, 0x2a, 0x0e, 0x76, 0xc3, 0xdb, 0x42, 0xb7, 0x87, 0x5d, 0xcc, 0xe6, 0xad, 0xba, 0x59, + 0x08, 0x9b, 0x14, 0xc2, 0x3a, 0x83, 0x5d, 0xee, 0x15, 0x8f, 0xd3, 0xc4, 0x3d, 0x54, 0x34, 0xb1, + 0x6d, 0x23, 0xd3, 0xb5, 0xb0, 0xed, 0x51, 0x05, 0x3b, 0xc2, 0xc4, 0xfd, 0x3f, 0x50, 0x6c, 0x19, + 0xb6, 0x8d, 0xda, 0xbe, 0x16, 0x59, 0x52, 0x95, 0x4c, 0x13, 0x37, 0xb1, 0xbf, 0x2c, 0x7a, 0x2b, + 0x2a, 0xdd, 0x6e, 0x62, 0xdc, 0x6c, 0xa3, 0xa2, 0xbf, 0xab, 0xf7, 0x8f, 0x8a, 0x86, 0x3d, 0x22, + 0x90, 0xf0, 0x53, 0x0c, 0x52, 0x92, 0x1f, 0x57, 0xcd, 0x35, 0x5c, 0xc4, 0x72, 0x90, 0x70, 0xd0, + 0xa3, 0x3e, 0xb2, 0x4d, 0x94, 0x65, 0x78, 0x66, 0x27, 0xae, 0x2e, 0xf6, 0xec, 0x2e, 0x24, 0x2d, + 0x47, 0x3f, 0xea, 0xe1, 0xcf, 0x91, 0x9d, 0x8d, 0xf1, 0xcc, 0x4e, 0xa2, 0x94, 0x99, 0x4d, 0xf3, + 0xe9, 0x91, 0xd1, 0x69, 0xdf, 0x12, 0x16, 0x90, 0xa0, 0x26, 0x2c, 0xe7, 0xb6, 0xbf, 0x64, 0x5d, + 0xd8, 0x32, 0xb1, 0xed, 0x20, 0xdb, 0xe9, 0x3b, 0xba, 0xe3, 0x79, 0xc8, 0x9e, 0xe1, 0x99, 0x9d, + 0xd4, 0x8d, 0x62, 0xe1, 0x94, 0xb4, 0x14, 0xa4, 0xb9, 0x9d, 0x1f, 0x58, 0x89, 0x9b, 0x4d, 0xf3, + 0x97, 0x88, 0xa7, 0x25, 0x46, 0x41, 0xdd, 0x34, 0x23, 0xba, 0x2c, 0x82, 0x2b, 0x46, 0xbb, 0x8d, + 0x87, 0x7a, 0xbf, 0xdb, 0x30, 0x5c, 0xa4, 0x1b, 0x47, 0x2e, 0xea, 0xe9, 0xdd, 0x1e, 0xee, 0x62, + 0xc7, 0x68, 0x67, 0xe3, 0x7e, 0xe8, 0xd7, 0x66, 0xd3, 0xbc, 0x40, 0x08, 0x57, 0x28, 0x0b, 0x6a, + 0xd6, 0x47, 0x0f, 0x7d, 0x50, 0xf4, 0xb0, 0x2a, 0x85, 0x6e, 0xc5, 0x9f, 0x7c, 0x97, 0x5f, 0x13, + 0xbe, 0x67, 0x60, 0x33, 0x1a, 0x2b, 0x7b, 0x17, 0xa0, 0xdb, 0xaf, 0xb7, 0x2d, 0x53, 0x7f, 0x88, + 0x46, 0x7e, 0x1a, 0x53, 0x37, 0x32, 0x05, 0x52, 0x84, 0xc2, 0xbc, 0x08, 0x05, 0xd1, 0x1e, 0x95, + 0x2e, 0xce, 0xa6, 0xf9, 0xff, 0x91, 0x20, 0x02, 0x0b, 0x41, 0x4d, 0x92, 0xcd, 0x3d, 0x34, 0x62, + 0x79, 0x48, 0x35, 0xac, 0x01, 0xea, 0x39, 0xd6, 0x91, 0x85, 0x7a, 0x7e, 0xda, 0x93, 0x6a, 0x58, + 0xc4, 0x5e, 0x85, 0xa4, 0x6b, 0x75, 0x90, 0xe3, 0x1a, 0x9d, 0xae, 0x9f, 0xdd, 0xb8, 0x1a, 0x08, + 0x68, 0x90, 0x5f, 0xc5, 0x60, 0xfd, 0x0e, 0x32, 0x1a, 0xa8, 0xb7, 0xb2, 0xc2, 0x11, 0xaa, 0xd8, + 0x12, 0x95, 0x87, 0x3a, 0x56, 0xd3, 0x36, 0xdc, 0x7e, 0x8f, 0x94, 0x71, 0x43, 0x0d, 0x04, 0xec, + 0x21, 0x6c, 0xda, 0x68, 0xa8, 0x87, 0x0e, 0x1e, 0x5f, 0x71, 0xf0, 0xed, 0xd9, 0x34, 0x7f, 0x91, + 0x1c, 0x3c, 0x6a, 0x25, 0xa8, 0x1b, 0x36, 0x1a, 0x56, 0x17, 0xe7, 0x97, 0x60, 0xcb, 0x53, 0x08, + 0xe7, 0xe0, 0xac, 0x97, 0x83, 0x70, 0x43, 0x2c, 0x29, 0x08, 0xaa, 0x17, 0x49, 0x39, 0x10, 0xd0, + 0x24, 0xfc, 0x12, 0x83, 0x8d, 0x7d, 0xcb, 0xa9, 0xa3, 0x96, 0x31, 0xb0, 0x70, 0xbf, 0xe7, 0x35, + 0x34, 0x69, 0x3e, 0xdd, 0x6a, 0xf8, 0xb9, 0x48, 0x86, 0x1b, 0x7a, 0x01, 0x09, 0x6a, 0x82, 0xac, + 0x2b, 0x8d, 0x48, 0xf6, 0x62, 0x4b, 0xd9, 0xeb, 0xc2, 0xf9, 0x45, 0x3a, 0x74, 0x6c, 0xcf, 0x5b, + 0x7d, 0xf7, 0xd4, 0x56, 0xaf, 0xcd, 0xad, 0x44, 0xbb, 0x51, 0x36, 0x5c, 0xa3, 0x94, 0x9d, 0x4d, + 0xf3, 0x19, 0x12, 0x45, 0x84, 0x51, 0x50, 0x37, 0x16, 0xfb, 0x03, 0x7b, 0xc9, 0xa3, 0x3b, 0xc4, + 0x34, 0xe5, 0xff, 0x96, 0x47, 0x77, 0x88, 0xc3, 0x1e, 0xb5, 0x21, 0xa6, 0x99, 0xfc, 0x99, 0x81, + 0xf4, 0x32, 0x45, 0xb4, 0x3d, 0x98, 0xe5, 0xf6, 0xf8, 0x14, 0x92, 0x0d, 0xc3, 0x35, 0x74, 0x77, + 0xd4, 0x25, 0x99, 0xdb, 0xbc, 0xf1, 0xea, 0xa9, 0x61, 0x7a, 0xbc, 0xda, 0xa8, 0x8b, 0xc2, 0x65, + 0x59, 0xb0, 0x08, 0x6a, 0xa2, 0x41, 0x71, 0x96, 0x85, 0xb8, 0xb7, 0xa6, 0x5d, 0xe9, 0xaf, 0xa3, + 0xcd, 0x1c, 0x7f, 0xf1, 0x77, 0xf1, 0x25, 0x03, 0x59, 0x6d, 0x2e, 0x43, 0x8d, 0xc5, 0x99, 0xfc, + 0x03, 0xbd, 0x0f, 0x9b, 0x41, 0x2e, 0x7c, 0x7a, 0xff, 0x54, 0xe1, 0xde, 0x8d, 0xe2, 0x82, 0x1a, + 0x94, 0xa3, 0x7c, 0x2c, 0x84, 0xd8, 0x8b, 0x43, 0xf8, 0x9d, 0x81, 0xa4, 0xe7, 0xb7, 0x34, 0x72, + 0x91, 0xf3, 0x0f, 0xbe, 0xce, 0xa5, 0x41, 0x71, 0xe6, 0xf8, 0xa0, 0x88, 0x94, 0x20, 0xfe, 0x5f, + 0x95, 0xe0, 0x6c, 0x50, 0x02, 0x7a, 0xc2, 0x1f, 0x19, 0x00, 0x32, 0x7c, 0xfc, 0xa4, 0xec, 0x41, + 0x8a, 0x7e, 0xf2, 0xa7, 0x8e, 0xc7, 0x4b, 0xb3, 0x69, 0x9e, 0x8d, 0x4c, 0x09, 0x3a, 0x1f, 0xc9, + 0x88, 0x38, 0x61, 0x3e, 0xc4, 0xfe, 0xe6, 0x7c, 0xf8, 0x02, 0xb6, 0x42, 0x57, 0xa1, 0x1f, 0x2b, + 0x0b, 0xf1, 0xae, 0xe1, 0xb6, 0x68, 0x3b, 0xfb, 0x6b, 0xb6, 0x0a, 0x1b, 0x74, 0x34, 0x90, 0x0b, + 0x2d, 0xb6, 0xe2, 0x00, 0x97, 0x67, 0xd3, 0xfc, 0x85, 0xc8, 0x38, 0xa1, 0x57, 0x56, 0xca, 0x0c, + 0x3c, 0x51, 0xf7, 0x5f, 0x33, 0xc0, 0x46, 0x2f, 0x92, 0x13, 0x43, 0xb8, 0x7f, 0xfc, 0x5a, 0x5d, + 0x15, 0xc5, 0x5f, 0xb8, 0x3b, 0x69, 0x2c, 0x03, 0xb8, 0x20, 0x2d, 0x9e, 0x1f, 0xab, 0x63, 0x91, + 0x01, 0x82, 0x97, 0x0a, 0x0d, 0xe3, 0x65, 0xbf, 0xad, 0xbc, 0xa7, 0x4a, 0x21, 0xf4, 0x8a, 0x21, + 0x97, 0x3a, 0xdd, 0xc9, 0x76, 0x43, 0x0d, 0x19, 0x52, 0xbf, 0x0d, 0x48, 0x4b, 0xe4, 0x41, 0xb3, + 0xda, 0xe9, 0x4d, 0x38, 0x47, 0x1f, 0x3e, 0xd4, 0xe3, 0xd5, 0x90, 0x47, 0xfa, 0x22, 0xf2, 0xdc, + 0x91, 0xa5, 0x3a, 0x57, 0xa6, 0x5e, 0xee, 0x42, 0xa6, 0x6a, 0x98, 0x0f, 0x91, 0x2b, 0xe1, 0x4e, + 0xc7, 0x72, 0x3b, 0xc8, 0x76, 0x4f, 0xf4, 0x94, 0xf3, 0x8e, 0x37, 0xd7, 0xf2, 0x9d, 0x6d, 0xa8, + 0x21, 0x89, 0x70, 0x1f, 0xb6, 0x09, 0x97, 0x68, 0x3e, 0xb4, 0xf1, 0xb0, 0x8d, 0x1a, 0x4d, 0xb4, + 0x92, 0x70, 0x07, 0xb6, 0x8c, 0xa8, 0x2a, 0x65, 0x5d, 0x16, 0x0b, 0x05, 0xc8, 0x12, 0x6a, 0x15, + 0x99, 0xc8, 0xea, 0xba, 0x62, 0xdd, 0xf1, 0xe6, 0xc0, 0x49, 0xcc, 0x42, 0x0b, 0x32, 0x0a, 0x7a, + 0xec, 0xd6, 0xe8, 0xbc, 0x50, 0x91, 0x39, 0x38, 0x31, 0x8a, 0x77, 0xe0, 0xbc, 0x8d, 0x1e, 0xbb, + 0xba, 0x83, 0x1e, 0xe9, 0x3d, 0x64, 0x0e, 0xc8, 0x3c, 0x09, 0x5f, 0x03, 0x11, 0x58, 0x50, 0x53, + 0x36, 0xa1, 0xf6, 0x58, 0x5f, 0xfb, 0x26, 0x0e, 0x89, 0xf9, 0x60, 0x60, 0xdf, 0x86, 0x97, 0xca, + 0xa2, 0x26, 0xea, 0xda, 0xfd, 0xaa, 0xac, 0x1f, 0x2a, 0x15, 0xa5, 0xa2, 0x55, 0xc4, 0xbd, 0xca, + 0x03, 0xb9, 0xac, 0x1f, 0x2a, 0xb5, 0xaa, 0x2c, 0x55, 0x6e, 0x57, 0xe4, 0x72, 0x7a, 0x8d, 0xdb, + 0x1a, 0x4f, 0xf8, 0x54, 0x48, 0xc4, 0x5e, 0x83, 0x4b, 0x81, 0xa5, 0xb4, 0x57, 0x91, 0x15, 0x4d, + 0xaf, 0x69, 0xa2, 0x26, 0xa7, 0x19, 0x0e, 0xc6, 0x13, 0x7e, 0x9d, 0xc8, 0xd8, 0xd7, 0x61, 0x3b, + 0xa4, 0x77, 0xa0, 0xd4, 0x64, 0xa5, 0x76, 0x58, 0xa3, 0xaa, 0x31, 0xee, 0xfc, 0x78, 0xc2, 0x27, + 0x17, 0x62, 0xb6, 0x00, 0x5c, 0x44, 0x5b, 0x91, 0x25, 0xad, 0x72, 0xa0, 0x50, 0xf5, 0x33, 0xdc, + 0xe6, 0x78, 0xc2, 0x43, 0x20, 0x67, 0x77, 0xe0, 0x72, 0x48, 0xff, 0x8e, 0xa8, 0x28, 0xf2, 0x1e, + 0x55, 0x8e, 0x73, 0xa9, 0xf1, 0x84, 0x3f, 0x47, 0x85, 0xec, 0x5b, 0x70, 0x25, 0xd0, 0xac, 0x8a, + 0xd2, 0x3d, 0x59, 0xd3, 0xa5, 0x83, 0xfd, 0xfd, 0x8a, 0xb6, 0x2f, 0x2b, 0x5a, 0xfa, 0x2c, 0x97, + 0x19, 0x4f, 0xf8, 0x34, 0x01, 0x02, 0x39, 0xfb, 0x1e, 0xf0, 0xc7, 0xcc, 0x44, 0xe9, 0x9e, 0x72, + 0xf0, 0xf1, 0x9e, 0x5c, 0xfe, 0x40, 0xf6, 0x6d, 0xd7, 0xb9, 0xed, 0xf1, 0x84, 0xbf, 0x48, 0xd0, + 0x25, 0x90, 0x7d, 0xf7, 0x05, 0x04, 0xaa, 0x2c, 0xc9, 0x95, 0xaa, 0xa6, 0x8b, 0xa5, 0x9a, 0xac, + 0x48, 0x72, 0xfa, 0x1c, 0x97, 0x1d, 0x4f, 0xf8, 0x0c, 0x41, 0x29, 0x48, 0x31, 0xf6, 0x26, 0x5c, + 0x0d, 0xec, 0x15, 0xf9, 0x13, 0x4d, 0xaf, 0xc9, 0x1f, 0x1e, 0x7a, 0x90, 0x47, 0xf3, 0x51, 0x3a, + 0x41, 0x02, 0xf7, 0x90, 0x39, 0xe0, 0xc9, 0x59, 0x1e, 0xd2, 0x81, 0xdd, 0x1d, 0x59, 0x2c, 0xcb, + 0x6a, 0x3a, 0x49, 0x2a, 0x43, 0x76, 0x5c, 0xfc, 0xc9, 0x0f, 0xb9, 0xb5, 0xd2, 0x67, 0xbf, 0x3e, + 0xcb, 0x31, 0x4f, 0x9f, 0xe5, 0x98, 0x3f, 0x9e, 0xe5, 0x98, 0x6f, 0x9f, 0xe7, 0xd6, 0x9e, 0x3e, + 0xcf, 0xad, 0xfd, 0xf6, 0x3c, 0xb7, 0xf6, 0x40, 0x6a, 0x5a, 0x6e, 0xab, 0x5f, 0x2f, 0x98, 0xb8, + 0x53, 0x34, 0xb1, 0xd3, 0xc1, 0x4e, 0xd1, 0xaa, 0x9b, 0xd7, 0x9b, 0xb8, 0xd8, 0xc1, 0x8d, 0x7e, + 0x1b, 0x39, 0xe4, 0x67, 0xea, 0xfa, 0xfc, 0x6f, 0xea, 0x8d, 0x9b, 0xd7, 0xc3, 0x3f, 0x54, 0xde, + 0x1d, 0xe3, 0xd4, 0xd7, 0xfd, 0x61, 0xf6, 0xe6, 0x9f, 0x01, 0x00, 0x00, 0xff, 0xff, 0x0f, 0x57, + 0xaf, 0x1b, 0x7d, 0x0d, 0x00, 0x00, } func (m *ClientState) Marshal() (dAtA []byte, err error) { @@ -954,8 +954,13 @@ func (m *ClientState) MarshalToSizedBuffer(dAtA []byte) (int, error) { i-- dAtA[i] = 0x1a } - if m.FrozenSequence != 0 { - i = encodeVarintSolomachine(dAtA, i, uint64(m.FrozenSequence)) + if m.IsFrozen { + i-- + if m.IsFrozen { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } i-- dAtA[i] = 0x10 } @@ -1635,8 +1640,8 @@ func (m *ClientState) Size() (n int) { if m.Sequence != 0 { n += 1 + sovSolomachine(uint64(m.Sequence)) } - if m.FrozenSequence != 0 { - n += 1 + sovSolomachine(uint64(m.FrozenSequence)) + if m.IsFrozen { + n += 2 } if m.ConsensusState != nil { l = m.ConsensusState.Size() @@ -1988,9 +1993,9 @@ func (m *ClientState) Unmarshal(dAtA []byte) error { } case 2: if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field FrozenSequence", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field IsFrozen", wireType) } - m.FrozenSequence = 0 + var v int for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowSolomachine @@ -2000,11 +2005,12 @@ func (m *ClientState) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.FrozenSequence |= uint64(b&0x7F) << shift + v |= int(b&0x7F) << shift if b < 0x80 { break } } + m.IsFrozen = bool(v != 0) case 3: if wireType != 2 { return fmt.Errorf("proto: wrong wireType = %d for field ConsensusState", wireType) diff --git a/modules/light-clients/06-solomachine/types/update_test.go b/modules/light-clients/06-solomachine/types/update_test.go index 5df5cb7233b..ba605d15941 100644 --- a/modules/light-clients/06-solomachine/types/update_test.go +++ b/modules/light-clients/06-solomachine/types/update_test.go @@ -167,7 +167,7 @@ func (suite *SoloMachineTestSuite) TestCheckHeaderAndUpdateState() { if tc.expPass { suite.Require().NoError(err) suite.Require().Equal(header.(*types.Header).NewPublicKey, clientState.(*types.ClientState).ConsensusState.PublicKey) - suite.Require().Equal(uint64(0), clientState.(*types.ClientState).FrozenSequence) + suite.Require().Equal(false, clientState.(*types.ClientState).IsFrozen) suite.Require().Equal(header.(*types.Header).Sequence+1, clientState.(*types.ClientState).Sequence) suite.Require().Equal(consensusState, clientState.(*types.ClientState).ConsensusState) } else { diff --git a/proto/ibc/lightclients/solomachine/v1/solomachine.proto b/proto/ibc/lightclients/solomachine/v1/solomachine.proto index 68f0c1ea4e4..cb80262b431 100644 --- a/proto/ibc/lightclients/solomachine/v1/solomachine.proto +++ b/proto/ibc/lightclients/solomachine/v1/solomachine.proto @@ -16,7 +16,7 @@ message ClientState { // latest sequence of the client state uint64 sequence = 1; // frozen sequence of the solo machine - uint64 frozen_sequence = 2 [(gogoproto.moretags) = "yaml:\"frozen_sequence\""]; + bool is_frozen = 2 [(gogoproto.moretags) = "yaml:\"is_frozen\""]; ConsensusState consensus_state = 3 [(gogoproto.moretags) = "yaml:\"consensus_state\""]; // when set to true, will allow governance to update a solo machine client. // The client will be unfrozen if it is frozen. diff --git a/testing/sdk_test.go b/testing/sdk_test.go index caef571cd43..e58debd2806 100644 --- a/testing/sdk_test.go +++ b/testing/sdk_test.go @@ -198,12 +198,12 @@ func (s *IntegrationTestSuite) TestLegacyRestErrMessages() { // a solo machine client state clientStateJSON := testutil.WriteToNewTempFile( s.T(), - `{"@type":"/ibc.lightclients.solomachine.v1.ClientState","sequence":"1","frozen_sequence":"0","consensus_state":{"public_key":{"@type":"/cosmos.crypto.secp256k1.PubKey","key":"AtK50+5pJOoaa04qqAqrnyAqsYrwrR/INnA6UPIaYZlp"},"diversifier":"testing","timestamp":"10"},"allow_update_after_proposal":false}`, + `{"@type":"/ibc.lightclients.solomachine.v1.ClientState","sequence":"1","is_frozen":false,"consensus_state":{"public_key":{"@type":"/cosmos.crypto.secp256k1.PubKey","key":"AtK50+5pJOoaa04qqAqrnyAqsYrwrR/INnA6UPIaYZlp"},"diversifier":"testing","timestamp":"10"},"allow_update_after_proposal":false}`, ) badClientStateJSON := testutil.WriteToNewTempFile( s.T(), - `{"@type":"/ibc.lightclients.solomachine.v1.ClientState","sequence":"1","frozen_sequence":"0","consensus_state":{"public_key":{"@type":"/cosmos.crypto.secp256k1.PubKey","key":"AtK50+5pJOoaa04qqAqrnyAqsYrwrR/INnA6UPIaYZlp"},"diversifier":"DIFFERENT","timestamp":"10"},"allow_update_after_proposal":false}`, + `{"@type":"/ibc.lightclients.solomachine.v1.ClientState","sequence":"1","is_frozen":false,"consensus_state":{"public_key":{"@type":"/cosmos.crypto.secp256k1.PubKey","key":"AtK50+5pJOoaa04qqAqrnyAqsYrwrR/INnA6UPIaYZlp"},"diversifier":"DIFFERENT","timestamp":"10"},"allow_update_after_proposal":false}`, ) // Write consensus json to temp file, used for an IBC message. From 24f95e56845715ab6a9d79f3629f178e96edbed2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Colin=20Axn=C3=A9r?= <25233464+colin-axner@users.noreply.github.com> Date: Mon, 10 May 2021 19:57:49 +0200 Subject: [PATCH 2/4] add changelog --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index c5cf8818544..32f8fe60232 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -45,6 +45,7 @@ Ref: https://keepachangelog.com/en/1.0.0/ ### API Breaking +* (06-solomachine) [\#169](https://github.com/cosmos/ibc-go/pull/169) Change FrozenSequence to boolean in solomachine ClientState. * (modules) [\#162](https://github.com/cosmos/ibc-go/pull/162) Remove deprecated Handler types in core IBC and the ICS 20 transfer module. * (modules/core) [\#161](https://github.com/cosmos/ibc-go/pull/161) Remove Type(), Route(), GetSignBytes() from 02-client, 03-connection, and 04-channel messages. * (modules) [\#140](https://github.com/cosmos/ibc-go/pull/140) IsFrozen() client state interface changed to Status(). gRPC `ClientStatus` route added. From b83acdb255947600f98cf9f7380651140ae7c129 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Colin=20Axn=C3=A9r?= <25233464+colin-axner@users.noreply.github.com> Date: Tue, 11 May 2021 13:02:13 +0200 Subject: [PATCH 3/4] solo machine protobuf v1 -> v2 --- docs/ibc/proto-docs.md | 84 +++--- .../06-solomachine/types/solomachine.pb.go | 256 +++++++++--------- .../solomachine/{v1 => v2}/solomachine.proto | 2 +- 3 files changed, 171 insertions(+), 171 deletions(-) rename proto/ibc/lightclients/solomachine/{v1 => v2}/solomachine.proto (99%) diff --git a/docs/ibc/proto-docs.md b/docs/ibc/proto-docs.md index 3750ca61fe4..67c1741efed 100644 --- a/docs/ibc/proto-docs.md +++ b/docs/ibc/proto-docs.md @@ -194,25 +194,25 @@ - [ibc/lightclients/localhost/v1/localhost.proto](#ibc/lightclients/localhost/v1/localhost.proto) - [ClientState](#ibc.lightclients.localhost.v1.ClientState) -- [ibc/lightclients/solomachine/v1/solomachine.proto](#ibc/lightclients/solomachine/v1/solomachine.proto) - - [ChannelStateData](#ibc.lightclients.solomachine.v1.ChannelStateData) - - [ClientState](#ibc.lightclients.solomachine.v1.ClientState) - - [ClientStateData](#ibc.lightclients.solomachine.v1.ClientStateData) - - [ConnectionStateData](#ibc.lightclients.solomachine.v1.ConnectionStateData) - - [ConsensusState](#ibc.lightclients.solomachine.v1.ConsensusState) - - [ConsensusStateData](#ibc.lightclients.solomachine.v1.ConsensusStateData) - - [Header](#ibc.lightclients.solomachine.v1.Header) - - [HeaderData](#ibc.lightclients.solomachine.v1.HeaderData) - - [Misbehaviour](#ibc.lightclients.solomachine.v1.Misbehaviour) - - [NextSequenceRecvData](#ibc.lightclients.solomachine.v1.NextSequenceRecvData) - - [PacketAcknowledgementData](#ibc.lightclients.solomachine.v1.PacketAcknowledgementData) - - [PacketCommitmentData](#ibc.lightclients.solomachine.v1.PacketCommitmentData) - - [PacketReceiptAbsenceData](#ibc.lightclients.solomachine.v1.PacketReceiptAbsenceData) - - [SignBytes](#ibc.lightclients.solomachine.v1.SignBytes) - - [SignatureAndData](#ibc.lightclients.solomachine.v1.SignatureAndData) - - [TimestampedSignatureData](#ibc.lightclients.solomachine.v1.TimestampedSignatureData) +- [ibc/lightclients/solomachine/v2/solomachine.proto](#ibc/lightclients/solomachine/v2/solomachine.proto) + - [ChannelStateData](#ibc.lightclients.solomachine.v2.ChannelStateData) + - [ClientState](#ibc.lightclients.solomachine.v2.ClientState) + - [ClientStateData](#ibc.lightclients.solomachine.v2.ClientStateData) + - [ConnectionStateData](#ibc.lightclients.solomachine.v2.ConnectionStateData) + - [ConsensusState](#ibc.lightclients.solomachine.v2.ConsensusState) + - [ConsensusStateData](#ibc.lightclients.solomachine.v2.ConsensusStateData) + - [Header](#ibc.lightclients.solomachine.v2.Header) + - [HeaderData](#ibc.lightclients.solomachine.v2.HeaderData) + - [Misbehaviour](#ibc.lightclients.solomachine.v2.Misbehaviour) + - [NextSequenceRecvData](#ibc.lightclients.solomachine.v2.NextSequenceRecvData) + - [PacketAcknowledgementData](#ibc.lightclients.solomachine.v2.PacketAcknowledgementData) + - [PacketCommitmentData](#ibc.lightclients.solomachine.v2.PacketCommitmentData) + - [PacketReceiptAbsenceData](#ibc.lightclients.solomachine.v2.PacketReceiptAbsenceData) + - [SignBytes](#ibc.lightclients.solomachine.v2.SignBytes) + - [SignatureAndData](#ibc.lightclients.solomachine.v2.SignatureAndData) + - [TimestampedSignatureData](#ibc.lightclients.solomachine.v2.TimestampedSignatureData) - - [DataType](#ibc.lightclients.solomachine.v1.DataType) + - [DataType](#ibc.lightclients.solomachine.v2.DataType) - [ibc/lightclients/tendermint/v1/tendermint.proto](#ibc/lightclients/tendermint/v1/tendermint.proto) - [ClientState](#ibc.lightclients.tendermint.v1.ClientState) @@ -2905,14 +2905,14 @@ access to keys outside the client prefix. - +

Top

-## ibc/lightclients/solomachine/v1/solomachine.proto +## ibc/lightclients/solomachine/v2/solomachine.proto - + ### ChannelStateData ChannelStateData returns the SignBytes data for channel state @@ -2929,7 +2929,7 @@ verification. - + ### ClientState ClientState defines a solo machine client that tracks the current consensus @@ -2940,7 +2940,7 @@ state and if the client is frozen. | ----- | ---- | ----- | ----------- | | `sequence` | [uint64](#uint64) | | latest sequence of the client state | | `is_frozen` | [bool](#bool) | | frozen sequence of the solo machine | -| `consensus_state` | [ConsensusState](#ibc.lightclients.solomachine.v1.ConsensusState) | | | +| `consensus_state` | [ConsensusState](#ibc.lightclients.solomachine.v2.ConsensusState) | | | | `allow_update_after_proposal` | [bool](#bool) | | when set to true, will allow governance to update a solo machine client. The client will be unfrozen if it is frozen. | @@ -2948,7 +2948,7 @@ state and if the client is frozen. - + ### ClientStateData ClientStateData returns the SignBytes data for client state verification. @@ -2964,7 +2964,7 @@ ClientStateData returns the SignBytes data for client state verification. - + ### ConnectionStateData ConnectionStateData returns the SignBytes data for connection state @@ -2981,7 +2981,7 @@ verification. - + ### ConsensusState ConsensusState defines a solo machine consensus state. The sequence of a @@ -3000,7 +3000,7 @@ consensus state. - + ### ConsensusStateData ConsensusStateData returns the SignBytes data for consensus state @@ -3017,7 +3017,7 @@ verification. - + ### Header Header defines a solo machine consensus header @@ -3036,7 +3036,7 @@ Header defines a solo machine consensus header - + ### HeaderData HeaderData returns the SignBytes data for update verification. @@ -3052,7 +3052,7 @@ HeaderData returns the SignBytes data for update verification. - + ### Misbehaviour Misbehaviour defines misbehaviour for a solo machine which consists @@ -3063,15 +3063,15 @@ of a sequence and two signatures over different messages at that sequence. | ----- | ---- | ----- | ----------- | | `client_id` | [string](#string) | | | | `sequence` | [uint64](#uint64) | | | -| `signature_one` | [SignatureAndData](#ibc.lightclients.solomachine.v1.SignatureAndData) | | | -| `signature_two` | [SignatureAndData](#ibc.lightclients.solomachine.v1.SignatureAndData) | | | +| `signature_one` | [SignatureAndData](#ibc.lightclients.solomachine.v2.SignatureAndData) | | | +| `signature_two` | [SignatureAndData](#ibc.lightclients.solomachine.v2.SignatureAndData) | | | - + ### NextSequenceRecvData NextSequenceRecvData returns the SignBytes data for verification of the next @@ -3088,7 +3088,7 @@ sequence to be received. - + ### PacketAcknowledgementData PacketAcknowledgementData returns the SignBytes data for acknowledgement @@ -3105,7 +3105,7 @@ verification. - + ### PacketCommitmentData PacketCommitmentData returns the SignBytes data for packet commitment @@ -3122,7 +3122,7 @@ verification. - + ### PacketReceiptAbsenceData PacketReceiptAbsenceData returns the SignBytes data for @@ -3138,7 +3138,7 @@ packet receipt absence verification. - + ### SignBytes SignBytes defines the signed bytes used for signature verification. @@ -3149,7 +3149,7 @@ SignBytes defines the signed bytes used for signature verification. | `sequence` | [uint64](#uint64) | | | | `timestamp` | [uint64](#uint64) | | | | `diversifier` | [string](#string) | | | -| `data_type` | [DataType](#ibc.lightclients.solomachine.v1.DataType) | | type of the data used | +| `data_type` | [DataType](#ibc.lightclients.solomachine.v2.DataType) | | type of the data used | | `data` | [bytes](#bytes) | | marshaled data | @@ -3157,7 +3157,7 @@ SignBytes defines the signed bytes used for signature verification. - + ### SignatureAndData SignatureAndData contains a signature and the data signed over to create that @@ -3167,7 +3167,7 @@ signature. | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | `signature` | [bytes](#bytes) | | | -| `data_type` | [DataType](#ibc.lightclients.solomachine.v1.DataType) | | | +| `data_type` | [DataType](#ibc.lightclients.solomachine.v2.DataType) | | | | `data` | [bytes](#bytes) | | | | `timestamp` | [uint64](#uint64) | | | @@ -3176,7 +3176,7 @@ signature. - + ### TimestampedSignatureData TimestampedSignatureData contains the signature data and the timestamp of the @@ -3195,7 +3195,7 @@ signature. - + ### DataType DataType defines the type of solo machine proof being created. This is done diff --git a/modules/light-clients/06-solomachine/types/solomachine.pb.go b/modules/light-clients/06-solomachine/types/solomachine.pb.go index 88b96b8be34..aa050302c79 100644 --- a/modules/light-clients/06-solomachine/types/solomachine.pb.go +++ b/modules/light-clients/06-solomachine/types/solomachine.pb.go @@ -1,5 +1,5 @@ // Code generated by protoc-gen-gogo. DO NOT EDIT. -// source: ibc/lightclients/solomachine/v1/solomachine.proto +// source: ibc/lightclients/solomachine/v2/solomachine.proto package types @@ -84,7 +84,7 @@ func (x DataType) String() string { } func (DataType) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_6cc2ee18f7f86d4e, []int{0} + return fileDescriptor_141333b361aae010, []int{0} } // ClientState defines a solo machine client that tracks the current consensus @@ -104,7 +104,7 @@ func (m *ClientState) Reset() { *m = ClientState{} } func (m *ClientState) String() string { return proto.CompactTextString(m) } func (*ClientState) ProtoMessage() {} func (*ClientState) Descriptor() ([]byte, []int) { - return fileDescriptor_6cc2ee18f7f86d4e, []int{0} + return fileDescriptor_141333b361aae010, []int{0} } func (m *ClientState) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -150,7 +150,7 @@ func (m *ConsensusState) Reset() { *m = ConsensusState{} } func (m *ConsensusState) String() string { return proto.CompactTextString(m) } func (*ConsensusState) ProtoMessage() {} func (*ConsensusState) Descriptor() ([]byte, []int) { - return fileDescriptor_6cc2ee18f7f86d4e, []int{1} + return fileDescriptor_141333b361aae010, []int{1} } func (m *ConsensusState) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -193,7 +193,7 @@ func (m *Header) Reset() { *m = Header{} } func (m *Header) String() string { return proto.CompactTextString(m) } func (*Header) ProtoMessage() {} func (*Header) Descriptor() ([]byte, []int) { - return fileDescriptor_6cc2ee18f7f86d4e, []int{2} + return fileDescriptor_141333b361aae010, []int{2} } func (m *Header) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -235,7 +235,7 @@ func (m *Misbehaviour) Reset() { *m = Misbehaviour{} } func (m *Misbehaviour) String() string { return proto.CompactTextString(m) } func (*Misbehaviour) ProtoMessage() {} func (*Misbehaviour) Descriptor() ([]byte, []int) { - return fileDescriptor_6cc2ee18f7f86d4e, []int{3} + return fileDescriptor_141333b361aae010, []int{3} } func (m *Misbehaviour) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -268,7 +268,7 @@ var xxx_messageInfo_Misbehaviour proto.InternalMessageInfo // signature. type SignatureAndData struct { Signature []byte `protobuf:"bytes,1,opt,name=signature,proto3" json:"signature,omitempty"` - DataType DataType `protobuf:"varint,2,opt,name=data_type,json=dataType,proto3,enum=ibc.lightclients.solomachine.v1.DataType" json:"data_type,omitempty" yaml:"data_type"` + DataType DataType `protobuf:"varint,2,opt,name=data_type,json=dataType,proto3,enum=ibc.lightclients.solomachine.v2.DataType" json:"data_type,omitempty" yaml:"data_type"` Data []byte `protobuf:"bytes,3,opt,name=data,proto3" json:"data,omitempty"` Timestamp uint64 `protobuf:"varint,4,opt,name=timestamp,proto3" json:"timestamp,omitempty"` } @@ -277,7 +277,7 @@ func (m *SignatureAndData) Reset() { *m = SignatureAndData{} } func (m *SignatureAndData) String() string { return proto.CompactTextString(m) } func (*SignatureAndData) ProtoMessage() {} func (*SignatureAndData) Descriptor() ([]byte, []int) { - return fileDescriptor_6cc2ee18f7f86d4e, []int{4} + return fileDescriptor_141333b361aae010, []int{4} } func (m *SignatureAndData) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -317,7 +317,7 @@ func (m *TimestampedSignatureData) Reset() { *m = TimestampedSignatureDa func (m *TimestampedSignatureData) String() string { return proto.CompactTextString(m) } func (*TimestampedSignatureData) ProtoMessage() {} func (*TimestampedSignatureData) Descriptor() ([]byte, []int) { - return fileDescriptor_6cc2ee18f7f86d4e, []int{5} + return fileDescriptor_141333b361aae010, []int{5} } func (m *TimestampedSignatureData) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -352,7 +352,7 @@ type SignBytes struct { Timestamp uint64 `protobuf:"varint,2,opt,name=timestamp,proto3" json:"timestamp,omitempty"` Diversifier string `protobuf:"bytes,3,opt,name=diversifier,proto3" json:"diversifier,omitempty"` // type of the data used - DataType DataType `protobuf:"varint,4,opt,name=data_type,json=dataType,proto3,enum=ibc.lightclients.solomachine.v1.DataType" json:"data_type,omitempty" yaml:"data_type"` + DataType DataType `protobuf:"varint,4,opt,name=data_type,json=dataType,proto3,enum=ibc.lightclients.solomachine.v2.DataType" json:"data_type,omitempty" yaml:"data_type"` // marshaled data Data []byte `protobuf:"bytes,5,opt,name=data,proto3" json:"data,omitempty"` } @@ -361,7 +361,7 @@ func (m *SignBytes) Reset() { *m = SignBytes{} } func (m *SignBytes) String() string { return proto.CompactTextString(m) } func (*SignBytes) ProtoMessage() {} func (*SignBytes) Descriptor() ([]byte, []int) { - return fileDescriptor_6cc2ee18f7f86d4e, []int{6} + return fileDescriptor_141333b361aae010, []int{6} } func (m *SignBytes) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -402,7 +402,7 @@ func (m *HeaderData) Reset() { *m = HeaderData{} } func (m *HeaderData) String() string { return proto.CompactTextString(m) } func (*HeaderData) ProtoMessage() {} func (*HeaderData) Descriptor() ([]byte, []int) { - return fileDescriptor_6cc2ee18f7f86d4e, []int{7} + return fileDescriptor_141333b361aae010, []int{7} } func (m *HeaderData) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -441,7 +441,7 @@ func (m *ClientStateData) Reset() { *m = ClientStateData{} } func (m *ClientStateData) String() string { return proto.CompactTextString(m) } func (*ClientStateData) ProtoMessage() {} func (*ClientStateData) Descriptor() ([]byte, []int) { - return fileDescriptor_6cc2ee18f7f86d4e, []int{8} + return fileDescriptor_141333b361aae010, []int{8} } func (m *ClientStateData) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -481,7 +481,7 @@ func (m *ConsensusStateData) Reset() { *m = ConsensusStateData{} } func (m *ConsensusStateData) String() string { return proto.CompactTextString(m) } func (*ConsensusStateData) ProtoMessage() {} func (*ConsensusStateData) Descriptor() ([]byte, []int) { - return fileDescriptor_6cc2ee18f7f86d4e, []int{9} + return fileDescriptor_141333b361aae010, []int{9} } func (m *ConsensusStateData) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -521,7 +521,7 @@ func (m *ConnectionStateData) Reset() { *m = ConnectionStateData{} } func (m *ConnectionStateData) String() string { return proto.CompactTextString(m) } func (*ConnectionStateData) ProtoMessage() {} func (*ConnectionStateData) Descriptor() ([]byte, []int) { - return fileDescriptor_6cc2ee18f7f86d4e, []int{10} + return fileDescriptor_141333b361aae010, []int{10} } func (m *ConnectionStateData) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -561,7 +561,7 @@ func (m *ChannelStateData) Reset() { *m = ChannelStateData{} } func (m *ChannelStateData) String() string { return proto.CompactTextString(m) } func (*ChannelStateData) ProtoMessage() {} func (*ChannelStateData) Descriptor() ([]byte, []int) { - return fileDescriptor_6cc2ee18f7f86d4e, []int{11} + return fileDescriptor_141333b361aae010, []int{11} } func (m *ChannelStateData) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -601,7 +601,7 @@ func (m *PacketCommitmentData) Reset() { *m = PacketCommitmentData{} } func (m *PacketCommitmentData) String() string { return proto.CompactTextString(m) } func (*PacketCommitmentData) ProtoMessage() {} func (*PacketCommitmentData) Descriptor() ([]byte, []int) { - return fileDescriptor_6cc2ee18f7f86d4e, []int{12} + return fileDescriptor_141333b361aae010, []int{12} } func (m *PacketCommitmentData) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -655,7 +655,7 @@ func (m *PacketAcknowledgementData) Reset() { *m = PacketAcknowledgement func (m *PacketAcknowledgementData) String() string { return proto.CompactTextString(m) } func (*PacketAcknowledgementData) ProtoMessage() {} func (*PacketAcknowledgementData) Descriptor() ([]byte, []int) { - return fileDescriptor_6cc2ee18f7f86d4e, []int{13} + return fileDescriptor_141333b361aae010, []int{13} } func (m *PacketAcknowledgementData) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -708,7 +708,7 @@ func (m *PacketReceiptAbsenceData) Reset() { *m = PacketReceiptAbsenceDa func (m *PacketReceiptAbsenceData) String() string { return proto.CompactTextString(m) } func (*PacketReceiptAbsenceData) ProtoMessage() {} func (*PacketReceiptAbsenceData) Descriptor() ([]byte, []int) { - return fileDescriptor_6cc2ee18f7f86d4e, []int{14} + return fileDescriptor_141333b361aae010, []int{14} } func (m *PacketReceiptAbsenceData) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -755,7 +755,7 @@ func (m *NextSequenceRecvData) Reset() { *m = NextSequenceRecvData{} } func (m *NextSequenceRecvData) String() string { return proto.CompactTextString(m) } func (*NextSequenceRecvData) ProtoMessage() {} func (*NextSequenceRecvData) Descriptor() ([]byte, []int) { - return fileDescriptor_6cc2ee18f7f86d4e, []int{15} + return fileDescriptor_141333b361aae010, []int{15} } func (m *NextSequenceRecvData) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -799,117 +799,117 @@ func (m *NextSequenceRecvData) GetNextSeqRecv() uint64 { } func init() { - proto.RegisterEnum("ibc.lightclients.solomachine.v1.DataType", DataType_name, DataType_value) - proto.RegisterType((*ClientState)(nil), "ibc.lightclients.solomachine.v1.ClientState") - proto.RegisterType((*ConsensusState)(nil), "ibc.lightclients.solomachine.v1.ConsensusState") - proto.RegisterType((*Header)(nil), "ibc.lightclients.solomachine.v1.Header") - proto.RegisterType((*Misbehaviour)(nil), "ibc.lightclients.solomachine.v1.Misbehaviour") - proto.RegisterType((*SignatureAndData)(nil), "ibc.lightclients.solomachine.v1.SignatureAndData") - proto.RegisterType((*TimestampedSignatureData)(nil), "ibc.lightclients.solomachine.v1.TimestampedSignatureData") - proto.RegisterType((*SignBytes)(nil), "ibc.lightclients.solomachine.v1.SignBytes") - proto.RegisterType((*HeaderData)(nil), "ibc.lightclients.solomachine.v1.HeaderData") - proto.RegisterType((*ClientStateData)(nil), "ibc.lightclients.solomachine.v1.ClientStateData") - proto.RegisterType((*ConsensusStateData)(nil), "ibc.lightclients.solomachine.v1.ConsensusStateData") - proto.RegisterType((*ConnectionStateData)(nil), "ibc.lightclients.solomachine.v1.ConnectionStateData") - proto.RegisterType((*ChannelStateData)(nil), "ibc.lightclients.solomachine.v1.ChannelStateData") - proto.RegisterType((*PacketCommitmentData)(nil), "ibc.lightclients.solomachine.v1.PacketCommitmentData") - proto.RegisterType((*PacketAcknowledgementData)(nil), "ibc.lightclients.solomachine.v1.PacketAcknowledgementData") - proto.RegisterType((*PacketReceiptAbsenceData)(nil), "ibc.lightclients.solomachine.v1.PacketReceiptAbsenceData") - proto.RegisterType((*NextSequenceRecvData)(nil), "ibc.lightclients.solomachine.v1.NextSequenceRecvData") + proto.RegisterEnum("ibc.lightclients.solomachine.v2.DataType", DataType_name, DataType_value) + proto.RegisterType((*ClientState)(nil), "ibc.lightclients.solomachine.v2.ClientState") + proto.RegisterType((*ConsensusState)(nil), "ibc.lightclients.solomachine.v2.ConsensusState") + proto.RegisterType((*Header)(nil), "ibc.lightclients.solomachine.v2.Header") + proto.RegisterType((*Misbehaviour)(nil), "ibc.lightclients.solomachine.v2.Misbehaviour") + proto.RegisterType((*SignatureAndData)(nil), "ibc.lightclients.solomachine.v2.SignatureAndData") + proto.RegisterType((*TimestampedSignatureData)(nil), "ibc.lightclients.solomachine.v2.TimestampedSignatureData") + proto.RegisterType((*SignBytes)(nil), "ibc.lightclients.solomachine.v2.SignBytes") + proto.RegisterType((*HeaderData)(nil), "ibc.lightclients.solomachine.v2.HeaderData") + proto.RegisterType((*ClientStateData)(nil), "ibc.lightclients.solomachine.v2.ClientStateData") + proto.RegisterType((*ConsensusStateData)(nil), "ibc.lightclients.solomachine.v2.ConsensusStateData") + proto.RegisterType((*ConnectionStateData)(nil), "ibc.lightclients.solomachine.v2.ConnectionStateData") + proto.RegisterType((*ChannelStateData)(nil), "ibc.lightclients.solomachine.v2.ChannelStateData") + proto.RegisterType((*PacketCommitmentData)(nil), "ibc.lightclients.solomachine.v2.PacketCommitmentData") + proto.RegisterType((*PacketAcknowledgementData)(nil), "ibc.lightclients.solomachine.v2.PacketAcknowledgementData") + proto.RegisterType((*PacketReceiptAbsenceData)(nil), "ibc.lightclients.solomachine.v2.PacketReceiptAbsenceData") + proto.RegisterType((*NextSequenceRecvData)(nil), "ibc.lightclients.solomachine.v2.NextSequenceRecvData") } func init() { - proto.RegisterFile("ibc/lightclients/solomachine/v1/solomachine.proto", fileDescriptor_6cc2ee18f7f86d4e) -} - -var fileDescriptor_6cc2ee18f7f86d4e = []byte{ - // 1366 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x57, 0xdf, 0x8e, 0xdb, 0x54, - 0x13, 0x5f, 0xa7, 0xe9, 0x36, 0x99, 0x6c, 0x77, 0xf3, 0xb9, 0x69, 0x9b, 0x75, 0xab, 0xc4, 0x9f, - 0x11, 0x65, 0x41, 0x34, 0x61, 0x8b, 0xa8, 0x50, 0x85, 0x00, 0xc7, 0x71, 0x69, 0xda, 0x5d, 0x6f, - 0x70, 0xbc, 0x40, 0x2b, 0x90, 0xe5, 0x38, 0x67, 0x13, 0xab, 0x89, 0x4f, 0x1a, 0x3b, 0x49, 0x83, - 0x84, 0x84, 0xb8, 0x2a, 0x11, 0x17, 0xbc, 0x40, 0x24, 0x04, 0xe2, 0x39, 0xb8, 0x03, 0x2e, 0x7b, - 0xc9, 0x55, 0x40, 0xed, 0x1b, 0xe4, 0x09, 0x90, 0x7d, 0x4e, 0x62, 0x3b, 0xdb, 0xcd, 0x8a, 0x7f, - 0x77, 0xe7, 0xcc, 0x6f, 0xe6, 0x37, 0x73, 0x66, 0xc6, 0x73, 0x8e, 0x61, 0xd7, 0xaa, 0x9b, 0xc5, - 0xb6, 0xd5, 0x6c, 0xb9, 0x66, 0xdb, 0x42, 0xb6, 0xeb, 0x14, 0x1d, 0xdc, 0xc6, 0x1d, 0xc3, 0x6c, - 0x59, 0x36, 0x2a, 0x0e, 0x76, 0xc3, 0xdb, 0x42, 0xb7, 0x87, 0x5d, 0xcc, 0xe6, 0xad, 0xba, 0x59, - 0x08, 0x9b, 0x14, 0xc2, 0x3a, 0x83, 0x5d, 0xee, 0x15, 0x8f, 0xd3, 0xc4, 0x3d, 0x54, 0x34, 0xb1, - 0x6d, 0x23, 0xd3, 0xb5, 0xb0, 0xed, 0x51, 0x05, 0x3b, 0xc2, 0xc4, 0xfd, 0x3f, 0x50, 0x6c, 0x19, - 0xb6, 0x8d, 0xda, 0xbe, 0x16, 0x59, 0x52, 0x95, 0x4c, 0x13, 0x37, 0xb1, 0xbf, 0x2c, 0x7a, 0x2b, - 0x2a, 0xdd, 0x6e, 0x62, 0xdc, 0x6c, 0xa3, 0xa2, 0xbf, 0xab, 0xf7, 0x8f, 0x8a, 0x86, 0x3d, 0x22, - 0x90, 0xf0, 0x53, 0x0c, 0x52, 0x92, 0x1f, 0x57, 0xcd, 0x35, 0x5c, 0xc4, 0x72, 0x90, 0x70, 0xd0, - 0xa3, 0x3e, 0xb2, 0x4d, 0x94, 0x65, 0x78, 0x66, 0x27, 0xae, 0x2e, 0xf6, 0xec, 0x2e, 0x24, 0x2d, - 0x47, 0x3f, 0xea, 0xe1, 0xcf, 0x91, 0x9d, 0x8d, 0xf1, 0xcc, 0x4e, 0xa2, 0x94, 0x99, 0x4d, 0xf3, - 0xe9, 0x91, 0xd1, 0x69, 0xdf, 0x12, 0x16, 0x90, 0xa0, 0x26, 0x2c, 0xe7, 0xb6, 0xbf, 0x64, 0x5d, - 0xd8, 0x32, 0xb1, 0xed, 0x20, 0xdb, 0xe9, 0x3b, 0xba, 0xe3, 0x79, 0xc8, 0x9e, 0xe1, 0x99, 0x9d, - 0xd4, 0x8d, 0x62, 0xe1, 0x94, 0xb4, 0x14, 0xa4, 0xb9, 0x9d, 0x1f, 0x58, 0x89, 0x9b, 0x4d, 0xf3, - 0x97, 0x88, 0xa7, 0x25, 0x46, 0x41, 0xdd, 0x34, 0x23, 0xba, 0x2c, 0x82, 0x2b, 0x46, 0xbb, 0x8d, - 0x87, 0x7a, 0xbf, 0xdb, 0x30, 0x5c, 0xa4, 0x1b, 0x47, 0x2e, 0xea, 0xe9, 0xdd, 0x1e, 0xee, 0x62, - 0xc7, 0x68, 0x67, 0xe3, 0x7e, 0xe8, 0xd7, 0x66, 0xd3, 0xbc, 0x40, 0x08, 0x57, 0x28, 0x0b, 0x6a, - 0xd6, 0x47, 0x0f, 0x7d, 0x50, 0xf4, 0xb0, 0x2a, 0x85, 0x6e, 0xc5, 0x9f, 0x7c, 0x97, 0x5f, 0x13, - 0xbe, 0x67, 0x60, 0x33, 0x1a, 0x2b, 0x7b, 0x17, 0xa0, 0xdb, 0xaf, 0xb7, 0x2d, 0x53, 0x7f, 0x88, - 0x46, 0x7e, 0x1a, 0x53, 0x37, 0x32, 0x05, 0x52, 0x84, 0xc2, 0xbc, 0x08, 0x05, 0xd1, 0x1e, 0x95, - 0x2e, 0xce, 0xa6, 0xf9, 0xff, 0x91, 0x20, 0x02, 0x0b, 0x41, 0x4d, 0x92, 0xcd, 0x3d, 0x34, 0x62, - 0x79, 0x48, 0x35, 0xac, 0x01, 0xea, 0x39, 0xd6, 0x91, 0x85, 0x7a, 0x7e, 0xda, 0x93, 0x6a, 0x58, - 0xc4, 0x5e, 0x85, 0xa4, 0x6b, 0x75, 0x90, 0xe3, 0x1a, 0x9d, 0xae, 0x9f, 0xdd, 0xb8, 0x1a, 0x08, - 0x68, 0x90, 0x5f, 0xc5, 0x60, 0xfd, 0x0e, 0x32, 0x1a, 0xa8, 0xb7, 0xb2, 0xc2, 0x11, 0xaa, 0xd8, - 0x12, 0x95, 0x87, 0x3a, 0x56, 0xd3, 0x36, 0xdc, 0x7e, 0x8f, 0x94, 0x71, 0x43, 0x0d, 0x04, 0xec, - 0x21, 0x6c, 0xda, 0x68, 0xa8, 0x87, 0x0e, 0x1e, 0x5f, 0x71, 0xf0, 0xed, 0xd9, 0x34, 0x7f, 0x91, - 0x1c, 0x3c, 0x6a, 0x25, 0xa8, 0x1b, 0x36, 0x1a, 0x56, 0x17, 0xe7, 0x97, 0x60, 0xcb, 0x53, 0x08, - 0xe7, 0xe0, 0xac, 0x97, 0x83, 0x70, 0x43, 0x2c, 0x29, 0x08, 0xaa, 0x17, 0x49, 0x39, 0x10, 0xd0, - 0x24, 0xfc, 0x12, 0x83, 0x8d, 0x7d, 0xcb, 0xa9, 0xa3, 0x96, 0x31, 0xb0, 0x70, 0xbf, 0xe7, 0x35, - 0x34, 0x69, 0x3e, 0xdd, 0x6a, 0xf8, 0xb9, 0x48, 0x86, 0x1b, 0x7a, 0x01, 0x09, 0x6a, 0x82, 0xac, - 0x2b, 0x8d, 0x48, 0xf6, 0x62, 0x4b, 0xd9, 0xeb, 0xc2, 0xf9, 0x45, 0x3a, 0x74, 0x6c, 0xcf, 0x5b, - 0x7d, 0xf7, 0xd4, 0x56, 0xaf, 0xcd, 0xad, 0x44, 0xbb, 0x51, 0x36, 0x5c, 0xa3, 0x94, 0x9d, 0x4d, - 0xf3, 0x19, 0x12, 0x45, 0x84, 0x51, 0x50, 0x37, 0x16, 0xfb, 0x03, 0x7b, 0xc9, 0xa3, 0x3b, 0xc4, - 0x34, 0xe5, 0xff, 0x96, 0x47, 0x77, 0x88, 0xc3, 0x1e, 0xb5, 0x21, 0xa6, 0x99, 0xfc, 0x99, 0x81, - 0xf4, 0x32, 0x45, 0xb4, 0x3d, 0x98, 0xe5, 0xf6, 0xf8, 0x14, 0x92, 0x0d, 0xc3, 0x35, 0x74, 0x77, - 0xd4, 0x25, 0x99, 0xdb, 0xbc, 0xf1, 0xea, 0xa9, 0x61, 0x7a, 0xbc, 0xda, 0xa8, 0x8b, 0xc2, 0x65, - 0x59, 0xb0, 0x08, 0x6a, 0xa2, 0x41, 0x71, 0x96, 0x85, 0xb8, 0xb7, 0xa6, 0x5d, 0xe9, 0xaf, 0xa3, - 0xcd, 0x1c, 0x7f, 0xf1, 0x77, 0xf1, 0x25, 0x03, 0x59, 0x6d, 0x2e, 0x43, 0x8d, 0xc5, 0x99, 0xfc, - 0x03, 0xbd, 0x0f, 0x9b, 0x41, 0x2e, 0x7c, 0x7a, 0xff, 0x54, 0xe1, 0xde, 0x8d, 0xe2, 0x82, 0x1a, - 0x94, 0xa3, 0x7c, 0x2c, 0x84, 0xd8, 0x8b, 0x43, 0xf8, 0x9d, 0x81, 0xa4, 0xe7, 0xb7, 0x34, 0x72, - 0x91, 0xf3, 0x0f, 0xbe, 0xce, 0xa5, 0x41, 0x71, 0xe6, 0xf8, 0xa0, 0x88, 0x94, 0x20, 0xfe, 0x5f, - 0x95, 0xe0, 0x6c, 0x50, 0x02, 0x7a, 0xc2, 0x1f, 0x19, 0x00, 0x32, 0x7c, 0xfc, 0xa4, 0xec, 0x41, - 0x8a, 0x7e, 0xf2, 0xa7, 0x8e, 0xc7, 0x4b, 0xb3, 0x69, 0x9e, 0x8d, 0x4c, 0x09, 0x3a, 0x1f, 0xc9, - 0x88, 0x38, 0x61, 0x3e, 0xc4, 0xfe, 0xe6, 0x7c, 0xf8, 0x02, 0xb6, 0x42, 0x57, 0xa1, 0x1f, 0x2b, - 0x0b, 0xf1, 0xae, 0xe1, 0xb6, 0x68, 0x3b, 0xfb, 0x6b, 0xb6, 0x0a, 0x1b, 0x74, 0x34, 0x90, 0x0b, - 0x2d, 0xb6, 0xe2, 0x00, 0x97, 0x67, 0xd3, 0xfc, 0x85, 0xc8, 0x38, 0xa1, 0x57, 0x56, 0xca, 0x0c, - 0x3c, 0x51, 0xf7, 0x5f, 0x33, 0xc0, 0x46, 0x2f, 0x92, 0x13, 0x43, 0xb8, 0x7f, 0xfc, 0x5a, 0x5d, - 0x15, 0xc5, 0x5f, 0xb8, 0x3b, 0x69, 0x2c, 0x03, 0xb8, 0x20, 0x2d, 0x9e, 0x1f, 0xab, 0x63, 0x91, - 0x01, 0x82, 0x97, 0x0a, 0x0d, 0xe3, 0x65, 0xbf, 0xad, 0xbc, 0xa7, 0x4a, 0x21, 0xf4, 0x8a, 0x21, - 0x97, 0x3a, 0xdd, 0xc9, 0x76, 0x43, 0x0d, 0x19, 0x52, 0xbf, 0x0d, 0x48, 0x4b, 0xe4, 0x41, 0xb3, - 0xda, 0xe9, 0x4d, 0x38, 0x47, 0x1f, 0x3e, 0xd4, 0xe3, 0xd5, 0x90, 0x47, 0xfa, 0x22, 0xf2, 0xdc, - 0x91, 0xa5, 0x3a, 0x57, 0xa6, 0x5e, 0xee, 0x42, 0xa6, 0x6a, 0x98, 0x0f, 0x91, 0x2b, 0xe1, 0x4e, - 0xc7, 0x72, 0x3b, 0xc8, 0x76, 0x4f, 0xf4, 0x94, 0xf3, 0x8e, 0x37, 0xd7, 0xf2, 0x9d, 0x6d, 0xa8, - 0x21, 0x89, 0x70, 0x1f, 0xb6, 0x09, 0x97, 0x68, 0x3e, 0xb4, 0xf1, 0xb0, 0x8d, 0x1a, 0x4d, 0xb4, - 0x92, 0x70, 0x07, 0xb6, 0x8c, 0xa8, 0x2a, 0x65, 0x5d, 0x16, 0x0b, 0x05, 0xc8, 0x12, 0x6a, 0x15, - 0x99, 0xc8, 0xea, 0xba, 0x62, 0xdd, 0xf1, 0xe6, 0xc0, 0x49, 0xcc, 0x42, 0x0b, 0x32, 0x0a, 0x7a, - 0xec, 0xd6, 0xe8, 0xbc, 0x50, 0x91, 0x39, 0x38, 0x31, 0x8a, 0x77, 0xe0, 0xbc, 0x8d, 0x1e, 0xbb, - 0xba, 0x83, 0x1e, 0xe9, 0x3d, 0x64, 0x0e, 0xc8, 0x3c, 0x09, 0x5f, 0x03, 0x11, 0x58, 0x50, 0x53, - 0x36, 0xa1, 0xf6, 0x58, 0x5f, 0xfb, 0x26, 0x0e, 0x89, 0xf9, 0x60, 0x60, 0xdf, 0x86, 0x97, 0xca, - 0xa2, 0x26, 0xea, 0xda, 0xfd, 0xaa, 0xac, 0x1f, 0x2a, 0x15, 0xa5, 0xa2, 0x55, 0xc4, 0xbd, 0xca, - 0x03, 0xb9, 0xac, 0x1f, 0x2a, 0xb5, 0xaa, 0x2c, 0x55, 0x6e, 0x57, 0xe4, 0x72, 0x7a, 0x8d, 0xdb, - 0x1a, 0x4f, 0xf8, 0x54, 0x48, 0xc4, 0x5e, 0x83, 0x4b, 0x81, 0xa5, 0xb4, 0x57, 0x91, 0x15, 0x4d, - 0xaf, 0x69, 0xa2, 0x26, 0xa7, 0x19, 0x0e, 0xc6, 0x13, 0x7e, 0x9d, 0xc8, 0xd8, 0xd7, 0x61, 0x3b, - 0xa4, 0x77, 0xa0, 0xd4, 0x64, 0xa5, 0x76, 0x58, 0xa3, 0xaa, 0x31, 0xee, 0xfc, 0x78, 0xc2, 0x27, - 0x17, 0x62, 0xb6, 0x00, 0x5c, 0x44, 0x5b, 0x91, 0x25, 0xad, 0x72, 0xa0, 0x50, 0xf5, 0x33, 0xdc, - 0xe6, 0x78, 0xc2, 0x43, 0x20, 0x67, 0x77, 0xe0, 0x72, 0x48, 0xff, 0x8e, 0xa8, 0x28, 0xf2, 0x1e, - 0x55, 0x8e, 0x73, 0xa9, 0xf1, 0x84, 0x3f, 0x47, 0x85, 0xec, 0x5b, 0x70, 0x25, 0xd0, 0xac, 0x8a, - 0xd2, 0x3d, 0x59, 0xd3, 0xa5, 0x83, 0xfd, 0xfd, 0x8a, 0xb6, 0x2f, 0x2b, 0x5a, 0xfa, 0x2c, 0x97, - 0x19, 0x4f, 0xf8, 0x34, 0x01, 0x02, 0x39, 0xfb, 0x1e, 0xf0, 0xc7, 0xcc, 0x44, 0xe9, 0x9e, 0x72, - 0xf0, 0xf1, 0x9e, 0x5c, 0xfe, 0x40, 0xf6, 0x6d, 0xd7, 0xb9, 0xed, 0xf1, 0x84, 0xbf, 0x48, 0xd0, - 0x25, 0x90, 0x7d, 0xf7, 0x05, 0x04, 0xaa, 0x2c, 0xc9, 0x95, 0xaa, 0xa6, 0x8b, 0xa5, 0x9a, 0xac, - 0x48, 0x72, 0xfa, 0x1c, 0x97, 0x1d, 0x4f, 0xf8, 0x0c, 0x41, 0x29, 0x48, 0x31, 0xf6, 0x26, 0x5c, - 0x0d, 0xec, 0x15, 0xf9, 0x13, 0x4d, 0xaf, 0xc9, 0x1f, 0x1e, 0x7a, 0x90, 0x47, 0xf3, 0x51, 0x3a, - 0x41, 0x02, 0xf7, 0x90, 0x39, 0xe0, 0xc9, 0x59, 0x1e, 0xd2, 0x81, 0xdd, 0x1d, 0x59, 0x2c, 0xcb, - 0x6a, 0x3a, 0x49, 0x2a, 0x43, 0x76, 0x5c, 0xfc, 0xc9, 0x0f, 0xb9, 0xb5, 0xd2, 0x67, 0xbf, 0x3e, - 0xcb, 0x31, 0x4f, 0x9f, 0xe5, 0x98, 0x3f, 0x9e, 0xe5, 0x98, 0x6f, 0x9f, 0xe7, 0xd6, 0x9e, 0x3e, - 0xcf, 0xad, 0xfd, 0xf6, 0x3c, 0xb7, 0xf6, 0x40, 0x6a, 0x5a, 0x6e, 0xab, 0x5f, 0x2f, 0x98, 0xb8, - 0x53, 0x34, 0xb1, 0xd3, 0xc1, 0x4e, 0xd1, 0xaa, 0x9b, 0xd7, 0x9b, 0xb8, 0xd8, 0xc1, 0x8d, 0x7e, - 0x1b, 0x39, 0xe4, 0x67, 0xea, 0xfa, 0xfc, 0x6f, 0xea, 0x8d, 0x9b, 0xd7, 0xc3, 0x3f, 0x54, 0xde, - 0x1d, 0xe3, 0xd4, 0xd7, 0xfd, 0x61, 0xf6, 0xe6, 0x9f, 0x01, 0x00, 0x00, 0xff, 0xff, 0x0f, 0x57, - 0xaf, 0x1b, 0x7d, 0x0d, 0x00, 0x00, + proto.RegisterFile("ibc/lightclients/solomachine/v2/solomachine.proto", fileDescriptor_141333b361aae010) +} + +var fileDescriptor_141333b361aae010 = []byte{ + // 1370 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x57, 0x5f, 0x8f, 0xdb, 0xd4, + 0x12, 0x5f, 0xa7, 0xe9, 0x36, 0x99, 0x6c, 0x77, 0x73, 0xdd, 0xb4, 0xcd, 0xba, 0x55, 0xe2, 0xeb, + 0xab, 0xdb, 0xbb, 0x17, 0xd1, 0x84, 0x5d, 0x44, 0x85, 0x2a, 0x04, 0x38, 0x8e, 0x4b, 0xd3, 0xee, + 0x7a, 0x83, 0xe3, 0x05, 0x5a, 0x81, 0x2c, 0xc7, 0x39, 0x9b, 0x58, 0x4d, 0x7c, 0xd2, 0xd8, 0x49, + 0x1a, 0x24, 0x24, 0xc4, 0x53, 0x89, 0x78, 0xe0, 0x0b, 0x44, 0x42, 0x20, 0x3e, 0x07, 0x6f, 0xc0, + 0x63, 0x1f, 0x79, 0x0a, 0xa8, 0xfd, 0x06, 0xf9, 0x04, 0xc8, 0x3e, 0x27, 0xb1, 0x9d, 0xed, 0x66, + 0xc5, 0xbf, 0xb7, 0x73, 0xe6, 0x37, 0xf3, 0x9b, 0x39, 0x33, 0xe3, 0x39, 0xc7, 0xb0, 0x6b, 0xd5, + 0xcd, 0x62, 0xdb, 0x6a, 0xb6, 0x5c, 0xb3, 0x6d, 0x21, 0xdb, 0x75, 0x8a, 0x0e, 0x6e, 0xe3, 0x8e, + 0x61, 0xb6, 0x2c, 0x1b, 0x15, 0x07, 0x7b, 0xe1, 0x6d, 0xa1, 0xdb, 0xc3, 0x2e, 0x66, 0xf3, 0x56, + 0xdd, 0x2c, 0x84, 0x4d, 0x0a, 0x61, 0x9d, 0xc1, 0x1e, 0xf7, 0x3f, 0x8f, 0xd3, 0xc4, 0x3d, 0x54, + 0x34, 0xb1, 0x6d, 0x23, 0xd3, 0xb5, 0xb0, 0x5d, 0x1c, 0xec, 0x86, 0x76, 0x84, 0x89, 0xfb, 0x77, + 0xa0, 0xd8, 0x32, 0x6c, 0x1b, 0xb5, 0x7d, 0x2d, 0xb2, 0xa4, 0x2a, 0x99, 0x26, 0x6e, 0x62, 0x7f, + 0x59, 0xf4, 0x56, 0x54, 0xba, 0xdd, 0xc4, 0xb8, 0xd9, 0x46, 0x45, 0x7f, 0x57, 0xef, 0x1f, 0x17, + 0x0d, 0x7b, 0x44, 0x20, 0xe1, 0x87, 0x18, 0xa4, 0x24, 0x3f, 0xae, 0x9a, 0x6b, 0xb8, 0x88, 0xe5, + 0x20, 0xe1, 0xa0, 0xc7, 0x7d, 0x64, 0x9b, 0x28, 0xcb, 0xf0, 0xcc, 0x4e, 0x5c, 0x5d, 0xec, 0xd9, + 0x5d, 0x48, 0x5a, 0x8e, 0x7e, 0xdc, 0xc3, 0x9f, 0x22, 0x3b, 0x1b, 0xe3, 0x99, 0x9d, 0x44, 0x29, + 0x33, 0x9b, 0xe6, 0xd3, 0x23, 0xa3, 0xd3, 0xbe, 0x2d, 0x2c, 0x20, 0x41, 0x4d, 0x58, 0xce, 0x1d, + 0x7f, 0xc9, 0xba, 0xb0, 0x65, 0x62, 0xdb, 0x41, 0xb6, 0xd3, 0x77, 0x74, 0xc7, 0xf3, 0x90, 0x3d, + 0xc7, 0x33, 0x3b, 0xa9, 0xbd, 0x62, 0xe1, 0x8c, 0xb4, 0x14, 0xa4, 0xb9, 0x9d, 0x1f, 0x58, 0x89, + 0x9b, 0x4d, 0xf3, 0x57, 0x88, 0xa7, 0x25, 0x46, 0x41, 0xdd, 0x34, 0x23, 0xba, 0x2c, 0x82, 0x6b, + 0x46, 0xbb, 0x8d, 0x87, 0x7a, 0xbf, 0xdb, 0x30, 0x5c, 0xa4, 0x1b, 0xc7, 0x2e, 0xea, 0xe9, 0xdd, + 0x1e, 0xee, 0x62, 0xc7, 0x68, 0x67, 0xe3, 0x7e, 0xe8, 0x37, 0x66, 0xd3, 0xbc, 0x40, 0x08, 0x57, + 0x28, 0x0b, 0x6a, 0xd6, 0x47, 0x8f, 0x7c, 0x50, 0xf4, 0xb0, 0x2a, 0x85, 0x6e, 0xc7, 0x9f, 0x7e, + 0x93, 0x5f, 0x13, 0xbe, 0x65, 0x60, 0x33, 0x1a, 0x2b, 0x7b, 0x0f, 0xa0, 0xdb, 0xaf, 0xb7, 0x2d, + 0x53, 0x7f, 0x84, 0x46, 0x7e, 0x1a, 0x53, 0x7b, 0x99, 0x02, 0x29, 0x42, 0x61, 0x5e, 0x84, 0x82, + 0x68, 0x8f, 0x4a, 0x97, 0x67, 0xd3, 0xfc, 0xbf, 0x48, 0x10, 0x81, 0x85, 0xa0, 0x26, 0xc9, 0xe6, + 0x3e, 0x1a, 0xb1, 0x3c, 0xa4, 0x1a, 0xd6, 0x00, 0xf5, 0x1c, 0xeb, 0xd8, 0x42, 0x3d, 0x3f, 0xed, + 0x49, 0x35, 0x2c, 0x62, 0xaf, 0x43, 0xd2, 0xb5, 0x3a, 0xc8, 0x71, 0x8d, 0x4e, 0xd7, 0xcf, 0x6e, + 0x5c, 0x0d, 0x04, 0x34, 0xc8, 0x2f, 0x62, 0xb0, 0x7e, 0x17, 0x19, 0x0d, 0xd4, 0x5b, 0x59, 0xe1, + 0x08, 0x55, 0x6c, 0x89, 0xca, 0x43, 0x1d, 0xab, 0x69, 0x1b, 0x6e, 0xbf, 0x47, 0xca, 0xb8, 0xa1, + 0x06, 0x02, 0xf6, 0x08, 0x36, 0x6d, 0x34, 0xd4, 0x43, 0x07, 0x8f, 0xaf, 0x38, 0xf8, 0xf6, 0x6c, + 0x9a, 0xbf, 0x4c, 0x0e, 0x1e, 0xb5, 0x12, 0xd4, 0x0d, 0x1b, 0x0d, 0xab, 0x8b, 0xf3, 0x4b, 0xb0, + 0xe5, 0x29, 0x84, 0x73, 0x70, 0xde, 0xcb, 0x41, 0xb8, 0x21, 0x96, 0x14, 0x04, 0xd5, 0x8b, 0xa4, + 0x1c, 0x08, 0x68, 0x12, 0x7e, 0x8a, 0xc1, 0xc6, 0x81, 0xe5, 0xd4, 0x51, 0xcb, 0x18, 0x58, 0xb8, + 0xdf, 0xf3, 0x1a, 0x9a, 0x34, 0x9f, 0x6e, 0x35, 0xfc, 0x5c, 0x24, 0xc3, 0x0d, 0xbd, 0x80, 0x04, + 0x35, 0x41, 0xd6, 0x95, 0x46, 0x24, 0x7b, 0xb1, 0xa5, 0xec, 0x75, 0xe1, 0xe2, 0x22, 0x1d, 0x3a, + 0xb6, 0xe7, 0xad, 0xbe, 0x7b, 0x66, 0xab, 0xd7, 0xe6, 0x56, 0xa2, 0xdd, 0x28, 0x1b, 0xae, 0x51, + 0xca, 0xce, 0xa6, 0xf9, 0x0c, 0x89, 0x22, 0xc2, 0x28, 0xa8, 0x1b, 0x8b, 0xfd, 0xa1, 0xbd, 0xe4, + 0xd1, 0x1d, 0x62, 0x9a, 0xf2, 0xbf, 0xcb, 0xa3, 0x3b, 0xc4, 0x61, 0x8f, 0xda, 0x10, 0xd3, 0x4c, + 0xfe, 0xc8, 0x40, 0x7a, 0x99, 0x22, 0xda, 0x1e, 0xcc, 0x72, 0x7b, 0x7c, 0x0c, 0xc9, 0x86, 0xe1, + 0x1a, 0xba, 0x3b, 0xea, 0x92, 0xcc, 0x6d, 0xee, 0xfd, 0xff, 0xcc, 0x30, 0x3d, 0x5e, 0x6d, 0xd4, + 0x45, 0xe1, 0xb2, 0x2c, 0x58, 0x04, 0x35, 0xd1, 0xa0, 0x38, 0xcb, 0x42, 0xdc, 0x5b, 0xd3, 0xae, + 0xf4, 0xd7, 0xd1, 0x66, 0x8e, 0xbf, 0xfc, 0xbb, 0xf8, 0x9c, 0x81, 0xac, 0x36, 0x97, 0xa1, 0xc6, + 0xe2, 0x4c, 0xfe, 0x81, 0xde, 0x85, 0xcd, 0x20, 0x17, 0x3e, 0xbd, 0x7f, 0xaa, 0x70, 0xef, 0x46, + 0x71, 0x41, 0x0d, 0xca, 0x51, 0x3e, 0x11, 0x42, 0xec, 0xe5, 0x21, 0xfc, 0xca, 0x40, 0xd2, 0xf3, + 0x5b, 0x1a, 0xb9, 0xc8, 0xf9, 0x0b, 0x5f, 0xe7, 0xd2, 0xa0, 0x38, 0x77, 0x72, 0x50, 0x44, 0x4a, + 0x10, 0xff, 0xa7, 0x4a, 0x70, 0x3e, 0x28, 0x01, 0x3d, 0xe1, 0xf7, 0x0c, 0x00, 0x19, 0x3e, 0x7e, + 0x52, 0xf6, 0x21, 0x45, 0x3f, 0xf9, 0x33, 0xc7, 0xe3, 0x95, 0xd9, 0x34, 0xcf, 0x46, 0xa6, 0x04, + 0x9d, 0x8f, 0x64, 0x44, 0x9c, 0x32, 0x1f, 0x62, 0x7f, 0x72, 0x3e, 0x7c, 0x06, 0x5b, 0xa1, 0xab, + 0xd0, 0x8f, 0x95, 0x85, 0x78, 0xd7, 0x70, 0x5b, 0xb4, 0x9d, 0xfd, 0x35, 0x5b, 0x85, 0x0d, 0x3a, + 0x1a, 0xc8, 0x85, 0x16, 0x5b, 0x71, 0x80, 0xab, 0xb3, 0x69, 0xfe, 0x52, 0x64, 0x9c, 0xd0, 0x2b, + 0x2b, 0x65, 0x06, 0x9e, 0xa8, 0xfb, 0x2f, 0x19, 0x60, 0xa3, 0x17, 0xc9, 0xa9, 0x21, 0x3c, 0x38, + 0x79, 0xad, 0xae, 0x8a, 0xe2, 0x0f, 0xdc, 0x9d, 0x34, 0x96, 0x01, 0x5c, 0x92, 0x16, 0xcf, 0x8f, + 0xd5, 0xb1, 0xc8, 0x00, 0xc1, 0x4b, 0x85, 0x86, 0xf1, 0x5f, 0xbf, 0xad, 0xbc, 0xa7, 0x4a, 0x21, + 0xf4, 0x8a, 0x19, 0xec, 0x16, 0x02, 0x52, 0xd9, 0x6e, 0xa8, 0x21, 0x43, 0xea, 0xb7, 0x01, 0x69, + 0x89, 0x3c, 0x68, 0x56, 0x3b, 0xbd, 0x05, 0x17, 0xe8, 0xc3, 0x87, 0x7a, 0xbc, 0x1e, 0xf2, 0x48, + 0x5f, 0x44, 0x9e, 0x3b, 0xb2, 0x54, 0xe7, 0xca, 0xd4, 0xcb, 0x3d, 0xc8, 0x54, 0x0d, 0xf3, 0x11, + 0x72, 0x25, 0xdc, 0xe9, 0x58, 0x6e, 0x07, 0xd9, 0xee, 0xa9, 0x9e, 0x72, 0xde, 0xf1, 0xe6, 0x5a, + 0xbe, 0xb3, 0x0d, 0x35, 0x24, 0x11, 0x1e, 0xc0, 0x36, 0xe1, 0x12, 0xcd, 0x47, 0x36, 0x1e, 0xb6, + 0x51, 0xa3, 0x89, 0x56, 0x12, 0xee, 0xc0, 0x96, 0x11, 0x55, 0xa5, 0xac, 0xcb, 0x62, 0xa1, 0x00, + 0x59, 0x42, 0xad, 0x22, 0x13, 0x59, 0x5d, 0x57, 0xac, 0x3b, 0xde, 0x1c, 0x38, 0x8d, 0x59, 0x68, + 0x41, 0x46, 0x41, 0x4f, 0xdc, 0x1a, 0x9d, 0x17, 0x2a, 0x32, 0x07, 0xa7, 0x46, 0xf1, 0x16, 0x5c, + 0xb4, 0xd1, 0x13, 0x57, 0x77, 0xd0, 0x63, 0xbd, 0x87, 0xcc, 0x01, 0x99, 0x27, 0xe1, 0x6b, 0x20, + 0x02, 0x0b, 0x6a, 0xca, 0x26, 0xd4, 0x1e, 0xeb, 0x2b, 0x5f, 0xc5, 0x21, 0x31, 0x1f, 0x0c, 0xec, + 0x9b, 0xf0, 0x9f, 0xb2, 0xa8, 0x89, 0xba, 0xf6, 0xa0, 0x2a, 0xeb, 0x47, 0x4a, 0x45, 0xa9, 0x68, + 0x15, 0x71, 0xbf, 0xf2, 0x50, 0x2e, 0xeb, 0x47, 0x4a, 0xad, 0x2a, 0x4b, 0x95, 0x3b, 0x15, 0xb9, + 0x9c, 0x5e, 0xe3, 0xb6, 0xc6, 0x13, 0x3e, 0x15, 0x12, 0xb1, 0x37, 0xe0, 0x4a, 0x60, 0x29, 0xed, + 0x57, 0x64, 0x45, 0xd3, 0x6b, 0x9a, 0xa8, 0xc9, 0x69, 0x86, 0x83, 0xf1, 0x84, 0x5f, 0x27, 0x32, + 0xf6, 0x55, 0xd8, 0x0e, 0xe9, 0x1d, 0x2a, 0x35, 0x59, 0xa9, 0x1d, 0xd5, 0xa8, 0x6a, 0x8c, 0xbb, + 0x38, 0x9e, 0xf0, 0xc9, 0x85, 0x98, 0x2d, 0x00, 0x17, 0xd1, 0x56, 0x64, 0x49, 0xab, 0x1c, 0x2a, + 0x54, 0xfd, 0x1c, 0xb7, 0x39, 0x9e, 0xf0, 0x10, 0xc8, 0xd9, 0x1d, 0xb8, 0x1a, 0xd2, 0xbf, 0x2b, + 0x2a, 0x8a, 0xbc, 0x4f, 0x95, 0xe3, 0x5c, 0x6a, 0x3c, 0xe1, 0x2f, 0x50, 0x21, 0xfb, 0x06, 0x5c, + 0x0b, 0x34, 0xab, 0xa2, 0x74, 0x5f, 0xd6, 0x74, 0xe9, 0xf0, 0xe0, 0xa0, 0xa2, 0x1d, 0xc8, 0x8a, + 0x96, 0x3e, 0xcf, 0x65, 0xc6, 0x13, 0x3e, 0x4d, 0x80, 0x40, 0xce, 0xbe, 0x03, 0xfc, 0x09, 0x33, + 0x51, 0xba, 0xaf, 0x1c, 0x7e, 0xb8, 0x2f, 0x97, 0xdf, 0x93, 0x7d, 0xdb, 0x75, 0x6e, 0x7b, 0x3c, + 0xe1, 0x2f, 0x13, 0x74, 0x09, 0x64, 0xdf, 0x7e, 0x09, 0x81, 0x2a, 0x4b, 0x72, 0xa5, 0xaa, 0xe9, + 0x62, 0xa9, 0x26, 0x2b, 0x92, 0x9c, 0xbe, 0xc0, 0x65, 0xc7, 0x13, 0x3e, 0x43, 0x50, 0x0a, 0x52, + 0x8c, 0xbd, 0x05, 0xd7, 0x03, 0x7b, 0x45, 0xfe, 0x48, 0xd3, 0x6b, 0xf2, 0xfb, 0x47, 0x1e, 0xe4, + 0xd1, 0x7c, 0x90, 0x4e, 0x90, 0xc0, 0x3d, 0x64, 0x0e, 0x78, 0x72, 0x96, 0x87, 0x74, 0x60, 0x77, + 0x57, 0x16, 0xcb, 0xb2, 0x9a, 0x4e, 0x92, 0xca, 0x90, 0x1d, 0x17, 0x7f, 0xfa, 0x5d, 0x6e, 0xad, + 0xf4, 0xc9, 0xcf, 0xcf, 0x73, 0xcc, 0xb3, 0xe7, 0x39, 0xe6, 0xb7, 0xe7, 0x39, 0xe6, 0xeb, 0x17, + 0xb9, 0xb5, 0x67, 0x2f, 0x72, 0x6b, 0xbf, 0xbc, 0xc8, 0xad, 0x3d, 0x94, 0x9a, 0x96, 0xdb, 0xea, + 0xd7, 0x0b, 0x26, 0xee, 0x14, 0x4d, 0xec, 0x74, 0xb0, 0x53, 0xb4, 0xea, 0xe6, 0xcd, 0x26, 0x2e, + 0x76, 0x70, 0xa3, 0xdf, 0x46, 0x0e, 0xf9, 0x99, 0xba, 0x39, 0xff, 0x9b, 0x7a, 0xed, 0xd6, 0xcd, + 0xf0, 0x0f, 0x95, 0x77, 0xc7, 0x38, 0xf5, 0x75, 0x7f, 0x98, 0xbd, 0xfe, 0x7b, 0x00, 0x00, 0x00, + 0xff, 0xff, 0x44, 0x0b, 0xc7, 0x37, 0x7d, 0x0d, 0x00, 0x00, } func (m *ClientState) Marshal() (dAtA []byte, err error) { diff --git a/proto/ibc/lightclients/solomachine/v1/solomachine.proto b/proto/ibc/lightclients/solomachine/v2/solomachine.proto similarity index 99% rename from proto/ibc/lightclients/solomachine/v1/solomachine.proto rename to proto/ibc/lightclients/solomachine/v2/solomachine.proto index cb80262b431..fdb659f60c6 100644 --- a/proto/ibc/lightclients/solomachine/v1/solomachine.proto +++ b/proto/ibc/lightclients/solomachine/v2/solomachine.proto @@ -1,6 +1,6 @@ syntax = "proto3"; -package ibc.lightclients.solomachine.v1; +package ibc.lightclients.solomachine.v2; option go_package = "github.com/cosmos/ibc-go/modules/light-clients/06-solomachine/types"; From 7adae74b998796b60077a213cf20dbf90b6e6471 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Colin=20Axn=C3=A9r?= <25233464+colin-axner@users.noreply.github.com> Date: Tue, 11 May 2021 13:04:49 +0200 Subject: [PATCH 4/4] update docs --- CHANGELOG.md | 2 +- docs/migrations/ibc-migration-043.md | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 32f8fe60232..4c3a58d04d8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -45,7 +45,7 @@ Ref: https://keepachangelog.com/en/1.0.0/ ### API Breaking -* (06-solomachine) [\#169](https://github.com/cosmos/ibc-go/pull/169) Change FrozenSequence to boolean in solomachine ClientState. +* (06-solomachine) [\#169](https://github.com/cosmos/ibc-go/pull/169) Change FrozenSequence to boolean in solomachine ClientState. The solo machine proto package has been bumped from `v1` to `v2`. * (modules) [\#162](https://github.com/cosmos/ibc-go/pull/162) Remove deprecated Handler types in core IBC and the ICS 20 transfer module. * (modules/core) [\#161](https://github.com/cosmos/ibc-go/pull/161) Remove Type(), Route(), GetSignBytes() from 02-client, 03-connection, and 04-channel messages. * (modules) [\#140](https://github.com/cosmos/ibc-go/pull/140) IsFrozen() client state interface changed to Status(). gRPC `ClientStatus` route added. diff --git a/docs/migrations/ibc-migration-043.md b/docs/migrations/ibc-migration-043.md index f2d209663af..1eb5588a932 100644 --- a/docs/migrations/ibc-migration-043.md +++ b/docs/migrations/ibc-migration-043.md @@ -94,7 +94,9 @@ REST routes are not supported for these proposals. ## Proto file changes -The gRPC querier service endpoints have changed slightly. The previous files used `v1beta1`, this has been updated to `v1`. +The gRPC querier service endpoints have changed slightly. The previous files used `v1beta1` gRPC route, this has been updated to `v1`. + +The solo machine has replaced the FrozenSequence uint64 field with a IsFrozen boolean field. The package has been bumped from `v1` to `v2` ## IBC callback changes