From f6eb414a0fd24d2e0c6dca6d847ee2d471c5a2ba Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 23 Aug 2021 12:00:07 +0200 Subject: [PATCH 001/107] Bump github.com/spf13/cast from 1.4.0 to 1.4.1 (#338) Bumps [github.com/spf13/cast](https://github.com/spf13/cast) from 1.4.0 to 1.4.1. - [Release notes](https://github.com/spf13/cast/releases) - [Commits](https://github.com/spf13/cast/compare/v1.4.0...v1.4.1) --- updated-dependencies: - dependency-name: github.com/spf13/cast dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index a35349ee15a..cf126afe9bc 100644 --- a/go.mod +++ b/go.mod @@ -14,7 +14,7 @@ require ( github.com/grpc-ecosystem/grpc-gateway v1.16.0 github.com/pkg/errors v0.9.1 github.com/rakyll/statik v0.1.7 - github.com/spf13/cast v1.4.0 + github.com/spf13/cast v1.4.1 github.com/spf13/cobra v1.2.1 github.com/spf13/viper v1.8.1 github.com/stretchr/testify v1.7.0 diff --git a/go.sum b/go.sum index 5f3a3917c5e..f3870170e1b 100644 --- a/go.sum +++ b/go.sum @@ -715,8 +715,8 @@ github.com/spf13/afero v1.6.0 h1:xoax2sJ2DT8S8xA2paPFjDCScCNeWsg75VG0DLRreiY= github.com/spf13/afero v1.6.0/go.mod h1:Ai8FlHk4v/PARR026UzYexafAt9roJ7LcLMAmO6Z93I= github.com/spf13/cast v1.3.0/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= github.com/spf13/cast v1.3.1/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= -github.com/spf13/cast v1.4.0 h1:WhlbjwB9EGCc8W5Rxdkus+wmH2ASRwwTJk6tgHKwdqQ= -github.com/spf13/cast v1.4.0/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= +github.com/spf13/cast v1.4.1 h1:s0hze+J0196ZfEMTs80N7UlFt0BDuQ7Q+JDnHiMWKdA= +github.com/spf13/cast v1.4.1/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= github.com/spf13/cobra v0.0.3/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3XqQ= github.com/spf13/cobra v0.0.5/go.mod h1:3K3wKZymM7VvHMDS9+Akkh4K60UwM26emMESw8tLCHU= github.com/spf13/cobra v1.0.0/go.mod h1:/6GTrnGXV9HjY+aR4k0oJ5tcvakLuG6EuKReYlHNrgE= From f4a017e248e0d6de5ec395510cc452133f0494bb Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 23 Aug 2021 10:11:28 +0000 Subject: [PATCH 002/107] Bump github.com/tendermint/tendermint from 0.34.11 to 0.34.12 (#341) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Bumps [github.com/tendermint/tendermint](https://github.com/tendermint/tendermint) from 0.34.11 to 0.34.12. - [Release notes](https://github.com/tendermint/tendermint/releases) - [Changelog](https://github.com/tendermint/tendermint/blob/master/CHANGELOG.md) - [Commits](https://github.com/tendermint/tendermint/compare/v0.34.11...v0.34.12) --- updated-dependencies: - dependency-name: github.com/tendermint/tendermint dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: colin axnér <25233464+colin-axner@users.noreply.github.com> --- go.mod | 2 +- go.sum | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/go.mod b/go.mod index cf126afe9bc..a97e12ee50d 100644 --- a/go.mod +++ b/go.mod @@ -18,7 +18,7 @@ require ( github.com/spf13/cobra v1.2.1 github.com/spf13/viper v1.8.1 github.com/stretchr/testify v1.7.0 - github.com/tendermint/tendermint v0.34.11 + github.com/tendermint/tendermint v0.34.12 github.com/tendermint/tm-db v0.6.4 google.golang.org/genproto v0.0.0-20210602131652-f16073e35f0c google.golang.org/grpc v1.40.0 diff --git a/go.sum b/go.sum index f3870170e1b..6b34c7a0da1 100644 --- a/go.sum +++ b/go.sum @@ -771,8 +771,9 @@ github.com/tendermint/tendermint v0.34.0-rc4/go.mod h1:yotsojf2C1QBOw4dZrTcxbyxm github.com/tendermint/tendermint v0.34.0-rc6/go.mod h1:ugzyZO5foutZImv0Iyx/gOFCX6mjJTgbLHTwi17VDVg= github.com/tendermint/tendermint v0.34.0/go.mod h1:Aj3PIipBFSNO21r+Lq3TtzQ+uKESxkbA3yo/INM4QwQ= github.com/tendermint/tendermint v0.34.10/go.mod h1:aeHL7alPh4uTBIJQ8mgFEE8VwJLXI1VD3rVOmH2Mcy0= -github.com/tendermint/tendermint v0.34.11 h1:q1Yh76oG4QbS07xhmIJh5iAE0fYpJ8P8YKYtjnWfJRY= github.com/tendermint/tendermint v0.34.11/go.mod h1:aeHL7alPh4uTBIJQ8mgFEE8VwJLXI1VD3rVOmH2Mcy0= +github.com/tendermint/tendermint v0.34.12 h1:m+kUYNhONedhJfHmHG8lqsdZvbR5t6vmhaok1yXjpKg= +github.com/tendermint/tendermint v0.34.12/go.mod h1:aeHL7alPh4uTBIJQ8mgFEE8VwJLXI1VD3rVOmH2Mcy0= github.com/tendermint/tm-db v0.6.2/go.mod h1:GYtQ67SUvATOcoY8/+x6ylk8Qo02BQyLrAs+yAcLvGI= github.com/tendermint/tm-db v0.6.3/go.mod h1:lfA1dL9/Y/Y8wwyPp2NMLyn5P5Ptr/gvDFNWtrCWSf8= github.com/tendermint/tm-db v0.6.4 h1:3N2jlnYQkXNQclQwd/eKV/NzlqPlfK21cpRRIx80XXQ= From 7b5a19f8ff0ac764d1d440186fd089d3b58e33fa Mon Sep 17 00:00:00 2001 From: Carlos Rodriguez Date: Mon, 23 Aug 2021 12:30:12 +0200 Subject: [PATCH 003/107] fix broken links in integration.md (#340) * fix broken link in integration.md * fix: broken link to simulator.md file in cosmos-sdk docs Co-authored-by: Carlos Rodriguez --- docs/ibc/integration.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/ibc/integration.md b/docs/ibc/integration.md index b294b54be6c..162fbc35b7c 100644 --- a/docs/ibc/integration.md +++ b/docs/ibc/integration.md @@ -139,7 +139,7 @@ func NewApp(...args) *App { ### Module Managers -In order to use IBC, we need to add the new modules to the module `Manager` and to the `SimulationManager` in case your application supports [simulations](./../building-modules/simulator.md). +In order to use IBC, we need to add the new modules to the module `Manager` and to the `SimulationManager` in case your application supports [simulations](https://github.com/cosmos/cosmos-sdk/blob/master/docs/building-modules/simulator.md). ```go // app.go @@ -221,4 +221,4 @@ different chains. If you want to have a broader view of the changes take a look ## Next {hide} -Learn about how to create [custom IBC modules](./custom.md) for your application {hide} +Learn about how to create [custom IBC modules](./apps.md) for your application {hide} From e86cdbed36204627bb3b6c521caea83be7024ad5 Mon Sep 17 00:00:00 2001 From: Luke Rhoads <51463884+lukerhoads@users.noreply.github.com> Date: Tue, 24 Aug 2021 06:15:12 -0500 Subject: [PATCH 004/107] Created helper functions for emitting packet events (#343) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Created helper functions for emitting packet events * Fixed comments and re-ordered helper functions Co-authored-by: colin axnér <25233464+colin-axner@users.noreply.github.com> --- modules/core/04-channel/keeper/events.go | 54 ++++++++++++++++++++++++ modules/core/04-channel/keeper/packet.go | 51 +--------------------- 2 files changed, 56 insertions(+), 49 deletions(-) diff --git a/modules/core/04-channel/keeper/events.go b/modules/core/04-channel/keeper/events.go index 13c92246f02..bfdf925f2e6 100644 --- a/modules/core/04-channel/keeper/events.go +++ b/modules/core/04-channel/keeper/events.go @@ -10,6 +10,33 @@ import ( "github.com/cosmos/ibc-go/modules/core/exported" ) +// EmitSendPacketEvent emits an event with packet data along with other packet information for relayer +// to pick up and relay to other chain +func EmitSendPacketEvent(ctx sdk.Context, packet exported.PacketI, channel types.Channel, timeoutHeight exported.Height) { + ctx.EventManager().EmitEvents(sdk.Events{ + sdk.NewEvent( + types.EventTypeSendPacket, + sdk.NewAttribute(types.AttributeKeyData, string(packet.GetData())), // DEPRECATED + sdk.NewAttribute(types.AttributeKeyDataHex, hex.EncodeToString(packet.GetData())), + sdk.NewAttribute(types.AttributeKeyTimeoutHeight, timeoutHeight.String()), + sdk.NewAttribute(types.AttributeKeyTimeoutTimestamp, fmt.Sprintf("%d", packet.GetTimeoutTimestamp())), + sdk.NewAttribute(types.AttributeKeySequence, fmt.Sprintf("%d", packet.GetSequence())), + sdk.NewAttribute(types.AttributeKeySrcPort, packet.GetSourcePort()), + sdk.NewAttribute(types.AttributeKeySrcChannel, packet.GetSourceChannel()), + sdk.NewAttribute(types.AttributeKeyDstPort, packet.GetDestPort()), + sdk.NewAttribute(types.AttributeKeyDstChannel, packet.GetDestChannel()), + sdk.NewAttribute(types.AttributeKeyChannelOrdering, channel.Ordering.String()), + // we only support 1-hop packets now, and that is the most important hop for a relayer + // (is it going to a chain I am connected to) + sdk.NewAttribute(types.AttributeKeyConnection, channel.ConnectionHops[0]), + ), + sdk.NewEvent( + sdk.EventTypeMessage, + sdk.NewAttribute(sdk.AttributeKeyModule, types.AttributeValueCategory), + ), + }) +} + // EmitRecvPacketEvent emits a receive packet event. It will be emitted both the first time a packet // is received for a certain sequence and for all duplicate receives. func EmitRecvPacketEvent(ctx sdk.Context, packet exported.PacketI, channel types.Channel) { @@ -37,6 +64,33 @@ func EmitRecvPacketEvent(ctx sdk.Context, packet exported.PacketI, channel types }) } +// EmitWriteAcknowledgementEvent emits an event that the relayer can query for +func EmitWriteAcknowledgementEvent(ctx sdk.Context, packet exported.PacketI, channel types.Channel, acknowledgement []byte) { + ctx.EventManager().EmitEvents(sdk.Events{ + sdk.NewEvent( + types.EventTypeWriteAck, + sdk.NewAttribute(types.AttributeKeyData, string(packet.GetData())), // DEPRECATED + sdk.NewAttribute(types.AttributeKeyDataHex, hex.EncodeToString(packet.GetData())), + sdk.NewAttribute(types.AttributeKeyTimeoutHeight, packet.GetTimeoutHeight().String()), + sdk.NewAttribute(types.AttributeKeyTimeoutTimestamp, fmt.Sprintf("%d", packet.GetTimeoutTimestamp())), + sdk.NewAttribute(types.AttributeKeySequence, fmt.Sprintf("%d", packet.GetSequence())), + sdk.NewAttribute(types.AttributeKeySrcPort, packet.GetSourcePort()), + sdk.NewAttribute(types.AttributeKeySrcChannel, packet.GetSourceChannel()), + sdk.NewAttribute(types.AttributeKeyDstPort, packet.GetDestPort()), + sdk.NewAttribute(types.AttributeKeyDstChannel, packet.GetDestChannel()), + sdk.NewAttribute(types.AttributeKeyAck, string(acknowledgement)), + sdk.NewAttribute(types.AttributeKeyAckHex, hex.EncodeToString(acknowledgement)), + // we only support 1-hop packets now, and that is the most important hop for a relayer + // (is it going to a chain I am connected to) + sdk.NewAttribute(types.AttributeKeyConnection, channel.ConnectionHops[0]), + ), + sdk.NewEvent( + sdk.EventTypeMessage, + sdk.NewAttribute(sdk.AttributeKeyModule, types.AttributeValueCategory), + ), + }) +} + // EmitAcknowledgePacketEvent emits an acknowledge packet event. It will be emitted both the first time // a packet is acknowledged for a certain sequence and for all duplicate acknowledgements. func EmitAcknowledgePacketEvent(ctx sdk.Context, packet exported.PacketI, channel types.Channel) { diff --git a/modules/core/04-channel/keeper/packet.go b/modules/core/04-channel/keeper/packet.go index 9794ff40a4e..38b40e5b795 100644 --- a/modules/core/04-channel/keeper/packet.go +++ b/modules/core/04-channel/keeper/packet.go @@ -2,7 +2,6 @@ package keeper import ( "bytes" - "encoding/hex" "fmt" "time" @@ -126,30 +125,7 @@ func (k Keeper) SendPacket( k.SetNextSequenceSend(ctx, packet.GetSourcePort(), packet.GetSourceChannel(), nextSequenceSend) k.SetPacketCommitment(ctx, packet.GetSourcePort(), packet.GetSourceChannel(), packet.GetSequence(), commitment) - // Emit Event with Packet data along with other packet information for relayer to pick up - // and relay to other chain - ctx.EventManager().EmitEvents(sdk.Events{ - sdk.NewEvent( - types.EventTypeSendPacket, - sdk.NewAttribute(types.AttributeKeyData, string(packet.GetData())), // DEPRECATED - sdk.NewAttribute(types.AttributeKeyDataHex, hex.EncodeToString(packet.GetData())), - sdk.NewAttribute(types.AttributeKeyTimeoutHeight, timeoutHeight.String()), - sdk.NewAttribute(types.AttributeKeyTimeoutTimestamp, fmt.Sprintf("%d", packet.GetTimeoutTimestamp())), - sdk.NewAttribute(types.AttributeKeySequence, fmt.Sprintf("%d", packet.GetSequence())), - sdk.NewAttribute(types.AttributeKeySrcPort, packet.GetSourcePort()), - sdk.NewAttribute(types.AttributeKeySrcChannel, packet.GetSourceChannel()), - sdk.NewAttribute(types.AttributeKeyDstPort, packet.GetDestPort()), - sdk.NewAttribute(types.AttributeKeyDstChannel, packet.GetDestChannel()), - sdk.NewAttribute(types.AttributeKeyChannelOrdering, channel.Ordering.String()), - // we only support 1-hop packets now, and that is the most important hop for a relayer - // (is it going to a chain I am connected to) - sdk.NewAttribute(types.AttributeKeyConnection, channel.ConnectionHops[0]), - ), - sdk.NewEvent( - sdk.EventTypeMessage, - sdk.NewAttribute(sdk.AttributeKeyModule, types.AttributeValueCategory), - ), - }) + EmitSendPacketEvent(ctx, packet, channel, timeoutHeight) k.Logger(ctx).Info( "packet sent", @@ -371,30 +347,7 @@ func (k Keeper) WriteAcknowledgement( // log that a packet acknowledgement has been written k.Logger(ctx).Info("acknowledged written", "packet", fmt.Sprintf("%v", packet)) - // emit an event that the relayer can query for - ctx.EventManager().EmitEvents(sdk.Events{ - sdk.NewEvent( - types.EventTypeWriteAck, - sdk.NewAttribute(types.AttributeKeyData, string(packet.GetData())), // DEPRECATED - sdk.NewAttribute(types.AttributeKeyDataHex, hex.EncodeToString(packet.GetData())), - sdk.NewAttribute(types.AttributeKeyTimeoutHeight, packet.GetTimeoutHeight().String()), - sdk.NewAttribute(types.AttributeKeyTimeoutTimestamp, fmt.Sprintf("%d", packet.GetTimeoutTimestamp())), - sdk.NewAttribute(types.AttributeKeySequence, fmt.Sprintf("%d", packet.GetSequence())), - sdk.NewAttribute(types.AttributeKeySrcPort, packet.GetSourcePort()), - sdk.NewAttribute(types.AttributeKeySrcChannel, packet.GetSourceChannel()), - sdk.NewAttribute(types.AttributeKeyDstPort, packet.GetDestPort()), - sdk.NewAttribute(types.AttributeKeyDstChannel, packet.GetDestChannel()), - sdk.NewAttribute(types.AttributeKeyAck, string(acknowledgement)), - sdk.NewAttribute(types.AttributeKeyAckHex, hex.EncodeToString(acknowledgement)), - // we only support 1-hop packets now, and that is the most important hop for a relayer - // (is it going to a chain I am connected to) - sdk.NewAttribute(types.AttributeKeyConnection, channel.ConnectionHops[0]), - ), - sdk.NewEvent( - sdk.EventTypeMessage, - sdk.NewAttribute(sdk.AttributeKeyModule, types.AttributeValueCategory), - ), - }) + EmitWriteAcknowledgementEvent(ctx, packet, channel, acknowledgement) return nil } From ae36ab5ba5c66af253bcf8013a3c938d53db0d98 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?colin=20axn=C3=A9r?= <25233464+colin-axner@users.noreply.github.com> Date: Wed, 25 Aug 2021 16:07:46 +0200 Subject: [PATCH 005/107] Merge pull request from GHSA-qrhq-96mh-q8jv --- modules/apps/transfer/module.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/apps/transfer/module.go b/modules/apps/transfer/module.go index a9a1aa4f875..72575d0c602 100644 --- a/modules/apps/transfer/module.go +++ b/modules/apps/transfer/module.go @@ -329,7 +329,7 @@ func (am AppModule) OnRecvPacket( var data types.FungibleTokenPacketData if err := types.ModuleCdc.UnmarshalJSON(packet.GetData(), &data); err != nil { - ack = channeltypes.NewErrorAcknowledgement(fmt.Sprintf("cannot unmarshal ICS-20 transfer packet data: %s", err.Error())) + ack = channeltypes.NewErrorAcknowledgement("cannot unmarshal ICS-20 transfer packet data") } // only attempt the application logic if the packet data From 662f4ddeebd8651b01a37abaacd3d29f38f4ad66 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 26 Aug 2021 09:03:01 +0000 Subject: [PATCH 006/107] Bump codecov/codecov-action from 2.0.2 to 2.0.3 (#346) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from 2.0.2 to 2.0.3. - [Release notes](https://github.com/codecov/codecov-action/releases) - [Changelog](https://github.com/codecov/codecov-action/blob/master/CHANGELOG.md) - [Commits](https://github.com/codecov/codecov-action/compare/v2.0.2...v2.0.3) --- updated-dependencies: - dependency-name: codecov/codecov-action dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: colin axnér <25233464+colin-axner@users.noreply.github.com> --- .github/workflows/test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 20fad82b7dc..55dd3998832 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -150,7 +150,7 @@ jobs: sed -i.bak "/$(echo $filename | sed 's/\//\\\//g')/d" coverage.txt done if: env.GIT_DIFF - - uses: codecov/codecov-action@v2.0.2 + - uses: codecov/codecov-action@v2.0.3 with: file: ./coverage.txt if: env.GIT_DIFF From 950b92dd1b791bc129481c2021b1ac1da0ffdac5 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 26 Aug 2021 17:49:18 +0200 Subject: [PATCH 007/107] Bump actions/setup-go from 2.1.3 to 2.1.4 (#349) Bumps [actions/setup-go](https://github.com/actions/setup-go) from 2.1.3 to 2.1.4. - [Release notes](https://github.com/actions/setup-go/releases) - [Commits](https://github.com/actions/setup-go/compare/v2.1.3...v2.1.4) --- updated-dependencies: - dependency-name: actions/setup-go dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/test.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 55dd3998832..fec4e6dd3b6 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -18,7 +18,7 @@ jobs: install-tparse: runs-on: ubuntu-latest steps: - - uses: actions/setup-go@v2.1.3 + - uses: actions/setup-go@v2.1.4 with: go-version: 1.15 - name: Display go version @@ -38,7 +38,7 @@ jobs: go-arch: ["amd64", "arm", "arm64"] steps: - uses: actions/checkout@v2.3.4 - - uses: actions/setup-go@v2.1.3 + - uses: actions/setup-go@v2.1.4 with: go-version: 1.15 - uses: technote-space/get-diff-action@v5 @@ -86,7 +86,7 @@ jobs: part: ["00", "01", "02", "03"] steps: - uses: actions/checkout@v2.3.4 - - uses: actions/setup-go@v2.1.3 + - uses: actions/setup-go@v2.1.4 with: go-version: 1.15 - uses: technote-space/get-diff-action@v5 From 358bfa5867963c31e8eba80880ff4706177479aa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?colin=20axn=C3=A9r?= <25233464+colin-axner@users.noreply.github.com> Date: Thu, 26 Aug 2021 18:11:27 +0200 Subject: [PATCH 008/107] increase port identifier limit to 128 characters (#344) * increase port identifier limit to 128 characters increase port limit and add tests for port validation * add changelog * fix tests --- CHANGELOG.md | 6 +++++ modules/apps/transfer/types/msgs_test.go | 3 ++- modules/core/04-channel/types/msgs_test.go | 3 ++- modules/core/24-host/validate.go | 6 ++++- modules/core/24-host/validate_test.go | 30 ++++++++++++++++++++++ 5 files changed, 45 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index f688e027ee0..7c109aa0613 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -36,8 +36,14 @@ Ref: https://keepachangelog.com/en/1.0.0/ ## [Unreleased] +### API Breaking + * (core) [\#227](https://github.com/cosmos/ibc-go/pull/227) Remove sdk.Result from application callbacks +### State Machine Breaking + +* (24-host) [#\344](https://github.com/cosmos/ibc-go/pull/344) Increase port identifier limit to 128 characters. + ## [v1.0.0](https://github.com/cosmos/ibc-go/releases/tag/v1.0.0) - 2021-08-10 diff --git a/modules/apps/transfer/types/msgs_test.go b/modules/apps/transfer/types/msgs_test.go index 6e63b5ed30f..fa5e9f96db5 100644 --- a/modules/apps/transfer/types/msgs_test.go +++ b/modules/apps/transfer/types/msgs_test.go @@ -16,7 +16,8 @@ const ( validPort = "testportid" invalidPort = "(invalidport1)" invalidShortPort = "p" - invalidLongPort = "invalidlongportinvalidlongportinvalidlongportinvalidlongportinvalid" + // 195 characters + invalidLongPort = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis eros neque, ultricies vel ligula ac, convallis porttitor elit. Maecenas tincidunt turpis elit, vel faucibus nisl pellentesque sodales" validChannel = "testchannel" invalidChannel = "(invalidchannel1)" diff --git a/modules/core/04-channel/types/msgs_test.go b/modules/core/04-channel/types/msgs_test.go index 10401ebcae7..9606b9357c1 100644 --- a/modules/core/04-channel/types/msgs_test.go +++ b/modules/core/04-channel/types/msgs_test.go @@ -32,7 +32,8 @@ const ( // invalid constants used for testing invalidPort = "(invalidport1)" invalidShortPort = "p" - invalidLongPort = "invalidlongportinvalidlongportinvalidlongportidinvalidlongportidinvalid" + // 195 characters + invalidLongPort = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis eros neque, ultricies vel ligula ac, convallis porttitor elit. Maecenas tincidunt turpis elit, vel faucibus nisl pellentesque sodales" invalidChannel = "(invalidchannel1)" invalidShortChannel = "invalid" diff --git a/modules/core/24-host/validate.go b/modules/core/24-host/validate.go index 10458e8d3a7..2bc7e18132c 100644 --- a/modules/core/24-host/validate.go +++ b/modules/core/24-host/validate.go @@ -16,6 +16,10 @@ import ( // adjusting this restriction. const DefaultMaxCharacterLength = 64 +// DefaultMaxPortCharacterLength defines the default maximum character length used +// in validation of port identifiers. +var DefaultMaxPortCharacterLength = 128 + // IsValidID defines regular expression to check if the string consist of // characters in one of the following categories only: // - Alphanumeric @@ -80,7 +84,7 @@ func ChannelIdentifierValidator(id string) error { // A valid Identifier must be between 2-64 characters and only contain alphanumeric and some allowed // special characters (see IsValidID). func PortIdentifierValidator(id string) error { - return defaultIdentifierValidator(id, 2, DefaultMaxCharacterLength) + return defaultIdentifierValidator(id, 2, DefaultMaxPortCharacterLength) } // NewPathValidator takes in a Identifier Validator function and returns diff --git a/modules/core/24-host/validate_test.go b/modules/core/24-host/validate_test.go index 40987bd1571..fe5c290ba40 100644 --- a/modules/core/24-host/validate_test.go +++ b/modules/core/24-host/validate_test.go @@ -8,6 +8,9 @@ import ( "github.com/stretchr/testify/require" ) +// 195 characters +var longId = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis eros neque, ultricies vel ligula ac, convallis porttitor elit. Maecenas tincidunt turpis elit, vel faucibus nisl pellentesque sodales" + type testCase struct { msg string id string @@ -50,6 +53,33 @@ func TestDefaultIdentifierValidator(t *testing.T) { } } +func TestPortIdentifierValidator(t *testing.T) { + testCases := []testCase{ + {"valid lowercase", "transfer", true}, + {"valid id special chars", "._+-#[]<>._+-#[]<>", true}, + {"valid id lower and special chars", "lower._+-#[]<>", true}, + {"numeric id", "1234567890", true}, + {"uppercase id", "NOTLOWERCASE", true}, + {"numeric id", "1234567890", true}, + {"blank id", " ", false}, + {"id length out of range", "1", false}, + {"id is too long", longId, false}, + {"path-like id", "lower/case/id", false}, + {"invalid id", "(clientid)", false}, + {"empty string", "", false}, + } + + for _, tc := range testCases { + + err := PortIdentifierValidator(tc.id) + if tc.expPass { + require.NoError(t, err, tc.msg) + } else { + require.Error(t, err, tc.msg) + } + } +} + func TestPathValidator(t *testing.T) { testCases := []testCase{ {"valid lowercase", "p/lowercaseid", true}, From 9d5da1760d3c389e80d3f8af264bb551a0733143 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?colin=20axn=C3=A9r?= <25233464+colin-axner@users.noreply.github.com> Date: Fri, 27 Aug 2021 15:54:33 +0200 Subject: [PATCH 009/107] update codeowners to include new team members and granular ownership (#354) * update codeowners * add proto files to ownership --- .github/CODEOWNERS | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 41af05c8e0e..743e1c582b5 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -1,12 +1,32 @@ # CODEOWNERS: https://help.github.com/articles/about-codeowners/ -* @colin-axner @fedekunze @AdityaSripal +* @colin-axner @AdityaSripal @crodriguezvega @seantking @charleenfei @damiannolan # Order is important; the last matching pattern takes the most # precedence. When someone opens a pull request that only # modifies 27-interchain-accounts files, only the interchain account owners # and not the global owner(s) will be requested for a review. +# CODEOWNERS for the CODEOWNER file + +/.github/CODEOWNERS @colin-axner @AdityaSripal @crodriguezvega + +# CODEOWNERS for the core IBC module + +/modules/core/ @colin-axner @fedekunze @AdityaSripal +/proto/core/ @colin-axner @fedekunze @AdityaSripal + +# CODEOWNERS for the light-clients + +/modules/light-clients/ @colin-axner @fedekunze @AdityaSripal +/proto/lightclients/ @colin-axner @fedekunze @AdityaSripal + +# CODEOWNERS for ICS 20 + +/modules/apps/transfer/ @colin-axner @fedekunze @AdityaSripal +/proto/applications/transfer/ @colin-axner @fedekunze @AdityaSripal + # CODEOWNERS for interchain-accounts module /modules/apps/27-interchain-accounts/ @seantking @colin-axner @AdityaSripal +/proto/applications/interchain_accounts/ @seantking @colin-axner @AdityaSripal From a6bf50d855229f9b73315b476ca49a3fa8bc6cb5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?colin=20axn=C3=A9r?= <25233464+colin-axner@users.noreply.github.com> Date: Thu, 2 Sep 2021 17:46:33 +0200 Subject: [PATCH 010/107] bump SDK dependency (#367) * update SDK dependency and fix changes Removes tests from sdk_test.go which are no longer needed to upstream changes in the SDK Fixes client_test.go due to inclusion of the fee in tx events * bump SDK version to v0.44.0 --- go.mod | 2 +- go.sum | 5 +- modules/core/02-client/keeper/client_test.go | 4 +- testing/sdk_test.go | 59 -------------------- 4 files changed, 5 insertions(+), 65 deletions(-) diff --git a/go.mod b/go.mod index a97e12ee50d..e8169182e72 100644 --- a/go.mod +++ b/go.mod @@ -7,7 +7,7 @@ replace github.com/gogo/protobuf => github.com/regen-network/protobuf v1.3.3-alp require ( github.com/armon/go-metrics v0.3.9 github.com/confio/ics23/go v0.6.6 - github.com/cosmos/cosmos-sdk v0.43.0 + github.com/cosmos/cosmos-sdk v0.44.0 github.com/gogo/protobuf v1.3.3 github.com/golang/protobuf v1.5.2 github.com/gorilla/mux v1.8.0 diff --git a/go.sum b/go.sum index 6b34c7a0da1..aca5c37b91f 100644 --- a/go.sum +++ b/go.sum @@ -165,8 +165,8 @@ github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7 github.com/coreos/go-systemd/v22 v22.3.2/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= github.com/coreos/pkg v0.0.0-20160727233714-3ac0863d7acf/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA= github.com/coreos/pkg v0.0.0-20180928190104-399ea9e2e55f/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA= -github.com/cosmos/cosmos-sdk v0.43.0 h1:l2GXJMDVtJyHb35pDUCw+uyr6eZtBo8vt+7PSsq+Fjo= -github.com/cosmos/cosmos-sdk v0.43.0/go.mod h1:ctcrTEAhei9s8O3KSNvL0dxe+fVQGp07QyRb/7H9JYE= +github.com/cosmos/cosmos-sdk v0.44.0 h1:eOSjACNtTnThEJ62IsS+pMm3OIU6hgMVqrp4TZClLZo= +github.com/cosmos/cosmos-sdk v0.44.0/go.mod h1:orG0jzFJ2KsDfzLd/X0JSOMzF4Oxc/BQz2GkcYF4gRE= github.com/cosmos/go-bip39 v0.0.0-20180819234021-555e2067c45d/go.mod h1:tSxLoYXyBmiFeKpvmq4dzayMdCjCnu8uqmCysIGBT2Y= github.com/cosmos/go-bip39 v1.0.0 h1:pcomnQdrdH22njcAatO0yWojsUnCO3y2tNoV1cb6hHY= github.com/cosmos/go-bip39 v1.0.0/go.mod h1:RNJv0H/pOIVgxw6KS7QeX2a0Uo0aKUlfhZ4xuwvCdJw= @@ -771,7 +771,6 @@ github.com/tendermint/tendermint v0.34.0-rc4/go.mod h1:yotsojf2C1QBOw4dZrTcxbyxm github.com/tendermint/tendermint v0.34.0-rc6/go.mod h1:ugzyZO5foutZImv0Iyx/gOFCX6mjJTgbLHTwi17VDVg= github.com/tendermint/tendermint v0.34.0/go.mod h1:Aj3PIipBFSNO21r+Lq3TtzQ+uKESxkbA3yo/INM4QwQ= github.com/tendermint/tendermint v0.34.10/go.mod h1:aeHL7alPh4uTBIJQ8mgFEE8VwJLXI1VD3rVOmH2Mcy0= -github.com/tendermint/tendermint v0.34.11/go.mod h1:aeHL7alPh4uTBIJQ8mgFEE8VwJLXI1VD3rVOmH2Mcy0= github.com/tendermint/tendermint v0.34.12 h1:m+kUYNhONedhJfHmHG8lqsdZvbR5t6vmhaok1yXjpKg= github.com/tendermint/tendermint v0.34.12/go.mod h1:aeHL7alPh4uTBIJQ8mgFEE8VwJLXI1VD3rVOmH2Mcy0= github.com/tendermint/tm-db v0.6.2/go.mod h1:GYtQ67SUvATOcoY8/+x6ylk8Qo02BQyLrAs+yAcLvGI= diff --git a/modules/core/02-client/keeper/client_test.go b/modules/core/02-client/keeper/client_test.go index 0029ae5f235..f8719b38759 100644 --- a/modules/core/02-client/keeper/client_test.go +++ b/modules/core/02-client/keeper/client_test.go @@ -678,8 +678,8 @@ func (suite *KeeperTestSuite) TestUpdateClientEventEmission() { result, err := suite.chainA.SendMsgs(msg) suite.Require().NoError(err) - // first event type is "message", followed by 2 "tx" events in ante - updateEvent := result.Events[3] + // first event type is "message", followed by 3 "tx" events in ante + updateEvent := result.Events[4] suite.Require().Equal(clienttypes.EventTypeUpdateClient, updateEvent.Type) // use a boolean to ensure the update event contains the header diff --git a/testing/sdk_test.go b/testing/sdk_test.go index b7b63b1a1c1..4d41e96dac9 100644 --- a/testing/sdk_test.go +++ b/testing/sdk_test.go @@ -126,65 +126,6 @@ func (s *IntegrationTestSuite) TearDownSuite() { s.network.Cleanup() } -// Create an IBC tx that's encoded as amino-JSON. Since we can't amino-marshal -// a tx with "cosmos-sdk/MsgTransfer" using the SDK, we just hardcode the tx -// here. But external clients might, see https://github.com/cosmos/cosmos-sdk/issues/8022. -func mkIBCStdTx() []byte { - ibcTx := `{ - "account_number": "68", - "chain_id": "stargate-4", - "fee": { - "amount": [ - { - "amount": "3500", - "denom": "umuon" - } - ], - "gas": "350000" - }, - "memo": "", - "msg": [ - { - "type": "cosmos-sdk/MsgTransfer", - "value": { - "receiver": "cosmos1q9wtnlwdjrhwtcjmt2uq77jrgx7z3usrq2yz7z", - "sender": "cosmos1q9wtnlwdjrhwtcjmt2uq77jrgx7z3usrq2yz7z", - "source_channel": "channel-0", - "source_port": "transfer", - "token": { - "amount": "1000000", - "denom": "umuon" - } - } - } - ], - "sequence": "24" - }` - req := fmt.Sprintf(`{"tx":%s,"mode":"async"}`, ibcTx) - - return []byte(req) -} - -func (s *IntegrationTestSuite) TestEncodeIBCTx() { - val := s.network.Validators[0] - - req := mkIBCStdTx() - res, err := rest.PostRequest(fmt.Sprintf("%s/txs/encode", val.APIAddress), "application/json", []byte(req)) - s.Require().NoError(err) - - s.Require().Contains(string(res), authrest.ErrEncodeDecode.Error()) -} - -func (s *IntegrationTestSuite) TestBroadcastIBCTxRequest() { - val := s.network.Validators[0] - - req := mkIBCStdTx() - res, err := rest.PostRequest(fmt.Sprintf("%s/txs", val.APIAddress), "application/json", []byte(req)) - s.Require().NoError(err) - - s.Require().NotContains(string(res), "this transaction cannot be broadcasted via legacy REST endpoints", string(res)) -} - // TestLegacyRestErrMessages creates two IBC txs, one that fails, one that // succeeds, and make sure we cannot query any of them (with pretty error msg). // Our intension is to test the error message of querying a message which is From 74182d8d45bca3504ed0190e9cdedb1a8ba45973 Mon Sep 17 00:00:00 2001 From: Damian Nolan Date: Fri, 3 Sep 2021 10:57:08 +0200 Subject: [PATCH 011/107] adding client status cli query (#372) * adding client status cli query * adding query client status cli to changelog * updating long CLI help usage --- CHANGELOG.md | 1 + modules/core/02-client/client/cli/cli.go | 1 + modules/core/02-client/client/cli/query.go | 33 ++++++++++++++++++++++ 3 files changed, 35 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7c109aa0613..a3715e1cda1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -102,6 +102,7 @@ Ref: https://keepachangelog.com/en/1.0.0/ ### Features * [\#198](https://github.com/cosmos/ibc-go/pull/198) New CLI command `query ibc-transfer escrow-address ` to get the escrow address for a channel; can be used to then query balance of escrowed tokens +* [\#372](https://github.com/cosmos/ibc-go/pull/372) New CLI command `query ibc client status ` to get the current activity status of a client ### Client Breaking Changes diff --git a/modules/core/02-client/client/cli/cli.go b/modules/core/02-client/client/cli/cli.go index eade59ba6f1..1b6572ebb75 100644 --- a/modules/core/02-client/client/cli/cli.go +++ b/modules/core/02-client/client/cli/cli.go @@ -20,6 +20,7 @@ func GetQueryCmd() *cobra.Command { queryCmd.AddCommand( GetCmdQueryClientStates(), GetCmdQueryClientState(), + GetCmdQueryClientStatus(), GetCmdQueryConsensusStates(), GetCmdQueryConsensusState(), GetCmdQueryHeader(), diff --git a/modules/core/02-client/client/cli/query.go b/modules/core/02-client/client/cli/query.go index 5ed7c049bed..8633b92a469 100644 --- a/modules/core/02-client/client/cli/query.go +++ b/modules/core/02-client/client/cli/query.go @@ -89,6 +89,39 @@ func GetCmdQueryClientState() *cobra.Command { return cmd } +// GetCmdQueryClientStatus defines the command to query the status of a client with a given id +func GetCmdQueryClientStatus() *cobra.Command { + cmd := &cobra.Command{ + Use: "status [client-id]", + Short: "Query client status", + Long: "Query client activity status. Any client without an 'Active' status is considered inactive", + Example: fmt.Sprintf("%s query %s %s status [client-id]", version.AppName, host.ModuleName, types.SubModuleName), + Args: cobra.ExactArgs(1), + RunE: func(cmd *cobra.Command, args []string) error { + clientCtx, err := client.GetClientQueryContext(cmd) + if err != nil { + return err + } + + clientID := args[0] + queryClient := types.NewQueryClient(clientCtx) + + req := &types.QueryClientStatusRequest{ + ClientId: clientID, + } + + clientStatusRes, err := queryClient.ClientStatus(cmd.Context(), req) + if err != nil { + return err + } + + return clientCtx.PrintProto(clientStatusRes) + }, + } + + return cmd +} + // GetCmdQueryConsensusStates defines the command to query all the consensus states from a given // client state. func GetCmdQueryConsensusStates() *cobra.Command { From 90ce97e8409b9a59154e2f9a089a1dab52f2a635 Mon Sep 17 00:00:00 2001 From: Damian Nolan Date: Mon, 6 Sep 2021 13:22:30 +0200 Subject: [PATCH 012/107] adding markdown link checker to ci workflows (#377) --- .github/workflows/link-check.yml | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 .github/workflows/link-check.yml diff --git a/.github/workflows/link-check.yml b/.github/workflows/link-check.yml new file mode 100644 index 00000000000..6d2c00bb0f0 --- /dev/null +++ b/.github/workflows/link-check.yml @@ -0,0 +1,8 @@ +name: Check Markdown links +on: [push, pull_request] +jobs: + markdown-link-check: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - uses: gaurav-nelson/github-action-markdown-link-check@v1 \ No newline at end of file From 760d15a3a55397678abe311b7f65203b2e8437d6 Mon Sep 17 00:00:00 2001 From: Damian Nolan Date: Tue, 7 Sep 2021 12:36:53 +0200 Subject: [PATCH 013/107] packet acknowledgment filtering (#375) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * adding packet commitments to QueryPacketAcknowledgementsRequest for filtering * adding testcase for filtered packet ack query * adding changelog entry for packet ack filtering * updating packet sequences type to repeated uint64 * updating to query specific packet acks outside bounds of paginated req * updating changelog field naming, removing redundant pagination in query test * continue in favour of returning an error on query PacketAcknowledgements * updating to return empty array of acks if none of the provided commitments are found Co-authored-by: colin axnér <25233464+colin-axner@users.noreply.github.com> Co-authored-by: colin axnér <25233464+colin-axner@users.noreply.github.com> --- CHANGELOG.md | 6 +- docs/ibc/proto-docs.md | 1 + modules/core/04-channel/keeper/grpc_query.go | 22 ++ .../core/04-channel/keeper/grpc_query_test.go | 27 ++ modules/core/04-channel/types/query.pb.go | 370 ++++++++++++------ proto/ibc/core/channel/v1/query.proto | 2 + 6 files changed, 297 insertions(+), 131 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index a3715e1cda1..226f63967b6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -44,6 +44,11 @@ Ref: https://keepachangelog.com/en/1.0.0/ * (24-host) [#\344](https://github.com/cosmos/ibc-go/pull/344) Increase port identifier limit to 128 characters. +### Improvements +* [\#373](https://github.com/cosmos/ibc-go/pull/375) Added optional field `PacketCommitmentSequences` to `QueryPacketAcknowledgementsRequest` to provide filtering of packet acknowledgements + +### Features +* [\#372](https://github.com/cosmos/ibc-go/pull/372) New CLI command `query ibc client status ` to get the current activity status of a client ## [v1.0.0](https://github.com/cosmos/ibc-go/releases/tag/v1.0.0) - 2021-08-10 @@ -102,7 +107,6 @@ Ref: https://keepachangelog.com/en/1.0.0/ ### Features * [\#198](https://github.com/cosmos/ibc-go/pull/198) New CLI command `query ibc-transfer escrow-address ` to get the escrow address for a channel; can be used to then query balance of escrowed tokens -* [\#372](https://github.com/cosmos/ibc-go/pull/372) New CLI command `query ibc client status ` to get the current activity status of a client ### Client Breaking Changes diff --git a/docs/ibc/proto-docs.md b/docs/ibc/proto-docs.md index cae068cf68c..9b43455b154 100644 --- a/docs/ibc/proto-docs.md +++ b/docs/ibc/proto-docs.md @@ -1166,6 +1166,7 @@ Query/QueryPacketCommitments RPC method | `port_id` | [string](#string) | | port unique identifier | | `channel_id` | [string](#string) | | channel unique identifier | | `pagination` | [cosmos.base.query.v1beta1.PageRequest](#cosmos.base.query.v1beta1.PageRequest) | | pagination request | +| `packet_commitment_sequences` | [uint64](#uint64) | repeated | list of packet sequences | diff --git a/modules/core/04-channel/keeper/grpc_query.go b/modules/core/04-channel/keeper/grpc_query.go index 5f2155919aa..150d839b5f8 100644 --- a/modules/core/04-channel/keeper/grpc_query.go +++ b/modules/core/04-channel/keeper/grpc_query.go @@ -327,6 +327,27 @@ func (q Keeper) PacketAcknowledgements(c context.Context, req *types.QueryPacket acks := []*types.PacketState{} store := prefix.NewStore(ctx.KVStore(q.storeKey), []byte(host.PacketAcknowledgementPrefixPath(req.PortId, req.ChannelId))) + // if a list of packet sequences is provided then query for each specific ack and return a list <= len(req.PacketCommitmentSequences) + // otherwise, maintain previous behaviour and perform paginated query + for _, seq := range req.PacketCommitmentSequences { + acknowledgementBz, found := q.GetPacketAcknowledgement(ctx, req.PortId, req.ChannelId, seq) + if !found || len(acknowledgementBz) == 0 { + continue + } + + ack := types.NewPacketState(req.PortId, req.ChannelId, seq, acknowledgementBz) + acks = append(acks, &ack) + } + + if len(req.PacketCommitmentSequences) > 0 { + selfHeight := clienttypes.GetSelfHeight(ctx) + return &types.QueryPacketAcknowledgementsResponse{ + Acknowledgements: acks, + Pagination: nil, + Height: selfHeight, + }, nil + } + pageRes, err := query.Paginate(store, req.Pagination, func(key, value []byte) error { keySplit := strings.Split(string(key), "/") @@ -337,6 +358,7 @@ func (q Keeper) PacketAcknowledgements(c context.Context, req *types.QueryPacket ack := types.NewPacketState(req.PortId, req.ChannelId, sequence, value) acks = append(acks, &ack) + return nil }) diff --git a/modules/core/04-channel/keeper/grpc_query_test.go b/modules/core/04-channel/keeper/grpc_query_test.go index 88e3a717005..d803ae8b135 100644 --- a/modules/core/04-channel/keeper/grpc_query_test.go +++ b/modules/core/04-channel/keeper/grpc_query_test.go @@ -1025,6 +1025,33 @@ func (suite *KeeperTestSuite) TestQueryPacketAcknowledgements() { }, true, }, + { + "success, filtered res", + func() { + path := ibctesting.NewPath(suite.chainA, suite.chainB) + suite.coordinator.Setup(path) + + var commitments []uint64 + + for i := uint64(0); i < 100; i++ { + ack := types.NewPacketState(path.EndpointA.ChannelConfig.PortID, path.EndpointA.ChannelID, i, []byte(fmt.Sprintf("hash_%d", i))) + suite.chainA.App.GetIBCKeeper().ChannelKeeper.SetPacketAcknowledgement(suite.chainA.GetContext(), ack.PortId, ack.ChannelId, ack.Sequence, ack.Data) + + if i < 10 { // populate the store with 100 and query for 10 specific acks + expAcknowledgements = append(expAcknowledgements, &ack) + commitments = append(commitments, ack.Sequence) + } + } + + req = &types.QueryPacketAcknowledgementsRequest{ + PortId: path.EndpointA.ChannelConfig.PortID, + ChannelId: path.EndpointA.ChannelID, + PacketCommitmentSequences: commitments, + Pagination: nil, + } + }, + true, + }, { "success", func() { diff --git a/modules/core/04-channel/types/query.pb.go b/modules/core/04-channel/types/query.pb.go index a5e23569526..281e790ba6b 100644 --- a/modules/core/04-channel/types/query.pb.go +++ b/modules/core/04-channel/types/query.pb.go @@ -1184,6 +1184,8 @@ type QueryPacketAcknowledgementsRequest struct { ChannelId string `protobuf:"bytes,2,opt,name=channel_id,json=channelId,proto3" json:"channel_id,omitempty"` // pagination request Pagination *query.PageRequest `protobuf:"bytes,3,opt,name=pagination,proto3" json:"pagination,omitempty"` + // list of packet sequences + PacketCommitmentSequences []uint64 `protobuf:"varint,4,rep,packed,name=packet_commitment_sequences,json=packetCommitmentSequences,proto3" json:"packet_commitment_sequences,omitempty"` } func (m *QueryPacketAcknowledgementsRequest) Reset() { *m = QueryPacketAcknowledgementsRequest{} } @@ -1240,6 +1242,13 @@ func (m *QueryPacketAcknowledgementsRequest) GetPagination() *query.PageRequest return nil } +func (m *QueryPacketAcknowledgementsRequest) GetPacketCommitmentSequences() []uint64 { + if m != nil { + return m.PacketCommitmentSequences + } + return nil +} + // QueryPacketAcknowledgemetsResponse is the request type for the // Query/QueryPacketAcknowledgements RPC method type QueryPacketAcknowledgementsResponse struct { @@ -1699,100 +1708,100 @@ func init() { func init() { proto.RegisterFile("ibc/core/channel/v1/query.proto", fileDescriptor_1034a1e9abc4cca1) } var fileDescriptor_1034a1e9abc4cca1 = []byte{ - // 1481 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xdc, 0x59, 0xdf, 0x6f, 0x14, 0x55, - 0x14, 0xee, 0xdd, 0x16, 0x68, 0x0f, 0xc8, 0x8f, 0xdb, 0x16, 0xca, 0x50, 0xb6, 0x65, 0x8d, 0x52, - 0x48, 0x98, 0x4b, 0x0b, 0x56, 0x62, 0x94, 0x84, 0x36, 0x11, 0x6a, 0x04, 0xca, 0x20, 0x11, 0x48, - 0x74, 0x9d, 0x9d, 0xbd, 0x6c, 0x27, 0xed, 0xce, 0x0c, 0x3b, 0xb3, 0x0b, 0xa4, 0xae, 0x31, 0x3e, - 0x20, 0x89, 0x2f, 0x46, 0x1e, 0x4c, 0x7c, 0x31, 0x31, 0xbe, 0xf0, 0xe0, 0x83, 0x7f, 0x81, 0xaf, - 0xbc, 0x49, 0x82, 0x0f, 0x26, 0x24, 0x68, 0xa8, 0x09, 0xbe, 0xfa, 0xe2, 0xb3, 0x99, 0xfb, 0x63, - 0x76, 0x66, 0x77, 0x66, 0xba, 0xdb, 0xed, 0x26, 0x8d, 0x6f, 0x33, 0x77, 0xee, 0x39, 0xf7, 0xfb, - 0xbe, 0x73, 0xcf, 0xe9, 0x39, 0x5b, 0x98, 0x30, 0x0b, 0x06, 0x31, 0xec, 0x0a, 0x25, 0xc6, 0x92, - 0x6e, 0x59, 0x74, 0x85, 0xd4, 0xa6, 0xc9, 0xed, 0x2a, 0xad, 0xdc, 0x53, 0x9d, 0x8a, 0xed, 0xd9, - 0x78, 0xd8, 0x2c, 0x18, 0xaa, 0xbf, 0x41, 0x15, 0x1b, 0xd4, 0xda, 0xb4, 0x12, 0xb2, 0x5a, 0x31, - 0xa9, 0xe5, 0xf9, 0x46, 0xfc, 0x89, 0x5b, 0x29, 0xc7, 0x0d, 0xdb, 0x2d, 0xdb, 0x2e, 0x29, 0xe8, - 0x2e, 0xe5, 0xee, 0x48, 0x6d, 0xba, 0x40, 0x3d, 0x7d, 0x9a, 0x38, 0x7a, 0xc9, 0xb4, 0x74, 0xcf, - 0xb4, 0x2d, 0xb1, 0xf7, 0x48, 0x1c, 0x04, 0x79, 0x18, 0xdf, 0x32, 0x5e, 0xb2, 0xed, 0xd2, 0x0a, - 0x25, 0xba, 0x63, 0x12, 0xdd, 0xb2, 0x6c, 0x8f, 0xd9, 0xbb, 0xe2, 0xeb, 0x41, 0xf1, 0x95, 0xbd, - 0x15, 0xaa, 0xb7, 0x88, 0x6e, 0x09, 0xf4, 0xca, 0x48, 0xc9, 0x2e, 0xd9, 0xec, 0x91, 0xf8, 0x4f, - 0x7c, 0x35, 0x77, 0x11, 0x86, 0xaf, 0xf8, 0x98, 0xe6, 0xf9, 0x21, 0x1a, 0xbd, 0x5d, 0xa5, 0xae, - 0x87, 0x0f, 0xc0, 0x0e, 0xc7, 0xae, 0x78, 0x79, 0xb3, 0x38, 0x86, 0x26, 0xd1, 0xd4, 0x90, 0xb6, - 0xdd, 0x7f, 0x5d, 0x28, 0xe2, 0xc3, 0x00, 0x02, 0x8f, 0xff, 0x2d, 0xc3, 0xbe, 0x0d, 0x89, 0x95, - 0x85, 0x62, 0xee, 0x11, 0x82, 0x91, 0xa8, 0x3f, 0xd7, 0xb1, 0x2d, 0x97, 0xe2, 0x59, 0xd8, 0x21, - 0x76, 0x31, 0x87, 0x3b, 0x67, 0xc6, 0xd5, 0x18, 0x35, 0x55, 0x69, 0x26, 0x37, 0xe3, 0x11, 0xd8, - 0xe6, 0x54, 0x6c, 0xfb, 0x16, 0x3b, 0x6a, 0x97, 0xc6, 0x5f, 0xf0, 0x3c, 0xec, 0x62, 0x0f, 0xf9, - 0x25, 0x6a, 0x96, 0x96, 0xbc, 0xb1, 0x7e, 0xe6, 0x52, 0x09, 0xb9, 0xe4, 0x11, 0xa8, 0x4d, 0xab, - 0x17, 0xd8, 0x8e, 0xb9, 0x81, 0xc7, 0xcf, 0x27, 0xfa, 0xb4, 0x9d, 0xcc, 0x8a, 0x2f, 0xe5, 0x3e, - 0x8e, 0x42, 0x75, 0x25, 0xf7, 0x77, 0x01, 0x1a, 0x81, 0x11, 0x68, 0x5f, 0x57, 0x79, 0x14, 0x55, - 0x3f, 0x8a, 0x2a, 0xbf, 0x14, 0x22, 0x8a, 0xea, 0xa2, 0x5e, 0xa2, 0xc2, 0x56, 0x0b, 0x59, 0xe6, - 0x9e, 0x23, 0x18, 0x6d, 0x3a, 0x40, 0x88, 0x31, 0x07, 0x83, 0x82, 0x9f, 0x3b, 0x86, 0x26, 0xfb, - 0x99, 0xff, 0x38, 0x35, 0x16, 0x8a, 0xd4, 0xf2, 0xcc, 0x5b, 0x26, 0x2d, 0x4a, 0x5d, 0x02, 0x3b, - 0x7c, 0x3e, 0x82, 0x32, 0xc3, 0x50, 0x1e, 0x5d, 0x17, 0x25, 0x07, 0x10, 0x86, 0x89, 0xcf, 0xc0, - 0xf6, 0x0e, 0x55, 0x14, 0xfb, 0x73, 0x0f, 0x10, 0x64, 0x39, 0x41, 0xdb, 0xb2, 0xa8, 0xe1, 0x7b, - 0x6b, 0xd6, 0x32, 0x0b, 0x60, 0x04, 0x1f, 0xc5, 0x55, 0x0a, 0xad, 0x34, 0x69, 0x9d, 0xd9, 0xb0, - 0xd6, 0x7f, 0x23, 0x98, 0x48, 0x84, 0xf2, 0xff, 0x52, 0xfd, 0xba, 0x14, 0x9d, 0x63, 0x9a, 0x67, - 0xbb, 0xaf, 0x7a, 0xba, 0x47, 0xbb, 0x4d, 0xde, 0x3f, 0x02, 0x11, 0x63, 0x5c, 0x0b, 0x11, 0x75, - 0x38, 0x60, 0x06, 0xfa, 0xe4, 0x39, 0xd4, 0xbc, 0xeb, 0x6f, 0x11, 0x99, 0x72, 0x2c, 0x8e, 0x48, - 0x48, 0xd2, 0x90, 0xcf, 0x51, 0x33, 0x6e, 0xb9, 0x97, 0x29, 0xff, 0x13, 0x82, 0x23, 0x11, 0x86, - 0x3e, 0x27, 0xcb, 0xad, 0xba, 0x9b, 0xa1, 0x1f, 0x3e, 0x0a, 0x7b, 0x2a, 0xb4, 0x66, 0xba, 0xa6, - 0x6d, 0xe5, 0xad, 0x6a, 0xb9, 0x40, 0x2b, 0x0c, 0xe5, 0x80, 0xb6, 0x5b, 0x2e, 0x5f, 0x62, 0xab, - 0x91, 0x8d, 0x82, 0xce, 0x40, 0x74, 0xa3, 0xc0, 0xfb, 0x0c, 0x41, 0x2e, 0x0d, 0xaf, 0x08, 0xca, - 0x3b, 0xb0, 0xc7, 0x90, 0x5f, 0x22, 0xc1, 0x18, 0x51, 0xf9, 0xdf, 0x03, 0x55, 0xfe, 0x3d, 0x50, - 0xcf, 0x59, 0xf7, 0xb4, 0xdd, 0x46, 0xc4, 0x0d, 0x3e, 0x04, 0x43, 0x22, 0x90, 0x01, 0xab, 0x41, - 0xbe, 0xb0, 0x50, 0x6c, 0x44, 0xa3, 0x3f, 0x2d, 0x1a, 0x03, 0x1b, 0x89, 0x46, 0x05, 0xc6, 0x19, - 0xb9, 0x45, 0xdd, 0x58, 0xa6, 0xde, 0xbc, 0x5d, 0x2e, 0x9b, 0x5e, 0x99, 0x5a, 0x5e, 0xb7, 0x71, - 0x50, 0x60, 0xd0, 0xf5, 0x5d, 0x58, 0x06, 0x15, 0x01, 0x08, 0xde, 0x73, 0xdf, 0x21, 0x38, 0x9c, - 0x70, 0xa8, 0x10, 0x93, 0x95, 0x2c, 0xb9, 0xca, 0x0e, 0xde, 0xa5, 0x85, 0x56, 0x7a, 0x79, 0x3d, - 0xbf, 0x4f, 0x02, 0xe7, 0x76, 0x2b, 0x49, 0xb4, 0xce, 0xf6, 0x6f, 0xb8, 0xce, 0xbe, 0x94, 0x25, - 0x3f, 0x06, 0x61, 0x50, 0x66, 0x77, 0x36, 0xd4, 0x92, 0x95, 0x76, 0x32, 0xb6, 0xd2, 0x72, 0x27, - 0xfc, 0x2e, 0x87, 0x8d, 0xb6, 0x42, 0x99, 0xb5, 0xe1, 0x60, 0x88, 0xa8, 0x46, 0x0d, 0x6a, 0x3a, - 0x3d, 0xbd, 0x99, 0x0f, 0x11, 0x28, 0x71, 0x27, 0x0a, 0x59, 0x15, 0x18, 0xac, 0xf8, 0x4b, 0x35, - 0xca, 0xfd, 0x0e, 0x6a, 0xc1, 0x7b, 0x2f, 0x73, 0xf4, 0x8e, 0x28, 0x98, 0x1c, 0xd4, 0x39, 0x63, - 0xd9, 0xb2, 0xef, 0xac, 0xd0, 0x62, 0x89, 0xf6, 0x3a, 0x51, 0x1f, 0xc9, 0xd2, 0x97, 0x70, 0xb2, - 0x90, 0x65, 0x0a, 0xf6, 0xe8, 0xd1, 0x4f, 0x22, 0x65, 0x9b, 0x97, 0x7b, 0x99, 0xb7, 0x3f, 0xa6, - 0x62, 0xdd, 0x32, 0xc9, 0xfb, 0x2f, 0x82, 0x57, 0x53, 0x61, 0x0a, 0x4d, 0xdf, 0x87, 0xbd, 0x4d, - 0xe2, 0xb5, 0x9f, 0xc6, 0x2d, 0x96, 0x5b, 0x21, 0x97, 0xbf, 0x95, 0x75, 0xf5, 0x9a, 0x25, 0x73, - 0x86, 0x63, 0xee, 0x3a, 0x34, 0x67, 0xe1, 0x90, 0xc3, 0x3c, 0xe5, 0x1b, 0xe5, 0x2b, 0x2f, 0xef, - 0xb0, 0x3b, 0xd6, 0x3f, 0xd9, 0x3f, 0x35, 0xa0, 0x1d, 0x74, 0x9a, 0x8a, 0xe5, 0x55, 0xb9, 0x21, - 0x77, 0x57, 0x94, 0xd3, 0x18, 0x60, 0x22, 0x18, 0xe3, 0x30, 0xd4, 0xf0, 0x87, 0x98, 0xbf, 0xc6, - 0x42, 0x48, 0x93, 0x4c, 0x87, 0x9a, 0xdc, 0x97, 0xe5, 0xa6, 0x71, 0xf4, 0x39, 0x63, 0xb9, 0x6b, - 0x41, 0x4e, 0xc2, 0x88, 0x10, 0x44, 0x37, 0x96, 0x5b, 0x94, 0xc0, 0x8e, 0xbc, 0x79, 0x0d, 0x09, - 0xaa, 0x70, 0x28, 0x16, 0x47, 0x8f, 0xf9, 0xdf, 0x10, 0xbd, 0xee, 0x25, 0x7a, 0x37, 0x88, 0x87, - 0xc6, 0x01, 0x74, 0xdb, 0x47, 0xff, 0x8c, 0x60, 0x32, 0xd9, 0xb7, 0xe0, 0x35, 0x03, 0xa3, 0x16, - 0xbd, 0xdb, 0xb8, 0x2c, 0x79, 0xc1, 0x9e, 0x1d, 0x35, 0xa0, 0x0d, 0x5b, 0xad, 0xb6, 0x3d, 0x2c, - 0x61, 0x33, 0x5f, 0xed, 0x87, 0x6d, 0x0c, 0x33, 0xfe, 0x01, 0xc1, 0x0e, 0xd1, 0x6e, 0xe2, 0xa9, - 0xd8, 0x7c, 0x8f, 0xf9, 0xc1, 0x40, 0x39, 0xd6, 0xc6, 0x4e, 0xce, 0x3c, 0x37, 0xf7, 0xc5, 0xd3, - 0xbf, 0x1e, 0x66, 0xde, 0xc6, 0x6f, 0x91, 0x94, 0x5f, 0x3b, 0x5c, 0xb2, 0xda, 0x90, 0xb8, 0x4e, - 0x7c, 0xe1, 0x5d, 0xb2, 0x2a, 0xc2, 0x51, 0xc7, 0x0f, 0x10, 0x0c, 0xca, 0x01, 0x0f, 0xaf, 0x7f, - 0xb6, 0xbc, 0xd6, 0xca, 0xf1, 0x76, 0xb6, 0x0a, 0x9c, 0xaf, 0x31, 0x9c, 0x13, 0xf8, 0x70, 0x2a, - 0x4e, 0xfc, 0x0b, 0x02, 0xdc, 0x3a, 0x75, 0xe2, 0x53, 0x29, 0x27, 0x25, 0x8d, 0xcb, 0xca, 0xe9, - 0xce, 0x8c, 0x04, 0xd0, 0xb3, 0x0c, 0xe8, 0x19, 0x3c, 0x1b, 0x0f, 0x34, 0x30, 0xf4, 0x35, 0x0d, - 0x5e, 0xea, 0x0d, 0x06, 0x4f, 0x7c, 0x06, 0x2d, 0x23, 0x5f, 0x2a, 0x83, 0xa4, 0xd9, 0x33, 0x95, - 0x41, 0xe2, 0x54, 0x99, 0xbb, 0xcc, 0x18, 0x2c, 0xe0, 0xf3, 0x1b, 0xbf, 0x12, 0x24, 0x3c, 0x8b, - 0xe2, 0x6f, 0x32, 0x30, 0x1a, 0x3b, 0x33, 0xe1, 0xd9, 0xf5, 0x01, 0xc6, 0x0d, 0x85, 0xca, 0x9b, - 0x1d, 0xdb, 0x09, 0x6e, 0x5f, 0x22, 0x46, 0xee, 0x73, 0x84, 0x3f, 0xeb, 0x86, 0x5d, 0x74, 0xbe, - 0x23, 0x72, 0x50, 0x24, 0xab, 0x4d, 0x23, 0x67, 0x9d, 0xf0, 0x32, 0x10, 0xfa, 0xc0, 0x17, 0xea, - 0xf8, 0x19, 0x82, 0xbd, 0xcd, 0x7d, 0x3b, 0x9e, 0x4e, 0xe6, 0x95, 0x30, 0x97, 0x29, 0x33, 0x9d, - 0x98, 0x08, 0x15, 0x3e, 0x61, 0x22, 0xdc, 0xc4, 0xd7, 0xbb, 0xd0, 0xa0, 0xe5, 0x2f, 0xad, 0x4b, - 0x56, 0x65, 0xf9, 0xac, 0xe3, 0xa7, 0x08, 0xf6, 0xb5, 0x4c, 0x25, 0xb8, 0x03, 0xac, 0x41, 0x16, - 0x9e, 0xea, 0xc8, 0x46, 0x10, 0xbc, 0xc6, 0x08, 0x5e, 0xc6, 0x17, 0x37, 0x95, 0x20, 0xfe, 0x15, - 0xc1, 0x2b, 0x91, 0x81, 0x00, 0xab, 0xeb, 0xa1, 0x8b, 0xce, 0x2a, 0x0a, 0x69, 0x7b, 0xbf, 0x60, - 0xf2, 0x11, 0x63, 0xf2, 0x21, 0xbe, 0xd6, 0x3d, 0x93, 0x0a, 0x77, 0x1d, 0x89, 0xd3, 0x1a, 0x82, - 0xd1, 0xd8, 0x06, 0x34, 0x2d, 0x35, 0xd3, 0xc6, 0x8f, 0xb4, 0xd4, 0x4c, 0x1d, 0x1e, 0x72, 0x37, - 0x18, 0xd3, 0xab, 0xf8, 0x4a, 0xf7, 0x4c, 0x75, 0x63, 0x39, 0xc2, 0xf2, 0x25, 0x82, 0xfd, 0xf1, - 0x6d, 0x36, 0xee, 0x14, 0x6e, 0x70, 0x2f, 0xcf, 0x74, 0x6e, 0x28, 0x88, 0xde, 0x64, 0x44, 0x3f, - 0xc0, 0xda, 0xa6, 0x10, 0x8d, 0xd2, 0xb9, 0x9f, 0x81, 0x7d, 0x2d, 0xed, 0x6b, 0x5a, 0xde, 0x25, - 0x35, 0xe1, 0x69, 0x79, 0x97, 0xd8, 0x1f, 0x6f, 0x52, 0x79, 0x8d, 0x2b, 0x2d, 0x29, 0x8d, 0x7d, - 0x9d, 0x54, 0x03, 0x40, 0x79, 0x47, 0x50, 0xfe, 0x07, 0xc1, 0xee, 0x68, 0x13, 0x8b, 0x49, 0x3b, - 0x8c, 0x42, 0x6d, 0xb7, 0x72, 0xb2, 0x7d, 0x03, 0xc1, 0xff, 0x53, 0x46, 0xbf, 0x86, 0xbd, 0xde, - 0xb0, 0x8f, 0x74, 0xf1, 0x11, 0xda, 0xfe, 0x8d, 0xc7, 0xbf, 0x21, 0x18, 0x8e, 0xe9, 0x72, 0x71, - 0x4a, 0x1b, 0x90, 0xdc, 0x70, 0x2b, 0x6f, 0x74, 0x68, 0x25, 0x24, 0x58, 0x64, 0x12, 0xbc, 0x87, - 0x2f, 0x74, 0x21, 0x41, 0xa4, 0x17, 0x9f, 0x5b, 0x7c, 0xfc, 0x22, 0x8b, 0x9e, 0xbc, 0xc8, 0xa2, - 0x3f, 0x5f, 0x64, 0xd1, 0xd7, 0x6b, 0xd9, 0xbe, 0x27, 0x6b, 0xd9, 0xbe, 0xdf, 0xd7, 0xb2, 0x7d, - 0x37, 0x67, 0x4b, 0xa6, 0xb7, 0x54, 0x2d, 0xa8, 0x86, 0x5d, 0x26, 0xe2, 0x1f, 0x7b, 0x66, 0xc1, - 0x38, 0x51, 0xb2, 0x49, 0xd9, 0x2e, 0x56, 0x57, 0xa8, 0xcb, 0xcf, 0x3f, 0x79, 0xfa, 0x84, 0x84, - 0xe0, 0xdd, 0x73, 0xa8, 0x5b, 0xd8, 0xce, 0x7e, 0x81, 0x3d, 0xf5, 0x5f, 0x00, 0x00, 0x00, 0xff, - 0xff, 0x90, 0x44, 0xdb, 0xbc, 0x65, 0x1c, 0x00, 0x00, + // 1486 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xdc, 0x59, 0xcf, 0x6f, 0xd4, 0x46, + 0x14, 0xce, 0x6c, 0x16, 0x48, 0x1e, 0x94, 0x1f, 0x93, 0x04, 0x82, 0x09, 0x9b, 0xb0, 0x55, 0x4b, + 0x40, 0xc2, 0x43, 0x02, 0x4d, 0x51, 0xd5, 0x22, 0x91, 0x48, 0x85, 0x54, 0x05, 0x82, 0x29, 0x2a, + 0x20, 0xb5, 0x5b, 0xaf, 0x77, 0xd8, 0x58, 0xc9, 0xda, 0x66, 0xed, 0x5d, 0x40, 0xe9, 0x56, 0x55, + 0x0f, 0x14, 0xa9, 0x97, 0xaa, 0x1c, 0x2a, 0xf5, 0x52, 0xa9, 0x37, 0x0e, 0x3d, 0xf4, 0x2f, 0xe8, + 0x95, 0x5b, 0x91, 0xe8, 0xa1, 0x12, 0x12, 0xad, 0x08, 0x12, 0xbd, 0xf6, 0xd2, 0x73, 0xe5, 0xf9, + 0xe1, 0xb5, 0x77, 0x6d, 0x27, 0x9b, 0xcd, 0x4a, 0x51, 0x6f, 0xf6, 0x78, 0xde, 0x9b, 0xef, 0xfb, + 0xde, 0xbc, 0x97, 0xf7, 0x36, 0x30, 0x6e, 0x16, 0x0d, 0x62, 0xd8, 0x55, 0x4a, 0x8c, 0x45, 0xdd, + 0xb2, 0xe8, 0x32, 0xa9, 0x4f, 0x91, 0xdb, 0x35, 0x5a, 0xbd, 0xa7, 0x3a, 0x55, 0xdb, 0xb3, 0xf1, + 0x90, 0x59, 0x34, 0x54, 0x7f, 0x83, 0x2a, 0x36, 0xa8, 0xf5, 0x29, 0x25, 0x64, 0xb5, 0x6c, 0x52, + 0xcb, 0xf3, 0x8d, 0xf8, 0x13, 0xb7, 0x52, 0x8e, 0x1b, 0xb6, 0x5b, 0xb1, 0x5d, 0x52, 0xd4, 0x5d, + 0xca, 0xdd, 0x91, 0xfa, 0x54, 0x91, 0x7a, 0xfa, 0x14, 0x71, 0xf4, 0xb2, 0x69, 0xe9, 0x9e, 0x69, + 0x5b, 0x62, 0xef, 0x91, 0x38, 0x08, 0xf2, 0x30, 0xbe, 0x65, 0xac, 0x6c, 0xdb, 0xe5, 0x65, 0x4a, + 0x74, 0xc7, 0x24, 0xba, 0x65, 0xd9, 0x1e, 0xb3, 0x77, 0xc5, 0xd7, 0x83, 0xe2, 0x2b, 0x7b, 0x2b, + 0xd6, 0x6e, 0x11, 0xdd, 0x12, 0xe8, 0x95, 0xe1, 0xb2, 0x5d, 0xb6, 0xd9, 0x23, 0xf1, 0x9f, 0xf8, + 0x6a, 0xfe, 0x22, 0x0c, 0x5d, 0xf1, 0x31, 0xcd, 0xf1, 0x43, 0x34, 0x7a, 0xbb, 0x46, 0x5d, 0x0f, + 0x1f, 0x80, 0x1d, 0x8e, 0x5d, 0xf5, 0x0a, 0x66, 0x69, 0x14, 0x4d, 0xa0, 0xc9, 0x41, 0x6d, 0xbb, + 0xff, 0x3a, 0x5f, 0xc2, 0x87, 0x01, 0x04, 0x1e, 0xff, 0x5b, 0x86, 0x7d, 0x1b, 0x14, 0x2b, 0xf3, + 0xa5, 0xfc, 0x23, 0x04, 0xc3, 0x51, 0x7f, 0xae, 0x63, 0x5b, 0x2e, 0xc5, 0x33, 0xb0, 0x43, 0xec, + 0x62, 0x0e, 0x77, 0x4e, 0x8f, 0xa9, 0x31, 0x6a, 0xaa, 0xd2, 0x4c, 0x6e, 0xc6, 0xc3, 0xb0, 0xcd, + 0xa9, 0xda, 0xf6, 0x2d, 0x76, 0xd4, 0x2e, 0x8d, 0xbf, 0xe0, 0x39, 0xd8, 0xc5, 0x1e, 0x0a, 0x8b, + 0xd4, 0x2c, 0x2f, 0x7a, 0xa3, 0xfd, 0xcc, 0xa5, 0x12, 0x72, 0xc9, 0x23, 0x50, 0x9f, 0x52, 0x2f, + 0xb0, 0x1d, 0xb3, 0xd9, 0xc7, 0xcf, 0xc7, 0xfb, 0xb4, 0x9d, 0xcc, 0x8a, 0x2f, 0xe5, 0x3f, 0x8d, + 0x42, 0x75, 0x25, 0xf7, 0xf7, 0x01, 0x9a, 0x81, 0x11, 0x68, 0xdf, 0x54, 0x79, 0x14, 0x55, 0x3f, + 0x8a, 0x2a, 0xbf, 0x14, 0x22, 0x8a, 0xea, 0x82, 0x5e, 0xa6, 0xc2, 0x56, 0x0b, 0x59, 0xe6, 0x9f, + 0x23, 0x18, 0x69, 0x39, 0x40, 0x88, 0x31, 0x0b, 0x03, 0x82, 0x9f, 0x3b, 0x8a, 0x26, 0xfa, 0x99, + 0xff, 0x38, 0x35, 0xe6, 0x4b, 0xd4, 0xf2, 0xcc, 0x5b, 0x26, 0x2d, 0x49, 0x5d, 0x02, 0x3b, 0x7c, + 0x3e, 0x82, 0x32, 0xc3, 0x50, 0x1e, 0x5d, 0x13, 0x25, 0x07, 0x10, 0x86, 0x89, 0xcf, 0xc0, 0xf6, + 0x0e, 0x55, 0x14, 0xfb, 0xf3, 0x0f, 0x10, 0xe4, 0x38, 0x41, 0xdb, 0xb2, 0xa8, 0xe1, 0x7b, 0x6b, + 0xd5, 0x32, 0x07, 0x60, 0x04, 0x1f, 0xc5, 0x55, 0x0a, 0xad, 0xb4, 0x68, 0x9d, 0xd9, 0xb0, 0xd6, + 0x7f, 0x23, 0x18, 0x4f, 0x84, 0xf2, 0xff, 0x52, 0xfd, 0xba, 0x14, 0x9d, 0x63, 0x9a, 0x63, 0xbb, + 0xaf, 0x7a, 0xba, 0x47, 0xbb, 0x4d, 0xde, 0x3f, 0x03, 0x11, 0x63, 0x5c, 0x0b, 0x11, 0x75, 0x38, + 0x60, 0x06, 0xfa, 0x14, 0x38, 0xd4, 0x82, 0xeb, 0x6f, 0x11, 0x99, 0x72, 0x2c, 0x8e, 0x48, 0x48, + 0xd2, 0x90, 0xcf, 0x11, 0x33, 0x6e, 0xb9, 0x97, 0x29, 0xff, 0x33, 0x82, 0x23, 0x11, 0x86, 0x3e, + 0x27, 0xcb, 0xad, 0xb9, 0x9b, 0xa1, 0x1f, 0x3e, 0x0a, 0x7b, 0xaa, 0xb4, 0x6e, 0xba, 0xa6, 0x6d, + 0x15, 0xac, 0x5a, 0xa5, 0x48, 0xab, 0x0c, 0x65, 0x56, 0xdb, 0x2d, 0x97, 0x2f, 0xb1, 0xd5, 0xc8, + 0x46, 0x41, 0x27, 0x1b, 0xdd, 0x28, 0xf0, 0x3e, 0x43, 0x90, 0x4f, 0xc3, 0x2b, 0x82, 0xf2, 0x1e, + 0xec, 0x31, 0xe4, 0x97, 0x48, 0x30, 0x86, 0x55, 0xfe, 0xf7, 0x40, 0x95, 0x7f, 0x0f, 0xd4, 0x73, + 0xd6, 0x3d, 0x6d, 0xb7, 0x11, 0x71, 0x83, 0x0f, 0xc1, 0xa0, 0x08, 0x64, 0xc0, 0x6a, 0x80, 0x2f, + 0xcc, 0x97, 0x9a, 0xd1, 0xe8, 0x4f, 0x8b, 0x46, 0x76, 0x23, 0xd1, 0xa8, 0xc2, 0x18, 0x23, 0xb7, + 0xa0, 0x1b, 0x4b, 0xd4, 0x9b, 0xb3, 0x2b, 0x15, 0xd3, 0xab, 0x50, 0xcb, 0xeb, 0x36, 0x0e, 0x0a, + 0x0c, 0xb8, 0xbe, 0x0b, 0xcb, 0xa0, 0x22, 0x00, 0xc1, 0x7b, 0xfe, 0x07, 0x04, 0x87, 0x13, 0x0e, + 0x15, 0x62, 0xb2, 0x92, 0x25, 0x57, 0xd9, 0xc1, 0xbb, 0xb4, 0xd0, 0x4a, 0x2f, 0xaf, 0xe7, 0x8f, + 0x49, 0xe0, 0xdc, 0x6e, 0x25, 0x89, 0xd6, 0xd9, 0xfe, 0x0d, 0xd7, 0xd9, 0x57, 0xb2, 0xe4, 0xc7, + 0x20, 0x0c, 0xca, 0xec, 0xce, 0xa6, 0x5a, 0xb2, 0xd2, 0x4e, 0xc4, 0x56, 0x5a, 0xee, 0x84, 0xdf, + 0xe5, 0xb0, 0xd1, 0x56, 0x28, 0xb3, 0x36, 0x1c, 0x0c, 0x11, 0xd5, 0xa8, 0x41, 0x4d, 0xa7, 0xa7, + 0x37, 0xf3, 0x21, 0x02, 0x25, 0xee, 0x44, 0x21, 0xab, 0x02, 0x03, 0x55, 0x7f, 0xa9, 0x4e, 0xb9, + 0xdf, 0x01, 0x2d, 0x78, 0xef, 0x65, 0x8e, 0xde, 0x11, 0x05, 0x93, 0x83, 0x3a, 0x67, 0x2c, 0x59, + 0xf6, 0x9d, 0x65, 0x5a, 0x2a, 0xd3, 0x5e, 0x27, 0xea, 0x23, 0x59, 0xfa, 0x12, 0x4e, 0x16, 0xb2, + 0x4c, 0xc2, 0x1e, 0x3d, 0xfa, 0x49, 0xa4, 0x6c, 0xeb, 0x72, 0x2f, 0xf3, 0xf6, 0x65, 0x2a, 0xd6, + 0xad, 0x92, 0xbc, 0xf8, 0x2c, 0x1c, 0x72, 0x18, 0xc0, 0x42, 0x33, 0xd7, 0x0a, 0x52, 0x70, 0x77, + 0x34, 0x3b, 0xd1, 0x3f, 0x99, 0xd5, 0x0e, 0x3a, 0x2d, 0x99, 0x7d, 0x55, 0x6e, 0xc8, 0xff, 0x8b, + 0xe0, 0xf5, 0x54, 0x9a, 0x22, 0x26, 0x1f, 0xc2, 0xde, 0x16, 0xf1, 0xd7, 0x5f, 0x06, 0xda, 0x2c, + 0xb7, 0x42, 0x2d, 0xf8, 0x5e, 0xd6, 0xe5, 0x6b, 0x96, 0xcc, 0x39, 0x8e, 0xb9, 0xeb, 0xd0, 0xae, + 0x11, 0x92, 0xfe, 0xb5, 0x42, 0x72, 0x57, 0x94, 0xe3, 0x18, 0x60, 0x22, 0x18, 0x63, 0x30, 0xd8, + 0xf4, 0x87, 0x98, 0xbf, 0xe6, 0x42, 0x48, 0x93, 0x4c, 0x87, 0x9a, 0xdc, 0x97, 0xe5, 0xaa, 0x79, + 0xf4, 0x39, 0x63, 0xa9, 0x6b, 0x41, 0x4e, 0xc2, 0xb0, 0x10, 0x44, 0x37, 0x96, 0xda, 0x94, 0xc0, + 0x8e, 0xbc, 0x79, 0x4d, 0x09, 0x6a, 0x70, 0x28, 0x16, 0x47, 0x8f, 0xf9, 0xdf, 0x10, 0xbd, 0xf2, + 0x25, 0x7a, 0x37, 0x88, 0x87, 0xc6, 0x01, 0x74, 0xdb, 0x87, 0xff, 0x82, 0x60, 0x22, 0xd9, 0xb7, + 0xe0, 0x35, 0x0d, 0x23, 0x16, 0xbd, 0xdb, 0xbc, 0x2c, 0x05, 0xc1, 0x9e, 0x1d, 0x95, 0xd5, 0x86, + 0xac, 0x76, 0xdb, 0x1e, 0x96, 0xc0, 0xe9, 0x6f, 0xf6, 0xc3, 0x36, 0x86, 0x19, 0xff, 0x84, 0x60, + 0x87, 0x68, 0x57, 0xf1, 0x64, 0x6c, 0xbe, 0xc7, 0xfc, 0xe0, 0xa0, 0x1c, 0x5b, 0xc7, 0x4e, 0xce, + 0x3c, 0x3f, 0xfb, 0xd5, 0xd3, 0x97, 0x0f, 0x33, 0xef, 0xe2, 0x77, 0x48, 0xca, 0xaf, 0x25, 0x2e, + 0x59, 0x69, 0x4a, 0xdc, 0x20, 0xbe, 0xf0, 0x2e, 0x59, 0x11, 0xe1, 0x68, 0xe0, 0x07, 0x08, 0x06, + 0xe4, 0x80, 0x88, 0xd7, 0x3e, 0x5b, 0x5e, 0x6b, 0xe5, 0xf8, 0x7a, 0xb6, 0x0a, 0x9c, 0x6f, 0x30, + 0x9c, 0xe3, 0xf8, 0x70, 0x2a, 0x4e, 0xfc, 0x2b, 0x02, 0xdc, 0x3e, 0xb5, 0xe2, 0x53, 0x29, 0x27, + 0x25, 0x8d, 0xdb, 0xca, 0xe9, 0xce, 0x8c, 0x04, 0xd0, 0xb3, 0x0c, 0xe8, 0x19, 0x3c, 0x13, 0x0f, + 0x34, 0x30, 0xf4, 0x35, 0x0d, 0x5e, 0x1a, 0x4d, 0x06, 0x4f, 0x7c, 0x06, 0x6d, 0x23, 0x63, 0x2a, + 0x83, 0xa4, 0xd9, 0x35, 0x95, 0x41, 0xe2, 0x54, 0x9a, 0xbf, 0xcc, 0x18, 0xcc, 0xe3, 0xf3, 0x1b, + 0xbf, 0x12, 0x24, 0x3c, 0xcb, 0xe2, 0xef, 0x32, 0x30, 0x12, 0x3b, 0x73, 0xe1, 0x99, 0xb5, 0x01, + 0xc6, 0x0d, 0x95, 0xca, 0xdb, 0x1d, 0xdb, 0x09, 0x6e, 0x5f, 0x23, 0x46, 0xee, 0x4b, 0x84, 0xbf, + 0xe8, 0x86, 0x5d, 0x74, 0x3e, 0x24, 0x72, 0xd0, 0x24, 0x2b, 0x2d, 0x23, 0x6b, 0x83, 0xf0, 0x32, + 0x10, 0xfa, 0xc0, 0x17, 0x1a, 0xf8, 0x19, 0x82, 0xbd, 0xad, 0x7d, 0x3f, 0x9e, 0x4a, 0xe6, 0x95, + 0x30, 0xd7, 0x29, 0xd3, 0x9d, 0x98, 0x08, 0x15, 0x3e, 0x63, 0x22, 0xdc, 0xc4, 0xd7, 0xbb, 0xd0, + 0xa0, 0xed, 0x2f, 0xad, 0x4b, 0x56, 0x64, 0xf9, 0x6c, 0xe0, 0xa7, 0x08, 0xf6, 0xb5, 0x4d, 0x35, + 0xb8, 0x03, 0xac, 0x41, 0x16, 0x9e, 0xea, 0xc8, 0x46, 0x10, 0xbc, 0xc6, 0x08, 0x5e, 0xc6, 0x17, + 0x37, 0x95, 0x20, 0xfe, 0x0d, 0xc1, 0x6b, 0x91, 0x81, 0x02, 0xab, 0x6b, 0xa1, 0x8b, 0xce, 0x3a, + 0x0a, 0x59, 0xf7, 0x7e, 0xc1, 0xe4, 0x13, 0xc6, 0xe4, 0x63, 0x7c, 0xad, 0x7b, 0x26, 0x55, 0xee, + 0x3a, 0x12, 0xa7, 0x55, 0x04, 0x23, 0xb1, 0x0d, 0x68, 0x5a, 0x6a, 0xa6, 0x8d, 0x2f, 0x69, 0xa9, + 0x99, 0x3a, 0x7c, 0xe4, 0x6f, 0x30, 0xa6, 0x57, 0xf1, 0x95, 0xee, 0x99, 0xea, 0xc6, 0x52, 0x84, + 0xe5, 0x2b, 0x04, 0xfb, 0xe3, 0xdb, 0x6c, 0xdc, 0x29, 0xdc, 0xe0, 0x5e, 0x9e, 0xe9, 0xdc, 0x50, + 0x10, 0xbd, 0xc9, 0x88, 0x7e, 0x84, 0xb5, 0x4d, 0x21, 0x1a, 0xa5, 0x73, 0x3f, 0x03, 0xfb, 0xda, + 0xda, 0xd7, 0xb4, 0xbc, 0x4b, 0x6a, 0xc2, 0xd3, 0xf2, 0x2e, 0xb1, 0x3f, 0xde, 0xa4, 0xf2, 0x1a, + 0x57, 0x5a, 0x52, 0x1a, 0xfb, 0x06, 0xa9, 0x05, 0x80, 0x0a, 0x8e, 0xa0, 0xfc, 0x0f, 0x82, 0xdd, + 0xd1, 0x26, 0x16, 0x93, 0xf5, 0x30, 0x0a, 0xb5, 0xdd, 0xca, 0xc9, 0xf5, 0x1b, 0x08, 0xfe, 0x9f, + 0x33, 0xfa, 0x75, 0xec, 0xf5, 0x86, 0x7d, 0xa4, 0x8b, 0x8f, 0xd0, 0xf6, 0x6f, 0x3c, 0xfe, 0x1d, + 0xc1, 0x50, 0x4c, 0x97, 0x8b, 0x53, 0xda, 0x80, 0xe4, 0x86, 0x5b, 0x79, 0xab, 0x43, 0x2b, 0x21, + 0xc1, 0x02, 0x93, 0xe0, 0x03, 0x7c, 0xa1, 0x0b, 0x09, 0x22, 0xbd, 0xf8, 0xec, 0xc2, 0xe3, 0x17, + 0x39, 0xf4, 0xe4, 0x45, 0x0e, 0xfd, 0xf5, 0x22, 0x87, 0xbe, 0x5d, 0xcd, 0xf5, 0x3d, 0x59, 0xcd, + 0xf5, 0xfd, 0xb1, 0x9a, 0xeb, 0xbb, 0x39, 0x53, 0x36, 0xbd, 0xc5, 0x5a, 0x51, 0x35, 0xec, 0x0a, + 0x11, 0xff, 0x18, 0x34, 0x8b, 0xc6, 0x89, 0xb2, 0x4d, 0x2a, 0x76, 0xa9, 0xb6, 0x4c, 0x5d, 0x7e, + 0xfe, 0xc9, 0xd3, 0x27, 0x24, 0x04, 0xef, 0x9e, 0x43, 0xdd, 0xe2, 0x76, 0xf6, 0x0b, 0xee, 0xa9, + 0xff, 0x02, 0x00, 0x00, 0xff, 0xff, 0x53, 0x37, 0x2a, 0x8c, 0xa5, 0x1c, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. @@ -3226,6 +3235,24 @@ func (m *QueryPacketAcknowledgementsRequest) MarshalToSizedBuffer(dAtA []byte) ( _ = i var l int _ = l + if len(m.PacketCommitmentSequences) > 0 { + dAtA20 := make([]byte, len(m.PacketCommitmentSequences)*10) + var j19 int + for _, num := range m.PacketCommitmentSequences { + for num >= 1<<7 { + dAtA20[j19] = uint8(uint64(num)&0x7f | 0x80) + num >>= 7 + j19++ + } + dAtA20[j19] = uint8(num) + j19++ + } + i -= j19 + copy(dAtA[i:], dAtA20[:j19]) + i = encodeVarintQuery(dAtA, i, uint64(j19)) + i-- + dAtA[i] = 0x22 + } if m.Pagination != nil { { size, err := m.Pagination.MarshalToSizedBuffer(dAtA[:i]) @@ -3335,20 +3362,20 @@ func (m *QueryUnreceivedPacketsRequest) MarshalToSizedBuffer(dAtA []byte) (int, var l int _ = l if len(m.PacketCommitmentSequences) > 0 { - dAtA23 := make([]byte, len(m.PacketCommitmentSequences)*10) - var j22 int + dAtA25 := make([]byte, len(m.PacketCommitmentSequences)*10) + var j24 int for _, num := range m.PacketCommitmentSequences { for num >= 1<<7 { - dAtA23[j22] = uint8(uint64(num)&0x7f | 0x80) + dAtA25[j24] = uint8(uint64(num)&0x7f | 0x80) num >>= 7 - j22++ + j24++ } - dAtA23[j22] = uint8(num) - j22++ + dAtA25[j24] = uint8(num) + j24++ } - i -= j22 - copy(dAtA[i:], dAtA23[:j22]) - i = encodeVarintQuery(dAtA, i, uint64(j22)) + i -= j24 + copy(dAtA[i:], dAtA25[:j24]) + i = encodeVarintQuery(dAtA, i, uint64(j24)) i-- dAtA[i] = 0x1a } @@ -3400,20 +3427,20 @@ func (m *QueryUnreceivedPacketsResponse) MarshalToSizedBuffer(dAtA []byte) (int, i-- dAtA[i] = 0x12 if len(m.Sequences) > 0 { - dAtA26 := make([]byte, len(m.Sequences)*10) - var j25 int + dAtA28 := make([]byte, len(m.Sequences)*10) + var j27 int for _, num := range m.Sequences { for num >= 1<<7 { - dAtA26[j25] = uint8(uint64(num)&0x7f | 0x80) + dAtA28[j27] = uint8(uint64(num)&0x7f | 0x80) num >>= 7 - j25++ + j27++ } - dAtA26[j25] = uint8(num) - j25++ + dAtA28[j27] = uint8(num) + j27++ } - i -= j25 - copy(dAtA[i:], dAtA26[:j25]) - i = encodeVarintQuery(dAtA, i, uint64(j25)) + i -= j27 + copy(dAtA[i:], dAtA28[:j27]) + i = encodeVarintQuery(dAtA, i, uint64(j27)) i-- dAtA[i] = 0xa } @@ -3441,20 +3468,20 @@ func (m *QueryUnreceivedAcksRequest) MarshalToSizedBuffer(dAtA []byte) (int, err var l int _ = l if len(m.PacketAckSequences) > 0 { - dAtA28 := make([]byte, len(m.PacketAckSequences)*10) - var j27 int + dAtA30 := make([]byte, len(m.PacketAckSequences)*10) + var j29 int for _, num := range m.PacketAckSequences { for num >= 1<<7 { - dAtA28[j27] = uint8(uint64(num)&0x7f | 0x80) + dAtA30[j29] = uint8(uint64(num)&0x7f | 0x80) num >>= 7 - j27++ + j29++ } - dAtA28[j27] = uint8(num) - j27++ + dAtA30[j29] = uint8(num) + j29++ } - i -= j27 - copy(dAtA[i:], dAtA28[:j27]) - i = encodeVarintQuery(dAtA, i, uint64(j27)) + i -= j29 + copy(dAtA[i:], dAtA30[:j29]) + i = encodeVarintQuery(dAtA, i, uint64(j29)) i-- dAtA[i] = 0x1a } @@ -3506,20 +3533,20 @@ func (m *QueryUnreceivedAcksResponse) MarshalToSizedBuffer(dAtA []byte) (int, er i-- dAtA[i] = 0x12 if len(m.Sequences) > 0 { - dAtA31 := make([]byte, len(m.Sequences)*10) - var j30 int + dAtA33 := make([]byte, len(m.Sequences)*10) + var j32 int for _, num := range m.Sequences { for num >= 1<<7 { - dAtA31[j30] = uint8(uint64(num)&0x7f | 0x80) + dAtA33[j32] = uint8(uint64(num)&0x7f | 0x80) num >>= 7 - j30++ + j32++ } - dAtA31[j30] = uint8(num) - j30++ + dAtA33[j32] = uint8(num) + j32++ } - i -= j30 - copy(dAtA[i:], dAtA31[:j30]) - i = encodeVarintQuery(dAtA, i, uint64(j30)) + i -= j32 + copy(dAtA[i:], dAtA33[:j32]) + i = encodeVarintQuery(dAtA, i, uint64(j32)) i-- dAtA[i] = 0xa } @@ -3985,6 +4012,13 @@ func (m *QueryPacketAcknowledgementsRequest) Size() (n int) { l = m.Pagination.Size() n += 1 + l + sovQuery(uint64(l)) } + if len(m.PacketCommitmentSequences) > 0 { + l = 0 + for _, e := range m.PacketCommitmentSequences { + l += sovQuery(uint64(e)) + } + n += 1 + sovQuery(uint64(l)) + l + } return n } @@ -6785,6 +6819,82 @@ func (m *QueryPacketAcknowledgementsRequest) Unmarshal(dAtA []byte) error { return err } iNdEx = postIndex + case 4: + if wireType == 0 { + var v uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.PacketCommitmentSequences = append(m.PacketCommitmentSequences, v) + } else if wireType == 2 { + var packedLen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + packedLen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if packedLen < 0 { + return ErrInvalidLengthQuery + } + postIndex := iNdEx + packedLen + if postIndex < 0 { + return ErrInvalidLengthQuery + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + var elementCount int + var count int + for _, integer := range dAtA[iNdEx:postIndex] { + if integer < 128 { + count++ + } + } + elementCount = count + if elementCount != 0 && len(m.PacketCommitmentSequences) == 0 { + m.PacketCommitmentSequences = make([]uint64, 0, elementCount) + } + for iNdEx < postIndex { + var v uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.PacketCommitmentSequences = append(m.PacketCommitmentSequences, v) + } + } else { + return fmt.Errorf("proto: wrong wireType = %d for field PacketCommitmentSequences", wireType) + } default: iNdEx = preIndex skippy, err := skipQuery(dAtA[iNdEx:]) diff --git a/proto/ibc/core/channel/v1/query.proto b/proto/ibc/core/channel/v1/query.proto index 194fe86777f..9690e24edfc 100644 --- a/proto/ibc/core/channel/v1/query.proto +++ b/proto/ibc/core/channel/v1/query.proto @@ -301,6 +301,8 @@ message QueryPacketAcknowledgementsRequest { string channel_id = 2; // pagination request cosmos.base.query.v1beta1.PageRequest pagination = 3; + // list of packet sequences + repeated uint64 packet_commitment_sequences = 4; } // QueryPacketAcknowledgemetsResponse is the request type for the From a647546486d162f0b58a0a505bfbc1dbbb68004f Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 9 Sep 2021 16:27:04 +0200 Subject: [PATCH 014/107] Bump github.com/tendermint/tendermint from 0.34.12 to 0.34.13 (#386) Bumps [github.com/tendermint/tendermint](https://github.com/tendermint/tendermint) from 0.34.12 to 0.34.13. - [Release notes](https://github.com/tendermint/tendermint/releases) - [Changelog](https://github.com/tendermint/tendermint/blob/v0.34.13/CHANGELOG.md) - [Commits](https://github.com/tendermint/tendermint/compare/v0.34.12...v0.34.13) --- updated-dependencies: - dependency-name: github.com/tendermint/tendermint dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- go.mod | 2 +- go.sum | 69 +++++++++++++++++++++++++++++++++++++++++++++++++++++++--- 2 files changed, 67 insertions(+), 4 deletions(-) diff --git a/go.mod b/go.mod index e8169182e72..d812a9b8219 100644 --- a/go.mod +++ b/go.mod @@ -18,7 +18,7 @@ require ( github.com/spf13/cobra v1.2.1 github.com/spf13/viper v1.8.1 github.com/stretchr/testify v1.7.0 - github.com/tendermint/tendermint v0.34.12 + github.com/tendermint/tendermint v0.34.13 github.com/tendermint/tm-db v0.6.4 google.golang.org/genproto v0.0.0-20210602131652-f16073e35f0c google.golang.org/grpc v1.40.0 diff --git a/go.sum b/go.sum index aca5c37b91f..854384596a5 100644 --- a/go.sum +++ b/go.sum @@ -1,3 +1,4 @@ +bazil.org/fuse v0.0.0-20160811212531-371fbbdaa898/go.mod h1:Xbm+BRKSBEpa4q4hTSxohYNQpsxXPbPry4JJWOB3LB8= cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= cloud.google.com/go v0.38.0/go.mod h1:990N+gfupTy94rShfmMCWGDn0LpTmnzTp2qbd1dvSRU= @@ -44,6 +45,9 @@ github.com/99designs/keyring v1.1.6/go.mod h1:16e0ds7LGQQcT59QqkTg72Hh5ShM51Byv5 github.com/Azure/azure-pipeline-go v0.2.1/go.mod h1:UGSo8XybXnIGZ3epmeBw7Jdz+HiUVpqIlpz/HKHylF4= github.com/Azure/azure-pipeline-go v0.2.2/go.mod h1:4rQ/NZncSvGqNkkOsNpOU1tgoNuIlp9AfUH5G1tvCHc= github.com/Azure/azure-storage-blob-go v0.7.0/go.mod h1:f9YQKtsG1nMisotuTPpO0tjNuEjKRYAcJU8/ydDI++4= +github.com/Azure/go-ansiterm v0.0.0-20170929234023-d6e3b3328b78/go.mod h1:LmzpDX56iTiv29bbRTIsUNlaFfuhWRQBWjQdVyAevI8= +github.com/Azure/go-ansiterm v0.0.0-20210617225240-d185dfc1b5a1 h1:UQHMgLO+TxOElx5B5HZ4hJQsoJ/PvUvKRhJHDQXO8P8= +github.com/Azure/go-ansiterm v0.0.0-20210617225240-d185dfc1b5a1/go.mod h1:xomTg63KZ2rFqZQzSB4Vz2SUXa1BpHTVz9L5PTmPC4E= github.com/Azure/go-autorest/autorest v0.9.0/go.mod h1:xyHB1BMZT0cuDHU7I0+g046+BFDTQ8rEZB0s4Yfa6bI= github.com/Azure/go-autorest/autorest/adal v0.5.0/go.mod h1:8Z9fGy2MpX0PvDjB1pEgQTmVqjGhiHBW7RJJEciWzS0= github.com/Azure/go-autorest/autorest/adal v0.8.0/go.mod h1:Z6vX6WXXuyieHAXwMj0S6HY6e6wcHn37qQMBQlvY3lc= @@ -63,6 +67,11 @@ github.com/DataDog/zstd v1.4.1/go.mod h1:1jcaCB/ufaK+sKp1NBhlGmpz41jOoPQ35bpF36t github.com/DataDog/zstd v1.4.5 h1:EndNeuB0l9syBZhut0wns3gV1hL8zX8LIu6ZiVHWLIQ= github.com/DataDog/zstd v1.4.5/go.mod h1:1jcaCB/ufaK+sKp1NBhlGmpz41jOoPQ35bpF36t7BBo= github.com/Knetic/govaluate v3.0.1-0.20171022003610-9aa49832a739+incompatible/go.mod h1:r7JcOSlj0wfOMncg0iLm8Leh48TZaKVeNIfJntJ2wa0= +github.com/Microsoft/go-winio v0.4.14/go.mod h1:qXqCSQ3Xa7+6tgxaGTIe4Kpcdsi+P8jBhyzoq1bpyYA= +github.com/Microsoft/go-winio v0.5.0 h1:Elr9Wn+sGKPlkaBvwu4mTrxtmOp3F3yV9qhaHbXGjwU= +github.com/Microsoft/go-winio v0.5.0/go.mod h1:JPGBdM1cNvN/6ISo+n8V5iA4v8pBzdOpzfwIujj1a84= +github.com/Nvveen/Gotty v0.0.0-20120604004816-cd527374f1e5 h1:TngWCqHvy9oXAN6lEVMRuU21PR1EtLVZJmdB18Gu3Rw= +github.com/Nvveen/Gotty v0.0.0-20120604004816-cd527374f1e5/go.mod h1:lmUJ/7eu/Q8D7ML55dXQrVaamCz2vxCfdQBasLZfHKk= github.com/OneOfOne/xxhash v1.2.2 h1:KMrpdQIwFcEqXDklaen+P1axHaj9BSKzvpUUfnHldSE= github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU= github.com/Shopify/sarama v1.19.0/go.mod h1:FVkBWblsNy7DGZRfXLU0O9RCGt5g3g3yEuWXgklEdEo= @@ -74,6 +83,8 @@ github.com/VividCortex/gohistogram v1.0.0/go.mod h1:Pf5mBqqDxYaXu3hDrrU+w6nw50o/ github.com/Workiva/go-datastructures v1.0.52 h1:PLSK6pwn8mYdaoaCZEMsXBpBotr4HHn9abU0yMQt0NI= github.com/Workiva/go-datastructures v1.0.52/go.mod h1:Z+F2Rca0qCsVYDS8z7bAGm8f3UkzuWYS/oBZz5a7VVA= github.com/Zilliqa/gozilliqa-sdk v1.2.1-0.20201201074141-dd0ecada1be6/go.mod h1:eSYp2T6f0apnuW8TzhV3f6Aff2SE8Dwio++U4ha4yEM= +github.com/adlio/schema v1.1.13 h1:LeNMVg5Z1FX+Qgz8tJUijBLRdcpbFUElz+d1489On98= +github.com/adlio/schema v1.1.13/go.mod h1:L5Z7tw+7lRK1Fnpi/LT/ooCP1elkXn0krMWBQHUhEDE= github.com/aead/siphash v1.0.1/go.mod h1:Nywa3cDsYNNK3gaciGTWPwHt0wlpNV15vwmswBAUSII= github.com/afex/hystrix-go v0.0.0-20180502004556-fa1af6a1f4f5/go.mod h1:SkGFH1ia65gfNATL8TAiHDNxPzPdmEL5uirI2Uyuz6c= github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= @@ -103,6 +114,7 @@ github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= github.com/bgentry/speakeasy v0.1.0 h1:ByYyxL9InA1OWqxJqqp2A5pYHUrCiAL6K3J+LKSsQkY= github.com/bgentry/speakeasy v0.1.0/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kBD4zp0CCIs= +github.com/bits-and-blooms/bitset v1.2.0/go.mod h1:gIdJ4wp64HaoK2YrL1Q5/N7Y16edYb8uY+O0FJTyyDA= github.com/bketelsen/crypt v0.0.3-0.20200106085610-5cbc8cc4026c/go.mod h1:MKsuJmJgSg28kpZDP6UIiPt0e0Oz0kqKNGyRaWEPv84= github.com/bketelsen/crypt v0.0.4/go.mod h1:aI6NrJ0pMGgvZKL1iVgXLnfIFJtfV+bKCoqOes/6LfM= github.com/btcsuite/btcd v0.0.0-20171128150713-2e60448ffcc6/go.mod h1:Dmm/EzmjnCiweXmzRIAiUWCInVmPgjkzgv5k4tVyXiQ= @@ -127,6 +139,7 @@ github.com/btcsuite/snappy-go v1.0.0/go.mod h1:8woku9dyThutzjeg+3xrA5iCpBRH8XEEg github.com/btcsuite/websocket v0.0.0-20150119174127-31079b680792/go.mod h1:ghJtEyQwv5/p4Mg4C0fgbePVuGr935/5ddU9Z3TmDRY= github.com/btcsuite/winsvc v1.0.0/go.mod h1:jsenWakMcC0zFBFurPLEAyrnc/teJEM1O46fmI40EZs= github.com/casbin/casbin/v2 v2.1.2/go.mod h1:YcPU1XXisHhLzuxH9coDNf2FbKpjGlbCg3n9yuLkIJQ= +github.com/cenkalti/backoff v2.2.1+incompatible h1:tNowT99t7UNflLxfYYSlKYsBpXdEet03Pg2g16Swow4= github.com/cenkalti/backoff v2.2.1+incompatible/go.mod h1:90ReRw6GdpyfrHakVjL/QHaoyV4aDUVVkXQJJJ3NXXM= github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= github.com/cespare/cp v0.1.0/go.mod h1:SOGHArjBr4JWaSDEVpWpo/hNg6RoKrls6Oh40hiwW+s= @@ -134,9 +147,11 @@ github.com/cespare/xxhash v1.1.0 h1:a6HrQnmkObjyL+Gs60czilIUGqrzKutQD6XZog3p+ko= github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc= github.com/cespare/xxhash/v2 v2.1.1 h1:6MnRN8NT7+YBpUIWxHtefFZOKTAPgGjpQSxqLNn0+qY= github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= +github.com/checkpoint-restore/go-criu/v5 v5.0.0/go.mod h1:cfwC0EG7HMUenopBsUf9d89JlCLQIfgVcNsNN0t6T2M= github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI= github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= +github.com/cilium/ebpf v0.6.2/go.mod h1:4tRaxcgiL706VnOzHOdBlY8IEAIdxINsQBcU4xJJXRs= github.com/circonus-labs/circonus-gometrics v2.3.1+incompatible/go.mod h1:nmEj6Dob7S7YxXgwXpfOuvO54S+tGdZdw9fuRZt25Ag= github.com/circonus-labs/circonusllhist v0.1.3/go.mod h1:kMXHVDlOchFAehlya5ePtbp5jckzBHf4XRpQvBOLI+I= github.com/clbanning/x2j v0.0.0-20191024224557-825249438eec/go.mod h1:jMjuTZXRI4dUb/I5gc9Hdhagfvm9+RyrPryS/auMzxE= @@ -154,6 +169,10 @@ github.com/confio/ics23/go v0.0.0-20200817220745-f173e6211efb/go.mod h1:E45Nqnlp github.com/confio/ics23/go v0.6.3/go.mod h1:E45NqnlpxGnpfTWL/xauN7MRwEE28T4Dd4uraToOaKg= github.com/confio/ics23/go v0.6.6 h1:pkOy18YxxJ/r0XFDCnrl4Bjv6h4LkBSpLS6F38mrKL8= github.com/confio/ics23/go v0.6.6/go.mod h1:E45NqnlpxGnpfTWL/xauN7MRwEE28T4Dd4uraToOaKg= +github.com/containerd/console v1.0.2/go.mod h1:ytZPjGgY2oeTkAONYafi2kSj0aYggsf8acV1PGKCbzQ= +github.com/containerd/continuity v0.0.0-20190827140505-75bee3e2ccb6/go.mod h1:GL3xCUCBDV3CZiTSEKksMWbLE66hEyuu9qyDOOqM47Y= +github.com/containerd/continuity v0.1.0 h1:UFRRY5JemiAhPZrr/uE0n8fMTLcZsUvySPr1+D7pgr8= +github.com/containerd/continuity v0.1.0/go.mod h1:ICJu0PwR54nI0yPEnJ6jcS+J7CZAUXrLh8lPo2knzsM= github.com/coreos/bbolt v1.3.2/go.mod h1:iRUV2dpdMOn7Bo10OQBFzIJO9kkE559Wcmn+qkEiiKk= github.com/coreos/etcd v3.3.10+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE= github.com/coreos/etcd v3.3.13+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE= @@ -183,6 +202,7 @@ github.com/cpuguy83/go-md2man v1.0.10/go.mod h1:SmD6nW6nTyfqj6ABTjUi3V3JVMnlJmwc github.com/cpuguy83/go-md2man/v2 v2.0.0-20190314233015-f79a8a8ca69d/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= github.com/cpuguy83/go-md2man/v2 v2.0.0/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= github.com/creack/pty v1.1.7/go.mod h1:lj5s0c3V2DBrqTV7llrYr5NG6My20zk30Fl46Y7DoTY= +github.com/cyphar/filepath-securejoin v0.2.2/go.mod h1:FpkQEhXnPnOthhzymB7CGsFk2G9VLXONKD9G7QGMM+4= github.com/danieljoos/wincred v1.0.2 h1:zf4bhty2iLuwgjgpraD2E9UbvO+fe54XXGJbOwe23fU= github.com/danieljoos/wincred v1.0.2/go.mod h1:SnuYRW9lp1oJrZX/dXJqr0cPK5gYXqx3EJbmjhLdK9U= github.com/davecgh/go-spew v0.0.0-20171005155431-ecdeabc65495/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= @@ -206,6 +226,10 @@ github.com/dgryski/go-farm v0.0.0-20200201041132-a6ae2369ad13/go.mod h1:SqUrOPUn github.com/dgryski/go-sip13 v0.0.0-20181026042036-e10d5fee7954/go.mod h1:vAd38F8PWV+bWy6jNmig1y/TA+kYO4g3RSRF0IAv0no= github.com/dlclark/regexp2 v1.2.0/go.mod h1:2pZnwuY/m+8K6iRw6wQdMtk+rH5tNGR1i55kozfMjCc= github.com/docker/docker v1.4.2-0.20180625184442-8e610b2b55bf/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= +github.com/docker/go-connections v0.4.0 h1:El9xVISelRB7BuFusrZozjnkIM5YnzCViNKohAFqRJQ= +github.com/docker/go-connections v0.4.0/go.mod h1:Gbd7IOopHjR8Iph03tsViu4nIes5XhDvyHbTtUxmeec= +github.com/docker/go-units v0.4.0 h1:3uh0PgVws3nIA0Q+MwDC8yjEPf9zjRfZZWXZYDct3Tw= +github.com/docker/go-units v0.4.0/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk= github.com/dop251/goja v0.0.0-20200721192441-a695b0cdd498/go.mod h1:Mw6PkjjMXWbTj+nnj4s3QPXq1jaT0s5pC0iFD4+BOAA= github.com/dustin/go-humanize v0.0.0-20171111073723-bb3d318650d4/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= github.com/dustin/go-humanize v1.0.0 h1:VSnTsYCnlFHaM2/igO1h6X3HA71jcobQuxemgkq4zYo= @@ -246,6 +270,7 @@ github.com/fortytw2/leaktest v1.3.0 h1:u8491cBMTQ8ft8aeV+adlcytMZylmA5nnwwkRZjI8 github.com/fortytw2/leaktest v1.3.0/go.mod h1:jDsjWgpAGjm2CA7WthBh/CdZYEPF31XHquHwclZch5g= github.com/franela/goblin v0.0.0-20200105215937-c9ffbefa60db/go.mod h1:7dvUGVsVBjqR7JHJk0brhHOZYGmfBYOrK0ZhYMEtBr4= github.com/franela/goreq v0.0.0-20171204163338-bcd34c9993f8/go.mod h1:ZhphrRTfi2rbfLwlschooIH4+wKKDR4Pdxhh+TRoA20= +github.com/frankban/quicktest v1.11.3/go.mod h1:wRf/ReqHper53s+kmmSZizM8NamnL3IM0I9ntUbOk+k= github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= github.com/fsnotify/fsnotify v1.4.9 h1:hsms1Qyu0jgnwNXIxa+/V/PDsU6CfLf6CNO8H7IWoS4= github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ= @@ -388,6 +413,8 @@ github.com/gorilla/websocket v1.4.1-0.20190629185528-ae1634f6a989/go.mod h1:E7qH github.com/gorilla/websocket v1.4.1/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= github.com/gorilla/websocket v1.4.2 h1:+/TMaTYc4QFitKJxsQ7Yye35DkWvkdLcvGKqM+x0Ufc= github.com/gorilla/websocket v1.4.2/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= +github.com/gotestyourself/gotestyourself v2.2.0+incompatible h1:AQwinXlbQR2HvPjQZOmDhRqsv5mZf+Jb1RnSLxcqZcI= +github.com/gotestyourself/gotestyourself v2.2.0+incompatible/go.mod h1:zZKM6oeNM8k+FRljX1mnzVYeS8wiGgQyvST1/GafPbY= github.com/graph-gophers/graphql-go v0.0.0-20191115155744-f33e81362277/go.mod h1:9CQHMSxwO4MprSdzoIEobiHpoLtHm77vfxsvsIN5Vuc= github.com/grpc-ecosystem/go-grpc-middleware v1.0.0/go.mod h1:FiyG127CGDf3tlThmgyCl78X/SZQqEOJBCDaAfeWzPs= github.com/grpc-ecosystem/go-grpc-middleware v1.0.1-0.20190118093823-f849b5445de4/go.mod h1:FiyG127CGDf3tlThmgyCl78X/SZQqEOJBCDaAfeWzPs= @@ -495,12 +522,15 @@ github.com/kr/fs v0.1.0/go.mod h1:FFnZGqtBN9Gxj7eW1uZ42v5BccTP0vu6NEaFoC2HwRg= github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc= github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= github.com/kr/pretty v0.2.0/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= +github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= github.com/kr/text v0.1.0 h1:45sCR5RtlFHMR4UwH9sdQ5TC8v0qDQCHnXt+kaKSTVE= github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw= github.com/leodido/go-urn v1.2.0 h1:hpXL4XnriNwQ/ABnpepYM/1vCLWNDfUNts8dX3xTG6Y= github.com/leodido/go-urn v1.2.0/go.mod h1:+8+nEpDfqqsY+g338gtMEUOtuK+4dEMhiQEgxpxOKII= +github.com/lib/pq v1.2.0 h1:LXpIM/LZ5xGFhOpXAQUIMM1HdyqzVYM13zNdjCEEcA0= +github.com/lib/pq v1.2.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= github.com/libp2p/go-buffer-pool v0.0.2 h1:QNK2iAFa8gjAe1SPz6mHSMuCcjs+X1wlHzeOSqcmlfs= github.com/libp2p/go-buffer-pool v0.0.2/go.mod h1:MvaB6xw5vOrDl8rYZGLFdKAuk/hRoRZd1Vi32+RXyFM= github.com/lightstep/lightstep-tracer-common/golang/gogo v0.0.0-20190605223551-bc2310a04743/go.mod h1:qklhhLq1aX+mtWk9cPHPzaBjWImj5ULL6C7HFJtXQMM= @@ -544,12 +574,14 @@ github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh github.com/mitchellh/mapstructure v1.3.3/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= github.com/mitchellh/mapstructure v1.4.1 h1:CpVNEelQCZBooIPDn+AR3NpivK/TIKU8bDxdASFVQag= github.com/mitchellh/mapstructure v1.4.1/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= +github.com/moby/sys/mountinfo v0.4.1/go.mod h1:rEr8tzG/lsIZHBtN/JjGG+LMYx9eXgW2JI+6q0qou+A= github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg= github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= github.com/modern-go/reflect2 v1.0.1 h1:9f412s+6RmYXLWZSEzVVgPGK7C2PphHj5RJrvfx9AWI= github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= +github.com/mrunalp/fileutils v0.5.0/go.mod h1:M1WthSahJixYnrXQl/DFQuteStB1weuxD2QJNHXfbSQ= github.com/mtibben/percent v0.2.1 h1:5gssi8Nqo8QU/r2pynCm+hBQHpkB/uNK7BJCFogWdzs= github.com/mtibben/percent v0.2.1/go.mod h1:KG9uO+SZkUp+VkRHsCdYQV3XSZrrSpR3O9ibNBTZrns= github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= @@ -587,6 +619,16 @@ github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7J github.com/onsi/gomega v1.10.1 h1:o0+MgICZLuZ7xjH7Vx6zS/zcu93/BEp1VwkIW1mEXCE= github.com/onsi/gomega v1.10.1/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1ybHNo= github.com/op/go-logging v0.0.0-20160315200505-970db520ece7/go.mod h1:HzydrMdWErDVzsI23lYNej1Htcns9BCg93Dk0bBINWk= +github.com/opencontainers/go-digest v1.0.0-rc1/go.mod h1:cMLVZDEM3+U2I4VmLI6N8jQYUd2OVphdqWwCJHrFt2s= +github.com/opencontainers/go-digest v1.0.0 h1:apOUWs51W5PlhuyGyz9FCeeBIOUDA/6nW8Oi/yOhh5U= +github.com/opencontainers/go-digest v1.0.0/go.mod h1:0JzlMkj0TRzQZfJkVvzbP0HBR3IKzErnv2BNG4W4MAM= +github.com/opencontainers/image-spec v1.0.1 h1:JMemWkRwHx4Zj+fVxWoMCFm/8sYGGrUVojFA6h/TRcI= +github.com/opencontainers/image-spec v1.0.1/go.mod h1:BtxoFyWECRxE4U/7sNtV5W15zMzWCbyJoFRP3s7yZA0= +github.com/opencontainers/runc v0.1.1/go.mod h1:qT5XzbpPznkRYVz/mWwUaVBUv2rmF59PVA73FjuZG0U= +github.com/opencontainers/runc v1.0.2 h1:opHZMaswlyxz1OuGpBE53Dwe4/xF7EZTY0A2L/FpCOg= +github.com/opencontainers/runc v1.0.2/go.mod h1:aTaHFFwQXuA71CiyxOdFFIorAoemI04suvGRQFzWTD0= +github.com/opencontainers/runtime-spec v1.0.3-0.20210326190908-1c3f411f0417/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0= +github.com/opencontainers/selinux v1.8.2/go.mod h1:MUIHuUEvKB1wtJjQdOyYRgOnLD2xAPP8dBsCoU0KuF8= github.com/opentracing-contrib/go-observer v0.0.0-20170622124052-a52f23424492/go.mod h1:Ngi6UdF0k5OKD5t5wlmGhe/EDKPoUM3BXZSSfIuJbis= github.com/opentracing/basictracer-go v1.0.0/go.mod h1:QfBfYuafItcjQuMwinw9GhYKwFXS9KnPs5lxoYwgW74= github.com/opentracing/opentracing-go v1.0.2/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o= @@ -595,6 +637,8 @@ github.com/openzipkin-contrib/zipkin-go-opentracing v0.4.5/go.mod h1:/wsWhb9smxS github.com/openzipkin/zipkin-go v0.1.6/go.mod h1:QgAqvLzwWbR/WpD4A3cGpPtJrZXNIiJc5AZX7/PBEpw= github.com/openzipkin/zipkin-go v0.2.1/go.mod h1:NaW6tEwdmWMaCDZzg8sh+IBNOxHMPnhQw8ySjnjRyN4= github.com/openzipkin/zipkin-go v0.2.2/go.mod h1:NaW6tEwdmWMaCDZzg8sh+IBNOxHMPnhQw8ySjnjRyN4= +github.com/ory/dockertest v3.3.5+incompatible h1:iLLK6SQwIhcbrG783Dghaaa3WPzGc+4Emza6EbVUUGA= +github.com/ory/dockertest v3.3.5+incompatible/go.mod h1:1vX4m9wsvi00u5bseYwXaSnhNrne+V0E6LAcBILJdPs= github.com/otiai10/copy v1.6.0 h1:IinKAryFFuPONZ7cm6T6E2QX/vcJwSnlaA5lfoaXIiQ= github.com/otiai10/copy v1.6.0/go.mod h1:XWfuS3CrI0R6IE0FbgHsEazaXO8G0LpMp9o8tos0x4E= github.com/otiai10/curr v0.0.0-20150429015615-9b4961190c95/go.mod h1:9qAhocn7zKJG+0mI8eUu6xqkFDYS2kb2saOteoSB3cE= @@ -694,12 +738,17 @@ github.com/sasha-s/go-deadlock v0.2.0/go.mod h1:StQn567HiB1fF2yJ44N9au7wOhrPS3iZ github.com/sasha-s/go-deadlock v0.2.1-0.20190427202633-1595213edefa h1:0U2s5loxrTy6/VgfVoLuVLFJcURKLH49ie0zSch7gh4= github.com/sasha-s/go-deadlock v0.2.1-0.20190427202633-1595213edefa/go.mod h1:F73l+cr82YSh10GxyRI6qZiCgK64VaZjwesgfQ1/iLM= github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529/go.mod h1:DxrIzT+xaE7yg65j358z/aeFdxmN0P9QXhEzd20vsDc= +github.com/seccomp/libseccomp-golang v0.9.1/go.mod h1:GbW5+tmTXfcxTToHLXlScSlAvWlF4P2Ca7zGrPiEpWo= github.com/segmentio/fasthash v1.0.3/go.mod h1:waKX8l2N8yckOgmSsXJi7x1ZfdKZ4x7KRMzBtS3oedY= github.com/shirou/gopsutil v2.20.5+incompatible/go.mod h1:5b4v6he4MtMOwMlS0TUMTu2PcXUg8+E1lC7eC3UO/RA= github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc= github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= +github.com/sirupsen/logrus v1.4.1/go.mod h1:ni0Sbl8bgC9z8RoU9G6nDWqqs/fq4eDPysMBDgk/93Q= github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE= github.com/sirupsen/logrus v1.6.0/go.mod h1:7uNnSEd1DgxDLC74fIahvMZmmYsHGZGEOFrfsX/uA88= +github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= +github.com/sirupsen/logrus v1.8.1 h1:dJKuHgqk1NNQlqoA6BTlM1Wf9DOH3NBjQyu0h9+AZZE= +github.com/sirupsen/logrus v1.8.1/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d h1:zE9ykElWQ6/NYmHa3jpm/yHnI4xSofP+UP6SpjHcSeM= github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc= github.com/smartystreets/goconvey v1.6.4 h1:fv0U8FUIMPNf1L9lnHLvLhgicrIVChEkdzIKYqbNC9s= @@ -757,6 +806,7 @@ github.com/stretchr/testify v1.7.0 h1:nwc3DEeHmmLAfoZucVR881uASk0Mfjw8xYJ99tb5Cc github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/subosito/gotenv v1.2.0 h1:Slr1R9HxAlEKefgq5jn9U+DnETlIUa6HfgEzj0g5d7s= github.com/subosito/gotenv v1.2.0/go.mod h1:N0PQaV/YGNqwC0u51sEeR/aUtSLEXKX9iv69rRypqCw= +github.com/syndtr/gocapability v0.0.0-20200815063812-42c35b437635/go.mod h1:hkRG7XYTFWNJGYcbNJQlaLq0fg1yr4J4t/NcTQtrfww= github.com/syndtr/goleveldb v1.0.1-0.20200815110645-5c35d600f0ca h1:Ld/zXl5t4+D69SiV4JoN7kkfvJdOWlPpfxrzxpLMoUk= github.com/syndtr/goleveldb v1.0.1-0.20200815110645-5c35d600f0ca/go.mod h1:u2MKkTVTVJWe5D1rCvame8WqhBd88EuIwODJZ1VHCPM= github.com/tecbot/gorocksdb v0.0.0-20191217155057-f0fad39f321c h1:g+WoO5jjkqGAzHWCjJB1zZfXPIAaDpzXIEJ0eS6B5Ok= @@ -771,8 +821,9 @@ github.com/tendermint/tendermint v0.34.0-rc4/go.mod h1:yotsojf2C1QBOw4dZrTcxbyxm github.com/tendermint/tendermint v0.34.0-rc6/go.mod h1:ugzyZO5foutZImv0Iyx/gOFCX6mjJTgbLHTwi17VDVg= github.com/tendermint/tendermint v0.34.0/go.mod h1:Aj3PIipBFSNO21r+Lq3TtzQ+uKESxkbA3yo/INM4QwQ= github.com/tendermint/tendermint v0.34.10/go.mod h1:aeHL7alPh4uTBIJQ8mgFEE8VwJLXI1VD3rVOmH2Mcy0= -github.com/tendermint/tendermint v0.34.12 h1:m+kUYNhONedhJfHmHG8lqsdZvbR5t6vmhaok1yXjpKg= github.com/tendermint/tendermint v0.34.12/go.mod h1:aeHL7alPh4uTBIJQ8mgFEE8VwJLXI1VD3rVOmH2Mcy0= +github.com/tendermint/tendermint v0.34.13 h1:fu+tsHudbOr5PvepjH0q47Jae59hQAvn3IqAHv2EbC8= +github.com/tendermint/tendermint v0.34.13/go.mod h1:6RVVRBqwtKhA+H59APKumO+B7Nye4QXSFc6+TYxAxCI= github.com/tendermint/tm-db v0.6.2/go.mod h1:GYtQ67SUvATOcoY8/+x6ylk8Qo02BQyLrAs+yAcLvGI= github.com/tendermint/tm-db v0.6.3/go.mod h1:lfA1dL9/Y/Y8wwyPp2NMLyn5P5Ptr/gvDFNWtrCWSf8= github.com/tendermint/tm-db v0.6.4 h1:3N2jlnYQkXNQclQwd/eKV/NzlqPlfK21cpRRIx80XXQ= @@ -794,6 +845,8 @@ github.com/ugorji/go/codec v1.1.7 h1:2SvQaVZ1ouYrrKKwoSk2pzd4A9evlKJb9oTL+OaLUSs github.com/ugorji/go/codec v1.1.7/go.mod h1:Ax+UKWsSmolVDwsd+7N3ZtXu+yMGCf907BLYF3GoBXY= github.com/urfave/cli v1.20.0/go.mod h1:70zkFmudgCuE/ngEzBv17Jvp/497gISqfk5gWijbERA= github.com/urfave/cli v1.22.1/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0= +github.com/vishvananda/netlink v1.1.0/go.mod h1:cTgwzPIzzgDAYoQrMm0EdrjRUBkTqKYppBueQtXaqoE= +github.com/vishvananda/netns v0.0.0-20191106174202-0a2b9b5464df/go.mod h1:JP3t17pCcGlemwknint6hfoeCVQrEMVwxRLRjXpq+BU= github.com/vmihailenco/msgpack/v5 v5.1.4/go.mod h1:C5gboKD0TJPqWDTVTtrQNfRbiBwHZGo8UTqP/9/XvLI= github.com/vmihailenco/tagparser v0.1.2/go.mod h1:OeAg3pn3UbLjkWt+rN9oFYB6u/cQgqMEUPoW2WPyhdI= github.com/wsddn/go-ecdh v0.0.0-20161211032359-48726bab9208/go.mod h1:IotVbo4F+mw0EzQ08zFqg7pK3FebNXpaMsRy2RT+Ees= @@ -921,6 +974,7 @@ golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLL golang.org/x/net v0.0.0-20190628185345-da137c7871d7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20190724013045-ca1201d0de80/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20190813141303-74dc4d7220e7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20190923162816-aa69164e4478/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20191002035440-2ec189313ef0/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20191209160850-c0dbc17a3553/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200114155413-6afb5195e5aa/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= @@ -944,12 +998,14 @@ golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwY golang.org/x/net v0.0.0-20201031054903-ff519b6c9102/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= golang.org/x/net v0.0.0-20201110031124-69a78807bb2b/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= golang.org/x/net v0.0.0-20201209123823-ac852fbbde11/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= +golang.org/x/net v0.0.0-20201224014010-6772e930b67b/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20210119194325-5f4716e94777/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20210316092652-d523dce5a7f4/go.mod h1:RBQZq4jEuRlivfhVLdyRGr576XBO4/greRjx4P4O3yc= golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= -golang.org/x/net v0.0.0-20210525063256-abc453219eb5 h1:wjuX4b5yYQnEQHzd+CBcrcC6OVR2J1CN6mUy0oSxIPo= golang.org/x/net v0.0.0-20210525063256-abc453219eb5/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20210903162142-ad29c8ab022f h1:w6wWR0H+nyVpbSAQbzVEIACVyr/h8l/BEkY6Sokc7Eg= +golang.org/x/net v0.0.0-20210903162142-ad29c8ab022f/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= @@ -991,15 +1047,18 @@ golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20190502145724-3ef323f4f1fd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190606203320-7fc4e5ec1444/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190626221950-04f50cda93cb/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190712062909-fae7ac547cb7/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190726091711-fc99dfbffb4e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190826190057-c7b8b68b1456/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190904154756-749cb33beabd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190924154521-2837fb4f24fe/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191001151750-bb3f8db39f24/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191005200804-aed5e4c7ecf9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191115151921-52ab43148777/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191120155948-bd437916bb0e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191204072324-ce4227a45e2e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191220142924-d4481acd189f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -1041,9 +1100,12 @@ golang.org/x/sys v0.0.0-20210320140829-1e4c9ba3b0c4/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210403161142-5e06dd20ab57/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210426230700-d19ff857e887/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210603081109-ebe580a85c40 h1:JWgyZ1qgdTaF3N3oxC+MdTV7qvEEgHo3otj+HB5CM7Q= golang.org/x/sys v0.0.0-20210603081109-ebe580a85c40/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210616094352-59db8d763f22/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210903071746-97244b99971b h1:3Dq0eVHn0uaQJmPO+/aYPI/fRMqdrVDbu7MQcku54gg= +golang.org/x/sys v0.0.0-20210903071746-97244b99971b/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1 h1:v+OssWQX+hTHEmOBgwxdZxK4zHq3yOs8F9J7mk0PY8E= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= @@ -1282,6 +1344,7 @@ gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b h1:h8qDotaEPuJATrMmW04NCwg7v22aHH28wwpauUhK9Oo= gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +gotest.tools v2.2.0+incompatible h1:VsBPFP1AI068pPrMxtb/S8Zkgf9xEmTLJjfM+P5UIEo= gotest.tools v2.2.0+incompatible/go.mod h1:DsYFclhRJ6vuDpmuTbkuFWG+y2sxOXAzmJt81HFBacw= honnef.co/go/tools v0.0.0-20180728063816-88497007e858/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= From 06c2d764df5945d8de93870184ba38b7a8a5dc05 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?colin=20axn=C3=A9r?= <25233464+colin-axner@users.noreply.github.com> Date: Fri, 10 Sep 2021 13:18:34 +0200 Subject: [PATCH 015/107] Change ICS 20 packet data amount to be string (#350) * modify proto defintions * fix non string usage in code and various tests * fix mbt tests * fix bug in data validation * fix various build issues fix unaddressed issues from changing amount from uint64 to string * add changelog entry * apply review suggestions Add check that amount is strictly positive Construct granular error messages to indicate invalid amount value or failure to parse amount * verify and fix telemetry bug Verify msg panics on amounts > int64 by adding tests Add checks to telemetry emission of transfer amounts to handle when the amount cannot be casted to float32 --- CHANGELOG.md | 1 + docs/ibc/proto-docs.md | 60 ++- modules/apps/transfer/keeper/MBT_README.md | 2 +- .../apps/transfer/keeper/mbt_relay_test.go | 10 +- .../model_based_tests/Test5Packets.json | 12 +- .../Test5PacketsAllDifferentPass.json | 12 +- .../TestOnRecvAcknowledgementErrorFail.json | 4 +- .../TestOnRecvAcknowledgementErrorPass.json | 6 +- .../TestOnRecvAcknowledgementResultFail.json | 4 +- .../TestOnRecvAcknowledgementResultPass.json | 4 +- .../TestOnRecvPacketFail.json | 4 +- .../TestOnRecvPacketPass.json | 4 +- .../model_based_tests/TestOnTimeoutFail.json | 4 +- .../model_based_tests/TestOnTimeoutPass.json | 6 +- .../TestSendTransferFail.json | 4 +- .../TestSendTransferPass.json | 6 +- .../model_based_tests/TestUnescrowTokens.json | 8 +- modules/apps/transfer/keeper/relay.go | 58 ++- modules/apps/transfer/keeper/relay_test.go | 14 +- modules/apps/transfer/module.go | 6 +- modules/apps/transfer/transfer_test.go | 14 +- modules/apps/transfer/types/coin.go | 4 +- modules/apps/transfer/types/packet.go | 10 +- modules/apps/transfer/types/packet.pb.go | 481 ++++++++++++++++++ modules/apps/transfer/types/packet_test.go | 12 +- modules/apps/transfer/types/transfer.pb.go | 362 +------------ .../applications/transfer/v1/transfer.proto | 13 - .../ibc/applications/transfer/v2/packet.proto | 20 + testing/chain.go | 5 +- 29 files changed, 687 insertions(+), 463 deletions(-) create mode 100644 modules/apps/transfer/types/packet.pb.go create mode 100644 proto/ibc/applications/transfer/v2/packet.proto diff --git a/CHANGELOG.md b/CHANGELOG.md index 226f63967b6..e6ff9743461 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -39,6 +39,7 @@ Ref: https://keepachangelog.com/en/1.0.0/ ### API Breaking * (core) [\#227](https://github.com/cosmos/ibc-go/pull/227) Remove sdk.Result from application callbacks +* (transfer) [\#350](https://github.com/cosmos/ibc-go/pull/350) Change FungibleTokenPacketData to use a string for the Amount field. This enables token transfers with amounts previously restricted by uint64. Up to the maximum uint256 value is supported. ### State Machine Breaking diff --git a/docs/ibc/proto-docs.md b/docs/ibc/proto-docs.md index 9b43455b154..f94fbc18457 100644 --- a/docs/ibc/proto-docs.md +++ b/docs/ibc/proto-docs.md @@ -6,7 +6,6 @@ - [ibc/applications/transfer/v1/transfer.proto](#ibc/applications/transfer/v1/transfer.proto) - [DenomTrace](#ibc.applications.transfer.v1.DenomTrace) - - [FungibleTokenPacketData](#ibc.applications.transfer.v1.FungibleTokenPacketData) - [Params](#ibc.applications.transfer.v1.Params) - [ibc/applications/transfer/v1/genesis.proto](#ibc/applications/transfer/v1/genesis.proto) @@ -37,6 +36,9 @@ - [Msg](#ibc.applications.transfer.v1.Msg) +- [ibc/applications/transfer/v2/packet.proto](#ibc/applications/transfer/v2/packet.proto) + - [FungibleTokenPacketData](#ibc.applications.transfer.v2.FungibleTokenPacketData) + - [ibc/core/channel/v1/channel.proto](#ibc/core/channel/v1/channel.proto) - [Acknowledgement](#ibc.core.channel.v1.Acknowledgement) - [Channel](#ibc.core.channel.v1.Channel) @@ -270,26 +272,6 @@ source tracing information path. - - -### FungibleTokenPacketData -FungibleTokenPacketData defines a struct for the packet payload -See FungibleTokenPacketData spec: -https://github.com/cosmos/ics/tree/master/spec/ics-020-fungible-token-transfer#data-structures - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| `denom` | [string](#string) | | the token denomination to be transferred | -| `amount` | [uint64](#uint64) | | the token amount to be transferred | -| `sender` | [string](#string) | | the sender address | -| `receiver` | [string](#string) | | the recipient address on the destination chain | - - - - - - ### Params @@ -675,6 +657,42 @@ Msg defines the ibc/transfer Msg service. + +

Top

+ +## ibc/applications/transfer/v2/packet.proto + + + + + +### FungibleTokenPacketData +FungibleTokenPacketData defines a struct for the packet payload +See FungibleTokenPacketData spec: +https://github.com/cosmos/ics/tree/master/spec/ics-020-fungible-token-transfer#data-structures + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| `denom` | [string](#string) | | the token denomination to be transferred | +| `amount` | [string](#string) | | the token amount to be transferred | +| `sender` | [string](#string) | | the sender address | +| `receiver` | [string](#string) | | the recipient address on the destination chain | + + + + + + + + + + + + + + +

Top

diff --git a/modules/apps/transfer/keeper/MBT_README.md b/modules/apps/transfer/keeper/MBT_README.md index 8a5930f6d39..3cad1e58993 100644 --- a/modules/apps/transfer/keeper/MBT_README.md +++ b/modules/apps/transfer/keeper/MBT_README.md @@ -48,4 +48,4 @@ docker run --rm -v $(pwd):/var/apalache apalache/mc $@ ``` -In case of any questions please don't hesitate to contact Andrey Kuprianov (andrey@informal.systems). \ No newline at end of file +In case of any questions please don't hesitate to contact Andrey Kuprianov (andrey@informal.systems). diff --git a/modules/apps/transfer/keeper/mbt_relay_test.go b/modules/apps/transfer/keeper/mbt_relay_test.go index db425f24507..31d6a3823a5 100644 --- a/modules/apps/transfer/keeper/mbt_relay_test.go +++ b/modules/apps/transfer/keeper/mbt_relay_test.go @@ -30,7 +30,7 @@ type TlaBalance struct { type TlaFungibleTokenPacketData struct { Sender string `json:"sender"` Receiver string `json:"receiver"` - Amount int `json:"amount"` + Amount string `json:"amount"` Denom []string `json:"denom"` } @@ -143,7 +143,7 @@ func FungibleTokenPacketFromTla(packet TlaFungibleTokenPacket) FungibleTokenPack DestPort: packet.DestPort, Data: types.NewFungibleTokenPacketData( DenomFromTla(packet.Data.Denom), - uint64(packet.Data.Amount), + packet.Data.Amount, AddressFromString(packet.Data.Sender), AddressFromString(packet.Data.Receiver)), } @@ -333,11 +333,15 @@ func (suite *KeeperTestSuite) TestModelBasedRelay() { denom := denomTrace.IBCDenom() err = sdk.ValidateDenom(denom) if err == nil { + amount, ok := sdk.NewIntFromString(tc.packet.Data.Amount) + if !ok { + panic("MBT failed to parse amount from string") + } err = suite.chainB.GetSimApp().TransferKeeper.SendTransfer( suite.chainB.GetContext(), tc.packet.SourcePort, tc.packet.SourceChannel, - sdk.NewCoin(denom, sdk.NewIntFromUint64(tc.packet.Data.Amount)), + sdk.NewCoin(denom, amount), sender, tc.packet.Data.Receiver, clienttypes.NewHeight(0, 110), diff --git a/modules/apps/transfer/keeper/model_based_tests/Test5Packets.json b/modules/apps/transfer/keeper/model_based_tests/Test5Packets.json index 6ccdccc8aeb..5cb9e206ea5 100644 --- a/modules/apps/transfer/keeper/model_based_tests/Test5Packets.json +++ b/modules/apps/transfer/keeper/model_based_tests/Test5Packets.json @@ -8,7 +8,7 @@ "data": { "sender": "a3", "receiver": "a3", - "amount": 2, + "amount": "2", "denom": [ "", "", @@ -79,7 +79,7 @@ "data": { "sender": "a1", "receiver": "a3", - "amount": 1, + "amount": "1", "denom": [ "cosmos-hub", "", @@ -165,7 +165,7 @@ "data": { "sender": "a2", "receiver": "a2", - "amount": 4, + "amount": "4", "denom": [ "", "", @@ -266,7 +266,7 @@ "data": { "sender": "", "receiver": "a2", - "amount": 4, + "amount": "4", "denom": [ "", "", @@ -382,7 +382,7 @@ "data": { "sender": "a1", "receiver": "", - "amount": 1, + "amount": "1", "denom": [ "transfer", "channel-0", @@ -489,4 +489,4 @@ ], "error": true } -] \ No newline at end of file +] diff --git a/modules/apps/transfer/keeper/model_based_tests/Test5PacketsAllDifferentPass.json b/modules/apps/transfer/keeper/model_based_tests/Test5PacketsAllDifferentPass.json index 6a039f3eca4..80370205b15 100644 --- a/modules/apps/transfer/keeper/model_based_tests/Test5PacketsAllDifferentPass.json +++ b/modules/apps/transfer/keeper/model_based_tests/Test5PacketsAllDifferentPass.json @@ -8,7 +8,7 @@ "data": { "sender": "a3", "receiver": "a2", - "amount": 3, + "amount": "3", "denom": [ "", "", @@ -79,7 +79,7 @@ "data": { "sender": "a2", "receiver": "a1", - "amount": 3, + "amount": "3", "denom": [ "transfer", "channel-1", @@ -180,7 +180,7 @@ "data": { "sender": "a1", "receiver": "a2", - "amount": 3, + "amount": "3", "denom": [ "", "", @@ -311,7 +311,7 @@ "data": { "sender": "a1", "receiver": "", - "amount": 2, + "amount": "2", "denom": [ "", "channel-0", @@ -457,7 +457,7 @@ "data": { "sender": "a3", "receiver": "a3", - "amount": 1, + "amount": "1", "denom": [ "", "", @@ -609,4 +609,4 @@ ], "error": false } -] \ No newline at end of file +] diff --git a/modules/apps/transfer/keeper/model_based_tests/TestOnRecvAcknowledgementErrorFail.json b/modules/apps/transfer/keeper/model_based_tests/TestOnRecvAcknowledgementErrorFail.json index f1f553210b5..d5c89950e2f 100644 --- a/modules/apps/transfer/keeper/model_based_tests/TestOnRecvAcknowledgementErrorFail.json +++ b/modules/apps/transfer/keeper/model_based_tests/TestOnRecvAcknowledgementErrorFail.json @@ -8,7 +8,7 @@ "data": { "sender": "a1", "receiver": "a2", - "amount": 1, + "amount": "1", "denom": [ "cosmos-hub", "transfer", @@ -55,4 +55,4 @@ ], "error": true } -] \ No newline at end of file +] diff --git a/modules/apps/transfer/keeper/model_based_tests/TestOnRecvAcknowledgementErrorPass.json b/modules/apps/transfer/keeper/model_based_tests/TestOnRecvAcknowledgementErrorPass.json index 3fbfe7fdf09..3aeb93ca214 100644 --- a/modules/apps/transfer/keeper/model_based_tests/TestOnRecvAcknowledgementErrorPass.json +++ b/modules/apps/transfer/keeper/model_based_tests/TestOnRecvAcknowledgementErrorPass.json @@ -8,7 +8,7 @@ "data": { "sender": "", "receiver": "a1", - "amount": 1, + "amount": "1", "denom": [ "", "", @@ -79,7 +79,7 @@ "data": { "sender": "a1", "receiver": "a2", - "amount": 1, + "amount": "1", "denom": [ "transfer", "channel-1", @@ -156,4 +156,4 @@ ], "error": false } -] \ No newline at end of file +] diff --git a/modules/apps/transfer/keeper/model_based_tests/TestOnRecvAcknowledgementResultFail.json b/modules/apps/transfer/keeper/model_based_tests/TestOnRecvAcknowledgementResultFail.json index 9110a38ab65..b2424d3efc6 100644 --- a/modules/apps/transfer/keeper/model_based_tests/TestOnRecvAcknowledgementResultFail.json +++ b/modules/apps/transfer/keeper/model_based_tests/TestOnRecvAcknowledgementResultFail.json @@ -8,7 +8,7 @@ "data": { "sender": "a1", "receiver": "a2", - "amount": 1, + "amount": "1", "denom": [ "cosmos-hub", "transfer", @@ -55,4 +55,4 @@ ], "error": true } -] \ No newline at end of file +] diff --git a/modules/apps/transfer/keeper/model_based_tests/TestOnRecvAcknowledgementResultPass.json b/modules/apps/transfer/keeper/model_based_tests/TestOnRecvAcknowledgementResultPass.json index 5215df7da33..1f1135a2d34 100644 --- a/modules/apps/transfer/keeper/model_based_tests/TestOnRecvAcknowledgementResultPass.json +++ b/modules/apps/transfer/keeper/model_based_tests/TestOnRecvAcknowledgementResultPass.json @@ -8,7 +8,7 @@ "data": { "sender": "a1", "receiver": "a2", - "amount": 1, + "amount": "1", "denom": [ "cosmos-hub", "transfer", @@ -55,4 +55,4 @@ ], "error": false } -] \ No newline at end of file +] diff --git a/modules/apps/transfer/keeper/model_based_tests/TestOnRecvPacketFail.json b/modules/apps/transfer/keeper/model_based_tests/TestOnRecvPacketFail.json index 9a7e8c406e7..f683c8fac8c 100644 --- a/modules/apps/transfer/keeper/model_based_tests/TestOnRecvPacketFail.json +++ b/modules/apps/transfer/keeper/model_based_tests/TestOnRecvPacketFail.json @@ -8,7 +8,7 @@ "data": { "sender": "", "receiver": "", - "amount": 1, + "amount": "1", "denom": [ "", "", @@ -55,4 +55,4 @@ ], "error": true } -] \ No newline at end of file +] diff --git a/modules/apps/transfer/keeper/model_based_tests/TestOnRecvPacketPass.json b/modules/apps/transfer/keeper/model_based_tests/TestOnRecvPacketPass.json index 35f94c57208..6da859106d8 100644 --- a/modules/apps/transfer/keeper/model_based_tests/TestOnRecvPacketPass.json +++ b/modules/apps/transfer/keeper/model_based_tests/TestOnRecvPacketPass.json @@ -8,7 +8,7 @@ "data": { "sender": "", "receiver": "a2", - "amount": 1, + "amount": "1", "denom": [ "", "", @@ -70,4 +70,4 @@ ], "error": false } -] \ No newline at end of file +] diff --git a/modules/apps/transfer/keeper/model_based_tests/TestOnTimeoutFail.json b/modules/apps/transfer/keeper/model_based_tests/TestOnTimeoutFail.json index a78ed85ca58..8b7c8228065 100644 --- a/modules/apps/transfer/keeper/model_based_tests/TestOnTimeoutFail.json +++ b/modules/apps/transfer/keeper/model_based_tests/TestOnTimeoutFail.json @@ -8,7 +8,7 @@ "data": { "sender": "a1", "receiver": "a2", - "amount": 1, + "amount": "1", "denom": [ "cosmos-hub", "transfer", @@ -55,4 +55,4 @@ ], "error": true } -] \ No newline at end of file +] diff --git a/modules/apps/transfer/keeper/model_based_tests/TestOnTimeoutPass.json b/modules/apps/transfer/keeper/model_based_tests/TestOnTimeoutPass.json index 3136aace654..33d9c1a4e59 100644 --- a/modules/apps/transfer/keeper/model_based_tests/TestOnTimeoutPass.json +++ b/modules/apps/transfer/keeper/model_based_tests/TestOnTimeoutPass.json @@ -8,7 +8,7 @@ "data": { "sender": "a3", "receiver": "a1", - "amount": 1, + "amount": "1", "denom": [ "", "", @@ -79,7 +79,7 @@ "data": { "sender": "a1", "receiver": "", - "amount": 1, + "amount": "1", "denom": [ "transfer", "channel-1", @@ -156,4 +156,4 @@ ], "error": false } -] \ No newline at end of file +] diff --git a/modules/apps/transfer/keeper/model_based_tests/TestSendTransferFail.json b/modules/apps/transfer/keeper/model_based_tests/TestSendTransferFail.json index 01d589d8677..4c3412e3ba8 100644 --- a/modules/apps/transfer/keeper/model_based_tests/TestSendTransferFail.json +++ b/modules/apps/transfer/keeper/model_based_tests/TestSendTransferFail.json @@ -8,7 +8,7 @@ "data": { "sender": "", "receiver": "", - "amount": 1, + "amount": "1", "denom": [ "", "", @@ -55,4 +55,4 @@ ], "error": true } -] \ No newline at end of file +] diff --git a/modules/apps/transfer/keeper/model_based_tests/TestSendTransferPass.json b/modules/apps/transfer/keeper/model_based_tests/TestSendTransferPass.json index 452d2b3aa94..492b59ae969 100644 --- a/modules/apps/transfer/keeper/model_based_tests/TestSendTransferPass.json +++ b/modules/apps/transfer/keeper/model_based_tests/TestSendTransferPass.json @@ -8,7 +8,7 @@ "data": { "sender": "a3", "receiver": "a2", - "amount": 1, + "amount": "1", "denom": [ "", "", @@ -79,7 +79,7 @@ "data": { "sender": "a2", "receiver": "a1", - "amount": 1, + "amount": "1", "denom": [ "transfer", "channel-0", @@ -171,4 +171,4 @@ ], "error": false } -] \ No newline at end of file +] diff --git a/modules/apps/transfer/keeper/model_based_tests/TestUnescrowTokens.json b/modules/apps/transfer/keeper/model_based_tests/TestUnescrowTokens.json index 98552207047..b4ebe81c70d 100644 --- a/modules/apps/transfer/keeper/model_based_tests/TestUnescrowTokens.json +++ b/modules/apps/transfer/keeper/model_based_tests/TestUnescrowTokens.json @@ -8,7 +8,7 @@ "data": { "sender": "a1", "receiver": "a3", - "amount": 5, + "amount": "5", "denom": [ "", "", @@ -79,7 +79,7 @@ "data": { "sender": "a3", "receiver": "a1", - "amount": 3, + "amount": "3", "denom": [ "", "", @@ -180,7 +180,7 @@ "data": { "sender": "a1", "receiver": "a1", - "amount": 1, + "amount": "1", "denom": [ "transfer", "channel-0", @@ -302,4 +302,4 @@ ], "error": false } -] \ No newline at end of file +] diff --git a/modules/apps/transfer/keeper/relay.go b/modules/apps/transfer/keeper/relay.go index 161295d0b70..5f9090a082b 100644 --- a/modules/apps/transfer/keeper/relay.go +++ b/modules/apps/transfer/keeper/relay.go @@ -5,10 +5,10 @@ import ( "strings" "github.com/armon/go-metrics" - "github.com/cosmos/cosmos-sdk/telemetry" sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + "github.com/cosmos/ibc-go/modules/apps/transfer/types" clienttypes "github.com/cosmos/ibc-go/modules/core/02-client/types" channeltypes "github.com/cosmos/ibc-go/modules/core/04-channel/types" @@ -144,7 +144,7 @@ func (k Keeper) SendTransfer( } packetData := types.NewFungibleTokenPacketData( - fullDenomPath, token.Amount.Uint64(), sender.String(), receiver, + fullDenomPath, token.Amount.String(), sender.String(), receiver, ) packet := channeltypes.NewPacket( @@ -163,11 +163,13 @@ func (k Keeper) SendTransfer( } defer func() { - telemetry.SetGaugeWithLabels( - []string{"tx", "msg", "ibc", "transfer"}, - float32(token.Amount.Int64()), - []metrics.Label{telemetry.NewLabel(coretypes.LabelDenom, fullDenomPath)}, - ) + if token.Amount.IsInt64() { + telemetry.SetGaugeWithLabels( + []string{"tx", "msg", "ibc", "transfer"}, + float32(token.Amount.Int64()), + []metrics.Label{telemetry.NewLabel(coretypes.LabelDenom, fullDenomPath)}, + ) + } telemetry.IncrCounterWithLabels( []string{"ibc", types.ModuleName, "send"}, @@ -200,6 +202,12 @@ func (k Keeper) OnRecvPacket(ctx sdk.Context, packet channeltypes.Packet, data t return err } + // parse the transfer amount + transferAmount, ok := sdk.NewIntFromString(data.Amount) + if !ok { + return sdkerrors.Wrapf(types.ErrInvalidAmount, "unable to parse transfer amount (%s) into sdk.Int", data.Amount) + } + labels := []metrics.Label{ telemetry.NewLabel(coretypes.LabelSourcePort, packet.GetSourcePort()), telemetry.NewLabel(coretypes.LabelSourceChannel, packet.GetSourceChannel()), @@ -229,7 +237,7 @@ func (k Keeper) OnRecvPacket(ctx sdk.Context, packet channeltypes.Packet, data t if denomTrace.Path != "" { denom = denomTrace.IBCDenom() } - token := sdk.NewCoin(denom, sdk.NewIntFromUint64(data.Amount)) + token := sdk.NewCoin(denom, transferAmount) // unescrow tokens escrowAddress := types.GetEscrowAddress(packet.GetDestPort(), packet.GetDestChannel()) @@ -242,11 +250,13 @@ func (k Keeper) OnRecvPacket(ctx sdk.Context, packet channeltypes.Packet, data t } defer func() { - telemetry.SetGaugeWithLabels( - []string{"ibc", types.ModuleName, "packet", "receive"}, - float32(data.Amount), - []metrics.Label{telemetry.NewLabel(coretypes.LabelDenom, unprefixedDenom)}, - ) + if transferAmount.IsInt64() { + telemetry.SetGaugeWithLabels( + []string{"ibc", types.ModuleName, "packet", "receive"}, + float32(transferAmount.Int64()), + []metrics.Label{telemetry.NewLabel(coretypes.LabelDenom, unprefixedDenom)}, + ) + } telemetry.IncrCounterWithLabels( []string{"ibc", types.ModuleName, "receive"}, @@ -283,8 +293,7 @@ func (k Keeper) OnRecvPacket(ctx sdk.Context, packet channeltypes.Packet, data t sdk.NewAttribute(types.AttributeKeyDenom, voucherDenom), ), ) - - voucher := sdk.NewCoin(voucherDenom, sdk.NewIntFromUint64(data.Amount)) + voucher := sdk.NewCoin(voucherDenom, transferAmount) // mint new tokens if the source of the transfer is the same chain if err := k.bankKeeper.MintCoins( @@ -301,11 +310,13 @@ func (k Keeper) OnRecvPacket(ctx sdk.Context, packet channeltypes.Packet, data t } defer func() { - telemetry.SetGaugeWithLabels( - []string{"ibc", types.ModuleName, "packet", "receive"}, - float32(data.Amount), - []metrics.Label{telemetry.NewLabel(coretypes.LabelDenom, data.Denom)}, - ) + if transferAmount.IsInt64() { + telemetry.SetGaugeWithLabels( + []string{"ibc", types.ModuleName, "packet", "receive"}, + float32(transferAmount.Int64()), + []metrics.Label{telemetry.NewLabel(coretypes.LabelDenom, data.Denom)}, + ) + } telemetry.IncrCounterWithLabels( []string{"ibc", types.ModuleName, "receive"}, @@ -350,7 +361,12 @@ func (k Keeper) refundPacketToken(ctx sdk.Context, packet channeltypes.Packet, d // parse the denomination from the full denom path trace := types.ParseDenomTrace(data.Denom) - token := sdk.NewCoin(trace.IBCDenom(), sdk.NewIntFromUint64(data.Amount)) + // parse the transfer amount + transferAmount, ok := sdk.NewIntFromString(data.Amount) + if !ok { + return sdkerrors.Wrapf(types.ErrInvalidAmount, "unable to parse transfer amount (%s) into sdk.Int", data.Amount) + } + token := sdk.NewCoin(trace.IBCDenom(), transferAmount) // decode the sender address sender, err := sdk.AccAddressFromBech32(data.Sender) diff --git a/modules/apps/transfer/keeper/relay_test.go b/modules/apps/transfer/keeper/relay_test.go index 4c383f0948f..02959303ab2 100644 --- a/modules/apps/transfer/keeper/relay_test.go +++ b/modules/apps/transfer/keeper/relay_test.go @@ -37,7 +37,7 @@ func (suite *KeeperTestSuite) TestSendTransfer() { func() { // send coin from chainA back to chainB suite.coordinator.CreateTransferChannels(path) - amount = types.GetTransferCoin(path.EndpointA.ChannelConfig.PortID, path.EndpointA.ChannelID, sdk.DefaultBondDenom, 100) + amount = types.GetTransferCoin(path.EndpointA.ChannelConfig.PortID, path.EndpointA.ChannelID, sdk.DefaultBondDenom, sdk.NewInt(100)) }, false, true}, {"source channel not found", func() { @@ -71,7 +71,7 @@ func (suite *KeeperTestSuite) TestSendTransfer() { {"send from module account failed", func() { suite.coordinator.CreateTransferChannels(path) - amount = types.GetTransferCoin(path.EndpointA.ChannelConfig.PortID, path.EndpointA.ChannelID, " randomdenom", 100) + amount = types.GetTransferCoin(path.EndpointA.ChannelConfig.PortID, path.EndpointA.ChannelID, " randomdenom", sdk.NewInt(100)) }, false, false}, {"channel capability not found", func() { @@ -102,7 +102,7 @@ func (suite *KeeperTestSuite) TestSendTransfer() { suite.Require().NoError(err) // message committed // receive coin on chainA from chainB - fungibleTokenPacket := types.NewFungibleTokenPacketData(coinFromBToA.Denom, coinFromBToA.Amount.Uint64(), suite.chainB.SenderAccount.GetAddress().String(), suite.chainA.SenderAccount.GetAddress().String()) + fungibleTokenPacket := types.NewFungibleTokenPacketData(coinFromBToA.Denom, coinFromBToA.Amount.String(), suite.chainB.SenderAccount.GetAddress().String(), suite.chainA.SenderAccount.GetAddress().String()) packet := channeltypes.NewPacket(fungibleTokenPacket.GetBytes(), 1, path.EndpointB.ChannelConfig.PortID, path.EndpointB.ChannelID, path.EndpointA.ChannelConfig.PortID, path.EndpointA.ChannelID, clienttypes.NewHeight(0, 110), 0) // get proof of packet commitment from chainB @@ -190,7 +190,7 @@ func (suite *KeeperTestSuite) TestOnRecvPacket() { suite.Require().NoError(err) // message committed // relay send packet - fungibleTokenPacket := types.NewFungibleTokenPacketData(coinFromBToA.Denom, coinFromBToA.Amount.Uint64(), suite.chainB.SenderAccount.GetAddress().String(), suite.chainA.SenderAccount.GetAddress().String()) + fungibleTokenPacket := types.NewFungibleTokenPacketData(coinFromBToA.Denom, coinFromBToA.Amount.String(), suite.chainB.SenderAccount.GetAddress().String(), suite.chainA.SenderAccount.GetAddress().String()) packet := channeltypes.NewPacket(fungibleTokenPacket.GetBytes(), 1, path.EndpointB.ChannelConfig.PortID, path.EndpointB.ChannelID, path.EndpointA.ChannelConfig.PortID, path.EndpointA.ChannelID, clienttypes.NewHeight(0, 110), 0) ack := channeltypes.NewResultAcknowledgement([]byte{byte(1)}) err = path.RelayPacket(packet, ack.Acknowledgement()) @@ -211,7 +211,7 @@ func (suite *KeeperTestSuite) TestOnRecvPacket() { tc.malleate() - data := types.NewFungibleTokenPacketData(trace.GetFullDenomPath(), amount.Uint64(), suite.chainA.SenderAccount.GetAddress().String(), receiver) + data := types.NewFungibleTokenPacketData(trace.GetFullDenomPath(), amount.String(), suite.chainA.SenderAccount.GetAddress().String(), receiver) packet := channeltypes.NewPacket(data.GetBytes(), seq, path.EndpointA.ChannelConfig.PortID, path.EndpointA.ChannelID, path.EndpointB.ChannelConfig.PortID, path.EndpointB.ChannelID, clienttypes.NewHeight(0, 100), 0) err = suite.chainB.GetSimApp().TransferKeeper.OnRecvPacket(suite.chainB.GetContext(), packet, data) @@ -280,7 +280,7 @@ func (suite *KeeperTestSuite) TestOnAcknowledgementPacket() { tc.malleate() - data := types.NewFungibleTokenPacketData(trace.GetFullDenomPath(), amount.Uint64(), suite.chainA.SenderAccount.GetAddress().String(), suite.chainB.SenderAccount.GetAddress().String()) + data := types.NewFungibleTokenPacketData(trace.GetFullDenomPath(), amount.String(), suite.chainA.SenderAccount.GetAddress().String(), suite.chainB.SenderAccount.GetAddress().String()) packet := channeltypes.NewPacket(data.GetBytes(), 1, path.EndpointA.ChannelConfig.PortID, path.EndpointA.ChannelID, path.EndpointB.ChannelConfig.PortID, path.EndpointB.ChannelID, clienttypes.NewHeight(0, 100), 0) preCoin := suite.chainA.GetSimApp().BankKeeper.GetBalance(suite.chainA.GetContext(), suite.chainA.SenderAccount.GetAddress(), trace.IBCDenom()) @@ -366,7 +366,7 @@ func (suite *KeeperTestSuite) TestOnTimeoutPacket() { tc.malleate() - data := types.NewFungibleTokenPacketData(trace.GetFullDenomPath(), amount.Uint64(), sender, suite.chainB.SenderAccount.GetAddress().String()) + data := types.NewFungibleTokenPacketData(trace.GetFullDenomPath(), amount.String(), sender, suite.chainB.SenderAccount.GetAddress().String()) packet := channeltypes.NewPacket(data.GetBytes(), 1, path.EndpointA.ChannelConfig.PortID, path.EndpointA.ChannelID, path.EndpointB.ChannelConfig.PortID, path.EndpointB.ChannelID, clienttypes.NewHeight(0, 100), 0) preCoin := suite.chainA.GetSimApp().BankKeeper.GetBalance(suite.chainA.GetContext(), suite.chainA.SenderAccount.GetAddress(), trace.IBCDenom()) diff --git a/modules/apps/transfer/module.go b/modules/apps/transfer/module.go index 72575d0c602..79309b2fb8b 100644 --- a/modules/apps/transfer/module.go +++ b/modules/apps/transfer/module.go @@ -347,7 +347,7 @@ func (am AppModule) OnRecvPacket( sdk.NewAttribute(sdk.AttributeKeyModule, types.ModuleName), sdk.NewAttribute(types.AttributeKeyReceiver, data.Receiver), sdk.NewAttribute(types.AttributeKeyDenom, data.Denom), - sdk.NewAttribute(types.AttributeKeyAmount, fmt.Sprintf("%d", data.Amount)), + sdk.NewAttribute(types.AttributeKeyAmount, data.Amount), sdk.NewAttribute(types.AttributeKeyAckSuccess, fmt.Sprintf("%t", ack.Success())), ), ) @@ -382,7 +382,7 @@ func (am AppModule) OnAcknowledgementPacket( sdk.NewAttribute(sdk.AttributeKeyModule, types.ModuleName), sdk.NewAttribute(types.AttributeKeyReceiver, data.Receiver), sdk.NewAttribute(types.AttributeKeyDenom, data.Denom), - sdk.NewAttribute(types.AttributeKeyAmount, fmt.Sprintf("%d", data.Amount)), + sdk.NewAttribute(types.AttributeKeyAmount, data.Amount), sdk.NewAttribute(types.AttributeKeyAck, ack.String()), ), ) @@ -428,7 +428,7 @@ func (am AppModule) OnTimeoutPacket( sdk.NewAttribute(sdk.AttributeKeyModule, types.ModuleName), sdk.NewAttribute(types.AttributeKeyRefundReceiver, data.Sender), sdk.NewAttribute(types.AttributeKeyRefundDenom, data.Denom), - sdk.NewAttribute(types.AttributeKeyRefundAmount, fmt.Sprintf("%d", data.Amount)), + sdk.NewAttribute(types.AttributeKeyRefundAmount, data.Amount), ), ) diff --git a/modules/apps/transfer/transfer_test.go b/modules/apps/transfer/transfer_test.go index 030fb1bd14c..948a6b2cf4b 100644 --- a/modules/apps/transfer/transfer_test.go +++ b/modules/apps/transfer/transfer_test.go @@ -48,7 +48,9 @@ func (suite *TransferTestSuite) TestHandleMsgTransfer() { // originalBalance := suite.chainA.GetSimApp().BankKeeper.GetBalance(suite.chainA.GetContext(), suite.chainA.SenderAccount.GetAddress(), sdk.DefaultBondDenom) timeoutHeight := clienttypes.NewHeight(0, 110) - coinToSendToB := sdk.NewCoin(sdk.DefaultBondDenom, sdk.NewInt(100)) + amount, ok := sdk.NewIntFromString("9223372036854775808") // 2^63 (one above int64) + suite.Require().True(ok) + coinToSendToB := sdk.NewCoin(sdk.DefaultBondDenom, amount) // send from chainA to chainB msg := types.NewMsgTransfer(path.EndpointA.ChannelConfig.PortID, path.EndpointA.ChannelID, coinToSendToB, suite.chainA.SenderAccount.GetAddress().String(), suite.chainB.SenderAccount.GetAddress().String(), timeoutHeight, 0) @@ -57,7 +59,7 @@ func (suite *TransferTestSuite) TestHandleMsgTransfer() { suite.Require().NoError(err) // message committed // relay send - fungibleTokenPacket := types.NewFungibleTokenPacketData(coinToSendToB.Denom, coinToSendToB.Amount.Uint64(), suite.chainA.SenderAccount.GetAddress().String(), suite.chainB.SenderAccount.GetAddress().String()) + fungibleTokenPacket := types.NewFungibleTokenPacketData(coinToSendToB.Denom, coinToSendToB.Amount.String(), suite.chainA.SenderAccount.GetAddress().String(), suite.chainB.SenderAccount.GetAddress().String()) packet := channeltypes.NewPacket(fungibleTokenPacket.GetBytes(), 1, path.EndpointA.ChannelConfig.PortID, path.EndpointA.ChannelID, path.EndpointB.ChannelConfig.PortID, path.EndpointB.ChannelID, timeoutHeight, 0) ack := channeltypes.NewResultAcknowledgement([]byte{byte(1)}) err = path.RelayPacket(packet, ack.Acknowledgement()) @@ -67,7 +69,7 @@ func (suite *TransferTestSuite) TestHandleMsgTransfer() { voucherDenomTrace := types.ParseDenomTrace(types.GetPrefixedDenom(packet.GetDestPort(), packet.GetDestChannel(), sdk.DefaultBondDenom)) balance := suite.chainB.GetSimApp().BankKeeper.GetBalance(suite.chainB.GetContext(), suite.chainB.SenderAccount.GetAddress(), voucherDenomTrace.IBCDenom()) - coinSentFromAToB := types.GetTransferCoin(path.EndpointB.ChannelConfig.PortID, path.EndpointB.ChannelID, sdk.DefaultBondDenom, 100) + coinSentFromAToB := types.GetTransferCoin(path.EndpointB.ChannelConfig.PortID, path.EndpointB.ChannelID, sdk.DefaultBondDenom, amount) suite.Require().Equal(coinSentFromAToB, balance) // setup between chainB to chainC @@ -86,12 +88,12 @@ func (suite *TransferTestSuite) TestHandleMsgTransfer() { // relay send // NOTE: fungible token is prefixed with the full trace in order to verify the packet commitment fullDenomPath := types.GetPrefixedDenom(pathBtoC.EndpointB.ChannelConfig.PortID, pathBtoC.EndpointB.ChannelID, voucherDenomTrace.GetFullDenomPath()) - fungibleTokenPacket = types.NewFungibleTokenPacketData(voucherDenomTrace.GetFullDenomPath(), coinSentFromAToB.Amount.Uint64(), suite.chainB.SenderAccount.GetAddress().String(), suite.chainC.SenderAccount.GetAddress().String()) + fungibleTokenPacket = types.NewFungibleTokenPacketData(voucherDenomTrace.GetFullDenomPath(), coinSentFromAToB.Amount.String(), suite.chainB.SenderAccount.GetAddress().String(), suite.chainC.SenderAccount.GetAddress().String()) packet = channeltypes.NewPacket(fungibleTokenPacket.GetBytes(), 1, pathBtoC.EndpointA.ChannelConfig.PortID, pathBtoC.EndpointA.ChannelID, pathBtoC.EndpointB.ChannelConfig.PortID, pathBtoC.EndpointB.ChannelID, timeoutHeight, 0) err = pathBtoC.RelayPacket(packet, ack.Acknowledgement()) suite.Require().NoError(err) // relay committed - coinSentFromBToC := sdk.NewInt64Coin(types.ParseDenomTrace(fullDenomPath).IBCDenom(), 100) + coinSentFromBToC := sdk.NewCoin(types.ParseDenomTrace(fullDenomPath).IBCDenom(), amount) balance = suite.chainC.GetSimApp().BankKeeper.GetBalance(suite.chainC.GetContext(), suite.chainC.SenderAccount.GetAddress(), coinSentFromBToC.Denom) // check that the balance is updated on chainC @@ -109,7 +111,7 @@ func (suite *TransferTestSuite) TestHandleMsgTransfer() { // relay send // NOTE: fungible token is prefixed with the full trace in order to verify the packet commitment - fungibleTokenPacket = types.NewFungibleTokenPacketData(fullDenomPath, coinSentFromBToC.Amount.Uint64(), suite.chainC.SenderAccount.GetAddress().String(), suite.chainB.SenderAccount.GetAddress().String()) + fungibleTokenPacket = types.NewFungibleTokenPacketData(fullDenomPath, coinSentFromBToC.Amount.String(), suite.chainC.SenderAccount.GetAddress().String(), suite.chainB.SenderAccount.GetAddress().String()) packet = channeltypes.NewPacket(fungibleTokenPacket.GetBytes(), 1, pathBtoC.EndpointB.ChannelConfig.PortID, pathBtoC.EndpointB.ChannelID, pathBtoC.EndpointA.ChannelConfig.PortID, pathBtoC.EndpointA.ChannelID, timeoutHeight, 0) err = pathBtoC.RelayPacket(packet, ack.Acknowledgement()) suite.Require().NoError(err) // relay committed diff --git a/modules/apps/transfer/types/coin.go b/modules/apps/transfer/types/coin.go index 08ae9a8d325..a3491e2bf09 100644 --- a/modules/apps/transfer/types/coin.go +++ b/modules/apps/transfer/types/coin.go @@ -42,7 +42,7 @@ func GetPrefixedDenom(portID, channelID, baseDenom string) string { // GetTransferCoin creates a transfer coin with the port ID and channel ID // prefixed to the base denom. -func GetTransferCoin(portID, channelID, baseDenom string, amount int64) sdk.Coin { +func GetTransferCoin(portID, channelID, baseDenom string, amount sdk.Int) sdk.Coin { denomTrace := ParseDenomTrace(GetPrefixedDenom(portID, channelID, baseDenom)) - return sdk.NewInt64Coin(denomTrace.IBCDenom(), amount) + return sdk.NewCoin(denomTrace.IBCDenom(), amount) } diff --git a/modules/apps/transfer/types/packet.go b/modules/apps/transfer/types/packet.go index d726577f6f5..a7384c47486 100644 --- a/modules/apps/transfer/types/packet.go +++ b/modules/apps/transfer/types/packet.go @@ -23,7 +23,7 @@ var ( // NewFungibleTokenPacketData contructs a new FungibleTokenPacketData instance func NewFungibleTokenPacketData( - denom string, amount uint64, + denom string, amount string, sender, receiver string, ) FungibleTokenPacketData { return FungibleTokenPacketData{ @@ -38,8 +38,12 @@ func NewFungibleTokenPacketData( // NOTE: The addresses formats are not validated as the sender and recipient can have different // formats defined by their corresponding chains that are not known to IBC. func (ftpd FungibleTokenPacketData) ValidateBasic() error { - if ftpd.Amount == 0 { - return sdkerrors.Wrap(ErrInvalidAmount, "amount cannot be 0") + amount, ok := sdk.NewIntFromString(ftpd.Amount) + if !ok { + return sdkerrors.Wrapf(ErrInvalidAmount, "unable to parse transfer amount (%s) into sdk.Int", ftpd.Amount) + } + if !amount.IsPositive() { + return sdkerrors.Wrapf(ErrInvalidAmount, "amount must be strictly positive: got %d", amount) } if strings.TrimSpace(ftpd.Sender) == "" { return sdkerrors.Wrap(sdkerrors.ErrInvalidAddress, "sender address cannot be blank") diff --git a/modules/apps/transfer/types/packet.pb.go b/modules/apps/transfer/types/packet.pb.go new file mode 100644 index 00000000000..486545b551f --- /dev/null +++ b/modules/apps/transfer/types/packet.pb.go @@ -0,0 +1,481 @@ +// Code generated by protoc-gen-gogo. DO NOT EDIT. +// source: ibc/applications/transfer/v2/packet.proto + +package types + +import ( + fmt "fmt" + proto "github.com/gogo/protobuf/proto" + io "io" + math "math" + math_bits "math/bits" +) + +// Reference imports to suppress errors if they are not otherwise used. +var _ = proto.Marshal +var _ = fmt.Errorf +var _ = math.Inf + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the proto package it is being compiled against. +// A compilation error at this line likely means your copy of the +// proto package needs to be updated. +const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package + +// FungibleTokenPacketData defines a struct for the packet payload +// See FungibleTokenPacketData spec: +// https://github.com/cosmos/ics/tree/master/spec/ics-020-fungible-token-transfer#data-structures +type FungibleTokenPacketData struct { + // the token denomination to be transferred + Denom string `protobuf:"bytes,1,opt,name=denom,proto3" json:"denom,omitempty"` + // the token amount to be transferred + Amount string `protobuf:"bytes,2,opt,name=amount,proto3" json:"amount,omitempty"` + // the sender address + Sender string `protobuf:"bytes,3,opt,name=sender,proto3" json:"sender,omitempty"` + // the recipient address on the destination chain + Receiver string `protobuf:"bytes,4,opt,name=receiver,proto3" json:"receiver,omitempty"` +} + +func (m *FungibleTokenPacketData) Reset() { *m = FungibleTokenPacketData{} } +func (m *FungibleTokenPacketData) String() string { return proto.CompactTextString(m) } +func (*FungibleTokenPacketData) ProtoMessage() {} +func (*FungibleTokenPacketData) Descriptor() ([]byte, []int) { + return fileDescriptor_653ca2ce9a5ca313, []int{0} +} +func (m *FungibleTokenPacketData) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *FungibleTokenPacketData) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_FungibleTokenPacketData.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *FungibleTokenPacketData) XXX_Merge(src proto.Message) { + xxx_messageInfo_FungibleTokenPacketData.Merge(m, src) +} +func (m *FungibleTokenPacketData) XXX_Size() int { + return m.Size() +} +func (m *FungibleTokenPacketData) XXX_DiscardUnknown() { + xxx_messageInfo_FungibleTokenPacketData.DiscardUnknown(m) +} + +var xxx_messageInfo_FungibleTokenPacketData proto.InternalMessageInfo + +func (m *FungibleTokenPacketData) GetDenom() string { + if m != nil { + return m.Denom + } + return "" +} + +func (m *FungibleTokenPacketData) GetAmount() string { + if m != nil { + return m.Amount + } + return "" +} + +func (m *FungibleTokenPacketData) GetSender() string { + if m != nil { + return m.Sender + } + return "" +} + +func (m *FungibleTokenPacketData) GetReceiver() string { + if m != nil { + return m.Receiver + } + return "" +} + +func init() { + proto.RegisterType((*FungibleTokenPacketData)(nil), "ibc.applications.transfer.v2.FungibleTokenPacketData") +} + +func init() { + proto.RegisterFile("ibc/applications/transfer/v2/packet.proto", fileDescriptor_653ca2ce9a5ca313) +} + +var fileDescriptor_653ca2ce9a5ca313 = []byte{ + // 239 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x4c, 0x8f, 0xbf, 0x4a, 0xc5, 0x30, + 0x14, 0x87, 0x1b, 0xff, 0x5c, 0x34, 0x63, 0x11, 0x2d, 0x22, 0x41, 0x9c, 0x74, 0x30, 0x81, 0xab, + 0x4f, 0x20, 0xe2, 0x28, 0x22, 0x4e, 0x6e, 0x49, 0x7a, 0xac, 0xe1, 0x36, 0x39, 0x21, 0x49, 0x0b, + 0xe2, 0x4b, 0xf8, 0x58, 0x8e, 0x77, 0x74, 0x94, 0xf6, 0x45, 0xe4, 0xa6, 0x2a, 0x1d, 0xbf, 0xef, + 0xfc, 0xce, 0xf0, 0xd1, 0x0b, 0xa3, 0xb4, 0x90, 0xde, 0xb7, 0x46, 0xcb, 0x64, 0xd0, 0x45, 0x91, + 0x82, 0x74, 0xf1, 0x05, 0x82, 0xe8, 0x97, 0xc2, 0x4b, 0xbd, 0x82, 0xc4, 0x7d, 0xc0, 0x84, 0xe5, + 0x89, 0x51, 0x9a, 0xcf, 0xa7, 0xfc, 0x6f, 0xca, 0xfb, 0xe5, 0xd9, 0x3b, 0x3d, 0xba, 0xeb, 0x5c, + 0x63, 0x54, 0x0b, 0x4f, 0xb8, 0x02, 0xf7, 0x90, 0x5f, 0x6f, 0x65, 0x92, 0xe5, 0x01, 0xdd, 0xad, + 0xc1, 0xa1, 0xad, 0xc8, 0x29, 0x39, 0xdf, 0x7f, 0x9c, 0xa0, 0x3c, 0xa4, 0x0b, 0x69, 0xb1, 0x73, + 0xa9, 0xda, 0xca, 0xfa, 0x97, 0x36, 0x3e, 0x82, 0xab, 0x21, 0x54, 0xdb, 0x93, 0x9f, 0xa8, 0x3c, + 0xa6, 0x7b, 0x01, 0x34, 0x98, 0x1e, 0x42, 0xb5, 0x93, 0x2f, 0xff, 0x7c, 0x73, 0xff, 0x39, 0x30, + 0xb2, 0x1e, 0x18, 0xf9, 0x1e, 0x18, 0xf9, 0x18, 0x59, 0xb1, 0x1e, 0x59, 0xf1, 0x35, 0xb2, 0xe2, + 0xf9, 0xba, 0x31, 0xe9, 0xb5, 0x53, 0x5c, 0xa3, 0x15, 0x1a, 0xa3, 0xc5, 0x28, 0x8c, 0xd2, 0x97, + 0x0d, 0x0a, 0x8b, 0x75, 0xd7, 0x42, 0xdc, 0xc4, 0xcf, 0xa2, 0xd3, 0x9b, 0x87, 0xa8, 0x16, 0xb9, + 0xf8, 0xea, 0x27, 0x00, 0x00, 0xff, 0xff, 0x1f, 0x65, 0xe9, 0x98, 0x1e, 0x01, 0x00, 0x00, +} + +func (m *FungibleTokenPacketData) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *FungibleTokenPacketData) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *FungibleTokenPacketData) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.Receiver) > 0 { + i -= len(m.Receiver) + copy(dAtA[i:], m.Receiver) + i = encodeVarintPacket(dAtA, i, uint64(len(m.Receiver))) + i-- + dAtA[i] = 0x22 + } + if len(m.Sender) > 0 { + i -= len(m.Sender) + copy(dAtA[i:], m.Sender) + i = encodeVarintPacket(dAtA, i, uint64(len(m.Sender))) + i-- + dAtA[i] = 0x1a + } + if len(m.Amount) > 0 { + i -= len(m.Amount) + copy(dAtA[i:], m.Amount) + i = encodeVarintPacket(dAtA, i, uint64(len(m.Amount))) + i-- + dAtA[i] = 0x12 + } + if len(m.Denom) > 0 { + i -= len(m.Denom) + copy(dAtA[i:], m.Denom) + i = encodeVarintPacket(dAtA, i, uint64(len(m.Denom))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func encodeVarintPacket(dAtA []byte, offset int, v uint64) int { + offset -= sovPacket(v) + base := offset + for v >= 1<<7 { + dAtA[offset] = uint8(v&0x7f | 0x80) + v >>= 7 + offset++ + } + dAtA[offset] = uint8(v) + return base +} +func (m *FungibleTokenPacketData) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Denom) + if l > 0 { + n += 1 + l + sovPacket(uint64(l)) + } + l = len(m.Amount) + if l > 0 { + n += 1 + l + sovPacket(uint64(l)) + } + l = len(m.Sender) + if l > 0 { + n += 1 + l + sovPacket(uint64(l)) + } + l = len(m.Receiver) + if l > 0 { + n += 1 + l + sovPacket(uint64(l)) + } + return n +} + +func sovPacket(x uint64) (n int) { + return (math_bits.Len64(x|1) + 6) / 7 +} +func sozPacket(x uint64) (n int) { + return sovPacket(uint64((x << 1) ^ uint64((int64(x) >> 63)))) +} +func (m *FungibleTokenPacketData) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowPacket + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: FungibleTokenPacketData: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: FungibleTokenPacketData: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Denom", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowPacket + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthPacket + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthPacket + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Denom = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Amount", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowPacket + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthPacket + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthPacket + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Amount = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Sender", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowPacket + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthPacket + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthPacket + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Sender = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Receiver", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowPacket + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthPacket + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthPacket + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Receiver = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipPacket(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthPacket + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func skipPacket(dAtA []byte) (n int, err error) { + l := len(dAtA) + iNdEx := 0 + depth := 0 + for iNdEx < l { + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return 0, ErrIntOverflowPacket + } + if iNdEx >= l { + return 0, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + wireType := int(wire & 0x7) + switch wireType { + case 0: + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return 0, ErrIntOverflowPacket + } + if iNdEx >= l { + return 0, io.ErrUnexpectedEOF + } + iNdEx++ + if dAtA[iNdEx-1] < 0x80 { + break + } + } + case 1: + iNdEx += 8 + case 2: + var length int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return 0, ErrIntOverflowPacket + } + if iNdEx >= l { + return 0, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + length |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if length < 0 { + return 0, ErrInvalidLengthPacket + } + iNdEx += length + case 3: + depth++ + case 4: + if depth == 0 { + return 0, ErrUnexpectedEndOfGroupPacket + } + depth-- + case 5: + iNdEx += 4 + default: + return 0, fmt.Errorf("proto: illegal wireType %d", wireType) + } + if iNdEx < 0 { + return 0, ErrInvalidLengthPacket + } + if depth == 0 { + return iNdEx, nil + } + } + return 0, io.ErrUnexpectedEOF +} + +var ( + ErrInvalidLengthPacket = fmt.Errorf("proto: negative length found during unmarshaling") + ErrIntOverflowPacket = fmt.Errorf("proto: integer overflow") + ErrUnexpectedEndOfGroupPacket = fmt.Errorf("proto: unexpected end of group") +) diff --git a/modules/apps/transfer/types/packet_test.go b/modules/apps/transfer/types/packet_test.go index 6b16095b0b5..e5d21d648d2 100644 --- a/modules/apps/transfer/types/packet_test.go +++ b/modules/apps/transfer/types/packet_test.go @@ -7,8 +7,10 @@ import ( ) const ( - denom = "transfer/gaiachannel/atom" - amount = uint64(100) + denom = "transfer/gaiachannel/atom" + amount = "100" + largeAmount = "18446744073709551616" // one greater than largest uint64 (^uint64(0)) + invalidLargeAmount = "115792089237316195423570985008687907853269984665640564039457584007913129639936" // 2^256 ) // TestFungibleTokenPacketDataValidateBasic tests ValidateBasic for FungibleTokenPacketData @@ -19,8 +21,12 @@ func TestFungibleTokenPacketDataValidateBasic(t *testing.T) { expPass bool }{ {"valid packet", NewFungibleTokenPacketData(denom, amount, addr1, addr2), true}, + {"valid packet with large amount", NewFungibleTokenPacketData(denom, largeAmount, addr1, addr2), true}, {"invalid denom", NewFungibleTokenPacketData("", amount, addr1, addr2), false}, - {"invalid amount", NewFungibleTokenPacketData(denom, 0, addr1, addr2), false}, + {"invalid empty amount", NewFungibleTokenPacketData(denom, "", addr1, addr2), false}, + {"invalid zero amount", NewFungibleTokenPacketData(denom, "0", addr1, addr2), false}, + {"invalid negative amount", NewFungibleTokenPacketData(denom, "-1", addr1, addr2), false}, + {"invalid large amount", NewFungibleTokenPacketData(denom, invalidLargeAmount, addr1, addr2), false}, {"missing sender address", NewFungibleTokenPacketData(denom, amount, emptyAddr, addr2), false}, {"missing recipient address", NewFungibleTokenPacketData(denom, amount, addr1, emptyAddr), false}, } diff --git a/modules/apps/transfer/types/transfer.pb.go b/modules/apps/transfer/types/transfer.pb.go index f03b128f053..95df2214710 100644 --- a/modules/apps/transfer/types/transfer.pb.go +++ b/modules/apps/transfer/types/transfer.pb.go @@ -23,81 +23,6 @@ var _ = math.Inf // proto package needs to be updated. const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package -// FungibleTokenPacketData defines a struct for the packet payload -// See FungibleTokenPacketData spec: -// https://github.com/cosmos/ics/tree/master/spec/ics-020-fungible-token-transfer#data-structures -type FungibleTokenPacketData struct { - // the token denomination to be transferred - Denom string `protobuf:"bytes,1,opt,name=denom,proto3" json:"denom,omitempty"` - // the token amount to be transferred - Amount uint64 `protobuf:"varint,2,opt,name=amount,proto3" json:"amount,omitempty"` - // the sender address - Sender string `protobuf:"bytes,3,opt,name=sender,proto3" json:"sender,omitempty"` - // the recipient address on the destination chain - Receiver string `protobuf:"bytes,4,opt,name=receiver,proto3" json:"receiver,omitempty"` -} - -func (m *FungibleTokenPacketData) Reset() { *m = FungibleTokenPacketData{} } -func (m *FungibleTokenPacketData) String() string { return proto.CompactTextString(m) } -func (*FungibleTokenPacketData) ProtoMessage() {} -func (*FungibleTokenPacketData) Descriptor() ([]byte, []int) { - return fileDescriptor_5041673e96e97901, []int{0} -} -func (m *FungibleTokenPacketData) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *FungibleTokenPacketData) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_FungibleTokenPacketData.Marshal(b, m, deterministic) - } else { - b = b[:cap(b)] - n, err := m.MarshalToSizedBuffer(b) - if err != nil { - return nil, err - } - return b[:n], nil - } -} -func (m *FungibleTokenPacketData) XXX_Merge(src proto.Message) { - xxx_messageInfo_FungibleTokenPacketData.Merge(m, src) -} -func (m *FungibleTokenPacketData) XXX_Size() int { - return m.Size() -} -func (m *FungibleTokenPacketData) XXX_DiscardUnknown() { - xxx_messageInfo_FungibleTokenPacketData.DiscardUnknown(m) -} - -var xxx_messageInfo_FungibleTokenPacketData proto.InternalMessageInfo - -func (m *FungibleTokenPacketData) GetDenom() string { - if m != nil { - return m.Denom - } - return "" -} - -func (m *FungibleTokenPacketData) GetAmount() uint64 { - if m != nil { - return m.Amount - } - return 0 -} - -func (m *FungibleTokenPacketData) GetSender() string { - if m != nil { - return m.Sender - } - return "" -} - -func (m *FungibleTokenPacketData) GetReceiver() string { - if m != nil { - return m.Receiver - } - return "" -} - // DenomTrace contains the base denomination for ICS20 fungible tokens and the // source tracing information path. type DenomTrace struct { @@ -112,7 +37,7 @@ func (m *DenomTrace) Reset() { *m = DenomTrace{} } func (m *DenomTrace) String() string { return proto.CompactTextString(m) } func (*DenomTrace) ProtoMessage() {} func (*DenomTrace) Descriptor() ([]byte, []int) { - return fileDescriptor_5041673e96e97901, []int{1} + return fileDescriptor_5041673e96e97901, []int{0} } func (m *DenomTrace) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -172,7 +97,7 @@ func (m *Params) Reset() { *m = Params{} } func (m *Params) String() string { return proto.CompactTextString(m) } func (*Params) ProtoMessage() {} func (*Params) Descriptor() ([]byte, []int) { - return fileDescriptor_5041673e96e97901, []int{2} + return fileDescriptor_5041673e96e97901, []int{1} } func (m *Params) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -216,7 +141,6 @@ func (m *Params) GetReceiveEnabled() bool { } func init() { - proto.RegisterType((*FungibleTokenPacketData)(nil), "ibc.applications.transfer.v1.FungibleTokenPacketData") proto.RegisterType((*DenomTrace)(nil), "ibc.applications.transfer.v1.DenomTrace") proto.RegisterType((*Params)(nil), "ibc.applications.transfer.v1.Params") } @@ -226,79 +150,26 @@ func init() { } var fileDescriptor_5041673e96e97901 = []byte{ - // 365 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x5c, 0x91, 0xc1, 0xaa, 0xda, 0x40, - 0x14, 0x86, 0x8d, 0xb5, 0xa2, 0xd3, 0xd2, 0xc2, 0x54, 0x34, 0x48, 0x1b, 0x25, 0x2b, 0xa1, 0x34, - 0x41, 0xda, 0x95, 0x9b, 0x82, 0xb5, 0x5d, 0x16, 0x09, 0xae, 0xba, 0x91, 0x99, 0xc9, 0x69, 0x1c, - 0x4c, 0x66, 0xc2, 0xcc, 0x44, 0x90, 0x3e, 0x41, 0x77, 0x7d, 0xac, 0x2e, 0x5d, 0xde, 0x95, 0x5c, - 0xf4, 0x0d, 0x7c, 0x82, 0x4b, 0x26, 0x21, 0xc8, 0xdd, 0x9d, 0xef, 0x9c, 0xff, 0x3f, 0xe7, 0xc0, - 0x8f, 0x3e, 0x72, 0xca, 0x42, 0x92, 0xe7, 0x29, 0x67, 0xc4, 0x70, 0x29, 0x74, 0x68, 0x14, 0x11, - 0xfa, 0x37, 0xa8, 0xf0, 0x30, 0x6f, 0xea, 0x20, 0x57, 0xd2, 0x48, 0xfc, 0x9e, 0x53, 0x16, 0xdc, - 0x8b, 0x83, 0x46, 0x70, 0x98, 0x8f, 0x07, 0x89, 0x4c, 0xa4, 0x15, 0x86, 0x65, 0x55, 0x79, 0xfc, - 0x3f, 0x68, 0xf4, 0xa3, 0x10, 0x09, 0xa7, 0x29, 0x6c, 0xe4, 0x1e, 0xc4, 0x9a, 0xb0, 0x3d, 0x98, - 0x15, 0x31, 0x04, 0x0f, 0xd0, 0xcb, 0x18, 0x84, 0xcc, 0x5c, 0x67, 0xea, 0xcc, 0xfa, 0x51, 0x05, - 0x78, 0x88, 0xba, 0x24, 0x93, 0x85, 0x30, 0x6e, 0x7b, 0xea, 0xcc, 0x3a, 0x51, 0x4d, 0x65, 0x5f, - 0x83, 0x88, 0x41, 0xb9, 0x2f, 0xac, 0xbc, 0x26, 0x3c, 0x46, 0x3d, 0x05, 0x0c, 0xf8, 0x01, 0x94, - 0xdb, 0xb1, 0x93, 0x86, 0xfd, 0xaf, 0x08, 0xad, 0xca, 0xa5, 0x1b, 0x45, 0x18, 0x60, 0x8c, 0x3a, - 0x39, 0x31, 0xbb, 0xfa, 0x9c, 0xad, 0xf1, 0x07, 0x84, 0x28, 0xd1, 0xb0, 0xad, 0x1e, 0x69, 0xdb, - 0x49, 0xbf, 0xec, 0x58, 0x9f, 0xff, 0xd7, 0x41, 0xdd, 0x35, 0x51, 0x24, 0xd3, 0x78, 0x81, 0x5e, - 0x97, 0x17, 0xb7, 0x20, 0x08, 0x4d, 0x21, 0xb6, 0x5b, 0x7a, 0xcb, 0xd1, 0xed, 0x3c, 0x79, 0x77, - 0x24, 0x59, 0xba, 0xf0, 0xef, 0xa7, 0x7e, 0xf4, 0xaa, 0xc4, 0xef, 0x15, 0xe1, 0x6f, 0xe8, 0x6d, - 0xfd, 0x53, 0x63, 0x6f, 0x5b, 0xfb, 0xf8, 0x76, 0x9e, 0x0c, 0x2b, 0xfb, 0x33, 0x81, 0x1f, 0xbd, - 0xa9, 0x3b, 0xf5, 0x92, 0xe5, 0xcf, 0xff, 0x17, 0xcf, 0x39, 0x5d, 0x3c, 0xe7, 0xf1, 0xe2, 0x39, - 0xff, 0xae, 0x5e, 0xeb, 0x74, 0xf5, 0x5a, 0x0f, 0x57, 0xaf, 0xf5, 0xeb, 0x4b, 0xc2, 0xcd, 0xae, - 0xa0, 0x01, 0x93, 0x59, 0xc8, 0xa4, 0xce, 0xa4, 0x0e, 0x39, 0x65, 0x9f, 0x12, 0x19, 0x66, 0x32, - 0x2e, 0x52, 0xd0, 0x65, 0xc2, 0x77, 0xc9, 0x9a, 0x63, 0x0e, 0x9a, 0x76, 0x6d, 0x40, 0x9f, 0x9f, - 0x02, 0x00, 0x00, 0xff, 0xff, 0xbd, 0xbc, 0x5f, 0xc9, 0x03, 0x02, 0x00, 0x00, -} - -func (m *FungibleTokenPacketData) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *FungibleTokenPacketData) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *FungibleTokenPacketData) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if len(m.Receiver) > 0 { - i -= len(m.Receiver) - copy(dAtA[i:], m.Receiver) - i = encodeVarintTransfer(dAtA, i, uint64(len(m.Receiver))) - i-- - dAtA[i] = 0x22 - } - if len(m.Sender) > 0 { - i -= len(m.Sender) - copy(dAtA[i:], m.Sender) - i = encodeVarintTransfer(dAtA, i, uint64(len(m.Sender))) - i-- - dAtA[i] = 0x1a - } - if m.Amount != 0 { - i = encodeVarintTransfer(dAtA, i, uint64(m.Amount)) - i-- - dAtA[i] = 0x10 - } - if len(m.Denom) > 0 { - i -= len(m.Denom) - copy(dAtA[i:], m.Denom) - i = encodeVarintTransfer(dAtA, i, uint64(len(m.Denom))) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil + // 296 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x5c, 0x90, 0xc1, 0x4a, 0x03, 0x31, + 0x10, 0x86, 0x9b, 0x22, 0xc5, 0x46, 0x51, 0x88, 0xa2, 0xa5, 0x68, 0x2a, 0x7b, 0x12, 0xc4, 0x0d, + 0x45, 0x4f, 0xbd, 0x08, 0x55, 0xaf, 0x22, 0xc5, 0x93, 0x97, 0x92, 0x64, 0xc7, 0x6d, 0x60, 0xb3, + 0x59, 0x92, 0xb4, 0xd0, 0x47, 0xf0, 0xe6, 0x63, 0x79, 0xec, 0xd1, 0x53, 0x91, 0xf6, 0x0d, 0xfa, + 0x04, 0xb2, 0x69, 0x59, 0x16, 0x6f, 0xff, 0xcc, 0x7c, 0xdf, 0x1c, 0x7e, 0x7c, 0xa3, 0x84, 0x64, + 0xbc, 0x28, 0x32, 0x25, 0xb9, 0x57, 0x26, 0x77, 0xcc, 0x5b, 0x9e, 0xbb, 0x0f, 0xb0, 0x6c, 0xd6, + 0xaf, 0x72, 0x5c, 0x58, 0xe3, 0x0d, 0xb9, 0x50, 0x42, 0xc6, 0x75, 0x38, 0xae, 0x80, 0x59, 0xbf, + 0x7b, 0x9a, 0x9a, 0xd4, 0x04, 0x90, 0x95, 0x69, 0xeb, 0x44, 0x0f, 0x18, 0x3f, 0x41, 0x6e, 0xf4, + 0x9b, 0xe5, 0x12, 0x08, 0xc1, 0x7b, 0x05, 0xf7, 0x93, 0x0e, 0xba, 0x42, 0xd7, 0xed, 0x51, 0xc8, + 0xe4, 0x12, 0x63, 0xc1, 0x1d, 0x8c, 0x93, 0x12, 0xeb, 0x34, 0xc3, 0xa5, 0x5d, 0x6e, 0x82, 0x17, + 0x7d, 0x22, 0xdc, 0x7a, 0xe5, 0x96, 0x6b, 0x47, 0x06, 0xf8, 0xd0, 0x41, 0x9e, 0x8c, 0x21, 0xe7, + 0x22, 0x83, 0x24, 0x7c, 0xd9, 0x1f, 0x9e, 0x6f, 0x96, 0xbd, 0x93, 0x39, 0xd7, 0xd9, 0x20, 0xaa, + 0x5f, 0xa3, 0xd1, 0x41, 0x39, 0x3e, 0x6f, 0x27, 0xf2, 0x88, 0x8f, 0x2d, 0x48, 0x50, 0x33, 0xa8, + 0xf4, 0x66, 0xd0, 0xbb, 0x9b, 0x65, 0xef, 0x6c, 0xab, 0xff, 0x03, 0xa2, 0xd1, 0xd1, 0x6e, 0xb3, + 0x7b, 0x32, 0x7c, 0xf9, 0x5e, 0x51, 0xb4, 0x58, 0x51, 0xf4, 0xbb, 0xa2, 0xe8, 0x6b, 0x4d, 0x1b, + 0x8b, 0x35, 0x6d, 0xfc, 0xac, 0x69, 0xe3, 0xfd, 0x3e, 0x55, 0x7e, 0x32, 0x15, 0xb1, 0x34, 0x9a, + 0x49, 0xe3, 0xb4, 0x71, 0x4c, 0x09, 0x79, 0x9b, 0x1a, 0xa6, 0x4d, 0x32, 0xcd, 0xc0, 0x95, 0x25, + 0xd7, 0xca, 0xf5, 0xf3, 0x02, 0x9c, 0x68, 0x85, 0x8e, 0xee, 0xfe, 0x02, 0x00, 0x00, 0xff, 0xff, + 0xac, 0xa4, 0x13, 0xf0, 0x86, 0x01, 0x00, 0x00, } func (m *DenomTrace) Marshal() (dAtA []byte, err error) { @@ -392,30 +263,6 @@ func encodeVarintTransfer(dAtA []byte, offset int, v uint64) int { dAtA[offset] = uint8(v) return base } -func (m *FungibleTokenPacketData) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.Denom) - if l > 0 { - n += 1 + l + sovTransfer(uint64(l)) - } - if m.Amount != 0 { - n += 1 + sovTransfer(uint64(m.Amount)) - } - l = len(m.Sender) - if l > 0 { - n += 1 + l + sovTransfer(uint64(l)) - } - l = len(m.Receiver) - if l > 0 { - n += 1 + l + sovTransfer(uint64(l)) - } - return n -} - func (m *DenomTrace) Size() (n int) { if m == nil { return 0 @@ -454,171 +301,6 @@ func sovTransfer(x uint64) (n int) { func sozTransfer(x uint64) (n int) { return sovTransfer(uint64((x << 1) ^ uint64((int64(x) >> 63)))) } -func (m *FungibleTokenPacketData) Unmarshal(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTransfer - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: FungibleTokenPacketData: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: FungibleTokenPacketData: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Denom", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTransfer - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthTransfer - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthTransfer - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Denom = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 2: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field Amount", wireType) - } - m.Amount = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTransfer - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.Amount |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 3: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Sender", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTransfer - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthTransfer - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthTransfer - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Sender = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 4: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Receiver", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTransfer - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthTransfer - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthTransfer - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Receiver = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := skipTransfer(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthTransfer - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} func (m *DenomTrace) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 diff --git a/proto/ibc/applications/transfer/v1/transfer.proto b/proto/ibc/applications/transfer/v1/transfer.proto index b1c41f6a511..69c0486c088 100644 --- a/proto/ibc/applications/transfer/v1/transfer.proto +++ b/proto/ibc/applications/transfer/v1/transfer.proto @@ -6,19 +6,6 @@ option go_package = "github.com/cosmos/ibc-go/modules/apps/transfer/types"; import "gogoproto/gogo.proto"; -// FungibleTokenPacketData defines a struct for the packet payload -// See FungibleTokenPacketData spec: -// https://github.com/cosmos/ics/tree/master/spec/ics-020-fungible-token-transfer#data-structures -message FungibleTokenPacketData { - // the token denomination to be transferred - string denom = 1; - // the token amount to be transferred - uint64 amount = 2; - // the sender address - string sender = 3; - // the recipient address on the destination chain - string receiver = 4; -} // DenomTrace contains the base denomination for ICS20 fungible tokens and the // source tracing information path. diff --git a/proto/ibc/applications/transfer/v2/packet.proto b/proto/ibc/applications/transfer/v2/packet.proto new file mode 100644 index 00000000000..d7caa354106 --- /dev/null +++ b/proto/ibc/applications/transfer/v2/packet.proto @@ -0,0 +1,20 @@ +syntax = "proto3"; + +package ibc.applications.transfer.v2; + +option go_package = "github.com/cosmos/ibc-go/modules/apps/transfer/types"; + +// FungibleTokenPacketData defines a struct for the packet payload +// See FungibleTokenPacketData spec: +// https://github.com/cosmos/ics/tree/master/spec/ics-020-fungible-token-transfer#data-structures +message FungibleTokenPacketData { + // the token denomination to be transferred + string denom = 1; + // the token amount to be transferred + string amount = 2; + // the sender address + string sender = 3; + // the recipient address on the destination chain + string receiver = 4; +} + diff --git a/testing/chain.go b/testing/chain.go index c012f383767..e9b2a38241a 100644 --- a/testing/chain.go +++ b/testing/chain.go @@ -82,9 +82,12 @@ func NewTestChain(t *testing.T, coord *Coordinator, chainID string) *TestChain { // generate genesis account senderPrivKey := secp256k1.GenPrivKey() acc := authtypes.NewBaseAccount(senderPrivKey.PubKey().Address().Bytes(), senderPrivKey.PubKey(), 0, 0) + amount, ok := sdk.NewIntFromString("10000000000000000000") + require.True(t, ok) + balance := banktypes.Balance{ Address: acc.GetAddress().String(), - Coins: sdk.NewCoins(sdk.NewCoin(sdk.DefaultBondDenom, sdk.NewInt(100000000000000))), + Coins: sdk.NewCoins(sdk.NewCoin(sdk.DefaultBondDenom, amount)), } app := SetupWithGenesisValSet(t, valSet, []authtypes.GenesisAccount{acc}, balance) From 2fbe68220837299788bae1ecb68fead44828c8e6 Mon Sep 17 00:00:00 2001 From: Charly Date: Mon, 13 Sep 2021 13:11:03 +0200 Subject: [PATCH 016/107] fix: ibc build docs (#361) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * initial fix commit * add release v1.0.1 to versions * improvements for docs website * add new version * address review comments Co-authored-by: Carlos Rodriguez Co-authored-by: colin axnér <25233464+colin-axner@users.noreply.github.com> --- docs/.vuepress/config.js | 56 +- .../public/android-chrome-192x192.png | Bin 4110 -> 12115 bytes .../public/android-chrome-256x256.png | Bin 5421 -> 15284 bytes .../public/apple-touch-icon-precomposed.png | Bin 1473 -> 6733 bytes docs/.vuepress/public/apple-touch-icon.png | Bin 3744 -> 12367 bytes docs/.vuepress/public/favicon-16x16.png | Bin 632 -> 1385 bytes docs/.vuepress/public/favicon-32x32.png | Bin 942 -> 1893 bytes docs/.vuepress/public/mstile-150x150.png | Bin 3039 -> 5759 bytes docs/.vuepress/styles/index.styl | 3 + docs/package-lock.json | 522 ++++++++++-------- docs/package.json | 5 +- docs/pre.sh | 3 + docs/versions | 3 + 13 files changed, 347 insertions(+), 245 deletions(-) mode change 100644 => 100755 docs/.vuepress/public/android-chrome-192x192.png mode change 100644 => 100755 docs/.vuepress/public/android-chrome-256x256.png mode change 100644 => 100755 docs/.vuepress/public/apple-touch-icon-precomposed.png mode change 100644 => 100755 docs/.vuepress/public/apple-touch-icon.png mode change 100644 => 100755 docs/.vuepress/public/mstile-150x150.png create mode 100644 docs/.vuepress/styles/index.styl create mode 100755 docs/pre.sh create mode 100644 docs/versions diff --git a/docs/.vuepress/config.js b/docs/.vuepress/config.js index c8ea7715ab9..17b7752035d 100644 --- a/docs/.vuepress/config.js +++ b/docs/.vuepress/config.js @@ -7,13 +7,22 @@ module.exports = { }, }, base: process.env.VUEPRESS_BASE || "/", + head: [ + ['link', { rel: "apple-touch-icon", sizes: "180x180", href: "/apple-touch-icon.png" }], + ['link', { rel: "icon", type: "image/png", sizes: "32x32", href: "/favicon-32x32.png" }], + ['link', { rel: "icon", type: "image/png", sizes: "16x16", href: "/favicon-16x16.png" }], + ['link', { rel: "manifest", href: "/site.webmanifest" }], + ['meta', { name: "msapplication-TileColor", content: "#2e3148" }], + ['meta', { name: "theme-color", content: "#ffffff" }], + ['link', { rel: "icon", type: "image/svg+xml", href: "/favicon-svg.svg" }], + ['link', { rel: "apple-touch-icon-precomposed", href: "/apple-touch-icon-precomposed.png" }], + ], themeConfig: { repo: "cosmos/ibc-go", docsRepo: "cosmos/ibc-go", docsDir: "docs", editLinks: true, label: "ibc", - // label: "ibc-go", // TODO //algolia: { // id: "BH4D9OD16A", @@ -24,8 +33,19 @@ module.exports = { { "label": "main", "key": "main" - } + }, + { + "label": "v1.1.0", + "key": "v1.1.0" + }, + { + "label": "v1.2.0", + "key": "v1.2.0" + } ], + topbar: { + banner: true + }, sidebar: { auto: false, nav: [ @@ -105,11 +125,41 @@ module.exports = { } }, footer: { - logo: "/logo-bw.svg", + question: { + text: "Chat with IBC developers in Discord." + }, textLink: { text: "ibcprotocol.org", url: "https://ibcprotocol.org" }, + services: [ + { + service: "medium", + url: "https://blog.cosmos.network/" + }, + { + service: "twitter", + url: "https://twitter.com/cosmos" + }, + { + service: "linkedin", + url: "https://www.linkedin.com/company/interchain-gmbh" + }, + { + service: "reddit", + url: "https://reddit.com/r/cosmosnetwork" + }, + { + service: "telegram", + url: "https://t.me/cosmosproject" + }, + { + service: "youtube", + url: "https://www.youtube.com/c/CosmosProject" + } + ], + smallprint: + "The development of IBC-Go is led primarily by [Interchain GmbH](https://interchain.berlin/). Funding for this development comes primarily from the Interchain Foundation, a Swiss non-profit.", links: [ { title: "Documentation", diff --git a/docs/.vuepress/public/android-chrome-192x192.png b/docs/.vuepress/public/android-chrome-192x192.png old mode 100644 new mode 100755 index 6d04cf4c08573ab91036925d6df3bd4142e75c7a..5ad0a90a17a09085aa1325a57b3bd264370943d7 GIT binary patch literal 12115 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 eYJMO2L3ex?J*o(Ek80TsJ)c literal 4110 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 Gjr=dd&}xVP diff --git a/docs/.vuepress/public/android-chrome-256x256.png b/docs/.vuepress/public/android-chrome-256x256.png old mode 100644 new mode 100755 index 1c30cc026781e0ba3288a23e0e2f37ee1e553e62..99f29130a4da9a166ed37f7364adc8d798959566 GIT binary patch literal 15284 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 diff --git a/docs/.vuepress/public/apple-touch-icon.png b/docs/.vuepress/public/apple-touch-icon.png old mode 100644 new mode 100755 index 397e21af2a526405cec535e36de67f0b6ea35f05..4da9a9eea4284e757b4e536fa7f4163583708de9 GIT binary patch literal 12367 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℞zIJYI+%-durT=6-TgR<) z{_Dy@vHgrkVvc!{#WqKa&05TZC}vbh^B5n&48Y~E%Cv_}e{R}8COX=^?c_VT7EV}C z#2a@XFvU~T)N~bk{=6SUe3m`~ZSa`+%d{bfuNTu78yg$a zA>!kUCHCl0rwqs&8I;mBAC^2;(rAKNmj@HY$w zo3$KHw`c(=O%U%TC8NE8fYHBjwgS+SEQtFl!O)_(Vd1cC&Xyj`eRqdb2?B$H{=~-O zJrxu*lvPsNr1IK$%ns%$M35-%7;U--(h=y@W*+;+a7tm{)R$yY@)^VQz%_{zN`c9$ zTs)zKghU7!e!qPAGM@aEGYk+i+;=Qn%$i1HYJ-8fu~vi&g4luPDk>_%`zW2a4(>)C zIC;R+WBV7j;^Kj=;1LD@t0)1hit=V40MCO^M@b30tfImaOi$B*-7K}`$pG`6=ZuWu z`*XDnOCV4&0@FvJgE2g}Puv|B9^Fl{CR}y53CNLNH+Qh3_|jeT$C z=j3>!a#p`s+#-N@`|!p=Gk@ul#$xL#+Fvplt^-aPfn!Ji_Y@L1cJ!a8kpAEM|9ML3 y+IVc|2cx7<01X19{oBQb1UZ+5eEa(YImA)-5}g#IeH5J7g5;!>B`d^D0{;slblmCy literal 3744 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 diff --git a/docs/.vuepress/public/favicon-16x16.png b/docs/.vuepress/public/favicon-16x16.png index 5f15c3b0af35e87882b492291e93fced03e0842f..8820f9a1c67f581ffe999cc1d360eb378ff8af38 100644 GIT binary patch literal 1385 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Ea{HEjtmSN`?>!lvI6-E$sR$z z3=CCj3=9n|3=F@3LJcn%7)lKo7+xhXFj&oCU=S~uvn$XBDAAG{;hE;^%b*2hb1<+m zvN13NS&R%!Ktc%0W(2aO7(gZiSqx!}(r|VhqXt5KdnN-5R81O?1_2Ks2I+y&ObeLc zDg+iVBiJCN%S#O&04dG_kH}&M25w;xW@MN(M}mQY=}~4#L`j6Nk5zJhu3lnFep0Gl zMQ#B|7lTcO6_A;mT9T+xk(-lOY*k^a1Xf`MWP^nDl@!2AO0sR0B76fBob!uP70mPu z^bC~jxD*r=Y>HCStb$zJpxS{vTcwPWk^(Dz{qpj1y>er{{GxPyLrY6beFGzXBO_g) z3fVr~?^K(i;z6j0BEU`0!YC#i5*A4 zA#~MXYa(%3gCqgfXrm8G1xTp^lH|amz%*yaWup&IzjjNL zcB`XA+i^>axj`JVUUdxtQ+U1WAG|2>3fuIRStmDTX-=;0l&MK4oq{%P7SN23o-+5w zk6rI(RvNWO&e^@LeBRFImFe?-7U->?)-(6BQRX?(MYr8|^Y6YOYb)Iy`@CrLHltsR zzdkZ~8L)g#NN#a7`uECO%6tp+1-7ouzruwg!>$SzvRXY5nKkL}noaK)$X7jNJf#rX z_g>`h_wS2~_9uwOB}m^(U|IH%L8pB~;5ON}zs0ufTG{R}k1u%BoeSOZXLWK9&gwsu z^=$ovw<>i!&X?t?7jLuRrj$U*OzTzxPK{F~u&tgy>cqOM>Sc*0+E0I7t!J>? WX!7QD$&m_B0pjWE=d#Wzp$Pz$Kf!VU delta 539 zcmaFK^@C-CBnJxv1H;x|=C39y+H*4{dAqwX{BQ3+vwz}S@p=aK5>H=O_9q-dEDZcI z*C(xEU|{6%ba4#PIA3~Uzg}~p$gz+9(L#r0JNB;JR9u>xrquD zCetL$SY0!}SPIHm3*=l~e9%De$S+Y*7qKZ5ny1;fmujEt)~TH2nu)QjdW;!mC0e zN`ey06$*;-(=u~X6-p`#QWY`_N|G5ED&{=?#KTb-rlE1l|MVHpr$G$N%G`R%+``Jj z-jhX`g%w;HOb(|oD{l@_IDO;Fi6du@$Q)rm-QcmnOON4|xM0aAC)24wD;PXo{an^L HB{Ts5-b>VO diff --git a/docs/.vuepress/public/favicon-32x32.png b/docs/.vuepress/public/favicon-32x32.png index 9433c807fd08ae205cc8ec2c19345c0e6d57e482..a3af2276d9751123e81e8db174ae712597df1649 100644 GIT binary patch literal 1893 zcmZ`)3p7-D82`@Ffc*^H2l(^!zdV=0wgnxKsX9F zkE2l53;b*W(3s=I!xnk`;DcypExH&z&%hUB7BE8fC^LTq8y%_NRtNxH1LUAUet`)9 z=m9|}Th0y)pztIjA~#MF%O@&DQbYx)N(u}`d^s1d6bZ!;MM)#5859^JZV~~nrpUL` z2<$)>-diH$<6VhlBAGzP;_-N@EH0iB!q_+`hreiqM7dl_A(0dc1ySKdl*kfD>)qYm zNn}ToqoV`NaDbARcbtW>{S_ATNgb5mFXC11#92t<6bdP*0#=T8Qf3cV#liEN9M%i|+Aqn0dkEoH0AZ2erB zMS(dXm4s};qOF)+IkgwwIXad~n%`eKmY~Pz1^^SuWO#w>Cob1xaL&1kXQOM-nuHLgurHc<=f|08Cj}ogInr@ zy%?PpiLoukyC2g2sTuBzJUARxGc(pP?KGU;QQ!_qwr?7ATow^rXl1+iZ6{+Ot-54r z{6==yw(J6j!meS>_HSw~-A>nwSX)@qjLQuZlJz# zzd+~Je=+E((<|)y<;`BhVO)yA%jD)`lAq)_x%-tB0QIn=?)L+TU5C3{y^hTBeC*y9@;F;EVmnQw@dlh@`Fb=g(^`V=C zc8p*4e&y%tVS#HHyAgOa!hFn>6Y#RU{ITx!_$bjk9m}(kMP`iswRR7DpJ?UeB?vtK zQVv74Dxmk|Y1|ss&03CecBKJ?nH;q{WQ_~^UDbmLcz(u-_8t579nI2;33H)1^I}?& z)znG!z`ao6t1A!57Vmu8o$X)7TBMR8iwCXLp}a=kxrQHJ%}~Bu$mql@c|StBx8URB?=KzD6Q>T6q7oiOzNx1!M}al)eIDPO8aw5M$LwbEMq z-nHS&g_8$HlkNAr)LgAQe5=@YrtO5>K$*BZTSvO08B=+u%JFby;&eU+i+Iv!) jcXIfgVSIE}HAWSU_Jk^b&D78IKz<%fpCCrHS4`%ANLIZH delta 852 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

_8ju(l@pww|Mh*NR<%_+Q#?hG;hd z^OwComNJRHWgIavaaC}5`WZ;NGmW3iTb#@$XQVo9O9-KnNtDG3{9EwFIa?bs@M?9& zHbc?I0rBx%er?r-PWuP`qOOlu*=W@N+vJ%)Pqyd;90=4?jOLE03PiLE(FaHL)$=C! zavh)n(}1bNbkyNGPB4TX45kOyIs?<-9u7XKyz(DFaEMQUU-W+mh&zxaE^sNv$%W{M zi;@i`g!lzq^_3+?hx*C}gc7|0fK;}$0XiJ!tgJj>H%PZ&I|96Nf>3WkQ8`ho++)0= zvZy2k)rVKE(Mfi2a{O%%y+^9&&|s4JeM>0tSzMU7VXBqSEdf}dZBccmp2`0P(>;9C diff --git a/docs/.vuepress/styles/index.styl b/docs/.vuepress/styles/index.styl new file mode 100644 index 00000000000..a76b4921baf --- /dev/null +++ b/docs/.vuepress/styles/index.styl @@ -0,0 +1,3 @@ +:root + --color-link #E6900A + --color-primary #E6900A \ No newline at end of file diff --git a/docs/package-lock.json b/docs/package-lock.json index 8e79e60db7e..5e6b7b1c547 100644 --- a/docs/package-lock.json +++ b/docs/package-lock.json @@ -9,6 +9,9 @@ "license": "ISC", "dependencies": { "vuepress-theme-cosmos": "^1.0.182" + }, + "devDependencies": { + "watchpack": "^2.2.0" } }, "node_modules/@algolia/cache-browser-local-storage": { @@ -8629,9 +8632,9 @@ "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=" }, "node_modules/picomatch": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.3.tgz", - "integrity": "sha512-KpELjfwcCDUb9PeigTs2mBJzXUPzAuP2oPcA989He8Rte0+YUAjw1JVedDhuTKPkHjSYzMN3npC9luThGYEKdg==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.0.tgz", + "integrity": "sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==", "optional": true, "engines": { "node": ">=8.6" @@ -12565,16 +12568,16 @@ } }, "node_modules/watchpack": { - "version": "1.7.5", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.7.5.tgz", - "integrity": "sha512-9P3MWk6SrKjHsGkLT2KHXdQ/9SNkyoJbabxnKOoJepsvJjJG8uYTR3yTPxPQvNDI3w4Nz1xnE0TLHK4RIVe/MQ==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.2.0.tgz", + "integrity": "sha512-up4YAn/XHgZHIxFBVCdlMiWDj6WaLKpwVeGQk2I5thdYxF/KmF0aaz6TfJZ/hfl1h/XlcDr7k1KH7ThDagpFaA==", + "dev": true, "dependencies": { - "graceful-fs": "^4.1.2", - "neo-async": "^2.5.0" + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.1.2" }, - "optionalDependencies": { - "chokidar": "^3.4.1", - "watchpack-chokidar2": "^2.0.1" + "engines": { + "node": ">=10.13.0" } }, "node_modules/watchpack-chokidar2": { @@ -12586,142 +12589,11 @@ "chokidar": "^2.1.8" } }, - "node_modules/watchpack/node_modules/anymatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", - "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", - "optional": true, - "dependencies": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/watchpack/node_modules/binary-extensions": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", - "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", - "optional": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/watchpack/node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "optional": true, - "dependencies": { - "fill-range": "^7.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/watchpack/node_modules/chokidar": { - "version": "3.5.1", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.1.tgz", - "integrity": "sha512-9+s+Od+W0VJJzawDma/gvBNQqkTiqYTWLuZoyAsivsI4AaWTCzHG06/TMjsf1cYe9Cb97UCEhjz7HvnPk2p/tw==", - "optional": true, - "dependencies": { - "anymatch": "~3.1.1", - "braces": "~3.0.2", - "glob-parent": "~5.1.0", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.5.0" - }, - "engines": { - "node": ">= 8.10.0" - }, - "optionalDependencies": { - "fsevents": "~2.3.1" - } - }, - "node_modules/watchpack/node_modules/fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "optional": true, - "dependencies": { - "to-regex-range": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/watchpack/node_modules/fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", - "hasInstallScript": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, - "node_modules/watchpack/node_modules/glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "optional": true, - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/watchpack/node_modules/is-binary-path": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", - "optional": true, - "dependencies": { - "binary-extensions": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/watchpack/node_modules/is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "optional": true, - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/watchpack/node_modules/readdirp": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.5.0.tgz", - "integrity": "sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ==", - "optional": true, - "dependencies": { - "picomatch": "^2.2.1" - }, - "engines": { - "node": ">=8.10.0" - } - }, - "node_modules/watchpack/node_modules/to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "optional": true, - "dependencies": { - "is-number": "^7.0.0" - }, - "engines": { - "node": ">=8.0" - } + "node_modules/watchpack/node_modules/glob-to-regexp": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", + "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", + "dev": true }, "node_modules/wbuf": { "version": "1.7.3", @@ -12999,6 +12871,119 @@ "node": ">=0.4.0" } }, + "node_modules/webpack/node_modules/anymatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", + "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", + "optional": true, + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/webpack/node_modules/binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "optional": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/webpack/node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "optional": true, + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/webpack/node_modules/chokidar": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.2.tgz", + "integrity": "sha512-ekGhOnNVPgT77r4K/U3GDhu+FQ2S8TnK/s2KbIGXi0SZWuwkZ2QNyfWdZW+TVfn84DpEP7rLeCt2UI6bJ8GwbQ==", + "optional": true, + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/webpack/node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "optional": true, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/webpack/node_modules/fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/webpack/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "optional": true, + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/webpack/node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "optional": true, + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/webpack/node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "optional": true, + "engines": { + "node": ">=0.12.0" + } + }, "node_modules/webpack/node_modules/mkdirp": { "version": "0.5.5", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", @@ -13010,6 +12995,18 @@ "mkdirp": "bin/cmd.js" } }, + "node_modules/webpack/node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "optional": true, + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, "node_modules/webpack/node_modules/schema-utils": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", @@ -13023,6 +13020,31 @@ "node": ">= 4" } }, + "node_modules/webpack/node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "optional": true, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/webpack/node_modules/watchpack": { + "version": "1.7.5", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.7.5.tgz", + "integrity": "sha512-9P3MWk6SrKjHsGkLT2KHXdQ/9SNkyoJbabxnKOoJepsvJjJG8uYTR3yTPxPQvNDI3w4Nz1xnE0TLHK4RIVe/MQ==", + "dependencies": { + "graceful-fs": "^4.1.2", + "neo-async": "^2.5.0" + }, + "optionalDependencies": { + "chokidar": "^3.4.1", + "watchpack-chokidar2": "^2.0.1" + } + }, "node_modules/webpackbar": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/webpackbar/-/webpackbar-3.2.0.tgz", @@ -14701,6 +14723,7 @@ "resolved": "https://registry.npmjs.org/@vue/babel-preset-app/-/babel-preset-app-4.5.12.tgz", "integrity": "sha512-8q67ORQ9O0Ms0nlqsXTVhaBefRBaLrzPxOewAZhdcO7onHwcO5/wRdWtHhZgfpCZlhY7NogkU16z3WnorSSkEA==", "requires": { + "@babel/core": "^7.11.0", "@babel/helper-compilation-targets": "^7.9.6", "@babel/helper-module-imports": "^7.8.3", "@babel/plugin-proposal-class-properties": "^7.8.3", @@ -14713,6 +14736,7 @@ "@vue/babel-plugin-jsx": "^1.0.3", "@vue/babel-preset-jsx": "^1.2.4", "babel-plugin-dynamic-import-node": "^2.3.3", + "core-js": "^3.6.5", "core-js-compat": "^3.6.5", "semver": "^6.1.0" } @@ -20308,9 +20332,9 @@ "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=" }, "picomatch": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.3.tgz", - "integrity": "sha512-KpELjfwcCDUb9PeigTs2mBJzXUPzAuP2oPcA989He8Rte0+YUAjw1JVedDhuTKPkHjSYzMN3npC9luThGYEKdg==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.0.tgz", + "integrity": "sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==", "optional": true }, "pify": { @@ -23579,16 +23603,80 @@ } }, "watchpack": { - "version": "1.7.5", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.7.5.tgz", - "integrity": "sha512-9P3MWk6SrKjHsGkLT2KHXdQ/9SNkyoJbabxnKOoJepsvJjJG8uYTR3yTPxPQvNDI3w4Nz1xnE0TLHK4RIVe/MQ==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.2.0.tgz", + "integrity": "sha512-up4YAn/XHgZHIxFBVCdlMiWDj6WaLKpwVeGQk2I5thdYxF/KmF0aaz6TfJZ/hfl1h/XlcDr7k1KH7ThDagpFaA==", + "dev": true, "requires": { - "chokidar": "^3.4.1", - "graceful-fs": "^4.1.2", - "neo-async": "^2.5.0", - "watchpack-chokidar2": "^2.0.1" + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.1.2" }, "dependencies": { + "glob-to-regexp": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", + "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", + "dev": true + } + } + }, + "watchpack-chokidar2": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/watchpack-chokidar2/-/watchpack-chokidar2-2.0.1.tgz", + "integrity": "sha512-nCFfBIPKr5Sh61s4LPpy1Wtfi0HE8isJ3d2Yb5/Ppw2P2B/3eVSEBjKfN0fmHJSK14+31KwMKmcrzs2GM4P0Ww==", + "optional": true, + "requires": { + "chokidar": "^2.1.8" + } + }, + "wbuf": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz", + "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==", + "requires": { + "minimalistic-assert": "^1.0.0" + } + }, + "webidl-conversions": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz", + "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==" + }, + "webpack": { + "version": "4.46.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.46.0.tgz", + "integrity": "sha512-6jJuJjg8znb/xRItk7bkT0+Q7AHCYjjFnvKIWQPkNIOyRqoCGvkOs0ipeQzrqz4l5FtN5ZI/ukEHroeX/o1/5Q==", + "requires": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-module-context": "1.9.0", + "@webassemblyjs/wasm-edit": "1.9.0", + "@webassemblyjs/wasm-parser": "1.9.0", + "acorn": "^6.4.1", + "ajv": "^6.10.2", + "ajv-keywords": "^3.4.1", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^4.5.0", + "eslint-scope": "^4.0.3", + "json-parse-better-errors": "^1.0.2", + "loader-runner": "^2.4.0", + "loader-utils": "^1.2.3", + "memory-fs": "^0.4.1", + "micromatch": "^3.1.10", + "mkdirp": "^0.5.3", + "neo-async": "^2.6.1", + "node-libs-browser": "^2.2.1", + "schema-utils": "^1.0.0", + "tapable": "^1.1.3", + "terser-webpack-plugin": "^1.4.3", + "watchpack": "^1.7.4", + "webpack-sources": "^1.4.1" + }, + "dependencies": { + "acorn": { + "version": "6.4.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz", + "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==" + }, "anymatch": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", @@ -23615,19 +23703,19 @@ } }, "chokidar": { - "version": "3.5.1", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.1.tgz", - "integrity": "sha512-9+s+Od+W0VJJzawDma/gvBNQqkTiqYTWLuZoyAsivsI4AaWTCzHG06/TMjsf1cYe9Cb97UCEhjz7HvnPk2p/tw==", + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.2.tgz", + "integrity": "sha512-ekGhOnNVPgT77r4K/U3GDhu+FQ2S8TnK/s2KbIGXi0SZWuwkZ2QNyfWdZW+TVfn84DpEP7rLeCt2UI6bJ8GwbQ==", "optional": true, "requires": { - "anymatch": "~3.1.1", + "anymatch": "~3.1.2", "braces": "~3.0.2", - "fsevents": "~2.3.1", - "glob-parent": "~5.1.0", + "fsevents": "~2.3.2", + "glob-parent": "~5.1.2", "is-binary-path": "~2.1.0", "is-glob": "~4.0.1", "normalize-path": "~3.0.0", - "readdirp": "~3.5.0" + "readdirp": "~3.6.0" } }, "fill-range": { @@ -23669,83 +23757,6 @@ "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", "optional": true }, - "readdirp": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.5.0.tgz", - "integrity": "sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ==", - "optional": true, - "requires": { - "picomatch": "^2.2.1" - } - }, - "to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "optional": true, - "requires": { - "is-number": "^7.0.0" - } - } - } - }, - "watchpack-chokidar2": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/watchpack-chokidar2/-/watchpack-chokidar2-2.0.1.tgz", - "integrity": "sha512-nCFfBIPKr5Sh61s4LPpy1Wtfi0HE8isJ3d2Yb5/Ppw2P2B/3eVSEBjKfN0fmHJSK14+31KwMKmcrzs2GM4P0Ww==", - "optional": true, - "requires": { - "chokidar": "^2.1.8" - } - }, - "wbuf": { - "version": "1.7.3", - "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz", - "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==", - "requires": { - "minimalistic-assert": "^1.0.0" - } - }, - "webidl-conversions": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz", - "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==" - }, - "webpack": { - "version": "4.46.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.46.0.tgz", - "integrity": "sha512-6jJuJjg8znb/xRItk7bkT0+Q7AHCYjjFnvKIWQPkNIOyRqoCGvkOs0ipeQzrqz4l5FtN5ZI/ukEHroeX/o1/5Q==", - "requires": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-module-context": "1.9.0", - "@webassemblyjs/wasm-edit": "1.9.0", - "@webassemblyjs/wasm-parser": "1.9.0", - "acorn": "^6.4.1", - "ajv": "^6.10.2", - "ajv-keywords": "^3.4.1", - "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^4.5.0", - "eslint-scope": "^4.0.3", - "json-parse-better-errors": "^1.0.2", - "loader-runner": "^2.4.0", - "loader-utils": "^1.2.3", - "memory-fs": "^0.4.1", - "micromatch": "^3.1.10", - "mkdirp": "^0.5.3", - "neo-async": "^2.6.1", - "node-libs-browser": "^2.2.1", - "schema-utils": "^1.0.0", - "tapable": "^1.1.3", - "terser-webpack-plugin": "^1.4.3", - "watchpack": "^1.7.4", - "webpack-sources": "^1.4.1" - }, - "dependencies": { - "acorn": { - "version": "6.4.2", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz", - "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==" - }, "mkdirp": { "version": "0.5.5", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", @@ -23754,6 +23765,15 @@ "minimist": "^1.2.5" } }, + "readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "optional": true, + "requires": { + "picomatch": "^2.2.1" + } + }, "schema-utils": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", @@ -23763,6 +23783,26 @@ "ajv-errors": "^1.0.0", "ajv-keywords": "^3.1.0" } + }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "optional": true, + "requires": { + "is-number": "^7.0.0" + } + }, + "watchpack": { + "version": "1.7.5", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.7.5.tgz", + "integrity": "sha512-9P3MWk6SrKjHsGkLT2KHXdQ/9SNkyoJbabxnKOoJepsvJjJG8uYTR3yTPxPQvNDI3w4Nz1xnE0TLHK4RIVe/MQ==", + "requires": { + "chokidar": "^3.4.1", + "graceful-fs": "^4.1.2", + "neo-async": "^2.5.0", + "watchpack-chokidar2": "^2.0.1" + } } } }, diff --git a/docs/package.json b/docs/package.json index 0770590f9fc..e97a0bad3ed 100644 --- a/docs/package.json +++ b/docs/package.json @@ -1,7 +1,7 @@ { "name": "docs", "version": "1.0.0", - "description": "IBC-GO Documentation", + "description": "IBC-Go Documentation", "main": "index.js", "scripts": { "serve": "trap 'exit 0' SIGINT; vuepress dev --no-cache", @@ -14,5 +14,8 @@ "license": "ISC", "dependencies": { "vuepress-theme-cosmos": "^1.0.182" + }, + "devDependencies": { + "watchpack": "^2.2.0" } } diff --git a/docs/pre.sh b/docs/pre.sh new file mode 100755 index 00000000000..06058a768ce --- /dev/null +++ b/docs/pre.sh @@ -0,0 +1,3 @@ +#!/usr/bin/env bash + +echo "Nothing to do in pre step" \ No newline at end of file diff --git a/docs/versions b/docs/versions new file mode 100644 index 00000000000..40bbbb4309e --- /dev/null +++ b/docs/versions @@ -0,0 +1,3 @@ +release/v1.2.x v1.2.0 +release/v1.1.x v1.1.0 +main main From 85b4383bc619678370d2017af04799ae5196a785 Mon Sep 17 00:00:00 2001 From: Damian Nolan Date: Mon, 13 Sep 2021 13:20:49 +0200 Subject: [PATCH 017/107] feat: scalable version queries (#384) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * adding protos for port query interface * adding NegotiateAppVersion method to IBCModule interface * adding grpc port query implementation and module surrounds * adding NegotiateAppVersion implementation to apps/transfer and mocks * updating ErrInvalidVersion error code * adding grpc query tests for 05-port * updating grpc naming, adding godocs, removing redundant query cli * updating grpc query tests * adding changelog entry for #384 app version negotiation * fixing error formatting in transfer version negotiation Co-authored-by: colin axnér <25233464+colin-axner@users.noreply.github.com> * removing client/cli query * updating grpc query naming, adding new fields and associated surrounds Co-authored-by: colin axnér <25233464+colin-axner@users.noreply.github.com> --- CHANGELOG.md | 1 + docs/ibc/proto-docs.md | 67 ++ modules/apps/transfer/module.go | 16 + modules/apps/transfer/types/errors.go | 2 +- modules/core/05-port/keeper/grpc_query.go | 52 ++ .../core/05-port/keeper/grpc_query_test.go | 103 +++ modules/core/05-port/keeper/keeper.go | 2 + modules/core/05-port/module.go | 24 + modules/core/05-port/types/module.go | 12 + modules/core/05-port/types/query.go | 9 + modules/core/05-port/types/query.pb.go | 843 ++++++++++++++++++ modules/core/keeper/grpc_query.go | 6 + modules/core/keeper/keeper.go | 2 + modules/core/types/query.go | 4 + proto/ibc/core/port/v1/query.proto | 35 + testing/mock/mock.go | 19 + 16 files changed, 1196 insertions(+), 1 deletion(-) create mode 100644 modules/core/05-port/keeper/grpc_query.go create mode 100644 modules/core/05-port/keeper/grpc_query_test.go create mode 100644 modules/core/05-port/module.go create mode 100644 modules/core/05-port/types/query.go create mode 100644 modules/core/05-port/types/query.pb.go create mode 100644 proto/ibc/core/port/v1/query.proto diff --git a/CHANGELOG.md b/CHANGELOG.md index e6ff9743461..d3516b2eea0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -50,6 +50,7 @@ Ref: https://keepachangelog.com/en/1.0.0/ ### Features * [\#372](https://github.com/cosmos/ibc-go/pull/372) New CLI command `query ibc client status ` to get the current activity status of a client +* [\#384](https://github.com/cosmos/ibc-go/pull/384) Added `NegotiateAppVersion` method to `IBCModule` interface supported by a gRPC query service in `05-port`. This provides routing of requests to the desired application module callback, which in turn performs application version negotiation. ## [v1.0.0](https://github.com/cosmos/ibc-go/releases/tag/v1.0.0) - 2021-08-10 diff --git a/docs/ibc/proto-docs.md b/docs/ibc/proto-docs.md index f94fbc18457..878de3687c5 100644 --- a/docs/ibc/proto-docs.md +++ b/docs/ibc/proto-docs.md @@ -191,6 +191,12 @@ - [Msg](#ibc.core.connection.v1.Msg) +- [ibc/core/port/v1/query.proto](#ibc/core/port/v1/query.proto) + - [QueryAppVersionRequest](#ibc.core.port.v1.QueryAppVersionRequest) + - [QueryAppVersionResponse](#ibc.core.port.v1.QueryAppVersionResponse) + + - [Query](#ibc.core.port.v1.Query) + - [ibc/core/types/v1/genesis.proto](#ibc/core/types/v1/genesis.proto) - [GenesisState](#ibc.core.types.v1.GenesisState) @@ -2892,6 +2898,67 @@ Msg defines the ibc/connection Msg service. + +

Top

+ +## ibc/core/port/v1/query.proto + + + + + +### QueryAppVersionRequest +QueryAppVersionRequest is the request type for the Query/AppVersion RPC method + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| `port_id` | [string](#string) | | port unique identifier | +| `connection_id` | [string](#string) | | connection unique identifier | +| `ordering` | [ibc.core.channel.v1.Order](#ibc.core.channel.v1.Order) | | whether the channel is ordered or unordered | +| `counterparty` | [ibc.core.channel.v1.Counterparty](#ibc.core.channel.v1.Counterparty) | | counterparty channel end | +| `proposed_version` | [string](#string) | | proposed version | + + + + + + + + +### QueryAppVersionResponse +QueryAppVersionResponse is the response type for the Query/AppVersion RPC method. + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| `port_id` | [string](#string) | | port id associated with the request identifiers | +| `version` | [string](#string) | | supported app version | + + + + + + + + + + + + + + +### Query +Query defines the gRPC querier service + +| Method Name | Request Type | Response Type | Description | HTTP Verb | Endpoint | +| ----------- | ------------ | ------------- | ------------| ------- | -------- | +| `AppVersion` | [QueryAppVersionRequest](#ibc.core.port.v1.QueryAppVersionRequest) | [QueryAppVersionResponse](#ibc.core.port.v1.QueryAppVersionResponse) | AppVersion queries an IBC Port and determines the appropriate application version to be used | | + + + + +

Top

diff --git a/modules/apps/transfer/module.go b/modules/apps/transfer/module.go index 79309b2fb8b..aa050055aa9 100644 --- a/modules/apps/transfer/module.go +++ b/modules/apps/transfer/module.go @@ -434,3 +434,19 @@ func (am AppModule) OnTimeoutPacket( return nil } + +// NegotiateAppVersion implements the IBCModule interface +func (am AppModule) NegotiateAppVersion( + ctx sdk.Context, + order channeltypes.Order, + connectionID string, + portID string, + counterparty channeltypes.Counterparty, + proposedVersion string, +) (string, error) { + if proposedVersion != types.Version { + return "", sdkerrors.Wrapf(types.ErrInvalidVersion, "failed to negotiate app version: expected %s, got %s", types.Version, proposedVersion) + } + + return types.Version, nil +} diff --git a/modules/apps/transfer/types/errors.go b/modules/apps/transfer/types/errors.go index 07cba194915..0f0cb7c42a4 100644 --- a/modules/apps/transfer/types/errors.go +++ b/modules/apps/transfer/types/errors.go @@ -4,7 +4,7 @@ import ( sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" ) -// IBC channel sentinel errors +// IBC transfer sentinel errors var ( ErrInvalidPacketTimeout = sdkerrors.Register(ModuleName, 2, "invalid packet timeout") ErrInvalidDenomForTransfer = sdkerrors.Register(ModuleName, 3, "invalid denomination for cross-chain transfer") diff --git a/modules/core/05-port/keeper/grpc_query.go b/modules/core/05-port/keeper/grpc_query.go new file mode 100644 index 00000000000..a665b0cee75 --- /dev/null +++ b/modules/core/05-port/keeper/grpc_query.go @@ -0,0 +1,52 @@ +package keeper + +import ( + "context" + + sdk "github.com/cosmos/cosmos-sdk/types" + sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + "google.golang.org/grpc/codes" + "google.golang.org/grpc/status" + + "github.com/cosmos/ibc-go/modules/core/05-port/types" + host "github.com/cosmos/ibc-go/modules/core/24-host" +) + +var _ types.QueryServer = (*Keeper)(nil) + +// AppVersion implements the Query/AppVersion gRPC method +func (q Keeper) AppVersion(c context.Context, req *types.QueryAppVersionRequest) (*types.QueryAppVersionResponse, error) { + if req == nil { + return nil, status.Error(codes.InvalidArgument, "empty request") + } + + if err := validategRPCRequest(req.PortId); err != nil { + return nil, err + } + + ctx := sdk.UnwrapSDKContext(c) + module, _, err := q.LookupModuleByPort(ctx, req.PortId) + if err != nil { + return nil, status.Errorf(codes.NotFound, sdkerrors.Wrap(err, "could not retrieve module from port-id").Error()) + } + + ibcModule, found := q.Router.GetRoute(module) + if !found { + return nil, status.Errorf(codes.NotFound, sdkerrors.Wrapf(types.ErrInvalidRoute, "route not found to module: %s", module).Error()) + } + + version, err := ibcModule.NegotiateAppVersion(ctx, req.Ordering, req.ConnectionId, req.PortId, *req.Counterparty, req.ProposedVersion) + if err != nil { + return nil, status.Errorf(codes.InvalidArgument, sdkerrors.Wrap(err, "version negotation failed").Error()) + } + + return types.NewQueryAppVersionResponse(req.PortId, version), nil +} + +func validategRPCRequest(portID string) error { + if err := host.PortIdentifierValidator(portID); err != nil { + return status.Error(codes.InvalidArgument, err.Error()) + } + + return nil +} diff --git a/modules/core/05-port/keeper/grpc_query_test.go b/modules/core/05-port/keeper/grpc_query_test.go new file mode 100644 index 00000000000..716727ece68 --- /dev/null +++ b/modules/core/05-port/keeper/grpc_query_test.go @@ -0,0 +1,103 @@ +package keeper_test + +import ( + "fmt" + + sdk "github.com/cosmos/cosmos-sdk/types" + + channeltypes "github.com/cosmos/ibc-go/modules/core/04-channel/types" + "github.com/cosmos/ibc-go/modules/core/05-port/types" + "github.com/cosmos/ibc-go/testing/mock" +) + +func (suite *KeeperTestSuite) TestAppVersion() { + var ( + req *types.QueryAppVersionRequest + expVersion string + ) + + testCases := []struct { + msg string + malleate func() + expPass bool + }{ + { + "empty request", + func() { + req = nil + }, + false, + }, + { + "invalid port ID", + func() { + req = &types.QueryAppVersionRequest{ + PortId: "", + } + }, + false, + }, + { + "module not found", + func() { + req = &types.QueryAppVersionRequest{ + PortId: "mock-port-id", + } + }, + false, + }, + { + "version negotiation failure", + func() { + + expVersion = mock.Version + + req = &types.QueryAppVersionRequest{ + PortId: "mock", // retrieves the mock testing module + Counterparty: &channeltypes.Counterparty{ + PortId: "mock-port-id", + ChannelId: "mock-channel-id", + }, + ProposedVersion: "invalid-proposed-version", + } + }, + false, + }, + { + "success", + func() { + + expVersion = mock.Version + + req = &types.QueryAppVersionRequest{ + PortId: "mock", // retrieves the mock testing module + Counterparty: &channeltypes.Counterparty{ + PortId: "mock-port-id", + ChannelId: "mock-channel-id", + }, + ProposedVersion: mock.Version, + } + }, + true, + }, + } + + for _, tc := range testCases { + suite.Run(fmt.Sprintf("Case %s", tc.msg), func() { + suite.SetupTest() // reset + + tc.malleate() + + ctx := sdk.WrapSDKContext(suite.ctx) + res, err := suite.keeper.AppVersion(ctx, req) + + if tc.expPass { + suite.Require().NoError(err) + suite.Require().NotNil(res) + suite.Require().Equal(expVersion, res.Version) + } else { + suite.Require().Error(err) + } + }) + } +} diff --git a/modules/core/05-port/keeper/keeper.go b/modules/core/05-port/keeper/keeper.go index 1bac7622b85..dd5f17a24fe 100644 --- a/modules/core/05-port/keeper/keeper.go +++ b/modules/core/05-port/keeper/keeper.go @@ -14,6 +14,8 @@ import ( // Keeper defines the IBC connection keeper type Keeper struct { + Router *types.Router + scopedKeeper capabilitykeeper.ScopedKeeper } diff --git a/modules/core/05-port/module.go b/modules/core/05-port/module.go new file mode 100644 index 00000000000..7dfefb140e2 --- /dev/null +++ b/modules/core/05-port/module.go @@ -0,0 +1,24 @@ +package port + +import ( + "github.com/gogo/protobuf/grpc" + "github.com/spf13/cobra" + + "github.com/cosmos/ibc-go/modules/core/05-port/types" + "github.com/cosmos/ibc-go/modules/core/client/cli" +) + +// Name returns the IBC port ICS name. +func Name() string { + return types.SubModuleName +} + +// GetQueryCmd returns the root query command for IBC ports. +func GetQueryCmd() *cobra.Command { + return cli.GetQueryCmd() +} + +// RegisterQueryService registers the gRPC query service for IBC ports. +func RegisterQueryService(server grpc.Server, queryServer types.QueryServer) { + types.RegisterQueryServer(server, queryServer) +} diff --git a/modules/core/05-port/types/module.go b/modules/core/05-port/types/module.go index 9c0885c0cf1..d80ad851071 100644 --- a/modules/core/05-port/types/module.go +++ b/modules/core/05-port/types/module.go @@ -82,4 +82,16 @@ type IBCModule interface { packet channeltypes.Packet, relayer sdk.AccAddress, ) error + + // NegotiateAppVersion performs application version negotiation given the provided channel ordering, connectionID, portID, counterparty and proposed version. + // An error is returned if version negotiation cannot be performed. For example, an application module implementing this interface + // may decide to return an error in the event of the proposed version being incompatible with it's own + NegotiateAppVersion( + ctx sdk.Context, + order channeltypes.Order, + connectionID string, + portID string, + counterparty channeltypes.Counterparty, + proposedVersion string, + ) (version string, err error) } diff --git a/modules/core/05-port/types/query.go b/modules/core/05-port/types/query.go new file mode 100644 index 00000000000..7da3fe678af --- /dev/null +++ b/modules/core/05-port/types/query.go @@ -0,0 +1,9 @@ +package types + +// NewQueryAppVersionResponse creates a new QueryAppVersionResponse instance +func NewQueryAppVersionResponse(portID, version string) *QueryAppVersionResponse { + return &QueryAppVersionResponse{ + PortId: portID, + Version: version, + } +} diff --git a/modules/core/05-port/types/query.pb.go b/modules/core/05-port/types/query.pb.go new file mode 100644 index 00000000000..5c80d520815 --- /dev/null +++ b/modules/core/05-port/types/query.pb.go @@ -0,0 +1,843 @@ +// Code generated by protoc-gen-gogo. DO NOT EDIT. +// source: ibc/core/port/v1/query.proto + +package types + +import ( + context "context" + fmt "fmt" + types "github.com/cosmos/ibc-go/modules/core/04-channel/types" + grpc1 "github.com/gogo/protobuf/grpc" + proto "github.com/gogo/protobuf/proto" + grpc "google.golang.org/grpc" + codes "google.golang.org/grpc/codes" + status "google.golang.org/grpc/status" + io "io" + math "math" + math_bits "math/bits" +) + +// Reference imports to suppress errors if they are not otherwise used. +var _ = proto.Marshal +var _ = fmt.Errorf +var _ = math.Inf + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the proto package it is being compiled against. +// A compilation error at this line likely means your copy of the +// proto package needs to be updated. +const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package + +// QueryAppVersionRequest is the request type for the Query/AppVersion RPC method +type QueryAppVersionRequest struct { + // port unique identifier + PortId string `protobuf:"bytes,1,opt,name=port_id,json=portId,proto3" json:"port_id,omitempty"` + // connection unique identifier + ConnectionId string `protobuf:"bytes,2,opt,name=connection_id,json=connectionId,proto3" json:"connection_id,omitempty"` + // whether the channel is ordered or unordered + Ordering types.Order `protobuf:"varint,3,opt,name=ordering,proto3,enum=ibc.core.channel.v1.Order" json:"ordering,omitempty"` + // counterparty channel end + Counterparty *types.Counterparty `protobuf:"bytes,4,opt,name=counterparty,proto3" json:"counterparty,omitempty"` + // proposed version + ProposedVersion string `protobuf:"bytes,5,opt,name=proposed_version,json=proposedVersion,proto3" json:"proposed_version,omitempty"` +} + +func (m *QueryAppVersionRequest) Reset() { *m = QueryAppVersionRequest{} } +func (m *QueryAppVersionRequest) String() string { return proto.CompactTextString(m) } +func (*QueryAppVersionRequest) ProtoMessage() {} +func (*QueryAppVersionRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_9a256596009a8334, []int{0} +} +func (m *QueryAppVersionRequest) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *QueryAppVersionRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_QueryAppVersionRequest.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *QueryAppVersionRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryAppVersionRequest.Merge(m, src) +} +func (m *QueryAppVersionRequest) XXX_Size() int { + return m.Size() +} +func (m *QueryAppVersionRequest) XXX_DiscardUnknown() { + xxx_messageInfo_QueryAppVersionRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_QueryAppVersionRequest proto.InternalMessageInfo + +func (m *QueryAppVersionRequest) GetPortId() string { + if m != nil { + return m.PortId + } + return "" +} + +func (m *QueryAppVersionRequest) GetConnectionId() string { + if m != nil { + return m.ConnectionId + } + return "" +} + +func (m *QueryAppVersionRequest) GetOrdering() types.Order { + if m != nil { + return m.Ordering + } + return types.NONE +} + +func (m *QueryAppVersionRequest) GetCounterparty() *types.Counterparty { + if m != nil { + return m.Counterparty + } + return nil +} + +func (m *QueryAppVersionRequest) GetProposedVersion() string { + if m != nil { + return m.ProposedVersion + } + return "" +} + +// QueryAppVersionResponse is the response type for the Query/AppVersion RPC method. +type QueryAppVersionResponse struct { + // port id associated with the request identifiers + PortId string `protobuf:"bytes,1,opt,name=port_id,json=portId,proto3" json:"port_id,omitempty"` + // supported app version + Version string `protobuf:"bytes,2,opt,name=version,proto3" json:"version,omitempty"` +} + +func (m *QueryAppVersionResponse) Reset() { *m = QueryAppVersionResponse{} } +func (m *QueryAppVersionResponse) String() string { return proto.CompactTextString(m) } +func (*QueryAppVersionResponse) ProtoMessage() {} +func (*QueryAppVersionResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_9a256596009a8334, []int{1} +} +func (m *QueryAppVersionResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *QueryAppVersionResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_QueryAppVersionResponse.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *QueryAppVersionResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryAppVersionResponse.Merge(m, src) +} +func (m *QueryAppVersionResponse) XXX_Size() int { + return m.Size() +} +func (m *QueryAppVersionResponse) XXX_DiscardUnknown() { + xxx_messageInfo_QueryAppVersionResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_QueryAppVersionResponse proto.InternalMessageInfo + +func (m *QueryAppVersionResponse) GetPortId() string { + if m != nil { + return m.PortId + } + return "" +} + +func (m *QueryAppVersionResponse) GetVersion() string { + if m != nil { + return m.Version + } + return "" +} + +func init() { + proto.RegisterType((*QueryAppVersionRequest)(nil), "ibc.core.port.v1.QueryAppVersionRequest") + proto.RegisterType((*QueryAppVersionResponse)(nil), "ibc.core.port.v1.QueryAppVersionResponse") +} + +func init() { proto.RegisterFile("ibc/core/port/v1/query.proto", fileDescriptor_9a256596009a8334) } + +var fileDescriptor_9a256596009a8334 = []byte{ + // 371 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x52, 0x3f, 0x8f, 0xda, 0x30, + 0x14, 0x4f, 0x68, 0x81, 0xd6, 0xa5, 0x2d, 0xf2, 0x50, 0x22, 0x54, 0x45, 0x40, 0x97, 0x30, 0xe0, + 0x14, 0x50, 0xbb, 0xb7, 0x55, 0x07, 0xa4, 0x56, 0x55, 0x33, 0x74, 0xe8, 0x82, 0x88, 0x63, 0x81, + 0x25, 0xf0, 0x33, 0xb6, 0x13, 0x89, 0xed, 0x3e, 0xc2, 0x7d, 0xac, 0x1b, 0x19, 0x6f, 0x3c, 0xc1, + 0x17, 0x39, 0x39, 0x21, 0x70, 0x7f, 0x38, 0xe9, 0x36, 0xbf, 0xf7, 0xfb, 0xa3, 0xdf, 0x7b, 0x7e, + 0xe8, 0x23, 0x8f, 0x69, 0x48, 0x41, 0xb1, 0x50, 0x82, 0x32, 0x61, 0x36, 0x0c, 0xd7, 0x29, 0x53, + 0x1b, 0x22, 0x15, 0x18, 0xc0, 0x4d, 0x1e, 0x53, 0x62, 0x51, 0x62, 0x51, 0x92, 0x0d, 0xdb, 0xdd, + 0x23, 0x9f, 0x2e, 0x66, 0x42, 0xb0, 0xa5, 0x95, 0x1c, 0x9e, 0x85, 0xa8, 0x77, 0x51, 0x41, 0x1f, + 0xfe, 0x5a, 0x93, 0x6f, 0x52, 0xfe, 0x63, 0x4a, 0x73, 0x10, 0x11, 0x5b, 0xa7, 0x4c, 0x1b, 0xdc, + 0x42, 0x75, 0x6b, 0x34, 0xe5, 0x89, 0xe7, 0x76, 0xdc, 0xe0, 0x75, 0x54, 0xb3, 0xe5, 0x24, 0xc1, + 0x9f, 0xd0, 0x5b, 0x0a, 0x42, 0x30, 0x6a, 0x38, 0x08, 0x0b, 0x57, 0x72, 0xb8, 0x71, 0x6a, 0x4e, + 0x12, 0xfc, 0x15, 0xbd, 0x02, 0x95, 0x30, 0xc5, 0xc5, 0xdc, 0x7b, 0xd1, 0x71, 0x83, 0x77, 0xa3, + 0x36, 0x39, 0x06, 0x2c, 0x33, 0x64, 0x43, 0xf2, 0xc7, 0x92, 0xa2, 0x23, 0x17, 0xff, 0x44, 0x0d, + 0x0a, 0xa9, 0x30, 0x4c, 0xc9, 0x99, 0x32, 0x1b, 0xef, 0x65, 0xc7, 0x0d, 0xde, 0x8c, 0xba, 0x67, + 0xb5, 0x3f, 0xee, 0x10, 0xa3, 0x7b, 0x32, 0xdc, 0x47, 0x4d, 0xa9, 0x40, 0x82, 0x66, 0xc9, 0x34, + 0x2b, 0xe6, 0xf2, 0xaa, 0x79, 0xcc, 0xf7, 0x65, 0xff, 0x30, 0x6e, 0xef, 0x17, 0x6a, 0x3d, 0xda, + 0x80, 0x96, 0x20, 0x34, 0x7b, 0x7a, 0x05, 0x1e, 0xaa, 0x97, 0xae, 0xc5, 0xf0, 0x65, 0x39, 0x5a, + 0xa2, 0x6a, 0xee, 0x86, 0x29, 0x42, 0x27, 0x47, 0x1c, 0x90, 0x87, 0xbf, 0x43, 0xce, 0xaf, 0xbd, + 0xdd, 0x7f, 0x06, 0xb3, 0x88, 0xd7, 0x73, 0xbe, 0xff, 0xbe, 0xda, 0xf9, 0xee, 0x76, 0xe7, 0xbb, + 0x37, 0x3b, 0xdf, 0xbd, 0xdc, 0xfb, 0xce, 0x76, 0xef, 0x3b, 0xd7, 0x7b, 0xdf, 0xf9, 0x3f, 0x9e, + 0x73, 0xb3, 0x48, 0x63, 0x42, 0x61, 0x15, 0x52, 0xd0, 0x2b, 0xd0, 0x21, 0x8f, 0xe9, 0x60, 0x0e, + 0xe1, 0x0a, 0x92, 0x74, 0xc9, 0x74, 0x71, 0x18, 0x9f, 0xbf, 0x0c, 0xf2, 0x5b, 0x32, 0x1b, 0xc9, + 0x74, 0x5c, 0xcb, 0x8f, 0x62, 0x7c, 0x1b, 0x00, 0x00, 0xff, 0xff, 0x19, 0xf0, 0xfb, 0x67, 0x69, + 0x02, 0x00, 0x00, +} + +// Reference imports to suppress errors if they are not otherwise used. +var _ context.Context +var _ grpc.ClientConn + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the grpc package it is being compiled against. +const _ = grpc.SupportPackageIsVersion4 + +// QueryClient is the client API for Query service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. +type QueryClient interface { + // AppVersion queries an IBC Port and determines the appropriate application version to be used + AppVersion(ctx context.Context, in *QueryAppVersionRequest, opts ...grpc.CallOption) (*QueryAppVersionResponse, error) +} + +type queryClient struct { + cc grpc1.ClientConn +} + +func NewQueryClient(cc grpc1.ClientConn) QueryClient { + return &queryClient{cc} +} + +func (c *queryClient) AppVersion(ctx context.Context, in *QueryAppVersionRequest, opts ...grpc.CallOption) (*QueryAppVersionResponse, error) { + out := new(QueryAppVersionResponse) + err := c.cc.Invoke(ctx, "/ibc.core.port.v1.Query/AppVersion", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +// QueryServer is the server API for Query service. +type QueryServer interface { + // AppVersion queries an IBC Port and determines the appropriate application version to be used + AppVersion(context.Context, *QueryAppVersionRequest) (*QueryAppVersionResponse, error) +} + +// UnimplementedQueryServer can be embedded to have forward compatible implementations. +type UnimplementedQueryServer struct { +} + +func (*UnimplementedQueryServer) AppVersion(ctx context.Context, req *QueryAppVersionRequest) (*QueryAppVersionResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method AppVersion not implemented") +} + +func RegisterQueryServer(s grpc1.Server, srv QueryServer) { + s.RegisterService(&_Query_serviceDesc, srv) +} + +func _Query_AppVersion_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(QueryAppVersionRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(QueryServer).AppVersion(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/ibc.core.port.v1.Query/AppVersion", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(QueryServer).AppVersion(ctx, req.(*QueryAppVersionRequest)) + } + return interceptor(ctx, in, info, handler) +} + +var _Query_serviceDesc = grpc.ServiceDesc{ + ServiceName: "ibc.core.port.v1.Query", + HandlerType: (*QueryServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "AppVersion", + Handler: _Query_AppVersion_Handler, + }, + }, + Streams: []grpc.StreamDesc{}, + Metadata: "ibc/core/port/v1/query.proto", +} + +func (m *QueryAppVersionRequest) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *QueryAppVersionRequest) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *QueryAppVersionRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.ProposedVersion) > 0 { + i -= len(m.ProposedVersion) + copy(dAtA[i:], m.ProposedVersion) + i = encodeVarintQuery(dAtA, i, uint64(len(m.ProposedVersion))) + i-- + dAtA[i] = 0x2a + } + if m.Counterparty != nil { + { + size, err := m.Counterparty.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintQuery(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x22 + } + if m.Ordering != 0 { + i = encodeVarintQuery(dAtA, i, uint64(m.Ordering)) + i-- + dAtA[i] = 0x18 + } + if len(m.ConnectionId) > 0 { + i -= len(m.ConnectionId) + copy(dAtA[i:], m.ConnectionId) + i = encodeVarintQuery(dAtA, i, uint64(len(m.ConnectionId))) + i-- + dAtA[i] = 0x12 + } + if len(m.PortId) > 0 { + i -= len(m.PortId) + copy(dAtA[i:], m.PortId) + i = encodeVarintQuery(dAtA, i, uint64(len(m.PortId))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *QueryAppVersionResponse) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *QueryAppVersionResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *QueryAppVersionResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.Version) > 0 { + i -= len(m.Version) + copy(dAtA[i:], m.Version) + i = encodeVarintQuery(dAtA, i, uint64(len(m.Version))) + i-- + dAtA[i] = 0x12 + } + if len(m.PortId) > 0 { + i -= len(m.PortId) + copy(dAtA[i:], m.PortId) + i = encodeVarintQuery(dAtA, i, uint64(len(m.PortId))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func encodeVarintQuery(dAtA []byte, offset int, v uint64) int { + offset -= sovQuery(v) + base := offset + for v >= 1<<7 { + dAtA[offset] = uint8(v&0x7f | 0x80) + v >>= 7 + offset++ + } + dAtA[offset] = uint8(v) + return base +} +func (m *QueryAppVersionRequest) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.PortId) + if l > 0 { + n += 1 + l + sovQuery(uint64(l)) + } + l = len(m.ConnectionId) + if l > 0 { + n += 1 + l + sovQuery(uint64(l)) + } + if m.Ordering != 0 { + n += 1 + sovQuery(uint64(m.Ordering)) + } + if m.Counterparty != nil { + l = m.Counterparty.Size() + n += 1 + l + sovQuery(uint64(l)) + } + l = len(m.ProposedVersion) + if l > 0 { + n += 1 + l + sovQuery(uint64(l)) + } + return n +} + +func (m *QueryAppVersionResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.PortId) + if l > 0 { + n += 1 + l + sovQuery(uint64(l)) + } + l = len(m.Version) + if l > 0 { + n += 1 + l + sovQuery(uint64(l)) + } + return n +} + +func sovQuery(x uint64) (n int) { + return (math_bits.Len64(x|1) + 6) / 7 +} +func sozQuery(x uint64) (n int) { + return sovQuery(uint64((x << 1) ^ uint64((int64(x) >> 63)))) +} +func (m *QueryAppVersionRequest) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: QueryAppVersionRequest: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: QueryAppVersionRequest: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field PortId", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthQuery + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthQuery + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.PortId = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ConnectionId", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthQuery + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthQuery + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.ConnectionId = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Ordering", wireType) + } + m.Ordering = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Ordering |= types.Order(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Counterparty", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthQuery + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthQuery + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Counterparty == nil { + m.Counterparty = &types.Counterparty{} + } + if err := m.Counterparty.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 5: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ProposedVersion", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthQuery + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthQuery + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.ProposedVersion = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipQuery(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthQuery + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *QueryAppVersionResponse) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: QueryAppVersionResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: QueryAppVersionResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field PortId", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthQuery + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthQuery + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.PortId = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Version", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthQuery + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthQuery + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Version = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipQuery(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthQuery + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func skipQuery(dAtA []byte) (n int, err error) { + l := len(dAtA) + iNdEx := 0 + depth := 0 + for iNdEx < l { + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return 0, ErrIntOverflowQuery + } + if iNdEx >= l { + return 0, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + wireType := int(wire & 0x7) + switch wireType { + case 0: + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return 0, ErrIntOverflowQuery + } + if iNdEx >= l { + return 0, io.ErrUnexpectedEOF + } + iNdEx++ + if dAtA[iNdEx-1] < 0x80 { + break + } + } + case 1: + iNdEx += 8 + case 2: + var length int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return 0, ErrIntOverflowQuery + } + if iNdEx >= l { + return 0, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + length |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if length < 0 { + return 0, ErrInvalidLengthQuery + } + iNdEx += length + case 3: + depth++ + case 4: + if depth == 0 { + return 0, ErrUnexpectedEndOfGroupQuery + } + depth-- + case 5: + iNdEx += 4 + default: + return 0, fmt.Errorf("proto: illegal wireType %d", wireType) + } + if iNdEx < 0 { + return 0, ErrInvalidLengthQuery + } + if depth == 0 { + return iNdEx, nil + } + } + return 0, io.ErrUnexpectedEOF +} + +var ( + ErrInvalidLengthQuery = fmt.Errorf("proto: negative length found during unmarshaling") + ErrIntOverflowQuery = fmt.Errorf("proto: integer overflow") + ErrUnexpectedEndOfGroupQuery = fmt.Errorf("proto: unexpected end of group") +) diff --git a/modules/core/keeper/grpc_query.go b/modules/core/keeper/grpc_query.go index f647ab5aceb..7d5e1336054 100644 --- a/modules/core/keeper/grpc_query.go +++ b/modules/core/keeper/grpc_query.go @@ -6,6 +6,7 @@ import ( clienttypes "github.com/cosmos/ibc-go/modules/core/02-client/types" connectiontypes "github.com/cosmos/ibc-go/modules/core/03-connection/types" channeltypes "github.com/cosmos/ibc-go/modules/core/04-channel/types" + porttypes "github.com/cosmos/ibc-go/modules/core/05-port/types" ) // ClientState implements the IBC QueryServer interface @@ -132,3 +133,8 @@ func (q Keeper) UnreceivedAcks(c context.Context, req *channeltypes.QueryUnrecei func (q Keeper) NextSequenceReceive(c context.Context, req *channeltypes.QueryNextSequenceReceiveRequest) (*channeltypes.QueryNextSequenceReceiveResponse, error) { return q.ChannelKeeper.NextSequenceReceive(c, req) } + +// AppVersion implements the IBC QueryServer interface +func (q Keeper) AppVersion(c context.Context, req *porttypes.QueryAppVersionRequest) (*porttypes.QueryAppVersionResponse, error) { + return q.PortKeeper.AppVersion(c, req) +} diff --git a/modules/core/keeper/keeper.go b/modules/core/keeper/keeper.go index 164fecfcd23..b04e6ffe732 100644 --- a/modules/core/keeper/keeper.go +++ b/modules/core/keeper/keeper.go @@ -70,6 +70,8 @@ func (k *Keeper) SetRouter(rtr *porttypes.Router) { if k.Router != nil && k.Router.Sealed() { panic("cannot reset a sealed router") } + + k.PortKeeper.Router = rtr k.Router = rtr k.Router.Seal() } diff --git a/modules/core/types/query.go b/modules/core/types/query.go index a4a4bd5448c..f7559c8bf56 100644 --- a/modules/core/types/query.go +++ b/modules/core/types/query.go @@ -9,6 +9,8 @@ import ( connectiontypes "github.com/cosmos/ibc-go/modules/core/03-connection/types" channel "github.com/cosmos/ibc-go/modules/core/04-channel" channeltypes "github.com/cosmos/ibc-go/modules/core/04-channel/types" + port "github.com/cosmos/ibc-go/modules/core/05-port" + porttypes "github.com/cosmos/ibc-go/modules/core/05-port/types" ) // QueryServer defines the IBC interfaces that the gRPC query server must implement @@ -16,6 +18,7 @@ type QueryServer interface { clienttypes.QueryServer connectiontypes.QueryServer channeltypes.QueryServer + porttypes.QueryServer } // RegisterQueryService registers each individual IBC submodule query service @@ -23,4 +26,5 @@ func RegisterQueryService(server grpc.Server, queryService QueryServer) { client.RegisterQueryService(server, queryService) connection.RegisterQueryService(server, queryService) channel.RegisterQueryService(server, queryService) + port.RegisterQueryService(server, queryService) } diff --git a/proto/ibc/core/port/v1/query.proto b/proto/ibc/core/port/v1/query.proto new file mode 100644 index 00000000000..ed61b14e3af --- /dev/null +++ b/proto/ibc/core/port/v1/query.proto @@ -0,0 +1,35 @@ +syntax = "proto3"; + +package ibc.core.port.v1; + +option go_package = "github.com/cosmos/ibc-go/modules/core/05-port/types"; + +import "ibc/core/channel/v1/channel.proto"; + +// Query defines the gRPC querier service +service Query { + // AppVersion queries an IBC Port and determines the appropriate application version to be used + rpc AppVersion(QueryAppVersionRequest) returns (QueryAppVersionResponse) {} +} + +// QueryAppVersionRequest is the request type for the Query/AppVersion RPC method +message QueryAppVersionRequest { + // port unique identifier + string port_id = 1; + // connection unique identifier + string connection_id = 2; + // whether the channel is ordered or unordered + ibc.core.channel.v1.Order ordering = 3; + // counterparty channel end + ibc.core.channel.v1.Counterparty counterparty = 4; + // proposed version + string proposed_version = 5; +} + +// QueryAppVersionResponse is the response type for the Query/AppVersion RPC method. +message QueryAppVersionResponse { + // port id associated with the request identifiers + string port_id = 1; + // supported app version + string version = 2; +} diff --git a/testing/mock/mock.go b/testing/mock/mock.go index fe527e1c22d..75de08c3d4b 100644 --- a/testing/mock/mock.go +++ b/testing/mock/mock.go @@ -3,6 +3,7 @@ package mock import ( "bytes" "encoding/json" + "errors" "strconv" "github.com/cosmos/cosmos-sdk/client" @@ -25,6 +26,8 @@ import ( const ( ModuleName = "mock" + + Version = "mock-version" ) var ( @@ -235,3 +238,19 @@ func (am AppModule) OnTimeoutPacket(ctx sdk.Context, packet channeltypes.Packet, return nil } + +// NegotiateAppVersion implements the IBCModule interface. +func (am AppModule) NegotiateAppVersion( + ctx sdk.Context, + order channeltypes.Order, + connectionID string, + portID string, + counterparty channeltypes.Counterparty, + proposedVersion string, +) (string, error) { + if proposedVersion != Version { // allow testing of error scenarios + return "", errors.New("failed to negotiate app version") + } + + return Version, nil +} From 7a6507b460c450c80cf99b6abe3df48045ebda55 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 13 Sep 2021 16:06:40 +0200 Subject: [PATCH 018/107] Bump codecov/codecov-action from 2.0.3 to 2.1.0 (#399) Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from 2.0.3 to 2.1.0. - [Release notes](https://github.com/codecov/codecov-action/releases) - [Changelog](https://github.com/codecov/codecov-action/blob/master/CHANGELOG.md) - [Commits](https://github.com/codecov/codecov-action/compare/v2.0.3...v2.1.0) --- updated-dependencies: - dependency-name: codecov/codecov-action dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index fec4e6dd3b6..6db36727899 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -150,7 +150,7 @@ jobs: sed -i.bak "/$(echo $filename | sed 's/\//\\\//g')/d" coverage.txt done if: env.GIT_DIFF - - uses: codecov/codecov-action@v2.0.3 + - uses: codecov/codecov-action@v2.1.0 with: file: ./coverage.txt if: env.GIT_DIFF From 83315a90626edec5ec876d438c532a48c4e806be Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?colin=20axn=C3=A9r?= <25233464+colin-axner@users.noreply.github.com> Date: Thu, 16 Sep 2021 11:15:09 +0200 Subject: [PATCH 019/107] bump go package to v2 (#400) * bump go package to v2 * fix proto file generation * fix links * future proof script --- go.mod | 2 +- modules/apps/transfer/client/cli/query.go | 2 +- modules/apps/transfer/client/cli/tx.go | 6 +- modules/apps/transfer/keeper/encoding.go | 2 +- modules/apps/transfer/keeper/genesis.go | 2 +- modules/apps/transfer/keeper/genesis_test.go | 2 +- modules/apps/transfer/keeper/grpc_query.go | 2 +- .../apps/transfer/keeper/grpc_query_test.go | 2 +- modules/apps/transfer/keeper/keeper.go | 4 +- modules/apps/transfer/keeper/keeper_test.go | 4 +- .../apps/transfer/keeper/mbt_relay_test.go | 8 +- modules/apps/transfer/keeper/msg_server.go | 2 +- modules/apps/transfer/keeper/params.go | 2 +- modules/apps/transfer/keeper/params_test.go | 2 +- modules/apps/transfer/keeper/relay.go | 10 +- modules/apps/transfer/keeper/relay_test.go | 12 +- modules/apps/transfer/module.go | 16 +- modules/apps/transfer/module_test.go | 8 +- modules/apps/transfer/simulation/decoder.go | 2 +- .../apps/transfer/simulation/decoder_test.go | 6 +- modules/apps/transfer/simulation/genesis.go | 2 +- .../apps/transfer/simulation/genesis_test.go | 4 +- modules/apps/transfer/simulation/params.go | 2 +- .../apps/transfer/simulation/params_test.go | 2 +- modules/apps/transfer/transfer_test.go | 8 +- .../apps/transfer/types/expected_keepers.go | 6 +- modules/apps/transfer/types/genesis.go | 2 +- modules/apps/transfer/types/genesis.pb.go | 12 +- modules/apps/transfer/types/genesis_test.go | 2 +- modules/apps/transfer/types/keys_test.go | 2 +- modules/apps/transfer/types/msgs.go | 4 +- modules/apps/transfer/types/msgs_test.go | 2 +- modules/apps/transfer/types/packet.pb.go | 30 +-- modules/apps/transfer/types/query.pb.go | 70 +++---- modules/apps/transfer/types/trace.go | 2 +- modules/apps/transfer/types/transfer.pb.go | 40 ++-- modules/apps/transfer/types/tx.pb.go | 66 +++--- modules/core/02-client/abci.go | 6 +- modules/core/02-client/abci_test.go | 12 +- modules/core/02-client/client/cli/cli.go | 2 +- modules/core/02-client/client/cli/query.go | 6 +- modules/core/02-client/client/cli/tx.go | 4 +- .../core/02-client/client/proposal_handler.go | 2 +- modules/core/02-client/client/utils/utils.go | 12 +- modules/core/02-client/genesis.go | 6 +- modules/core/02-client/keeper/client.go | 4 +- modules/core/02-client/keeper/client_test.go | 16 +- modules/core/02-client/keeper/encoding.go | 4 +- modules/core/02-client/keeper/grpc_query.go | 6 +- .../core/02-client/keeper/grpc_query_test.go | 10 +- modules/core/02-client/keeper/keeper.go | 10 +- modules/core/02-client/keeper/keeper_test.go | 18 +- modules/core/02-client/keeper/migrations.go | 2 +- modules/core/02-client/keeper/params.go | 2 +- modules/core/02-client/keeper/params_test.go | 2 +- modules/core/02-client/keeper/proposal.go | 4 +- .../core/02-client/keeper/proposal_test.go | 8 +- modules/core/02-client/legacy/v100/genesis.go | 8 +- .../02-client/legacy/v100/genesis_test.go | 16 +- .../core/02-client/legacy/v100/solomachine.go | 2 +- .../02-client/legacy/v100/solomachine.pb.go | 178 ++++++++-------- modules/core/02-client/legacy/v100/store.go | 12 +- .../core/02-client/legacy/v100/store_test.go | 12 +- modules/core/02-client/module.go | 4 +- modules/core/02-client/proposal_handler.go | 4 +- .../core/02-client/proposal_handler_test.go | 8 +- modules/core/02-client/simulation/decoder.go | 6 +- .../core/02-client/simulation/decoder_test.go | 10 +- modules/core/02-client/simulation/genesis.go | 2 +- modules/core/02-client/types/client.go | 4 +- modules/core/02-client/types/client.pb.go | 90 ++++----- modules/core/02-client/types/client_test.go | 4 +- modules/core/02-client/types/codec.go | 2 +- modules/core/02-client/types/codec_test.go | 12 +- modules/core/02-client/types/encoding.go | 2 +- modules/core/02-client/types/encoding_test.go | 4 +- modules/core/02-client/types/events.go | 2 +- modules/core/02-client/types/genesis.go | 4 +- modules/core/02-client/types/genesis.pb.go | 66 +++--- modules/core/02-client/types/genesis_test.go | 16 +- modules/core/02-client/types/height.go | 2 +- modules/core/02-client/types/height_test.go | 2 +- modules/core/02-client/types/keys.go | 2 +- modules/core/02-client/types/keys_test.go | 2 +- modules/core/02-client/types/msgs.go | 4 +- modules/core/02-client/types/msgs_test.go | 12 +- modules/core/02-client/types/params.go | 2 +- modules/core/02-client/types/params_test.go | 2 +- modules/core/02-client/types/proposal.go | 2 +- modules/core/02-client/types/proposal_test.go | 6 +- modules/core/02-client/types/query.go | 2 +- modules/core/02-client/types/query.pb.go | 122 +++++------ modules/core/02-client/types/tx.pb.go | 78 +++---- modules/core/03-connection/client/cli/cli.go | 2 +- .../core/03-connection/client/cli/query.go | 6 +- .../core/03-connection/client/utils/utils.go | 14 +- modules/core/03-connection/genesis.go | 4 +- .../core/03-connection/keeper/grpc_query.go | 6 +- .../03-connection/keeper/grpc_query_test.go | 8 +- .../core/03-connection/keeper/handshake.go | 8 +- .../03-connection/keeper/handshake_test.go | 12 +- modules/core/03-connection/keeper/keeper.go | 10 +- .../core/03-connection/keeper/keeper_test.go | 4 +- modules/core/03-connection/keeper/params.go | 2 +- .../core/03-connection/keeper/params_test.go | 2 +- modules/core/03-connection/keeper/verify.go | 4 +- .../core/03-connection/keeper/verify_test.go | 16 +- modules/core/03-connection/module.go | 4 +- .../core/03-connection/simulation/decoder.go | 4 +- .../03-connection/simulation/decoder_test.go | 8 +- .../core/03-connection/simulation/genesis.go | 2 +- modules/core/03-connection/types/codec.go | 2 +- .../core/03-connection/types/connection.go | 6 +- .../core/03-connection/types/connection.pb.go | 94 ++++----- .../03-connection/types/connection_test.go | 8 +- modules/core/03-connection/types/events.go | 2 +- .../03-connection/types/expected_keepers.go | 2 +- modules/core/03-connection/types/genesis.go | 2 +- .../core/03-connection/types/genesis.pb.go | 47 ++--- .../core/03-connection/types/genesis_test.go | 6 +- modules/core/03-connection/types/keys.go | 2 +- modules/core/03-connection/types/keys_test.go | 2 +- modules/core/03-connection/types/msgs.go | 8 +- modules/core/03-connection/types/msgs_test.go | 12 +- .../core/03-connection/types/params_test.go | 2 +- modules/core/03-connection/types/query.go | 4 +- modules/core/03-connection/types/query.pb.go | 116 +++++------ modules/core/03-connection/types/tx.pb.go | 120 +++++------ modules/core/03-connection/types/version.go | 2 +- .../core/03-connection/types/version_test.go | 6 +- modules/core/04-channel/client/cli/cli.go | 2 +- modules/core/04-channel/client/cli/query.go | 6 +- modules/core/04-channel/client/utils/utils.go | 12 +- modules/core/04-channel/genesis.go | 4 +- modules/core/04-channel/keeper/events.go | 4 +- modules/core/04-channel/keeper/grpc_query.go | 8 +- .../core/04-channel/keeper/grpc_query_test.go | 10 +- modules/core/04-channel/keeper/handshake.go | 10 +- .../core/04-channel/keeper/handshake_test.go | 12 +- modules/core/04-channel/keeper/keeper.go | 12 +- modules/core/04-channel/keeper/keeper_test.go | 4 +- modules/core/04-channel/keeper/packet.go | 10 +- modules/core/04-channel/keeper/packet_test.go | 16 +- modules/core/04-channel/keeper/timeout.go | 8 +- .../core/04-channel/keeper/timeout_test.go | 12 +- modules/core/04-channel/module.go | 4 +- modules/core/04-channel/simulation/decoder.go | 4 +- .../04-channel/simulation/decoder_test.go | 8 +- modules/core/04-channel/simulation/genesis.go | 2 +- .../04-channel/types/acknowledgement_test.go | 2 +- modules/core/04-channel/types/channel.go | 4 +- modules/core/04-channel/types/channel.pb.go | 118 +++++------ modules/core/04-channel/types/channel_test.go | 2 +- modules/core/04-channel/types/codec.go | 2 +- modules/core/04-channel/types/events.go | 2 +- .../core/04-channel/types/expected_keepers.go | 4 +- modules/core/04-channel/types/genesis.go | 2 +- modules/core/04-channel/types/genesis.pb.go | 66 +++--- modules/core/04-channel/types/genesis_test.go | 2 +- modules/core/04-channel/types/keys.go | 2 +- modules/core/04-channel/types/keys_test.go | 2 +- modules/core/04-channel/types/msgs.go | 6 +- modules/core/04-channel/types/msgs_test.go | 10 +- modules/core/04-channel/types/packet.go | 6 +- modules/core/04-channel/types/packet_test.go | 4 +- modules/core/04-channel/types/query.go | 4 +- modules/core/04-channel/types/query.pb.go | 191 +++++++++--------- modules/core/04-channel/types/tx.pb.go | 140 ++++++------- modules/core/05-port/keeper/grpc_query.go | 4 +- .../core/05-port/keeper/grpc_query_test.go | 6 +- modules/core/05-port/keeper/keeper.go | 4 +- modules/core/05-port/keeper/keeper_test.go | 4 +- modules/core/05-port/module.go | 4 +- modules/core/05-port/types/module.go | 4 +- modules/core/05-port/types/query.pb.go | 52 ++--- modules/core/23-commitment/types/codec.go | 2 +- .../core/23-commitment/types/commitment.pb.go | 42 ++-- modules/core/23-commitment/types/merkle.go | 2 +- .../core/23-commitment/types/merkle_test.go | 2 +- .../core/23-commitment/types/utils_test.go | 2 +- modules/core/24-host/keys.go | 2 +- modules/core/24-host/parse_test.go | 4 +- modules/core/ante/ante.go | 6 +- modules/core/ante/ante_test.go | 10 +- modules/core/client/cli/cli.go | 8 +- modules/core/client/query.go | 6 +- modules/core/genesis.go | 10 +- modules/core/genesis_test.go | 22 +- modules/core/keeper/grpc_query.go | 8 +- modules/core/keeper/keeper.go | 16 +- modules/core/keeper/migrations.go | 2 +- modules/core/keeper/msg_server.go | 12 +- modules/core/keeper/msg_server_test.go | 18 +- modules/core/legacy/v100/genesis.go | 10 +- modules/core/legacy/v100/genesis_test.go | 18 +- modules/core/module.go | 20 +- modules/core/simulation/decoder.go | 10 +- modules/core/simulation/decoder_test.go | 14 +- modules/core/simulation/genesis.go | 16 +- modules/core/simulation/genesis_test.go | 6 +- modules/core/types/codec.go | 14 +- modules/core/types/genesis.go | 6 +- modules/core/types/genesis.pb.go | 50 ++--- modules/core/types/query.go | 16 +- .../light-clients/06-solomachine/module.go | 2 +- .../06-solomachine/types/client_state.go | 8 +- .../06-solomachine/types/client_state_test.go | 16 +- .../06-solomachine/types/codec.go | 4 +- .../06-solomachine/types/codec_test.go | 10 +- .../06-solomachine/types/consensus_state.go | 4 +- .../types/consensus_state_test.go | 6 +- .../06-solomachine/types/header.go | 4 +- .../06-solomachine/types/header_test.go | 6 +- .../06-solomachine/types/misbehaviour.go | 6 +- .../types/misbehaviour_handle.go | 4 +- .../types/misbehaviour_handle_test.go | 8 +- .../06-solomachine/types/misbehaviour_test.go | 6 +- .../06-solomachine/types/proof.go | 10 +- .../06-solomachine/types/proof_test.go | 6 +- .../06-solomachine/types/proposal_handle.go | 4 +- .../types/proposal_handle_test.go | 8 +- .../06-solomachine/types/solomachine.go | 2 +- .../06-solomachine/types/solomachine.pb.go | 18 +- .../06-solomachine/types/solomachine_test.go | 8 +- .../06-solomachine/types/update.go | 4 +- .../06-solomachine/types/update_test.go | 8 +- modules/light-clients/07-tendermint/module.go | 2 +- .../07-tendermint/types/client_state.go | 12 +- .../07-tendermint/types/client_state_test.go | 16 +- .../07-tendermint/types/codec.go | 2 +- .../07-tendermint/types/consensus_state.go | 6 +- .../types/consensus_state_test.go | 6 +- .../07-tendermint/types/genesis.go | 4 +- .../07-tendermint/types/genesis_test.go | 6 +- .../07-tendermint/types/header.go | 6 +- .../07-tendermint/types/header_test.go | 6 +- .../07-tendermint/types/misbehaviour.go | 6 +- .../types/misbehaviour_handle.go | 4 +- .../types/misbehaviour_handle_test.go | 12 +- .../07-tendermint/types/misbehaviour_test.go | 10 +- .../07-tendermint/types/proposal_handle.go | 4 +- .../types/proposal_handle_test.go | 8 +- .../07-tendermint/types/store.go | 6 +- .../07-tendermint/types/store_test.go | 14 +- .../07-tendermint/types/tendermint.pb.go | 138 ++++++------- .../07-tendermint/types/tendermint_test.go | 10 +- .../07-tendermint/types/update.go | 6 +- .../07-tendermint/types/update_test.go | 12 +- .../07-tendermint/types/upgrade.go | 6 +- .../07-tendermint/types/upgrade_test.go | 10 +- modules/light-clients/09-localhost/module.go | 2 +- .../09-localhost/types/client_state.go | 10 +- .../09-localhost/types/client_state_test.go | 16 +- .../light-clients/09-localhost/types/codec.go | 2 +- .../09-localhost/types/localhost.pb.go | 14 +- .../09-localhost/types/localhost_test.go | 6 +- .../applications/transfer/v1/genesis.proto | 2 +- .../ibc/applications/transfer/v1/query.proto | 2 +- .../applications/transfer/v1/transfer.proto | 2 +- proto/ibc/applications/transfer/v1/tx.proto | 2 +- .../ibc/applications/transfer/v2/packet.proto | 2 +- proto/ibc/core/channel/v1/channel.proto | 2 +- proto/ibc/core/channel/v1/genesis.proto | 2 +- proto/ibc/core/channel/v1/query.proto | 2 +- proto/ibc/core/channel/v1/tx.proto | 2 +- proto/ibc/core/client/v1/client.proto | 2 +- proto/ibc/core/client/v1/genesis.proto | 2 +- proto/ibc/core/client/v1/query.proto | 2 +- proto/ibc/core/client/v1/tx.proto | 2 +- proto/ibc/core/commitment/v1/commitment.proto | 2 +- proto/ibc/core/connection/v1/connection.proto | 2 +- proto/ibc/core/connection/v1/genesis.proto | 2 +- proto/ibc/core/connection/v1/query.proto | 2 +- proto/ibc/core/connection/v1/tx.proto | 2 +- proto/ibc/core/port/v1/query.proto | 2 +- proto/ibc/core/types/v1/genesis.proto | 2 +- .../lightclients/localhost/v1/localhost.proto | 2 +- .../solomachine/v1/solomachine.proto | 2 +- .../solomachine/v2/solomachine.proto | 2 +- .../tendermint/v1/tendermint.proto | 2 +- scripts/protocgen.sh | 2 +- testing/README.md | 4 +- testing/app.go | 4 +- testing/chain.go | 16 +- testing/chain_test.go | 4 +- testing/config.go | 10 +- testing/endpoint.go | 14 +- testing/events.go | 6 +- testing/mock/mock.go | 8 +- testing/mock/privval_test.go | 2 +- testing/path.go | 2 +- testing/sdk_test.go | 6 +- testing/simapp/app.go | 24 +-- testing/simapp/encoding.go | 2 +- testing/simapp/genesis_account_test.go | 2 +- testing/simapp/sim_bench_test.go | 2 +- testing/simapp/sim_test.go | 6 +- testing/simapp/simd/cmd/cmd_test.go | 4 +- testing/simapp/simd/cmd/genaccounts_test.go | 4 +- testing/simapp/simd/cmd/root.go | 4 +- testing/simapp/simd/main.go | 4 +- testing/simapp/state.go | 2 +- testing/simapp/test_helpers.go | 2 +- testing/simapp/utils.go | 2 +- testing/solomachine.go | 10 +- testing/values.go | 12 +- 306 files changed, 1812 insertions(+), 1810 deletions(-) diff --git a/go.mod b/go.mod index d812a9b8219..6d89f7912f2 100644 --- a/go.mod +++ b/go.mod @@ -1,6 +1,6 @@ go 1.15 -module github.com/cosmos/ibc-go +module github.com/cosmos/ibc-go/v2 replace github.com/gogo/protobuf => github.com/regen-network/protobuf v1.3.3-alpha.regen.1 diff --git a/modules/apps/transfer/client/cli/query.go b/modules/apps/transfer/client/cli/query.go index 3bf09c56b52..0e6188174dc 100644 --- a/modules/apps/transfer/client/cli/query.go +++ b/modules/apps/transfer/client/cli/query.go @@ -8,7 +8,7 @@ import ( "github.com/cosmos/cosmos-sdk/client" "github.com/cosmos/cosmos-sdk/client/flags" "github.com/cosmos/cosmos-sdk/version" - "github.com/cosmos/ibc-go/modules/apps/transfer/types" + "github.com/cosmos/ibc-go/v2/modules/apps/transfer/types" ) // GetCmdQueryDenomTrace defines the command to query a a denomination trace from a given hash. diff --git a/modules/apps/transfer/client/cli/tx.go b/modules/apps/transfer/client/cli/tx.go index a524fcebeaf..1e201bddb37 100644 --- a/modules/apps/transfer/client/cli/tx.go +++ b/modules/apps/transfer/client/cli/tx.go @@ -11,9 +11,9 @@ import ( "github.com/cosmos/cosmos-sdk/client/tx" sdk "github.com/cosmos/cosmos-sdk/types" "github.com/cosmos/cosmos-sdk/version" - "github.com/cosmos/ibc-go/modules/apps/transfer/types" - clienttypes "github.com/cosmos/ibc-go/modules/core/02-client/types" - channelutils "github.com/cosmos/ibc-go/modules/core/04-channel/client/utils" + "github.com/cosmos/ibc-go/v2/modules/apps/transfer/types" + clienttypes "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" + channelutils "github.com/cosmos/ibc-go/v2/modules/core/04-channel/client/utils" ) const ( diff --git a/modules/apps/transfer/keeper/encoding.go b/modules/apps/transfer/keeper/encoding.go index 78403694df2..111d181a4b3 100644 --- a/modules/apps/transfer/keeper/encoding.go +++ b/modules/apps/transfer/keeper/encoding.go @@ -1,7 +1,7 @@ package keeper import ( - "github.com/cosmos/ibc-go/modules/apps/transfer/types" + "github.com/cosmos/ibc-go/v2/modules/apps/transfer/types" ) // UnmarshalDenomTrace attempts to decode and return an DenomTrace object from diff --git a/modules/apps/transfer/keeper/genesis.go b/modules/apps/transfer/keeper/genesis.go index 7050a2c5512..97de879e096 100644 --- a/modules/apps/transfer/keeper/genesis.go +++ b/modules/apps/transfer/keeper/genesis.go @@ -4,7 +4,7 @@ import ( "fmt" sdk "github.com/cosmos/cosmos-sdk/types" - "github.com/cosmos/ibc-go/modules/apps/transfer/types" + "github.com/cosmos/ibc-go/v2/modules/apps/transfer/types" ) // InitGenesis initializes the ibc-transfer state and binds to PortID. diff --git a/modules/apps/transfer/keeper/genesis_test.go b/modules/apps/transfer/keeper/genesis_test.go index 19e5dfe4a18..f82eb59d7b7 100644 --- a/modules/apps/transfer/keeper/genesis_test.go +++ b/modules/apps/transfer/keeper/genesis_test.go @@ -3,7 +3,7 @@ package keeper_test import ( "fmt" - "github.com/cosmos/ibc-go/modules/apps/transfer/types" + "github.com/cosmos/ibc-go/v2/modules/apps/transfer/types" ) func (suite *KeeperTestSuite) TestGenesis() { diff --git a/modules/apps/transfer/keeper/grpc_query.go b/modules/apps/transfer/keeper/grpc_query.go index 10015f727f2..31629d817a9 100644 --- a/modules/apps/transfer/keeper/grpc_query.go +++ b/modules/apps/transfer/keeper/grpc_query.go @@ -11,7 +11,7 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" "github.com/cosmos/cosmos-sdk/types/query" - "github.com/cosmos/ibc-go/modules/apps/transfer/types" + "github.com/cosmos/ibc-go/v2/modules/apps/transfer/types" ) var _ types.QueryServer = Keeper{} diff --git a/modules/apps/transfer/keeper/grpc_query_test.go b/modules/apps/transfer/keeper/grpc_query_test.go index d5ffe6920ee..4075f9e4b21 100644 --- a/modules/apps/transfer/keeper/grpc_query_test.go +++ b/modules/apps/transfer/keeper/grpc_query_test.go @@ -5,7 +5,7 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" "github.com/cosmos/cosmos-sdk/types/query" - "github.com/cosmos/ibc-go/modules/apps/transfer/types" + "github.com/cosmos/ibc-go/v2/modules/apps/transfer/types" ) func (suite *KeeperTestSuite) TestQueryDenomTrace() { diff --git a/modules/apps/transfer/keeper/keeper.go b/modules/apps/transfer/keeper/keeper.go index 1d505debdb9..f0533aa2e51 100644 --- a/modules/apps/transfer/keeper/keeper.go +++ b/modules/apps/transfer/keeper/keeper.go @@ -11,8 +11,8 @@ import ( capabilitykeeper "github.com/cosmos/cosmos-sdk/x/capability/keeper" capabilitytypes "github.com/cosmos/cosmos-sdk/x/capability/types" paramtypes "github.com/cosmos/cosmos-sdk/x/params/types" - "github.com/cosmos/ibc-go/modules/apps/transfer/types" - host "github.com/cosmos/ibc-go/modules/core/24-host" + "github.com/cosmos/ibc-go/v2/modules/apps/transfer/types" + host "github.com/cosmos/ibc-go/v2/modules/core/24-host" ) // Keeper defines the IBC fungible transfer keeper diff --git a/modules/apps/transfer/keeper/keeper_test.go b/modules/apps/transfer/keeper/keeper_test.go index de3902df669..48dfe507ae0 100644 --- a/modules/apps/transfer/keeper/keeper_test.go +++ b/modules/apps/transfer/keeper/keeper_test.go @@ -8,8 +8,8 @@ import ( "github.com/cosmos/cosmos-sdk/baseapp" sdk "github.com/cosmos/cosmos-sdk/types" - "github.com/cosmos/ibc-go/modules/apps/transfer/types" - ibctesting "github.com/cosmos/ibc-go/testing" + "github.com/cosmos/ibc-go/v2/modules/apps/transfer/types" + ibctesting "github.com/cosmos/ibc-go/v2/testing" ) type KeeperTestSuite struct { diff --git a/modules/apps/transfer/keeper/mbt_relay_test.go b/modules/apps/transfer/keeper/mbt_relay_test.go index 31d6a3823a5..fb22f29dfc4 100644 --- a/modules/apps/transfer/keeper/mbt_relay_test.go +++ b/modules/apps/transfer/keeper/mbt_relay_test.go @@ -15,10 +15,10 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" - "github.com/cosmos/ibc-go/modules/apps/transfer/types" - clienttypes "github.com/cosmos/ibc-go/modules/core/02-client/types" - channeltypes "github.com/cosmos/ibc-go/modules/core/04-channel/types" - ibctesting "github.com/cosmos/ibc-go/testing" + "github.com/cosmos/ibc-go/v2/modules/apps/transfer/types" + clienttypes "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" + channeltypes "github.com/cosmos/ibc-go/v2/modules/core/04-channel/types" + ibctesting "github.com/cosmos/ibc-go/v2/testing" ) type TlaBalance struct { diff --git a/modules/apps/transfer/keeper/msg_server.go b/modules/apps/transfer/keeper/msg_server.go index 3fb536fa7f3..dbd455715af 100644 --- a/modules/apps/transfer/keeper/msg_server.go +++ b/modules/apps/transfer/keeper/msg_server.go @@ -4,7 +4,7 @@ import ( "context" sdk "github.com/cosmos/cosmos-sdk/types" - "github.com/cosmos/ibc-go/modules/apps/transfer/types" + "github.com/cosmos/ibc-go/v2/modules/apps/transfer/types" ) var _ types.MsgServer = Keeper{} diff --git a/modules/apps/transfer/keeper/params.go b/modules/apps/transfer/keeper/params.go index c6686acfabc..02a76847185 100644 --- a/modules/apps/transfer/keeper/params.go +++ b/modules/apps/transfer/keeper/params.go @@ -2,7 +2,7 @@ package keeper import ( sdk "github.com/cosmos/cosmos-sdk/types" - "github.com/cosmos/ibc-go/modules/apps/transfer/types" + "github.com/cosmos/ibc-go/v2/modules/apps/transfer/types" ) // GetSendEnabled retrieves the send enabled boolean from the paramstore diff --git a/modules/apps/transfer/keeper/params_test.go b/modules/apps/transfer/keeper/params_test.go index a5d78005836..2544242d908 100644 --- a/modules/apps/transfer/keeper/params_test.go +++ b/modules/apps/transfer/keeper/params_test.go @@ -1,6 +1,6 @@ package keeper_test -import "github.com/cosmos/ibc-go/modules/apps/transfer/types" +import "github.com/cosmos/ibc-go/v2/modules/apps/transfer/types" func (suite *KeeperTestSuite) TestParams() { expParams := types.DefaultParams() diff --git a/modules/apps/transfer/keeper/relay.go b/modules/apps/transfer/keeper/relay.go index 5f9090a082b..dbbf98a0c53 100644 --- a/modules/apps/transfer/keeper/relay.go +++ b/modules/apps/transfer/keeper/relay.go @@ -9,11 +9,11 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" - "github.com/cosmos/ibc-go/modules/apps/transfer/types" - clienttypes "github.com/cosmos/ibc-go/modules/core/02-client/types" - channeltypes "github.com/cosmos/ibc-go/modules/core/04-channel/types" - host "github.com/cosmos/ibc-go/modules/core/24-host" - coretypes "github.com/cosmos/ibc-go/modules/core/types" + "github.com/cosmos/ibc-go/v2/modules/apps/transfer/types" + clienttypes "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" + channeltypes "github.com/cosmos/ibc-go/v2/modules/core/04-channel/types" + host "github.com/cosmos/ibc-go/v2/modules/core/24-host" + coretypes "github.com/cosmos/ibc-go/v2/modules/core/types" ) // SendTransfer handles transfer sending logic. There are 2 possible cases: diff --git a/modules/apps/transfer/keeper/relay_test.go b/modules/apps/transfer/keeper/relay_test.go index 02959303ab2..697059bf629 100644 --- a/modules/apps/transfer/keeper/relay_test.go +++ b/modules/apps/transfer/keeper/relay_test.go @@ -3,14 +3,14 @@ package keeper_test import ( "fmt" - "github.com/cosmos/ibc-go/testing/simapp" + "github.com/cosmos/ibc-go/v2/testing/simapp" sdk "github.com/cosmos/cosmos-sdk/types" - "github.com/cosmos/ibc-go/modules/apps/transfer/types" - clienttypes "github.com/cosmos/ibc-go/modules/core/02-client/types" - channeltypes "github.com/cosmos/ibc-go/modules/core/04-channel/types" - host "github.com/cosmos/ibc-go/modules/core/24-host" - ibctesting "github.com/cosmos/ibc-go/testing" + "github.com/cosmos/ibc-go/v2/modules/apps/transfer/types" + clienttypes "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" + channeltypes "github.com/cosmos/ibc-go/v2/modules/core/04-channel/types" + host "github.com/cosmos/ibc-go/v2/modules/core/24-host" + ibctesting "github.com/cosmos/ibc-go/v2/testing" ) // test sending from chainA to chainB using both coin that orignate on diff --git a/modules/apps/transfer/module.go b/modules/apps/transfer/module.go index aa050055aa9..7af82060149 100644 --- a/modules/apps/transfer/module.go +++ b/modules/apps/transfer/module.go @@ -20,14 +20,14 @@ import ( "github.com/spf13/cobra" abci "github.com/tendermint/tendermint/abci/types" - "github.com/cosmos/ibc-go/modules/apps/transfer/client/cli" - "github.com/cosmos/ibc-go/modules/apps/transfer/keeper" - "github.com/cosmos/ibc-go/modules/apps/transfer/simulation" - "github.com/cosmos/ibc-go/modules/apps/transfer/types" - channeltypes "github.com/cosmos/ibc-go/modules/core/04-channel/types" - porttypes "github.com/cosmos/ibc-go/modules/core/05-port/types" - host "github.com/cosmos/ibc-go/modules/core/24-host" - ibcexported "github.com/cosmos/ibc-go/modules/core/exported" + "github.com/cosmos/ibc-go/v2/modules/apps/transfer/client/cli" + "github.com/cosmos/ibc-go/v2/modules/apps/transfer/keeper" + "github.com/cosmos/ibc-go/v2/modules/apps/transfer/simulation" + "github.com/cosmos/ibc-go/v2/modules/apps/transfer/types" + channeltypes "github.com/cosmos/ibc-go/v2/modules/core/04-channel/types" + porttypes "github.com/cosmos/ibc-go/v2/modules/core/05-port/types" + host "github.com/cosmos/ibc-go/v2/modules/core/24-host" + ibcexported "github.com/cosmos/ibc-go/v2/modules/core/exported" ) var ( diff --git a/modules/apps/transfer/module_test.go b/modules/apps/transfer/module_test.go index 63d610de84a..f12707ad43b 100644 --- a/modules/apps/transfer/module_test.go +++ b/modules/apps/transfer/module_test.go @@ -4,10 +4,10 @@ import ( "math" capabilitytypes "github.com/cosmos/cosmos-sdk/x/capability/types" - "github.com/cosmos/ibc-go/modules/apps/transfer/types" - channeltypes "github.com/cosmos/ibc-go/modules/core/04-channel/types" - host "github.com/cosmos/ibc-go/modules/core/24-host" - ibctesting "github.com/cosmos/ibc-go/testing" + "github.com/cosmos/ibc-go/v2/modules/apps/transfer/types" + channeltypes "github.com/cosmos/ibc-go/v2/modules/core/04-channel/types" + host "github.com/cosmos/ibc-go/v2/modules/core/24-host" + ibctesting "github.com/cosmos/ibc-go/v2/testing" ) func (suite *TransferTestSuite) TestOnChanOpenInit() { diff --git a/modules/apps/transfer/simulation/decoder.go b/modules/apps/transfer/simulation/decoder.go index 882e9516755..771e00bc508 100644 --- a/modules/apps/transfer/simulation/decoder.go +++ b/modules/apps/transfer/simulation/decoder.go @@ -5,7 +5,7 @@ import ( "fmt" "github.com/cosmos/cosmos-sdk/types/kv" - "github.com/cosmos/ibc-go/modules/apps/transfer/types" + "github.com/cosmos/ibc-go/v2/modules/apps/transfer/types" ) // TransferUnmarshaler defines the expected encoding store functions. diff --git a/modules/apps/transfer/simulation/decoder_test.go b/modules/apps/transfer/simulation/decoder_test.go index 08885a340a7..fbaddd02068 100644 --- a/modules/apps/transfer/simulation/decoder_test.go +++ b/modules/apps/transfer/simulation/decoder_test.go @@ -7,9 +7,9 @@ import ( "github.com/stretchr/testify/require" "github.com/cosmos/cosmos-sdk/types/kv" - "github.com/cosmos/ibc-go/modules/apps/transfer/simulation" - "github.com/cosmos/ibc-go/modules/apps/transfer/types" - "github.com/cosmos/ibc-go/testing/simapp" + "github.com/cosmos/ibc-go/v2/modules/apps/transfer/simulation" + "github.com/cosmos/ibc-go/v2/modules/apps/transfer/types" + "github.com/cosmos/ibc-go/v2/testing/simapp" ) func TestDecodeStore(t *testing.T) { diff --git a/modules/apps/transfer/simulation/genesis.go b/modules/apps/transfer/simulation/genesis.go index b300e8919ad..357eabb8f53 100644 --- a/modules/apps/transfer/simulation/genesis.go +++ b/modules/apps/transfer/simulation/genesis.go @@ -8,7 +8,7 @@ import ( "github.com/cosmos/cosmos-sdk/types/module" simtypes "github.com/cosmos/cosmos-sdk/types/simulation" - "github.com/cosmos/ibc-go/modules/apps/transfer/types" + "github.com/cosmos/ibc-go/v2/modules/apps/transfer/types" ) // Simulation parameter constants diff --git a/modules/apps/transfer/simulation/genesis_test.go b/modules/apps/transfer/simulation/genesis_test.go index c4bd61035ab..ff68cb4dac6 100644 --- a/modules/apps/transfer/simulation/genesis_test.go +++ b/modules/apps/transfer/simulation/genesis_test.go @@ -11,8 +11,8 @@ import ( codectypes "github.com/cosmos/cosmos-sdk/codec/types" "github.com/cosmos/cosmos-sdk/types/module" simtypes "github.com/cosmos/cosmos-sdk/types/simulation" - "github.com/cosmos/ibc-go/modules/apps/transfer/simulation" - "github.com/cosmos/ibc-go/modules/apps/transfer/types" + "github.com/cosmos/ibc-go/v2/modules/apps/transfer/simulation" + "github.com/cosmos/ibc-go/v2/modules/apps/transfer/types" ) // TestRandomizedGenState tests the normal scenario of applying RandomizedGenState. diff --git a/modules/apps/transfer/simulation/params.go b/modules/apps/transfer/simulation/params.go index 49437c5a2bc..95e855f3620 100644 --- a/modules/apps/transfer/simulation/params.go +++ b/modules/apps/transfer/simulation/params.go @@ -9,7 +9,7 @@ import ( "github.com/cosmos/cosmos-sdk/x/simulation" simtypes "github.com/cosmos/cosmos-sdk/types/simulation" - "github.com/cosmos/ibc-go/modules/apps/transfer/types" + "github.com/cosmos/ibc-go/v2/modules/apps/transfer/types" ) // ParamChanges defines the parameters that can be modified by param change proposals diff --git a/modules/apps/transfer/simulation/params_test.go b/modules/apps/transfer/simulation/params_test.go index 978c38e0b7e..d39faa29389 100644 --- a/modules/apps/transfer/simulation/params_test.go +++ b/modules/apps/transfer/simulation/params_test.go @@ -6,7 +6,7 @@ import ( "github.com/stretchr/testify/require" - "github.com/cosmos/ibc-go/modules/apps/transfer/simulation" + "github.com/cosmos/ibc-go/v2/modules/apps/transfer/simulation" ) func TestParamChanges(t *testing.T) { diff --git a/modules/apps/transfer/transfer_test.go b/modules/apps/transfer/transfer_test.go index 948a6b2cf4b..58b33cbe647 100644 --- a/modules/apps/transfer/transfer_test.go +++ b/modules/apps/transfer/transfer_test.go @@ -6,10 +6,10 @@ import ( "github.com/stretchr/testify/suite" sdk "github.com/cosmos/cosmos-sdk/types" - "github.com/cosmos/ibc-go/modules/apps/transfer/types" - clienttypes "github.com/cosmos/ibc-go/modules/core/02-client/types" - channeltypes "github.com/cosmos/ibc-go/modules/core/04-channel/types" - ibctesting "github.com/cosmos/ibc-go/testing" + "github.com/cosmos/ibc-go/v2/modules/apps/transfer/types" + clienttypes "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" + channeltypes "github.com/cosmos/ibc-go/v2/modules/core/04-channel/types" + ibctesting "github.com/cosmos/ibc-go/v2/testing" ) type TransferTestSuite struct { diff --git a/modules/apps/transfer/types/expected_keepers.go b/modules/apps/transfer/types/expected_keepers.go index d7881642c12..fd0f7df76c3 100644 --- a/modules/apps/transfer/types/expected_keepers.go +++ b/modules/apps/transfer/types/expected_keepers.go @@ -4,9 +4,9 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" "github.com/cosmos/cosmos-sdk/x/auth/types" capabilitytypes "github.com/cosmos/cosmos-sdk/x/capability/types" - connectiontypes "github.com/cosmos/ibc-go/modules/core/03-connection/types" - channeltypes "github.com/cosmos/ibc-go/modules/core/04-channel/types" - ibcexported "github.com/cosmos/ibc-go/modules/core/exported" + connectiontypes "github.com/cosmos/ibc-go/v2/modules/core/03-connection/types" + channeltypes "github.com/cosmos/ibc-go/v2/modules/core/04-channel/types" + ibcexported "github.com/cosmos/ibc-go/v2/modules/core/exported" ) // AccountKeeper defines the contract required for account APIs. diff --git a/modules/apps/transfer/types/genesis.go b/modules/apps/transfer/types/genesis.go index 1a17bc474ce..c480321b205 100644 --- a/modules/apps/transfer/types/genesis.go +++ b/modules/apps/transfer/types/genesis.go @@ -1,7 +1,7 @@ package types import ( - host "github.com/cosmos/ibc-go/modules/core/24-host" + host "github.com/cosmos/ibc-go/v2/modules/core/24-host" ) // NewGenesisState creates a new ibc-transfer GenesisState instance. diff --git a/modules/apps/transfer/types/genesis.pb.go b/modules/apps/transfer/types/genesis.pb.go index 94eb0108c5d..81d7b9fe1bd 100644 --- a/modules/apps/transfer/types/genesis.pb.go +++ b/modules/apps/transfer/types/genesis.pb.go @@ -93,10 +93,10 @@ func init() { } var fileDescriptor_a4f788affd5bea89 = []byte{ - // 323 bytes of a gzipped FileDescriptorProto + // 325 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x7c, 0x90, 0xc1, 0x4a, 0xf3, 0x40, 0x14, 0x85, 0x33, 0x7f, 0x7f, 0x22, 0xa6, 0xc5, 0x45, 0x74, 0x51, 0x8a, 0x24, 0x25, 0x28, 0x04, - 0x8b, 0x33, 0xb4, 0xba, 0x72, 0x19, 0x04, 0x71, 0x23, 0x52, 0x5d, 0xb9, 0x29, 0x93, 0xc9, 0x18, + 0x8b, 0x33, 0xb4, 0x2e, 0x04, 0x97, 0x41, 0x10, 0x77, 0x5a, 0x5d, 0xb9, 0x29, 0x93, 0xc9, 0x18, 0x07, 0x9a, 0xdc, 0x30, 0x77, 0x5a, 0xe8, 0x5b, 0xf8, 0x1c, 0x3e, 0x49, 0x97, 0x5d, 0xba, 0xaa, 0xd2, 0xbe, 0x41, 0x7d, 0x01, 0x49, 0x5a, 0x4b, 0x57, 0xdd, 0x1d, 0x66, 0xbe, 0x73, 0xce, 0xe5, 0x38, 0x17, 0x2a, 0x16, 0x8c, 0x17, 0xc5, 0x50, 0x09, 0x6e, 0x14, 0xe4, 0xc8, 0x8c, 0xe6, 0x39, @@ -109,12 +109,12 @@ var fileDescriptor_a4f788affd5bea89 = []byte{ 0x0b, 0xeb, 0xbd, 0x90, 0xee, 0xbb, 0x9a, 0xde, 0x96, 0x8e, 0xe7, 0xd2, 0x10, 0x9d, 0x4f, 0xe7, 0xbe, 0xb5, 0x9a, 0xfb, 0xc7, 0xeb, 0xfc, 0xdd, 0xac, 0xe0, 0xe3, 0xcb, 0xb7, 0x2b, 0x0a, 0xfb, 0xf5, 0x64, 0x6b, 0x41, 0x37, 0x72, 0xec, 0x82, 0x6b, 0x9e, 0x61, 0xb3, 0xd6, 0x26, 0x61, 0xbd, - 0x77, 0xb6, 0xbf, 0xed, 0xb1, 0x62, 0xa3, 0xff, 0x65, 0x53, 0x7f, 0xe3, 0x8c, 0x1e, 0xa6, 0x0b, + 0x77, 0xb6, 0xbf, 0xed, 0xa1, 0x62, 0xa3, 0xff, 0x65, 0x53, 0x7f, 0xe3, 0x8c, 0x1e, 0xa7, 0x0b, 0x8f, 0xcc, 0x16, 0x1e, 0xf9, 0x5e, 0x78, 0xe4, 0x7d, 0xe9, 0x59, 0xb3, 0xa5, 0x67, 0x7d, 0x2e, 0x3d, 0xeb, 0xe5, 0x3a, 0x55, 0xe6, 0x6d, 0x14, 0x53, 0x01, 0x19, 0x13, 0x80, 0x19, 0x20, 0x53, - 0xb1, 0xb8, 0x4c, 0x81, 0x65, 0x90, 0x8c, 0x86, 0x12, 0xcb, 0xbd, 0x77, 0x76, 0x36, 0x93, 0x42, - 0x62, 0x6c, 0x57, 0x63, 0x5e, 0xfd, 0x06, 0x00, 0x00, 0xff, 0xff, 0xb1, 0x5d, 0xce, 0xa9, 0xdb, - 0x01, 0x00, 0x00, + 0xb1, 0xb8, 0x4c, 0x81, 0x8d, 0x7b, 0x2c, 0x83, 0x64, 0x34, 0x94, 0x58, 0x4e, 0xbe, 0x33, 0xb5, + 0x99, 0x14, 0x12, 0x63, 0xbb, 0xda, 0xf3, 0xea, 0x37, 0x00, 0x00, 0xff, 0xff, 0x56, 0x0c, 0x81, + 0x27, 0xde, 0x01, 0x00, 0x00, } func (m *GenesisState) Marshal() (dAtA []byte, err error) { diff --git a/modules/apps/transfer/types/genesis_test.go b/modules/apps/transfer/types/genesis_test.go index 23305ae1d07..d5d05daa1d4 100644 --- a/modules/apps/transfer/types/genesis_test.go +++ b/modules/apps/transfer/types/genesis_test.go @@ -5,7 +5,7 @@ import ( "github.com/stretchr/testify/require" - "github.com/cosmos/ibc-go/modules/apps/transfer/types" + "github.com/cosmos/ibc-go/v2/modules/apps/transfer/types" ) func TestValidateGenesis(t *testing.T) { diff --git a/modules/apps/transfer/types/keys_test.go b/modules/apps/transfer/types/keys_test.go index 54cf3f6c08f..720fae83a85 100644 --- a/modules/apps/transfer/types/keys_test.go +++ b/modules/apps/transfer/types/keys_test.go @@ -5,7 +5,7 @@ import ( "github.com/stretchr/testify/require" - "github.com/cosmos/ibc-go/modules/apps/transfer/types" + "github.com/cosmos/ibc-go/v2/modules/apps/transfer/types" ) // Test that there is domain separation between the port id and the channel id otherwise an diff --git a/modules/apps/transfer/types/msgs.go b/modules/apps/transfer/types/msgs.go index b45dca98afb..12cc8ab1574 100644 --- a/modules/apps/transfer/types/msgs.go +++ b/modules/apps/transfer/types/msgs.go @@ -5,8 +5,8 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" - clienttypes "github.com/cosmos/ibc-go/modules/core/02-client/types" - host "github.com/cosmos/ibc-go/modules/core/24-host" + clienttypes "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" + host "github.com/cosmos/ibc-go/v2/modules/core/24-host" ) // msg types diff --git a/modules/apps/transfer/types/msgs_test.go b/modules/apps/transfer/types/msgs_test.go index fa5e9f96db5..48d15af349e 100644 --- a/modules/apps/transfer/types/msgs_test.go +++ b/modules/apps/transfer/types/msgs_test.go @@ -8,7 +8,7 @@ import ( "github.com/cosmos/cosmos-sdk/crypto/keys/secp256k1" sdk "github.com/cosmos/cosmos-sdk/types" - clienttypes "github.com/cosmos/ibc-go/modules/core/02-client/types" + clienttypes "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" ) // define constants used for testing diff --git a/modules/apps/transfer/types/packet.pb.go b/modules/apps/transfer/types/packet.pb.go index 486545b551f..a814dc2faf1 100644 --- a/modules/apps/transfer/types/packet.pb.go +++ b/modules/apps/transfer/types/packet.pb.go @@ -106,22 +106,22 @@ func init() { } var fileDescriptor_653ca2ce9a5ca313 = []byte{ - // 239 bytes of a gzipped FileDescriptorProto + // 240 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x4c, 0x8f, 0xbf, 0x4a, 0xc5, 0x30, - 0x14, 0x87, 0x1b, 0xff, 0x5c, 0x34, 0x63, 0x11, 0x2d, 0x22, 0x41, 0x9c, 0x74, 0x30, 0x81, 0xab, - 0x4f, 0x20, 0xe2, 0x28, 0x22, 0x4e, 0x6e, 0x49, 0x7a, 0xac, 0xe1, 0x36, 0x39, 0x21, 0x49, 0x0b, - 0xe2, 0x4b, 0xf8, 0x58, 0x8e, 0x77, 0x74, 0x94, 0xf6, 0x45, 0xe4, 0xa6, 0x2a, 0x1d, 0xbf, 0xef, - 0xfc, 0xce, 0xf0, 0xd1, 0x0b, 0xa3, 0xb4, 0x90, 0xde, 0xb7, 0x46, 0xcb, 0x64, 0xd0, 0x45, 0x91, - 0x82, 0x74, 0xf1, 0x05, 0x82, 0xe8, 0x97, 0xc2, 0x4b, 0xbd, 0x82, 0xc4, 0x7d, 0xc0, 0x84, 0xe5, - 0x89, 0x51, 0x9a, 0xcf, 0xa7, 0xfc, 0x6f, 0xca, 0xfb, 0xe5, 0xd9, 0x3b, 0x3d, 0xba, 0xeb, 0x5c, - 0x63, 0x54, 0x0b, 0x4f, 0xb8, 0x02, 0xf7, 0x90, 0x5f, 0x6f, 0x65, 0x92, 0xe5, 0x01, 0xdd, 0xad, - 0xc1, 0xa1, 0xad, 0xc8, 0x29, 0x39, 0xdf, 0x7f, 0x9c, 0xa0, 0x3c, 0xa4, 0x0b, 0x69, 0xb1, 0x73, - 0xa9, 0xda, 0xca, 0xfa, 0x97, 0x36, 0x3e, 0x82, 0xab, 0x21, 0x54, 0xdb, 0x93, 0x9f, 0xa8, 0x3c, - 0xa6, 0x7b, 0x01, 0x34, 0x98, 0x1e, 0x42, 0xb5, 0x93, 0x2f, 0xff, 0x7c, 0x73, 0xff, 0x39, 0x30, - 0xb2, 0x1e, 0x18, 0xf9, 0x1e, 0x18, 0xf9, 0x18, 0x59, 0xb1, 0x1e, 0x59, 0xf1, 0x35, 0xb2, 0xe2, - 0xf9, 0xba, 0x31, 0xe9, 0xb5, 0x53, 0x5c, 0xa3, 0x15, 0x1a, 0xa3, 0xc5, 0x28, 0x8c, 0xd2, 0x97, - 0x0d, 0x0a, 0x8b, 0x75, 0xd7, 0x42, 0xdc, 0xc4, 0xcf, 0xa2, 0xd3, 0x9b, 0x87, 0xa8, 0x16, 0xb9, - 0xf8, 0xea, 0x27, 0x00, 0x00, 0xff, 0xff, 0x1f, 0x65, 0xe9, 0x98, 0x1e, 0x01, 0x00, 0x00, + 0x14, 0x87, 0x1b, 0xff, 0x5c, 0x34, 0x63, 0x11, 0x2d, 0x22, 0x41, 0x9c, 0x74, 0x30, 0x81, 0xeb, + 0xe0, 0x2e, 0xe2, 0xac, 0xe2, 0xe4, 0x96, 0xa4, 0xc7, 0x1a, 0x6e, 0x93, 0x13, 0x92, 0xb4, 0x20, + 0xbe, 0x84, 0x8f, 0xe5, 0x78, 0x47, 0x47, 0x69, 0x5f, 0x44, 0x9a, 0xaa, 0xdc, 0xf1, 0xfb, 0xce, + 0xef, 0x0c, 0x1f, 0xbd, 0x30, 0x4a, 0x0b, 0xe9, 0x7d, 0x6b, 0xb4, 0x4c, 0x06, 0x5d, 0x14, 0x29, + 0x48, 0x17, 0x5f, 0x20, 0x88, 0x7e, 0x29, 0xbc, 0xd4, 0x2b, 0x48, 0xdc, 0x07, 0x4c, 0x58, 0x9e, + 0x18, 0xa5, 0xf9, 0xe6, 0x94, 0xff, 0x4d, 0x79, 0xbf, 0x3c, 0x7b, 0xa7, 0x47, 0x77, 0x9d, 0x6b, + 0x8c, 0x6a, 0xe1, 0x09, 0x57, 0xe0, 0xee, 0xf3, 0xeb, 0xad, 0x4c, 0xb2, 0x3c, 0xa0, 0xbb, 0x35, + 0x38, 0xb4, 0x15, 0x39, 0x25, 0xe7, 0xfb, 0x8f, 0x33, 0x94, 0x87, 0x74, 0x21, 0x2d, 0x76, 0x2e, + 0x55, 0x5b, 0x59, 0xff, 0xd2, 0xe4, 0x23, 0xb8, 0x1a, 0x42, 0xb5, 0x3d, 0xfb, 0x99, 0xca, 0x63, + 0xba, 0x17, 0x40, 0x83, 0xe9, 0x21, 0x54, 0x3b, 0xf9, 0xf2, 0xcf, 0x37, 0x0f, 0x9f, 0x03, 0x23, + 0xeb, 0x81, 0x91, 0xef, 0x81, 0x91, 0x8f, 0x91, 0x15, 0xeb, 0x91, 0x15, 0x5f, 0x23, 0x2b, 0x9e, + 0xaf, 0x1b, 0x93, 0x5e, 0x3b, 0xc5, 0x35, 0x5a, 0xa1, 0x31, 0x5a, 0x8c, 0xc2, 0x28, 0x7d, 0xd9, + 0xe0, 0x94, 0x67, 0xb1, 0xee, 0x5a, 0x88, 0x53, 0xff, 0x46, 0x77, 0x7a, 0xf3, 0x10, 0xd5, 0x22, + 0x47, 0x5f, 0xfd, 0x04, 0x00, 0x00, 0xff, 0xff, 0x9d, 0x75, 0xf2, 0x46, 0x21, 0x01, 0x00, 0x00, } func (m *FungibleTokenPacketData) Marshal() (dAtA []byte, err error) { diff --git a/modules/apps/transfer/types/query.pb.go b/modules/apps/transfer/types/query.pb.go index 082172d2c1e..e6d575c1e49 100644 --- a/modules/apps/transfer/types/query.pb.go +++ b/modules/apps/transfer/types/query.pb.go @@ -324,41 +324,41 @@ func init() { } var fileDescriptor_a638e2800a01538c = []byte{ - // 529 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x54, 0x4f, 0x8b, 0xd3, 0x40, - 0x14, 0xef, 0xec, 0x6a, 0xc1, 0x57, 0xf1, 0x30, 0x2e, 0x5a, 0x42, 0xc9, 0x2e, 0xa1, 0x68, 0xdd, - 0xd5, 0x19, 0xb3, 0xae, 0x9e, 0x3c, 0x2d, 0xa2, 0x78, 0x91, 0xb5, 0x7a, 0xd2, 0x83, 0x4c, 0xd2, - 0x31, 0x0d, 0x34, 0x99, 0x6c, 0x26, 0x2d, 0x2c, 0xe2, 0xc5, 0x4f, 0x20, 0xec, 0x97, 0x10, 0xf1, - 0x43, 0x78, 0xdc, 0xe3, 0x82, 0x17, 0x4f, 0x2a, 0xad, 0xdf, 0xc1, 0xab, 0x64, 0x66, 0xb2, 0x4d, - 0xec, 0xd2, 0x9a, 0xdb, 0xf0, 0xf2, 0x7e, 0xef, 0xf7, 0xe7, 0x3d, 0x02, 0xbd, 0xd0, 0xf3, 0x29, - 0x4b, 0x92, 0x51, 0xe8, 0xb3, 0x2c, 0x14, 0xb1, 0xa4, 0x59, 0xca, 0x62, 0xf9, 0x96, 0xa7, 0x74, - 0xe2, 0xd2, 0xc3, 0x31, 0x4f, 0x8f, 0x48, 0x92, 0x8a, 0x4c, 0xe0, 0x4e, 0xe8, 0xf9, 0xa4, 0xdc, - 0x49, 0x8a, 0x4e, 0x32, 0x71, 0xad, 0x8d, 0x40, 0x04, 0x42, 0x35, 0xd2, 0xfc, 0xa5, 0x31, 0xd6, - 0xb6, 0x2f, 0x64, 0x24, 0x24, 0xf5, 0x98, 0xe4, 0x7a, 0x18, 0x9d, 0xb8, 0x1e, 0xcf, 0x98, 0x4b, - 0x13, 0x16, 0x84, 0xb1, 0x1a, 0x64, 0x7a, 0x77, 0x96, 0x2a, 0x39, 0xe3, 0xd2, 0xcd, 0x9d, 0x40, - 0x88, 0x60, 0xc4, 0x29, 0x4b, 0x42, 0xca, 0xe2, 0x58, 0x64, 0x46, 0x92, 0xfa, 0xea, 0xdc, 0x86, - 0x6b, 0xcf, 0x73, 0xb2, 0x47, 0x3c, 0x16, 0xd1, 0xcb, 0x94, 0xf9, 0xbc, 0xcf, 0x0f, 0xc7, 0x5c, - 0x66, 0x18, 0xc3, 0x85, 0x21, 0x93, 0xc3, 0x36, 0xda, 0x42, 0xbd, 0x4b, 0x7d, 0xf5, 0x76, 0x06, - 0x70, 0x7d, 0xa1, 0x5b, 0x26, 0x22, 0x96, 0x1c, 0x3f, 0x85, 0xd6, 0x20, 0xaf, 0xbe, 0xc9, 0xf2, - 0xb2, 0x42, 0xb5, 0x76, 0x7b, 0x64, 0x59, 0x12, 0xa4, 0x34, 0x06, 0x06, 0x67, 0x6f, 0x87, 0x2d, - 0xb0, 0xc8, 0x42, 0xd4, 0x63, 0x80, 0x79, 0x1a, 0x86, 0xe4, 0x06, 0xd1, 0xd1, 0x91, 0x3c, 0x3a, - 0xa2, 0xf7, 0x60, 0xa2, 0x23, 0x07, 0x2c, 0x28, 0x0c, 0xf5, 0x4b, 0x48, 0xe7, 0x2b, 0x82, 0xf6, - 0x22, 0x87, 0xb1, 0xf2, 0x1a, 0x2e, 0x97, 0xac, 0xc8, 0x36, 0xda, 0x5a, 0xaf, 0xe3, 0x65, 0xff, - 0xca, 0xc9, 0x8f, 0xcd, 0xc6, 0xe7, 0x9f, 0x9b, 0x4d, 0x33, 0xb7, 0x35, 0xf7, 0x26, 0xf1, 0x93, - 0x8a, 0x83, 0x35, 0xe5, 0xe0, 0xe6, 0x4a, 0x07, 0x5a, 0x59, 0xc5, 0xc2, 0x06, 0x60, 0xe5, 0xe0, - 0x80, 0xa5, 0x2c, 0x2a, 0x02, 0x72, 0x5e, 0xc0, 0xd5, 0x4a, 0xd5, 0x58, 0x7a, 0x08, 0xcd, 0x44, - 0x55, 0x4c, 0x66, 0xdd, 0xe5, 0x66, 0x0c, 0xda, 0x60, 0x76, 0xff, 0xac, 0xc3, 0x45, 0x35, 0x15, - 0x7f, 0x41, 0x00, 0x73, 0xa7, 0x78, 0x6f, 0xf9, 0x98, 0xf3, 0x2f, 0xcb, 0xba, 0x5f, 0x13, 0xa5, - 0x3d, 0x38, 0xee, 0x87, 0x6f, 0xbf, 0x8f, 0xd7, 0x76, 0xf0, 0x2d, 0x6a, 0xce, 0xbf, 0x7a, 0xf6, - 0xe5, 0x95, 0xd1, 0x77, 0xf9, 0xb9, 0xbe, 0xc7, 0x9f, 0x10, 0xb4, 0x4a, 0x1b, 0xc6, 0xf5, 0x98, - 0x8b, 0x50, 0xad, 0x07, 0x75, 0x61, 0x46, 0xf1, 0xb6, 0x52, 0xdc, 0xc5, 0xce, 0x6a, 0xc5, 0xf8, - 0x18, 0x41, 0x53, 0xc7, 0x8e, 0xef, 0xfe, 0x07, 0x5d, 0x65, 0xeb, 0x96, 0x5b, 0x03, 0x61, 0xb4, - 0x75, 0x95, 0x36, 0x1b, 0x77, 0xce, 0xd7, 0xa6, 0x37, 0xbf, 0xff, 0xec, 0x64, 0x6a, 0xa3, 0xd3, - 0xa9, 0x8d, 0x7e, 0x4d, 0x6d, 0xf4, 0x71, 0x66, 0x37, 0x4e, 0x67, 0x76, 0xe3, 0xfb, 0xcc, 0x6e, - 0xbc, 0xda, 0x0b, 0xc2, 0x6c, 0x38, 0xf6, 0x88, 0x2f, 0x22, 0x6a, 0x7e, 0x5d, 0xa1, 0xe7, 0xdf, - 0x09, 0x04, 0x8d, 0xc4, 0x60, 0x3c, 0xe2, 0xf2, 0x9f, 0x99, 0xd9, 0x51, 0xc2, 0xa5, 0xd7, 0x54, - 0x7f, 0x9d, 0x7b, 0x7f, 0x03, 0x00, 0x00, 0xff, 0xff, 0xb9, 0x6f, 0xd8, 0x1c, 0x4c, 0x05, 0x00, - 0x00, + // 531 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x54, 0xcd, 0x6e, 0xd3, 0x40, + 0x10, 0xce, 0xb6, 0x10, 0x89, 0x09, 0xe2, 0xb0, 0x54, 0x10, 0x59, 0x91, 0x5b, 0x59, 0x11, 0x84, + 0x16, 0x76, 0x71, 0xf8, 0xbb, 0x70, 0xaa, 0x10, 0x88, 0x5b, 0x1b, 0x38, 0xc1, 0x01, 0xad, 0x9d, + 0xc5, 0xb1, 0x14, 0x7b, 0x5d, 0xaf, 0x13, 0xa9, 0x42, 0x5c, 0x78, 0x02, 0xa4, 0xbe, 0x04, 0x42, + 0x3c, 0x04, 0xc7, 0x1e, 0x2b, 0x71, 0xe1, 0x04, 0x28, 0xe1, 0x1d, 0xb8, 0x22, 0xef, 0xae, 0x1b, + 0x9b, 0x54, 0x29, 0xbe, 0xad, 0xc6, 0xf3, 0xcd, 0xf7, 0x33, 0x23, 0x43, 0x2f, 0xf4, 0x7c, 0xca, + 0x92, 0x64, 0x1c, 0xfa, 0x2c, 0x0b, 0x45, 0x2c, 0x69, 0x96, 0xb2, 0x58, 0xbe, 0xe5, 0x29, 0x9d, + 0xba, 0xf4, 0x60, 0xc2, 0xd3, 0x43, 0x92, 0xa4, 0x22, 0x13, 0xb8, 0x13, 0x7a, 0x3e, 0x29, 0x77, + 0x92, 0xa2, 0x93, 0x4c, 0x5d, 0x6b, 0x23, 0x10, 0x81, 0x50, 0x8d, 0x34, 0x7f, 0x69, 0x8c, 0xb5, + 0xed, 0x0b, 0x19, 0x09, 0x49, 0x3d, 0x26, 0xb9, 0x1e, 0x46, 0xa7, 0xae, 0xc7, 0x33, 0xe6, 0xd2, + 0x84, 0x05, 0x61, 0xac, 0x06, 0x99, 0xde, 0x9d, 0x95, 0x4a, 0x4e, 0xb9, 0x74, 0x73, 0x27, 0x10, + 0x22, 0x18, 0x73, 0xca, 0x92, 0x90, 0xb2, 0x38, 0x16, 0x99, 0x91, 0xa4, 0xbe, 0x3a, 0xb7, 0xe1, + 0xda, 0x7e, 0x4e, 0xf6, 0x84, 0xc7, 0x22, 0x7a, 0x99, 0x32, 0x9f, 0x0f, 0xf8, 0xc1, 0x84, 0xcb, + 0x0c, 0x63, 0xb8, 0x30, 0x62, 0x72, 0xd4, 0x46, 0x5b, 0xa8, 0x77, 0x69, 0xa0, 0xde, 0xce, 0x10, + 0xae, 0x2f, 0x75, 0xcb, 0x44, 0xc4, 0x92, 0xe3, 0xe7, 0xd0, 0x1a, 0xe6, 0xd5, 0x37, 0x59, 0x5e, + 0x56, 0xa8, 0x56, 0xbf, 0x47, 0x56, 0x25, 0x41, 0x4a, 0x63, 0x60, 0x78, 0xfa, 0x76, 0xd8, 0x12, + 0x8b, 0x2c, 0x44, 0x3d, 0x05, 0x58, 0xa4, 0x61, 0x48, 0x6e, 0x10, 0x1d, 0x1d, 0xc9, 0xa3, 0x23, + 0x7a, 0x0f, 0x26, 0x3a, 0xb2, 0xc7, 0x82, 0xc2, 0xd0, 0xa0, 0x84, 0x74, 0xbe, 0x22, 0x68, 0x2f, + 0x73, 0x18, 0x2b, 0xaf, 0xe1, 0x72, 0xc9, 0x8a, 0x6c, 0xa3, 0xad, 0xf5, 0x3a, 0x5e, 0x76, 0xaf, + 0x1c, 0xff, 0xd8, 0x6c, 0x7c, 0xfe, 0xb9, 0xd9, 0x34, 0x73, 0x5b, 0x0b, 0x6f, 0x12, 0x3f, 0xab, + 0x38, 0x58, 0x53, 0x0e, 0x6e, 0x9e, 0xeb, 0x40, 0x2b, 0xab, 0x58, 0xd8, 0x00, 0xac, 0x1c, 0xec, + 0xb1, 0x94, 0x45, 0x45, 0x40, 0xce, 0x0b, 0xb8, 0x5a, 0xa9, 0x1a, 0x4b, 0x8f, 0xa1, 0x99, 0xa8, + 0x8a, 0xc9, 0xac, 0xbb, 0xda, 0x8c, 0x41, 0x1b, 0x4c, 0xff, 0xcf, 0x3a, 0x5c, 0x54, 0x53, 0xf1, + 0x17, 0x04, 0xb0, 0x70, 0x8a, 0xef, 0xaf, 0x1e, 0x73, 0xf6, 0x65, 0x59, 0x0f, 0x6a, 0xa2, 0xb4, + 0x07, 0xc7, 0xfd, 0xf0, 0xed, 0xf7, 0xd1, 0xda, 0x0e, 0xbe, 0x45, 0xcd, 0xf9, 0x57, 0xcf, 0xbe, + 0xbc, 0x32, 0xfa, 0x2e, 0x3f, 0xd7, 0xf7, 0xf8, 0x13, 0x82, 0x56, 0x69, 0xc3, 0xb8, 0x1e, 0x73, + 0x11, 0xaa, 0xf5, 0xb0, 0x2e, 0xcc, 0x28, 0xde, 0x56, 0x8a, 0xbb, 0xd8, 0x39, 0x5f, 0x31, 0x3e, + 0x42, 0xd0, 0xd4, 0xb1, 0xe3, 0xbb, 0xff, 0x41, 0x57, 0xd9, 0xba, 0xe5, 0xd6, 0x40, 0x18, 0x6d, + 0x5d, 0xa5, 0xcd, 0xc6, 0x9d, 0xb3, 0xb5, 0xe9, 0xcd, 0xef, 0xee, 0x1f, 0xcf, 0x6c, 0x74, 0x32, + 0xb3, 0xd1, 0xaf, 0x99, 0x8d, 0x3e, 0xce, 0xed, 0xc6, 0xc9, 0xdc, 0x6e, 0x7c, 0x9f, 0xdb, 0x8d, + 0x57, 0x8f, 0x82, 0x30, 0x1b, 0x4d, 0x3c, 0xe2, 0x8b, 0x88, 0x9a, 0x5f, 0x57, 0xe8, 0xf9, 0x77, + 0x02, 0x41, 0xa7, 0x7d, 0x1a, 0x89, 0xe1, 0x64, 0xcc, 0xe5, 0x3f, 0x63, 0xb3, 0xc3, 0x84, 0x4b, + 0xaf, 0xa9, 0x7e, 0x3c, 0xf7, 0xfe, 0x06, 0x00, 0x00, 0xff, 0xff, 0x7b, 0xbc, 0x36, 0x30, 0x4f, + 0x05, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. diff --git a/modules/apps/transfer/types/trace.go b/modules/apps/transfer/types/trace.go index 8d1e4937365..1d692e503ce 100644 --- a/modules/apps/transfer/types/trace.go +++ b/modules/apps/transfer/types/trace.go @@ -12,7 +12,7 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" - host "github.com/cosmos/ibc-go/modules/core/24-host" + host "github.com/cosmos/ibc-go/v2/modules/core/24-host" ) // ParseDenomTrace parses a string with the ibc prefix (denom trace) and the base denomination diff --git a/modules/apps/transfer/types/transfer.pb.go b/modules/apps/transfer/types/transfer.pb.go index 95df2214710..981f6ec1e63 100644 --- a/modules/apps/transfer/types/transfer.pb.go +++ b/modules/apps/transfer/types/transfer.pb.go @@ -150,26 +150,26 @@ func init() { } var fileDescriptor_5041673e96e97901 = []byte{ - // 296 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x5c, 0x90, 0xc1, 0x4a, 0x03, 0x31, - 0x10, 0x86, 0x9b, 0x22, 0xc5, 0x46, 0x51, 0x88, 0xa2, 0xa5, 0x68, 0x2a, 0x7b, 0x12, 0xc4, 0x0d, - 0x45, 0x4f, 0xbd, 0x08, 0x55, 0xaf, 0x22, 0xc5, 0x93, 0x97, 0x92, 0x64, 0xc7, 0x6d, 0x60, 0xb3, - 0x59, 0x92, 0xb4, 0xd0, 0x47, 0xf0, 0xe6, 0x63, 0x79, 0xec, 0xd1, 0x53, 0x91, 0xf6, 0x0d, 0xfa, - 0x04, 0xb2, 0x69, 0x59, 0x16, 0x6f, 0xff, 0xcc, 0x7c, 0xdf, 0x1c, 0x7e, 0x7c, 0xa3, 0x84, 0x64, - 0xbc, 0x28, 0x32, 0x25, 0xb9, 0x57, 0x26, 0x77, 0xcc, 0x5b, 0x9e, 0xbb, 0x0f, 0xb0, 0x6c, 0xd6, - 0xaf, 0x72, 0x5c, 0x58, 0xe3, 0x0d, 0xb9, 0x50, 0x42, 0xc6, 0x75, 0x38, 0xae, 0x80, 0x59, 0xbf, - 0x7b, 0x9a, 0x9a, 0xd4, 0x04, 0x90, 0x95, 0x69, 0xeb, 0x44, 0x0f, 0x18, 0x3f, 0x41, 0x6e, 0xf4, - 0x9b, 0xe5, 0x12, 0x08, 0xc1, 0x7b, 0x05, 0xf7, 0x93, 0x0e, 0xba, 0x42, 0xd7, 0xed, 0x51, 0xc8, - 0xe4, 0x12, 0x63, 0xc1, 0x1d, 0x8c, 0x93, 0x12, 0xeb, 0x34, 0xc3, 0xa5, 0x5d, 0x6e, 0x82, 0x17, - 0x7d, 0x22, 0xdc, 0x7a, 0xe5, 0x96, 0x6b, 0x47, 0x06, 0xf8, 0xd0, 0x41, 0x9e, 0x8c, 0x21, 0xe7, - 0x22, 0x83, 0x24, 0x7c, 0xd9, 0x1f, 0x9e, 0x6f, 0x96, 0xbd, 0x93, 0x39, 0xd7, 0xd9, 0x20, 0xaa, - 0x5f, 0xa3, 0xd1, 0x41, 0x39, 0x3e, 0x6f, 0x27, 0xf2, 0x88, 0x8f, 0x2d, 0x48, 0x50, 0x33, 0xa8, - 0xf4, 0x66, 0xd0, 0xbb, 0x9b, 0x65, 0xef, 0x6c, 0xab, 0xff, 0x03, 0xa2, 0xd1, 0xd1, 0x6e, 0xb3, - 0x7b, 0x32, 0x7c, 0xf9, 0x5e, 0x51, 0xb4, 0x58, 0x51, 0xf4, 0xbb, 0xa2, 0xe8, 0x6b, 0x4d, 0x1b, - 0x8b, 0x35, 0x6d, 0xfc, 0xac, 0x69, 0xe3, 0xfd, 0x3e, 0x55, 0x7e, 0x32, 0x15, 0xb1, 0x34, 0x9a, - 0x49, 0xe3, 0xb4, 0x71, 0x4c, 0x09, 0x79, 0x9b, 0x1a, 0xa6, 0x4d, 0x32, 0xcd, 0xc0, 0x95, 0x25, - 0xd7, 0xca, 0xf5, 0xf3, 0x02, 0x9c, 0x68, 0x85, 0x8e, 0xee, 0xfe, 0x02, 0x00, 0x00, 0xff, 0xff, - 0xac, 0xa4, 0x13, 0xf0, 0x86, 0x01, 0x00, 0x00, + // 300 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x5c, 0x90, 0xc1, 0x4a, 0x2b, 0x31, + 0x14, 0x86, 0x9b, 0x72, 0x29, 0xb7, 0x51, 0x14, 0xa2, 0x68, 0x29, 0x9a, 0xca, 0xac, 0x04, 0x71, + 0x42, 0x75, 0x21, 0x74, 0x23, 0x54, 0xdd, 0x6b, 0x71, 0xe5, 0xa6, 0x24, 0x99, 0xe3, 0x34, 0x30, + 0x99, 0x0c, 0x49, 0x3a, 0xd0, 0x47, 0x70, 0xe7, 0x63, 0xb9, 0xec, 0xd2, 0x55, 0x91, 0xf6, 0x0d, + 0xfa, 0x04, 0x32, 0x69, 0x29, 0x83, 0xbb, 0xff, 0x9c, 0xf3, 0x7d, 0x67, 0xf1, 0xe3, 0x2b, 0x25, + 0x24, 0xe3, 0x45, 0x91, 0x29, 0xc9, 0xbd, 0x32, 0xb9, 0x63, 0xde, 0xf2, 0xdc, 0xbd, 0x83, 0x65, + 0x65, 0x7f, 0x97, 0xe3, 0xc2, 0x1a, 0x6f, 0xc8, 0x99, 0x12, 0x32, 0xae, 0xc3, 0xf1, 0x0e, 0x28, + 0xfb, 0xdd, 0xe3, 0xd4, 0xa4, 0x26, 0x80, 0xac, 0x4a, 0x1b, 0x27, 0xba, 0xc7, 0xf8, 0x11, 0x72, + 0xa3, 0x5f, 0x2d, 0x97, 0x40, 0x08, 0xfe, 0x57, 0x70, 0x3f, 0xe9, 0xa0, 0x0b, 0x74, 0xd9, 0x1e, + 0x85, 0x4c, 0xce, 0x31, 0x16, 0xdc, 0xc1, 0x38, 0xa9, 0xb0, 0x4e, 0x33, 0x5c, 0xda, 0xd5, 0x26, + 0x78, 0xd1, 0x07, 0xc2, 0xad, 0x67, 0x6e, 0xb9, 0x76, 0x64, 0x80, 0xf7, 0x1d, 0xe4, 0xc9, 0x18, + 0x72, 0x2e, 0x32, 0x48, 0xc2, 0x97, 0xff, 0xc3, 0xd3, 0xf5, 0xa2, 0x77, 0x34, 0xe3, 0x3a, 0x1b, + 0x44, 0xf5, 0x6b, 0x34, 0xda, 0xab, 0xc6, 0xa7, 0xcd, 0x44, 0x1e, 0xf0, 0xa1, 0x05, 0x09, 0xaa, + 0x84, 0x9d, 0xde, 0x0c, 0x7a, 0x77, 0xbd, 0xe8, 0x9d, 0x6c, 0xf4, 0x3f, 0x40, 0x34, 0x3a, 0xd8, + 0x6e, 0xb6, 0x4f, 0x86, 0x2f, 0x5f, 0x4b, 0x8a, 0xe6, 0x4b, 0x8a, 0x7e, 0x96, 0x14, 0x7d, 0xae, + 0x68, 0x63, 0xbe, 0xa2, 0x8d, 0xef, 0x15, 0x6d, 0xbc, 0xdd, 0xa5, 0xca, 0x4f, 0xa6, 0x22, 0x96, + 0x46, 0x33, 0x69, 0x9c, 0x36, 0x8e, 0x29, 0x21, 0xaf, 0x53, 0xc3, 0xca, 0x1b, 0xa6, 0x4d, 0x32, + 0xcd, 0xc0, 0x55, 0x3d, 0xd7, 0xfa, 0xf5, 0xb3, 0x02, 0x9c, 0x68, 0x85, 0x9a, 0x6e, 0x7f, 0x03, + 0x00, 0x00, 0xff, 0xff, 0xb1, 0xc8, 0x63, 0x0e, 0x89, 0x01, 0x00, 0x00, } func (m *DenomTrace) Marshal() (dAtA []byte, err error) { diff --git a/modules/apps/transfer/types/tx.pb.go b/modules/apps/transfer/types/tx.pb.go index b8b14d0d455..37c26a1fb27 100644 --- a/modules/apps/transfer/types/tx.pb.go +++ b/modules/apps/transfer/types/tx.pb.go @@ -7,7 +7,7 @@ import ( context "context" fmt "fmt" types "github.com/cosmos/cosmos-sdk/types" - types1 "github.com/cosmos/ibc-go/modules/core/02-client/types" + types1 "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" _ "github.com/gogo/protobuf/gogoproto" grpc1 "github.com/gogo/protobuf/grpc" proto "github.com/gogo/protobuf/proto" @@ -132,38 +132,38 @@ func init() { } var fileDescriptor_7401ed9bed2f8e09 = []byte{ - // 491 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x93, 0x31, 0x6f, 0xd3, 0x40, - 0x14, 0xc7, 0x6d, 0x92, 0x86, 0x70, 0x51, 0x2b, 0x30, 0xb4, 0x72, 0xa3, 0x62, 0x47, 0x96, 0x90, - 0xc2, 0xc0, 0x9d, 0x5c, 0x40, 0x48, 0x9d, 0x50, 0xba, 0xc0, 0x50, 0x84, 0xac, 0x4e, 0x2c, 0xc5, - 0xbe, 0x1e, 0xce, 0x89, 0xf8, 0x9e, 0x75, 0x77, 0x89, 0xe8, 0x37, 0x60, 0xe4, 0x23, 0x74, 0xe6, - 0x93, 0x74, 0xec, 0xc8, 0x14, 0xa1, 0x64, 0x61, 0xce, 0x27, 0x40, 0x67, 0x5f, 0x82, 0xb3, 0xa0, - 0x4e, 0xbe, 0xf7, 0xfe, 0xbf, 0x77, 0x7f, 0xbd, 0x7b, 0xcf, 0xe8, 0x19, 0xcf, 0x28, 0x49, 0xcb, - 0x72, 0xc2, 0x69, 0xaa, 0x39, 0x08, 0x45, 0xb4, 0x4c, 0x85, 0xfa, 0xc2, 0x24, 0x99, 0xc5, 0x44, - 0x7f, 0xc3, 0xa5, 0x04, 0x0d, 0xde, 0x11, 0xcf, 0x28, 0x6e, 0x62, 0x78, 0x8d, 0xe1, 0x59, 0xdc, - 0x7f, 0x92, 0x43, 0x0e, 0x15, 0x48, 0xcc, 0xa9, 0xae, 0xe9, 0x07, 0x14, 0x54, 0x01, 0x8a, 0x64, - 0xa9, 0x62, 0x64, 0x16, 0x67, 0x4c, 0xa7, 0x31, 0xa1, 0xc0, 0x85, 0xd5, 0x43, 0x63, 0x4d, 0x41, - 0x32, 0x42, 0x27, 0x9c, 0x09, 0x6d, 0x0c, 0xeb, 0x53, 0x0d, 0x44, 0x3f, 0x5b, 0xa8, 0x77, 0xa6, - 0xf2, 0x73, 0xeb, 0xe4, 0xbd, 0x41, 0x3d, 0x05, 0x53, 0x49, 0xd9, 0x45, 0x09, 0x52, 0xfb, 0xee, - 0xc0, 0x1d, 0x3e, 0x18, 0x1d, 0xac, 0xe6, 0xa1, 0x77, 0x95, 0x16, 0x93, 0x93, 0xa8, 0x21, 0x46, - 0x09, 0xaa, 0xa3, 0x8f, 0x20, 0xb5, 0xf7, 0x16, 0xed, 0x59, 0x8d, 0x8e, 0x53, 0x21, 0xd8, 0xc4, - 0xbf, 0x57, 0xd5, 0x1e, 0xae, 0xe6, 0xe1, 0xfe, 0x56, 0xad, 0xd5, 0xa3, 0x64, 0xb7, 0x4e, 0x9c, - 0xd6, 0xb1, 0xf7, 0x1a, 0xed, 0x68, 0xf8, 0xca, 0x84, 0xdf, 0x1a, 0xb8, 0xc3, 0xde, 0xf1, 0x21, - 0xae, 0x7b, 0xc3, 0xa6, 0x37, 0x6c, 0x7b, 0xc3, 0xa7, 0xc0, 0xc5, 0xa8, 0x7d, 0x33, 0x0f, 0x9d, - 0xa4, 0xa6, 0xbd, 0x03, 0xd4, 0x51, 0x4c, 0x5c, 0x32, 0xe9, 0xb7, 0x8d, 0x61, 0x62, 0x23, 0xaf, - 0x8f, 0xba, 0x92, 0x51, 0xc6, 0x67, 0x4c, 0xfa, 0x3b, 0x95, 0xb2, 0x89, 0xbd, 0xcf, 0x68, 0x4f, - 0xf3, 0x82, 0xc1, 0x54, 0x5f, 0x8c, 0x19, 0xcf, 0xc7, 0xda, 0xef, 0x54, 0x9e, 0x7d, 0x6c, 0x66, - 0x60, 0xde, 0x0b, 0xdb, 0x57, 0x9a, 0xc5, 0xf8, 0x5d, 0x45, 0x8c, 0x9e, 0x1a, 0xd3, 0x7f, 0xcd, - 0x6c, 0xd7, 0x47, 0xc9, 0xae, 0x4d, 0xd4, 0xb4, 0xf7, 0x1e, 0x3d, 0x5a, 0x13, 0xe6, 0xab, 0x74, - 0x5a, 0x94, 0xfe, 0xfd, 0x81, 0x3b, 0x6c, 0x8f, 0x8e, 0x56, 0xf3, 0xd0, 0xdf, 0xbe, 0x64, 0x83, - 0x44, 0xc9, 0x43, 0x9b, 0x3b, 0x5f, 0xa7, 0x4e, 0xba, 0xdf, 0xaf, 0x43, 0xe7, 0xcf, 0x75, 0xe8, - 0x44, 0xfb, 0xe8, 0x71, 0x63, 0x56, 0x09, 0x53, 0x25, 0x08, 0xc5, 0x8e, 0x01, 0xb5, 0xce, 0x54, - 0xee, 0x8d, 0x51, 0x77, 0x33, 0xc6, 0xe7, 0xf8, 0x7f, 0xcb, 0x84, 0x1b, 0xb7, 0xf4, 0xe3, 0x3b, - 0xa3, 0x6b, 0xc3, 0xd1, 0x87, 0x9b, 0x45, 0xe0, 0xde, 0x2e, 0x02, 0xf7, 0xf7, 0x22, 0x70, 0x7f, - 0x2c, 0x03, 0xe7, 0x76, 0x19, 0x38, 0xbf, 0x96, 0x81, 0xf3, 0xe9, 0x55, 0xce, 0xf5, 0x78, 0x9a, - 0x61, 0x0a, 0x05, 0xb1, 0xab, 0xc9, 0x33, 0xfa, 0x22, 0x07, 0x52, 0xc0, 0xe5, 0x74, 0xc2, 0x94, - 0xf9, 0x0f, 0x1a, 0xfb, 0xaf, 0xaf, 0x4a, 0xa6, 0xb2, 0x4e, 0xb5, 0x8b, 0x2f, 0xff, 0x06, 0x00, - 0x00, 0xff, 0xff, 0xc1, 0x18, 0x20, 0x80, 0x29, 0x03, 0x00, 0x00, + // 495 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x93, 0xc1, 0x6e, 0xd3, 0x4c, + 0x10, 0xc7, 0xed, 0x2f, 0x69, 0xbe, 0xb0, 0x51, 0x2b, 0x30, 0xb4, 0x72, 0xa3, 0x62, 0x47, 0x96, + 0x90, 0xc2, 0x81, 0x5d, 0x39, 0x08, 0x55, 0xea, 0x09, 0xa5, 0x17, 0x38, 0x54, 0x02, 0xab, 0x27, + 0x2e, 0xc5, 0xde, 0x2e, 0xce, 0x8a, 0x78, 0xc7, 0xda, 0xdd, 0x58, 0xf4, 0x0d, 0x38, 0xf2, 0x08, + 0x3d, 0xf3, 0x24, 0x3d, 0xf6, 0xc8, 0x29, 0x42, 0xc9, 0x85, 0x73, 0x9e, 0x00, 0xad, 0xbd, 0x09, + 0xc9, 0x05, 0x71, 0xb2, 0x67, 0xfe, 0xbf, 0xd9, 0xbf, 0x66, 0x67, 0x16, 0x3d, 0xe3, 0x19, 0x25, + 0x69, 0x59, 0x4e, 0x39, 0x4d, 0x35, 0x07, 0xa1, 0x88, 0x96, 0xa9, 0x50, 0x9f, 0x98, 0x24, 0x55, + 0x4c, 0xf4, 0x17, 0x5c, 0x4a, 0xd0, 0xe0, 0x9d, 0xf0, 0x8c, 0xe2, 0x6d, 0x0c, 0xaf, 0x31, 0x5c, + 0xc5, 0xfd, 0x27, 0x39, 0xe4, 0x50, 0x83, 0xc4, 0xfc, 0x35, 0x35, 0xfd, 0x80, 0x82, 0x2a, 0x40, + 0x91, 0x2c, 0x55, 0x8c, 0x54, 0x71, 0xc6, 0x74, 0x1a, 0x13, 0x0a, 0x5c, 0x58, 0x3d, 0x34, 0xd6, + 0x14, 0x24, 0x23, 0x74, 0xca, 0x99, 0xd0, 0xc6, 0xb0, 0xf9, 0x6b, 0x80, 0xe8, 0x7b, 0x0b, 0xf5, + 0x2e, 0x54, 0x7e, 0x69, 0x9d, 0xbc, 0x53, 0xd4, 0x53, 0x30, 0x93, 0x94, 0x5d, 0x95, 0x20, 0xb5, + 0xef, 0x0e, 0xdc, 0xe1, 0x83, 0xf1, 0xd1, 0x6a, 0x1e, 0x7a, 0x37, 0x69, 0x31, 0x3d, 0x8b, 0xb6, + 0xc4, 0x28, 0x41, 0x4d, 0xf4, 0x0e, 0xa4, 0xf6, 0x5e, 0xa3, 0x03, 0xab, 0xd1, 0x49, 0x2a, 0x04, + 0x9b, 0xfa, 0xff, 0xd5, 0xb5, 0xc7, 0xab, 0x79, 0x78, 0xb8, 0x53, 0x6b, 0xf5, 0x28, 0xd9, 0x6f, + 0x12, 0xe7, 0x4d, 0xec, 0xbd, 0x42, 0x7b, 0x1a, 0x3e, 0x33, 0xe1, 0xb7, 0x06, 0xee, 0xb0, 0x37, + 0x3a, 0xc6, 0x4d, 0x6f, 0xd8, 0xf4, 0x86, 0x6d, 0x6f, 0xf8, 0x1c, 0xb8, 0x18, 0xb7, 0xef, 0xe6, + 0xa1, 0x93, 0x34, 0xb4, 0x77, 0x84, 0x3a, 0x8a, 0x89, 0x6b, 0x26, 0xfd, 0xb6, 0x31, 0x4c, 0x6c, + 0xe4, 0xf5, 0x51, 0x57, 0x32, 0xca, 0x78, 0xc5, 0xa4, 0xbf, 0x57, 0x2b, 0x9b, 0xd8, 0xfb, 0x88, + 0x0e, 0x34, 0x2f, 0x18, 0xcc, 0xf4, 0xd5, 0x84, 0xf1, 0x7c, 0xa2, 0xfd, 0x4e, 0xed, 0xd9, 0xc7, + 0x66, 0x06, 0xe6, 0xbe, 0xb0, 0xbd, 0xa5, 0x2a, 0xc6, 0x6f, 0x6a, 0x62, 0xfc, 0xd4, 0x98, 0xfe, + 0x69, 0x66, 0xb7, 0x3e, 0x4a, 0xf6, 0x6d, 0xa2, 0xa1, 0xbd, 0xb7, 0xe8, 0xd1, 0x9a, 0x30, 0x5f, + 0xa5, 0xd3, 0xa2, 0xf4, 0xff, 0x1f, 0xb8, 0xc3, 0xf6, 0xf8, 0x64, 0x35, 0x0f, 0xfd, 0xdd, 0x43, + 0x36, 0x48, 0x94, 0x3c, 0xb4, 0xb9, 0xcb, 0x75, 0xea, 0xac, 0xfb, 0xf5, 0x36, 0x74, 0x7e, 0xdd, + 0x86, 0x4e, 0x74, 0x88, 0x1e, 0x6f, 0xcd, 0x2a, 0x61, 0xaa, 0x04, 0xa1, 0xd8, 0x08, 0x50, 0xeb, + 0x42, 0xe5, 0xde, 0x04, 0x75, 0x37, 0x63, 0x7c, 0x8e, 0xff, 0xb6, 0x4c, 0x78, 0xeb, 0x94, 0x7e, + 0xfc, 0xcf, 0xe8, 0xda, 0x70, 0xfc, 0xfe, 0x6e, 0x11, 0xb8, 0xf7, 0x8b, 0xc0, 0xfd, 0xb9, 0x08, + 0xdc, 0x6f, 0xcb, 0xc0, 0xb9, 0x5f, 0x06, 0xce, 0x8f, 0x65, 0xe0, 0x7c, 0x38, 0xcd, 0xb9, 0x9e, + 0xcc, 0x32, 0x4c, 0xa1, 0x20, 0x76, 0x35, 0x79, 0x46, 0x5f, 0xe4, 0x40, 0xaa, 0x11, 0x29, 0xe0, + 0x7a, 0x36, 0x65, 0xca, 0x3c, 0x85, 0xad, 0x27, 0xa0, 0x6f, 0x4a, 0xa6, 0xb2, 0x4e, 0xbd, 0x8e, + 0x2f, 0x7f, 0x07, 0x00, 0x00, 0xff, 0xff, 0x10, 0x10, 0xcc, 0xb9, 0x2c, 0x03, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. diff --git a/modules/core/02-client/abci.go b/modules/core/02-client/abci.go index 4e1068c2609..f45a925be3f 100644 --- a/modules/core/02-client/abci.go +++ b/modules/core/02-client/abci.go @@ -2,9 +2,9 @@ package client import ( sdk "github.com/cosmos/cosmos-sdk/types" - "github.com/cosmos/ibc-go/modules/core/02-client/keeper" - "github.com/cosmos/ibc-go/modules/core/exported" - ibctmtypes "github.com/cosmos/ibc-go/modules/light-clients/07-tendermint/types" + "github.com/cosmos/ibc-go/v2/modules/core/02-client/keeper" + "github.com/cosmos/ibc-go/v2/modules/core/exported" + ibctmtypes "github.com/cosmos/ibc-go/v2/modules/light-clients/07-tendermint/types" ) // BeginBlocker updates an existing localhost client with the latest block height. diff --git a/modules/core/02-client/abci_test.go b/modules/core/02-client/abci_test.go index cad34f3b020..61115bef3d1 100644 --- a/modules/core/02-client/abci_test.go +++ b/modules/core/02-client/abci_test.go @@ -8,12 +8,12 @@ import ( tmproto "github.com/tendermint/tendermint/proto/tendermint/types" upgradetypes "github.com/cosmos/cosmos-sdk/x/upgrade/types" - client "github.com/cosmos/ibc-go/modules/core/02-client" - "github.com/cosmos/ibc-go/modules/core/02-client/types" - "github.com/cosmos/ibc-go/modules/core/exported" - ibctmtypes "github.com/cosmos/ibc-go/modules/light-clients/07-tendermint/types" - localhosttypes "github.com/cosmos/ibc-go/modules/light-clients/09-localhost/types" - ibctesting "github.com/cosmos/ibc-go/testing" + client "github.com/cosmos/ibc-go/v2/modules/core/02-client" + "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" + "github.com/cosmos/ibc-go/v2/modules/core/exported" + ibctmtypes "github.com/cosmos/ibc-go/v2/modules/light-clients/07-tendermint/types" + localhosttypes "github.com/cosmos/ibc-go/v2/modules/light-clients/09-localhost/types" + ibctesting "github.com/cosmos/ibc-go/v2/testing" ) type ClientTestSuite struct { diff --git a/modules/core/02-client/client/cli/cli.go b/modules/core/02-client/client/cli/cli.go index 1b6572ebb75..83fdc7ddb2e 100644 --- a/modules/core/02-client/client/cli/cli.go +++ b/modules/core/02-client/client/cli/cli.go @@ -4,7 +4,7 @@ import ( "github.com/spf13/cobra" "github.com/cosmos/cosmos-sdk/client" - "github.com/cosmos/ibc-go/modules/core/02-client/types" + "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" ) // GetQueryCmd returns the query commands for IBC clients diff --git a/modules/core/02-client/client/cli/query.go b/modules/core/02-client/client/cli/query.go index 8633b92a469..6de4cf1a3f5 100644 --- a/modules/core/02-client/client/cli/query.go +++ b/modules/core/02-client/client/cli/query.go @@ -9,9 +9,9 @@ import ( "github.com/cosmos/cosmos-sdk/client" "github.com/cosmos/cosmos-sdk/client/flags" "github.com/cosmos/cosmos-sdk/version" - "github.com/cosmos/ibc-go/modules/core/02-client/client/utils" - "github.com/cosmos/ibc-go/modules/core/02-client/types" - host "github.com/cosmos/ibc-go/modules/core/24-host" + "github.com/cosmos/ibc-go/v2/modules/core/02-client/client/utils" + "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" + host "github.com/cosmos/ibc-go/v2/modules/core/24-host" ) const ( diff --git a/modules/core/02-client/client/cli/tx.go b/modules/core/02-client/client/cli/tx.go index 1e6c21450f6..cbc71414e6f 100644 --- a/modules/core/02-client/client/cli/tx.go +++ b/modules/core/02-client/client/cli/tx.go @@ -17,8 +17,8 @@ import ( govcli "github.com/cosmos/cosmos-sdk/x/gov/client/cli" govtypes "github.com/cosmos/cosmos-sdk/x/gov/types" upgradetypes "github.com/cosmos/cosmos-sdk/x/upgrade/types" - "github.com/cosmos/ibc-go/modules/core/02-client/types" - "github.com/cosmos/ibc-go/modules/core/exported" + "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" + "github.com/cosmos/ibc-go/v2/modules/core/exported" ) // NewCreateClientCmd defines the command to create a new IBC light client. diff --git a/modules/core/02-client/client/proposal_handler.go b/modules/core/02-client/client/proposal_handler.go index 8f773dd45c1..d0324155d04 100644 --- a/modules/core/02-client/client/proposal_handler.go +++ b/modules/core/02-client/client/proposal_handler.go @@ -7,7 +7,7 @@ import ( "github.com/cosmos/cosmos-sdk/types/rest" govclient "github.com/cosmos/cosmos-sdk/x/gov/client" govrest "github.com/cosmos/cosmos-sdk/x/gov/client/rest" - "github.com/cosmos/ibc-go/modules/core/02-client/client/cli" + "github.com/cosmos/ibc-go/v2/modules/core/02-client/client/cli" ) var ( diff --git a/modules/core/02-client/client/utils/utils.go b/modules/core/02-client/client/utils/utils.go index 7f68db68de9..d26c278a5c3 100644 --- a/modules/core/02-client/client/utils/utils.go +++ b/modules/core/02-client/client/utils/utils.go @@ -9,12 +9,12 @@ import ( "github.com/cosmos/cosmos-sdk/codec" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" - "github.com/cosmos/ibc-go/modules/core/02-client/types" - commitmenttypes "github.com/cosmos/ibc-go/modules/core/23-commitment/types" - host "github.com/cosmos/ibc-go/modules/core/24-host" - ibcclient "github.com/cosmos/ibc-go/modules/core/client" - "github.com/cosmos/ibc-go/modules/core/exported" - ibctmtypes "github.com/cosmos/ibc-go/modules/light-clients/07-tendermint/types" + "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" + commitmenttypes "github.com/cosmos/ibc-go/v2/modules/core/23-commitment/types" + host "github.com/cosmos/ibc-go/v2/modules/core/24-host" + ibcclient "github.com/cosmos/ibc-go/v2/modules/core/client" + "github.com/cosmos/ibc-go/v2/modules/core/exported" + ibctmtypes "github.com/cosmos/ibc-go/v2/modules/light-clients/07-tendermint/types" ) // QueryClientState returns a client state. If prove is true, it performs an ABCI store query diff --git a/modules/core/02-client/genesis.go b/modules/core/02-client/genesis.go index df7db36af4e..5a332651408 100644 --- a/modules/core/02-client/genesis.go +++ b/modules/core/02-client/genesis.go @@ -4,9 +4,9 @@ import ( "fmt" sdk "github.com/cosmos/cosmos-sdk/types" - "github.com/cosmos/ibc-go/modules/core/02-client/keeper" - "github.com/cosmos/ibc-go/modules/core/02-client/types" - "github.com/cosmos/ibc-go/modules/core/exported" + "github.com/cosmos/ibc-go/v2/modules/core/02-client/keeper" + "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" + "github.com/cosmos/ibc-go/v2/modules/core/exported" ) // InitGenesis initializes the ibc client submodule's state from a provided genesis diff --git a/modules/core/02-client/keeper/client.go b/modules/core/02-client/keeper/client.go index b16fa819c5b..4537432329d 100644 --- a/modules/core/02-client/keeper/client.go +++ b/modules/core/02-client/keeper/client.go @@ -8,8 +8,8 @@ import ( "github.com/cosmos/cosmos-sdk/telemetry" sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" - "github.com/cosmos/ibc-go/modules/core/02-client/types" - "github.com/cosmos/ibc-go/modules/core/exported" + "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" + "github.com/cosmos/ibc-go/v2/modules/core/exported" ) // CreateClient creates a new client state and populates it with a given consensus diff --git a/modules/core/02-client/keeper/client_test.go b/modules/core/02-client/keeper/client_test.go index f8719b38759..66c95f456a7 100644 --- a/modules/core/02-client/keeper/client_test.go +++ b/modules/core/02-client/keeper/client_test.go @@ -8,14 +8,14 @@ import ( tmtypes "github.com/tendermint/tendermint/types" upgradetypes "github.com/cosmos/cosmos-sdk/x/upgrade/types" - "github.com/cosmos/ibc-go/modules/core/02-client/types" - clienttypes "github.com/cosmos/ibc-go/modules/core/02-client/types" - commitmenttypes "github.com/cosmos/ibc-go/modules/core/23-commitment/types" - "github.com/cosmos/ibc-go/modules/core/exported" - ibctmtypes "github.com/cosmos/ibc-go/modules/light-clients/07-tendermint/types" - localhosttypes "github.com/cosmos/ibc-go/modules/light-clients/09-localhost/types" - ibctesting "github.com/cosmos/ibc-go/testing" - ibctestingmock "github.com/cosmos/ibc-go/testing/mock" + "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" + clienttypes "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" + commitmenttypes "github.com/cosmos/ibc-go/v2/modules/core/23-commitment/types" + "github.com/cosmos/ibc-go/v2/modules/core/exported" + ibctmtypes "github.com/cosmos/ibc-go/v2/modules/light-clients/07-tendermint/types" + localhosttypes "github.com/cosmos/ibc-go/v2/modules/light-clients/09-localhost/types" + ibctesting "github.com/cosmos/ibc-go/v2/testing" + ibctestingmock "github.com/cosmos/ibc-go/v2/testing/mock" ) func (suite *KeeperTestSuite) TestCreateClient() { diff --git a/modules/core/02-client/keeper/encoding.go b/modules/core/02-client/keeper/encoding.go index cf1b3b110ad..dbdd838f830 100644 --- a/modules/core/02-client/keeper/encoding.go +++ b/modules/core/02-client/keeper/encoding.go @@ -1,8 +1,8 @@ package keeper import ( - "github.com/cosmos/ibc-go/modules/core/02-client/types" - "github.com/cosmos/ibc-go/modules/core/exported" + "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" + "github.com/cosmos/ibc-go/v2/modules/core/exported" ) // UnmarshalClientState attempts to decode and return an ClientState object from diff --git a/modules/core/02-client/keeper/grpc_query.go b/modules/core/02-client/keeper/grpc_query.go index 4ebfadb5369..3909b34ddfc 100644 --- a/modules/core/02-client/keeper/grpc_query.go +++ b/modules/core/02-client/keeper/grpc_query.go @@ -14,9 +14,9 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" "github.com/cosmos/cosmos-sdk/types/query" - "github.com/cosmos/ibc-go/modules/core/02-client/types" - host "github.com/cosmos/ibc-go/modules/core/24-host" - "github.com/cosmos/ibc-go/modules/core/exported" + "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" + host "github.com/cosmos/ibc-go/v2/modules/core/24-host" + "github.com/cosmos/ibc-go/v2/modules/core/exported" ) var _ types.QueryServer = Keeper{} diff --git a/modules/core/02-client/keeper/grpc_query_test.go b/modules/core/02-client/keeper/grpc_query_test.go index f066b05b822..6dc9cbfc5bc 100644 --- a/modules/core/02-client/keeper/grpc_query_test.go +++ b/modules/core/02-client/keeper/grpc_query_test.go @@ -10,11 +10,11 @@ import ( "github.com/cosmos/cosmos-sdk/types/query" "google.golang.org/grpc/metadata" - "github.com/cosmos/ibc-go/modules/core/02-client/types" - commitmenttypes "github.com/cosmos/ibc-go/modules/core/23-commitment/types" - "github.com/cosmos/ibc-go/modules/core/exported" - ibctmtypes "github.com/cosmos/ibc-go/modules/light-clients/07-tendermint/types" - ibctesting "github.com/cosmos/ibc-go/testing" + "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" + commitmenttypes "github.com/cosmos/ibc-go/v2/modules/core/23-commitment/types" + "github.com/cosmos/ibc-go/v2/modules/core/exported" + ibctmtypes "github.com/cosmos/ibc-go/v2/modules/light-clients/07-tendermint/types" + ibctesting "github.com/cosmos/ibc-go/v2/testing" ) func (suite *KeeperTestSuite) TestQueryClientState() { diff --git a/modules/core/02-client/keeper/keeper.go b/modules/core/02-client/keeper/keeper.go index 2211216ae27..12d360e4053 100644 --- a/modules/core/02-client/keeper/keeper.go +++ b/modules/core/02-client/keeper/keeper.go @@ -14,11 +14,11 @@ import ( sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" paramtypes "github.com/cosmos/cosmos-sdk/x/params/types" upgradetypes "github.com/cosmos/cosmos-sdk/x/upgrade/types" - "github.com/cosmos/ibc-go/modules/core/02-client/types" - commitmenttypes "github.com/cosmos/ibc-go/modules/core/23-commitment/types" - host "github.com/cosmos/ibc-go/modules/core/24-host" - "github.com/cosmos/ibc-go/modules/core/exported" - ibctmtypes "github.com/cosmos/ibc-go/modules/light-clients/07-tendermint/types" + "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" + commitmenttypes "github.com/cosmos/ibc-go/v2/modules/core/23-commitment/types" + host "github.com/cosmos/ibc-go/v2/modules/core/24-host" + "github.com/cosmos/ibc-go/v2/modules/core/exported" + ibctmtypes "github.com/cosmos/ibc-go/v2/modules/light-clients/07-tendermint/types" ) // Keeper represents a type that grants read and write permissions to any client diff --git a/modules/core/02-client/keeper/keeper_test.go b/modules/core/02-client/keeper/keeper_test.go index 9d318eb7800..54df1c15013 100644 --- a/modules/core/02-client/keeper/keeper_test.go +++ b/modules/core/02-client/keeper/keeper_test.go @@ -15,15 +15,15 @@ import ( cryptocodec "github.com/cosmos/cosmos-sdk/crypto/codec" sdk "github.com/cosmos/cosmos-sdk/types" stakingtypes "github.com/cosmos/cosmos-sdk/x/staking/types" - "github.com/cosmos/ibc-go/modules/core/02-client/keeper" - "github.com/cosmos/ibc-go/modules/core/02-client/types" - commitmenttypes "github.com/cosmos/ibc-go/modules/core/23-commitment/types" - "github.com/cosmos/ibc-go/modules/core/exported" - ibctmtypes "github.com/cosmos/ibc-go/modules/light-clients/07-tendermint/types" - localhosttypes "github.com/cosmos/ibc-go/modules/light-clients/09-localhost/types" - ibctesting "github.com/cosmos/ibc-go/testing" - ibctestingmock "github.com/cosmos/ibc-go/testing/mock" - "github.com/cosmos/ibc-go/testing/simapp" + "github.com/cosmos/ibc-go/v2/modules/core/02-client/keeper" + "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" + commitmenttypes "github.com/cosmos/ibc-go/v2/modules/core/23-commitment/types" + "github.com/cosmos/ibc-go/v2/modules/core/exported" + ibctmtypes "github.com/cosmos/ibc-go/v2/modules/light-clients/07-tendermint/types" + localhosttypes "github.com/cosmos/ibc-go/v2/modules/light-clients/09-localhost/types" + ibctesting "github.com/cosmos/ibc-go/v2/testing" + ibctestingmock "github.com/cosmos/ibc-go/v2/testing/mock" + "github.com/cosmos/ibc-go/v2/testing/simapp" ) const ( diff --git a/modules/core/02-client/keeper/migrations.go b/modules/core/02-client/keeper/migrations.go index 5f2088d6ccc..d79134fe5f7 100644 --- a/modules/core/02-client/keeper/migrations.go +++ b/modules/core/02-client/keeper/migrations.go @@ -3,7 +3,7 @@ package keeper import ( sdk "github.com/cosmos/cosmos-sdk/types" - v100 "github.com/cosmos/ibc-go/modules/core/02-client/legacy/v100" + v100 "github.com/cosmos/ibc-go/v2/modules/core/02-client/legacy/v100" ) // Migrator is a struct for handling in-place store migrations. diff --git a/modules/core/02-client/keeper/params.go b/modules/core/02-client/keeper/params.go index 2addf95d0df..2fe9ebbd764 100644 --- a/modules/core/02-client/keeper/params.go +++ b/modules/core/02-client/keeper/params.go @@ -2,7 +2,7 @@ package keeper import ( sdk "github.com/cosmos/cosmos-sdk/types" - "github.com/cosmos/ibc-go/modules/core/02-client/types" + "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" ) // GetAllowedClients retrieves the allowed clients from the paramstore diff --git a/modules/core/02-client/keeper/params_test.go b/modules/core/02-client/keeper/params_test.go index cbcc2fea161..9c36f893baa 100644 --- a/modules/core/02-client/keeper/params_test.go +++ b/modules/core/02-client/keeper/params_test.go @@ -1,7 +1,7 @@ package keeper_test import ( - "github.com/cosmos/ibc-go/modules/core/02-client/types" + "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" ) func (suite *KeeperTestSuite) TestParams() { diff --git a/modules/core/02-client/keeper/proposal.go b/modules/core/02-client/keeper/proposal.go index da2e93ba7eb..65c357fcfc2 100644 --- a/modules/core/02-client/keeper/proposal.go +++ b/modules/core/02-client/keeper/proposal.go @@ -6,8 +6,8 @@ import ( "github.com/cosmos/cosmos-sdk/telemetry" sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" - "github.com/cosmos/ibc-go/modules/core/02-client/types" - "github.com/cosmos/ibc-go/modules/core/exported" + "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" + "github.com/cosmos/ibc-go/v2/modules/core/exported" ) // ClientUpdateProposal will retrieve the subject and substitute client. diff --git a/modules/core/02-client/keeper/proposal_test.go b/modules/core/02-client/keeper/proposal_test.go index 8a4270653e9..a9062ea2ead 100644 --- a/modules/core/02-client/keeper/proposal_test.go +++ b/modules/core/02-client/keeper/proposal_test.go @@ -3,10 +3,10 @@ package keeper_test import ( govtypes "github.com/cosmos/cosmos-sdk/x/gov/types" upgradetypes "github.com/cosmos/cosmos-sdk/x/upgrade/types" - "github.com/cosmos/ibc-go/modules/core/02-client/types" - "github.com/cosmos/ibc-go/modules/core/exported" - ibctmtypes "github.com/cosmos/ibc-go/modules/light-clients/07-tendermint/types" - ibctesting "github.com/cosmos/ibc-go/testing" + "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" + "github.com/cosmos/ibc-go/v2/modules/core/exported" + ibctmtypes "github.com/cosmos/ibc-go/v2/modules/light-clients/07-tendermint/types" + ibctesting "github.com/cosmos/ibc-go/v2/testing" ) func (suite *KeeperTestSuite) TestClientUpdateProposal() { diff --git a/modules/core/02-client/legacy/v100/genesis.go b/modules/core/02-client/legacy/v100/genesis.go index 65aa4210e13..0f514c0e799 100644 --- a/modules/core/02-client/legacy/v100/genesis.go +++ b/modules/core/02-client/legacy/v100/genesis.go @@ -7,10 +7,10 @@ import ( "github.com/cosmos/cosmos-sdk/codec" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" - "github.com/cosmos/ibc-go/modules/core/02-client/types" - host "github.com/cosmos/ibc-go/modules/core/24-host" - "github.com/cosmos/ibc-go/modules/core/exported" - ibctmtypes "github.com/cosmos/ibc-go/modules/light-clients/07-tendermint/types" + "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" + host "github.com/cosmos/ibc-go/v2/modules/core/24-host" + "github.com/cosmos/ibc-go/v2/modules/core/exported" + ibctmtypes "github.com/cosmos/ibc-go/v2/modules/light-clients/07-tendermint/types" ) // MigrateGenesis accepts exported v1.0.0 IBC client genesis file and migrates it to: diff --git a/modules/core/02-client/legacy/v100/genesis_test.go b/modules/core/02-client/legacy/v100/genesis_test.go index 0c3235c6582..109a97715ce 100644 --- a/modules/core/02-client/legacy/v100/genesis_test.go +++ b/modules/core/02-client/legacy/v100/genesis_test.go @@ -9,14 +9,14 @@ import ( "github.com/cosmos/cosmos-sdk/codec" codectypes "github.com/cosmos/cosmos-sdk/codec/types" - ibcclient "github.com/cosmos/ibc-go/modules/core/02-client" - v100 "github.com/cosmos/ibc-go/modules/core/02-client/legacy/v100" - "github.com/cosmos/ibc-go/modules/core/02-client/types" - host "github.com/cosmos/ibc-go/modules/core/24-host" - "github.com/cosmos/ibc-go/modules/core/exported" - ibctmtypes "github.com/cosmos/ibc-go/modules/light-clients/07-tendermint/types" - ibctesting "github.com/cosmos/ibc-go/testing" - "github.com/cosmos/ibc-go/testing/simapp" + ibcclient "github.com/cosmos/ibc-go/v2/modules/core/02-client" + v100 "github.com/cosmos/ibc-go/v2/modules/core/02-client/legacy/v100" + "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" + host "github.com/cosmos/ibc-go/v2/modules/core/24-host" + "github.com/cosmos/ibc-go/v2/modules/core/exported" + ibctmtypes "github.com/cosmos/ibc-go/v2/modules/light-clients/07-tendermint/types" + ibctesting "github.com/cosmos/ibc-go/v2/testing" + "github.com/cosmos/ibc-go/v2/testing/simapp" ) func (suite *LegacyTestSuite) TestMigrateGenesisSolomachine() { diff --git a/modules/core/02-client/legacy/v100/solomachine.go b/modules/core/02-client/legacy/v100/solomachine.go index 80b062faff1..b6c1142cab4 100644 --- a/modules/core/02-client/legacy/v100/solomachine.go +++ b/modules/core/02-client/legacy/v100/solomachine.go @@ -7,7 +7,7 @@ import ( cryptotypes "github.com/cosmos/cosmos-sdk/crypto/types" sdk "github.com/cosmos/cosmos-sdk/types" - "github.com/cosmos/ibc-go/modules/core/exported" + "github.com/cosmos/ibc-go/v2/modules/core/exported" ) // NOTE: this is a mock implmentation for exported.ClientState. This implementation diff --git a/modules/core/02-client/legacy/v100/solomachine.pb.go b/modules/core/02-client/legacy/v100/solomachine.pb.go index c35edaf8b39..c954e62f7e6 100644 --- a/modules/core/02-client/legacy/v100/solomachine.pb.go +++ b/modules/core/02-client/legacy/v100/solomachine.pb.go @@ -6,8 +6,8 @@ package v100 import ( fmt "fmt" types "github.com/cosmos/cosmos-sdk/codec/types" - types1 "github.com/cosmos/ibc-go/modules/core/03-connection/types" - types2 "github.com/cosmos/ibc-go/modules/core/04-channel/types" + types1 "github.com/cosmos/ibc-go/v2/modules/core/03-connection/types" + types2 "github.com/cosmos/ibc-go/v2/modules/core/04-channel/types" _ "github.com/gogo/protobuf/gogoproto" proto "github.com/gogo/protobuf/proto" io "io" @@ -823,93 +823,93 @@ func init() { } var fileDescriptor_6cc2ee18f7f86d4e = []byte{ - // 1368 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, 0xee, 0xe6, 0x73, 0xd3, 0x36, 0xeb, 0x56, 0x89, 0x3f, - 0x7f, 0xfa, 0xca, 0x82, 0x68, 0xd2, 0x5d, 0x44, 0x85, 0x0a, 0x02, 0x1c, 0xc7, 0xd0, 0xb4, 0xbb, - 0xde, 0xe0, 0x38, 0x40, 0x2b, 0x24, 0xcb, 0x71, 0xce, 0x26, 0x56, 0x13, 0x9f, 0x10, 0x3b, 0x49, - 0x83, 0x84, 0x84, 0xb8, 0x2a, 0x11, 0x17, 0xbc, 0x40, 0x24, 0x04, 0xe2, 0x55, 0x80, 0xcb, 0x72, - 0xc7, 0x55, 0x40, 0xed, 0x1b, 0xe4, 0x09, 0x90, 0x7d, 0x4e, 0x62, 0x3b, 0xdb, 0xcd, 0x8a, 0x7f, - 0x77, 0xe7, 0xcc, 0xfc, 0xe6, 0x37, 0x73, 0x66, 0xc6, 0x73, 0x8e, 0x61, 0xcf, 0xaa, 0x9b, 0x85, - 0xb6, 0xd5, 0x6c, 0xb9, 0x66, 0xdb, 0x42, 0xb6, 0xeb, 0x14, 0x1c, 0xdc, 0xc6, 0x1d, 0xc3, 0x6c, - 0x59, 0x36, 0x2a, 0x0c, 0xf6, 0xc2, 0xdb, 0x7c, 0xb7, 0x87, 0x5d, 0xcc, 0xe6, 0xac, 0xba, 0x99, - 0x0f, 0x9b, 0xe4, 0xc3, 0x98, 0xc1, 0x1e, 0xf7, 0x92, 0xc7, 0x69, 0xe2, 0x1e, 0x2a, 0x98, 0xd8, - 0xb6, 0x91, 0xe9, 0x5a, 0xd8, 0xf6, 0xa8, 0x82, 0x1d, 0x61, 0xe2, 0xfe, 0x1b, 0x00, 0x5b, 0x86, - 0x6d, 0xa3, 0xb6, 0x8f, 0x22, 0x4b, 0x0a, 0x49, 0x37, 0x71, 0x13, 0xfb, 0xcb, 0x82, 0xb7, 0xa2, - 0xd2, 0x9d, 0x26, 0xc6, 0xcd, 0x36, 0x2a, 0xf8, 0xbb, 0x7a, 0xff, 0xb8, 0x60, 0xd8, 0x23, 0xa2, - 0x12, 0x7e, 0x89, 0x41, 0x52, 0xf2, 0xe3, 0xaa, 0xba, 0x86, 0x8b, 0x58, 0x0e, 0x36, 0x1c, 0xf4, - 0x69, 0x1f, 0xd9, 0x26, 0xca, 0x30, 0x3c, 0xb3, 0x1b, 0x57, 0x17, 0x7b, 0x56, 0x82, 0xed, 0xe3, - 0x1e, 0xfe, 0x0c, 0xd9, 0xfa, 0x02, 0x12, 0xf3, 0x20, 0x45, 0x6e, 0x36, 0xcd, 0x5d, 0x19, 0x19, - 0x9d, 0xf6, 0x1d, 0x61, 0x09, 0x20, 0xa8, 0x5b, 0x44, 0x52, 0x9d, 0x93, 0xb8, 0xb0, 0x6d, 0x62, - 0xdb, 0x41, 0xb6, 0xd3, 0x77, 0x74, 0xc7, 0xf3, 0x99, 0x39, 0xc7, 0x33, 0xbb, 0xc9, 0xfd, 0x42, - 0xfe, 0x8c, 0x44, 0xe5, 0xa5, 0xb9, 0x9d, 0x1f, 0x6a, 0xd8, 0xeb, 0x12, 0xa3, 0xa0, 0x6e, 0x99, - 0x11, 0x2c, 0x8b, 0xe0, 0x9a, 0xd1, 0x6e, 0xe3, 0xa1, 0xde, 0xef, 0x36, 0x0c, 0x17, 0xe9, 0xc6, - 0xb1, 0x8b, 0x7a, 0x7a, 0xb7, 0x87, 0xbb, 0xd8, 0x31, 0xda, 0x99, 0x38, 0xcf, 0xec, 0x6e, 0x14, - 0x6f, 0xcc, 0xa6, 0x39, 0x81, 0x10, 0xae, 0x00, 0x0b, 0x6a, 0xc6, 0xd7, 0xd6, 0x7c, 0xa5, 0xe8, - 0xe9, 0x2a, 0x54, 0x75, 0x27, 0xfe, 0xe4, 0xdb, 0xdc, 0x9a, 0xf0, 0x1d, 0x03, 0x5b, 0xd1, 0x58, - 0xd9, 0x7b, 0x00, 0xdd, 0x7e, 0xbd, 0x6d, 0x99, 0xfa, 0x23, 0x34, 0xf2, 0x13, 0x9b, 0xdc, 0x4f, - 0xe7, 0x49, 0x59, 0xf2, 0xf3, 0xb2, 0xe4, 0x45, 0x7b, 0x54, 0xbc, 0x3c, 0x9b, 0xe6, 0xfe, 0x43, - 0x82, 0x08, 0x2c, 0x04, 0x35, 0x41, 0x36, 0xf7, 0xd1, 0x88, 0xe5, 0x21, 0xd9, 0xb0, 0x06, 0xa8, - 0xe7, 0x58, 0xc7, 0x16, 0xea, 0xf9, 0x25, 0x48, 0xa8, 0x61, 0x11, 0x7b, 0x1d, 0x12, 0xae, 0xd5, - 0x41, 0x8e, 0x6b, 0x74, 0xba, 0x7e, 0x76, 0xe3, 0x6a, 0x20, 0xa0, 0x41, 0x7e, 0x19, 0x83, 0xf5, - 0xbb, 0xc8, 0x68, 0xa0, 0xde, 0xca, 0x9a, 0x47, 0xa8, 0x62, 0x4b, 0x54, 0x9e, 0xd6, 0xb1, 0x9a, - 0xb6, 0xe1, 0xf6, 0x7b, 0xa4, 0x8c, 0x9b, 0x6a, 0x20, 0x60, 0x6b, 0xb0, 0x65, 0xa3, 0xa1, 0x1e, - 0x3a, 0x78, 0x7c, 0xc5, 0xc1, 0x77, 0x66, 0xd3, 0xdc, 0x65, 0x72, 0xf0, 0xa8, 0x95, 0xa0, 0x6e, - 0xda, 0x68, 0x58, 0x59, 0x9c, 0x5f, 0x82, 0x6d, 0x0f, 0x10, 0xce, 0xc1, 0x79, 0x2f, 0x07, 0xe1, - 0x86, 0x58, 0x02, 0x08, 0xaa, 0x17, 0x49, 0x29, 0x10, 0xd0, 0x24, 0xfc, 0x14, 0x83, 0xcd, 0x43, - 0xcb, 0xa9, 0xa3, 0x96, 0x31, 0xb0, 0x70, 0xbf, 0xc7, 0xee, 0x41, 0x82, 0x34, 0x9f, 0x6e, 0x35, - 0xfc, 0x5c, 0x24, 0x8a, 0xe9, 0xd9, 0x34, 0x97, 0xa2, 0x6d, 0x36, 0x57, 0x09, 0xea, 0x06, 0x59, - 0x97, 0x1b, 0x91, 0xec, 0xc5, 0x96, 0xb2, 0xd7, 0x85, 0x8b, 0x8b, 0x74, 0xe8, 0xd8, 0x9e, 0xb7, - 0xfa, 0xde, 0x99, 0xad, 0x5e, 0x9d, 0x5b, 0x89, 0x76, 0xa3, 0x64, 0xb8, 0x46, 0x31, 0x33, 0x9b, - 0xe6, 0xd2, 0x24, 0x8a, 0x08, 0xa3, 0xa0, 0x6e, 0x2e, 0xf6, 0x47, 0xf6, 0x92, 0x47, 0x77, 0x88, - 0x69, 0xca, 0xff, 0x29, 0x8f, 0xee, 0x10, 0x87, 0x3d, 0x6a, 0x43, 0x4c, 0x33, 0xf9, 0x23, 0x03, - 0xa9, 0x65, 0x8a, 0x68, 0x7b, 0x30, 0xcb, 0xed, 0xf1, 0x09, 0x24, 0x1a, 0x86, 0x6b, 0xe8, 0xee, - 0xa8, 0x4b, 0x32, 0xb7, 0xb5, 0xff, 0xf2, 0x99, 0x61, 0x7a, 0xbc, 0xda, 0xa8, 0x8b, 0xc2, 0x65, - 0x59, 0xb0, 0x08, 0xea, 0x46, 0x83, 0xea, 0x59, 0x16, 0xe2, 0xde, 0x9a, 0x76, 0xa5, 0xbf, 0x8e, - 0x36, 0x73, 0xfc, 0xc5, 0xdf, 0xc5, 0x17, 0x0c, 0x64, 0xb4, 0xb9, 0x0c, 0x35, 0x16, 0x67, 0xf2, - 0x0f, 0xf4, 0x2e, 0x6c, 0x05, 0xb9, 0xf0, 0xe9, 0xfd, 0x53, 0x85, 0x7b, 0x37, 0xaa, 0x17, 0xd4, - 0xa0, 0x1c, 0xa5, 0x13, 0x21, 0xc4, 0x5e, 0x1c, 0xc2, 0x6f, 0x0c, 0x24, 0x3c, 0xbf, 0xc5, 0x91, - 0x8b, 0x9c, 0xbf, 0xf1, 0x75, 0x2e, 0x0d, 0x8a, 0x73, 0x27, 0x07, 0x45, 0xa4, 0x04, 0xf1, 0x7f, - 0xab, 0x04, 0xe7, 0x83, 0x12, 0xd0, 0x13, 0xfe, 0xc0, 0x00, 0x90, 0xe1, 0xe3, 0x27, 0xe5, 0x00, - 0x92, 0xf4, 0x93, 0x3f, 0x73, 0x3c, 0x5e, 0x99, 0x4d, 0x73, 0x6c, 0x64, 0x4a, 0xd0, 0xf9, 0x48, - 0x46, 0xc4, 0x29, 0xf3, 0x21, 0xf6, 0x17, 0xe7, 0xc3, 0xe7, 0xb0, 0x1d, 0xba, 0x1c, 0xfd, 0x58, - 0x59, 0x88, 0x77, 0x0d, 0xb7, 0x45, 0xdb, 0xd9, 0x5f, 0xb3, 0x15, 0xd8, 0xa4, 0xa3, 0x81, 0x5c, - 0x68, 0xb1, 0x15, 0x07, 0xb8, 0x3a, 0x9b, 0xe6, 0x2e, 0x45, 0xc6, 0x09, 0xbd, 0xb2, 0x92, 0x66, - 0xe0, 0x89, 0xba, 0xff, 0x8a, 0x01, 0x36, 0x7a, 0x91, 0x9c, 0x1a, 0xc2, 0x83, 0x93, 0xd7, 0xea, - 0xaa, 0x28, 0xfe, 0xc4, 0xdd, 0x49, 0x63, 0x19, 0xc0, 0x25, 0x69, 0xf1, 0x20, 0x59, 0x1d, 0x8b, - 0x0c, 0x10, 0xbc, 0x5d, 0x68, 0x18, 0xff, 0xf7, 0xdb, 0xca, 0x7b, 0xbc, 0xe4, 0x43, 0xef, 0x1a, - 0x72, 0xa9, 0xd3, 0x9d, 0x6c, 0x37, 0xd4, 0x90, 0x21, 0xf5, 0xdb, 0x80, 0x94, 0x44, 0x9e, 0x38, - 0xab, 0x9d, 0xde, 0x86, 0x0b, 0xf4, 0x29, 0x44, 0x3d, 0x5e, 0x0f, 0x79, 0xa4, 0x6f, 0x24, 0xcf, - 0x1d, 0x59, 0xaa, 0x73, 0x30, 0xf5, 0x72, 0x0f, 0xd2, 0x15, 0xc3, 0x7c, 0x84, 0x5c, 0x09, 0x77, - 0x3a, 0x96, 0xdb, 0x41, 0xb6, 0x7b, 0xaa, 0xa7, 0xac, 0x77, 0xbc, 0x39, 0xca, 0x77, 0xb6, 0xa9, - 0x86, 0x24, 0xc2, 0x03, 0xd8, 0x21, 0x5c, 0xa2, 0xf9, 0xc8, 0xc6, 0xc3, 0x36, 0x6a, 0x34, 0xd1, - 0x4a, 0xc2, 0x5d, 0xd8, 0x36, 0xa2, 0x50, 0xca, 0xba, 0x2c, 0x16, 0xf2, 0x90, 0x21, 0xd4, 0x2a, - 0x32, 0x91, 0xd5, 0x75, 0xc5, 0xba, 0xe3, 0xcd, 0x81, 0xd3, 0x98, 0x85, 0x16, 0xa4, 0x15, 0xf4, - 0xd8, 0x9d, 0x3f, 0xbe, 0x54, 0x64, 0x0e, 0x4e, 0x8d, 0xe2, 0x2d, 0xb8, 0x68, 0xa3, 0xc7, 0xae, - 0xf7, 0x74, 0xd3, 0x7b, 0xc8, 0x1c, 0xd0, 0xb7, 0x5d, 0xe8, 0x1a, 0x88, 0xa8, 0x05, 0x35, 0x69, - 0x13, 0x6a, 0x8f, 0xf5, 0x95, 0xaf, 0xe3, 0xb0, 0x31, 0x1f, 0x0c, 0xec, 0x1b, 0xf0, 0xbf, 0x92, - 0xa8, 0x89, 0xba, 0xf6, 0xa0, 0x22, 0xeb, 0x35, 0xa5, 0xac, 0x94, 0xb5, 0xb2, 0x78, 0x50, 0x7e, - 0x28, 0x97, 0xf4, 0x9a, 0x52, 0xad, 0xc8, 0x52, 0xf9, 0xbd, 0xb2, 0x5c, 0x4a, 0xad, 0x71, 0xdb, - 0xe3, 0x09, 0x9f, 0x0c, 0x89, 0xd8, 0x1b, 0x70, 0x25, 0xb0, 0x94, 0x0e, 0xca, 0xb2, 0xa2, 0xe9, - 0x55, 0x4d, 0xd4, 0xe4, 0x14, 0xc3, 0xc1, 0x78, 0xc2, 0xaf, 0x13, 0x19, 0xfb, 0x2a, 0xec, 0x84, - 0x70, 0x47, 0x4a, 0x55, 0x56, 0xaa, 0xb5, 0x2a, 0x85, 0xc6, 0xb8, 0x8b, 0xe3, 0x09, 0x9f, 0x58, - 0x88, 0xd9, 0x3c, 0x70, 0x11, 0xb4, 0x22, 0x4b, 0x5a, 0xf9, 0x48, 0xa1, 0xf0, 0x73, 0xdc, 0xd6, - 0x78, 0xc2, 0x43, 0x20, 0x67, 0x77, 0xe1, 0x6a, 0x08, 0x7f, 0x57, 0x54, 0x14, 0xf9, 0x80, 0x82, - 0xe3, 0x5c, 0x72, 0x3c, 0xe1, 0x2f, 0x50, 0x21, 0xfb, 0x3a, 0x5c, 0x0b, 0x90, 0x15, 0x51, 0xba, - 0x2f, 0x6b, 0xba, 0x74, 0x74, 0x78, 0x58, 0xd6, 0x0e, 0x65, 0x45, 0x4b, 0x9d, 0xe7, 0xd2, 0xe3, - 0x09, 0x9f, 0x22, 0x8a, 0x40, 0xce, 0xbe, 0x03, 0xfc, 0x09, 0x33, 0x51, 0xba, 0xaf, 0x1c, 0x7d, - 0x74, 0x20, 0x97, 0xde, 0x97, 0x7d, 0xdb, 0x75, 0x6e, 0x67, 0x3c, 0xe1, 0x2f, 0x13, 0xed, 0x92, - 0x92, 0x7d, 0xfb, 0x05, 0x04, 0xaa, 0x2c, 0xc9, 0xe5, 0x8a, 0xa6, 0x8b, 0xc5, 0xaa, 0xac, 0x48, - 0x72, 0xea, 0x02, 0x97, 0x19, 0x4f, 0xf8, 0x34, 0xd1, 0x52, 0x25, 0xd5, 0xb1, 0xb7, 0xe1, 0x7a, - 0x60, 0xaf, 0xc8, 0x1f, 0x6b, 0x7a, 0x55, 0xfe, 0xa0, 0xe6, 0xa9, 0x3c, 0x9a, 0x0f, 0x53, 0x1b, - 0x24, 0x70, 0x4f, 0x33, 0x57, 0x78, 0x72, 0x96, 0x87, 0x54, 0x60, 0x77, 0x57, 0x16, 0x4b, 0xb2, - 0x9a, 0x4a, 0x90, 0xca, 0x90, 0x1d, 0x17, 0x7f, 0xf2, 0x7d, 0x76, 0xad, 0x58, 0xfb, 0xf9, 0x59, - 0x96, 0x79, 0xfa, 0x2c, 0xcb, 0xfc, 0xfe, 0x2c, 0xcb, 0x7c, 0xf3, 0x3c, 0xbb, 0xf6, 0xf4, 0x79, - 0x76, 0xed, 0xd7, 0xe7, 0xd9, 0xb5, 0x87, 0x6f, 0x36, 0x2d, 0xb7, 0xd5, 0xaf, 0xe7, 0x4d, 0xdc, - 0x29, 0x98, 0xd8, 0xe9, 0x60, 0xa7, 0x60, 0xd5, 0xcd, 0x9b, 0x4d, 0x5c, 0xe8, 0xe0, 0x46, 0xbf, - 0x8d, 0x1c, 0xf2, 0x87, 0x73, 0x6b, 0xff, 0x26, 0x99, 0x87, 0x85, 0x36, 0x6a, 0x1a, 0xe6, 0xa8, - 0x30, 0xd8, 0xbb, 0x75, 0xab, 0xbe, 0xee, 0x0f, 0xb1, 0xd7, 0xfe, 0x08, 0x00, 0x00, 0xff, 0xff, - 0xef, 0x59, 0x70, 0x2d, 0x87, 0x0d, 0x00, 0x00, + // 1372 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, 0x76, 0x33, 0xd9, 0xee, 0xe6, 0xba, 0x69, 0x9b, 0x75, 0xab, 0xc4, 0xd7, + 0x57, 0xb7, 0x77, 0x2f, 0xa2, 0x71, 0x77, 0x11, 0x15, 0xaa, 0x50, 0xc1, 0x71, 0x0c, 0x4d, 0xbb, + 0xeb, 0x0d, 0x8e, 0x17, 0xda, 0x0a, 0xc9, 0x72, 0x9c, 0xb3, 0x59, 0xab, 0x89, 0x4f, 0x88, 0x9d, + 0xa4, 0x41, 0x42, 0x42, 0x3c, 0x95, 0x88, 0x07, 0xbe, 0x40, 0x24, 0x04, 0xe2, 0xab, 0x00, 0x8f, + 0xe5, 0x8d, 0xa7, 0x80, 0xda, 0x6f, 0x90, 0x4f, 0x80, 0xec, 0x73, 0x12, 0xdb, 0xd9, 0x6e, 0x56, + 0xfc, 0x7b, 0x3b, 0x67, 0xe6, 0x37, 0xbf, 0x99, 0x33, 0x33, 0x9e, 0x73, 0x0c, 0x3b, 0x76, 0xdd, + 0x12, 0x5b, 0x76, 0xf3, 0xd8, 0xb3, 0x5a, 0x36, 0x72, 0x3c, 0x57, 0x74, 0x71, 0x0b, 0xb7, 0x4d, + 0xeb, 0xd8, 0x76, 0x90, 0xd8, 0xdf, 0x89, 0x6e, 0x8b, 0x9d, 0x2e, 0xf6, 0x30, 0x5b, 0xb0, 0xeb, + 0x56, 0x31, 0x6a, 0x52, 0x8c, 0x62, 0xfa, 0x3b, 0xdc, 0xff, 0x7c, 0x4e, 0x0b, 0x77, 0x91, 0x68, + 0x61, 0xc7, 0x41, 0x96, 0x67, 0x63, 0xc7, 0xa7, 0x0a, 0x77, 0x84, 0x89, 0xfb, 0x77, 0x08, 0x3c, + 0x36, 0x1d, 0x07, 0xb5, 0x02, 0x14, 0x59, 0x52, 0x48, 0xb6, 0x89, 0x9b, 0x38, 0x58, 0x8a, 0xfe, + 0x8a, 0x4a, 0xb7, 0x9a, 0x18, 0x37, 0x5b, 0x48, 0x0c, 0x76, 0xf5, 0xde, 0x91, 0x68, 0x3a, 0x43, + 0xa2, 0x12, 0x7e, 0x4e, 0x40, 0x5a, 0x0e, 0xe2, 0xaa, 0x79, 0xa6, 0x87, 0x58, 0x0e, 0xd6, 0x5c, + 0xf4, 0x49, 0x0f, 0x39, 0x16, 0xca, 0x31, 0x3c, 0xb3, 0x9d, 0xd4, 0xe6, 0x7b, 0x56, 0x86, 0xcd, + 0xa3, 0x2e, 0xfe, 0x14, 0x39, 0xc6, 0x1c, 0x92, 0xf0, 0x21, 0x25, 0x6e, 0x3a, 0x29, 0x5c, 0x19, + 0x9a, 0xed, 0xd6, 0x1d, 0x61, 0x01, 0x20, 0x68, 0x1b, 0x44, 0x52, 0x9b, 0x91, 0x78, 0xb0, 0x69, + 0x61, 0xc7, 0x45, 0x8e, 0xdb, 0x73, 0x0d, 0xd7, 0xf7, 0x99, 0x3b, 0xc7, 0x33, 0xdb, 0xe9, 0x5d, + 0xb1, 0x78, 0x46, 0xa2, 0x8a, 0xf2, 0xcc, 0x2e, 0x08, 0x35, 0xea, 0x75, 0x81, 0x51, 0xd0, 0x36, + 0xac, 0x18, 0x96, 0x45, 0x70, 0xcd, 0x6c, 0xb5, 0xf0, 0xc0, 0xe8, 0x75, 0x1a, 0xa6, 0x87, 0x0c, + 0xf3, 0xc8, 0x43, 0x5d, 0xa3, 0xd3, 0xc5, 0x1d, 0xec, 0x9a, 0xad, 0x5c, 0x92, 0x67, 0xb6, 0xd7, + 0x4a, 0x37, 0xa6, 0x93, 0x82, 0x40, 0x08, 0x97, 0x80, 0x05, 0x2d, 0x17, 0x68, 0x0f, 0x03, 0xa5, + 0xe4, 0xeb, 0xaa, 0x54, 0x75, 0x27, 0xf9, 0xec, 0x9b, 0xc2, 0x8a, 0xf0, 0x2d, 0x03, 0x1b, 0xf1, + 0x58, 0xd9, 0xfb, 0x00, 0x9d, 0x5e, 0xbd, 0x65, 0x5b, 0xc6, 0x13, 0x34, 0x0c, 0x12, 0x9b, 0xde, + 0xcd, 0x16, 0x49, 0x59, 0x8a, 0xb3, 0xb2, 0x14, 0x25, 0x67, 0x58, 0xba, 0x3c, 0x9d, 0x14, 0xfe, + 0x45, 0x82, 0x08, 0x2d, 0x04, 0x2d, 0x45, 0x36, 0x0f, 0xd0, 0x90, 0xe5, 0x21, 0xdd, 0xb0, 0xfb, + 0xa8, 0xeb, 0xda, 0x47, 0x36, 0xea, 0x06, 0x25, 0x48, 0x69, 0x51, 0x11, 0x7b, 0x1d, 0x52, 0x9e, + 0xdd, 0x46, 0xae, 0x67, 0xb6, 0x3b, 0x41, 0x76, 0x93, 0x5a, 0x28, 0xa0, 0x41, 0x7e, 0x91, 0x80, + 0xd5, 0x7b, 0xc8, 0x6c, 0xa0, 0xee, 0xd2, 0x9a, 0xc7, 0xa8, 0x12, 0x0b, 0x54, 0xbe, 0xd6, 0xb5, + 0x9b, 0x8e, 0xe9, 0xf5, 0xba, 0xa4, 0x8c, 0xeb, 0x5a, 0x28, 0x60, 0x0f, 0x61, 0xc3, 0x41, 0x03, + 0x23, 0x72, 0xf0, 0xe4, 0x92, 0x83, 0x6f, 0x4d, 0x27, 0x85, 0xcb, 0xe4, 0xe0, 0x71, 0x2b, 0x41, + 0x5b, 0x77, 0xd0, 0xa0, 0x3a, 0x3f, 0xbf, 0x0c, 0x9b, 0x3e, 0x20, 0x9a, 0x83, 0xf3, 0x7e, 0x0e, + 0xa2, 0x0d, 0xb1, 0x00, 0x10, 0x34, 0x3f, 0x92, 0x72, 0x28, 0xa0, 0x49, 0xf8, 0x31, 0x01, 0xeb, + 0xfb, 0xb6, 0x5b, 0x47, 0xc7, 0x66, 0xdf, 0xc6, 0xbd, 0x2e, 0xbb, 0x03, 0x29, 0xd2, 0x7c, 0x86, + 0xdd, 0x08, 0x72, 0x91, 0x2a, 0x65, 0xa7, 0x93, 0x42, 0x86, 0xb6, 0xd9, 0x4c, 0x25, 0x68, 0x6b, + 0x64, 0x5d, 0x69, 0xc4, 0xb2, 0x97, 0x58, 0xc8, 0x5e, 0x07, 0x2e, 0xce, 0xd3, 0x61, 0x60, 0x67, + 0xd6, 0xea, 0x3b, 0x67, 0xb6, 0x7a, 0x6d, 0x66, 0x25, 0x39, 0x8d, 0xb2, 0xe9, 0x99, 0xa5, 0xdc, + 0x74, 0x52, 0xc8, 0x92, 0x28, 0x62, 0x8c, 0x82, 0xb6, 0x3e, 0xdf, 0x1f, 0x38, 0x0b, 0x1e, 0xbd, + 0x01, 0xa6, 0x29, 0xff, 0xbb, 0x3c, 0x7a, 0x03, 0x1c, 0xf5, 0xa8, 0x0f, 0x30, 0xcd, 0xe4, 0x0f, + 0x0c, 0x64, 0x16, 0x29, 0xe2, 0xed, 0xc1, 0x2c, 0xb6, 0xc7, 0xc7, 0x90, 0x6a, 0x98, 0x9e, 0x69, + 0x78, 0xc3, 0x0e, 0xc9, 0xdc, 0xc6, 0xee, 0xff, 0xcf, 0x0c, 0xd3, 0xe7, 0xd5, 0x87, 0x1d, 0x14, + 0x2d, 0xcb, 0x9c, 0x45, 0xd0, 0xd6, 0x1a, 0x54, 0xcf, 0xb2, 0x90, 0xf4, 0xd7, 0xb4, 0x2b, 0x83, + 0x75, 0xbc, 0x99, 0x93, 0xaf, 0xfe, 0x2e, 0x3e, 0x67, 0x20, 0xa7, 0xcf, 0x64, 0xa8, 0x31, 0x3f, + 0x53, 0x70, 0xa0, 0x77, 0x61, 0x23, 0xcc, 0x45, 0x40, 0x1f, 0x9c, 0x2a, 0xda, 0xbb, 0x71, 0xbd, + 0xa0, 0x85, 0xe5, 0x28, 0x9f, 0x08, 0x21, 0xf1, 0xea, 0x10, 0x7e, 0x65, 0x20, 0xe5, 0xfb, 0x2d, + 0x0d, 0x3d, 0xe4, 0xfe, 0x85, 0xaf, 0x73, 0x61, 0x50, 0x9c, 0x3b, 0x39, 0x28, 0x62, 0x25, 0x48, + 0xfe, 0x53, 0x25, 0x38, 0x1f, 0x96, 0x80, 0x9e, 0xf0, 0x7b, 0x06, 0x80, 0x0c, 0x9f, 0x20, 0x29, + 0x7b, 0x90, 0xa6, 0x9f, 0xfc, 0x99, 0xe3, 0xf1, 0xca, 0x74, 0x52, 0x60, 0x63, 0x53, 0x82, 0xce, + 0x47, 0x32, 0x22, 0x4e, 0x99, 0x0f, 0x89, 0x3f, 0x39, 0x1f, 0x3e, 0x83, 0xcd, 0xc8, 0xe5, 0x18, + 0xc4, 0xca, 0x42, 0xb2, 0x63, 0x7a, 0xc7, 0xb4, 0x9d, 0x83, 0x35, 0x5b, 0x85, 0x75, 0x3a, 0x1a, + 0xc8, 0x85, 0x96, 0x58, 0x72, 0x80, 0xab, 0xd3, 0x49, 0xe1, 0x52, 0x6c, 0x9c, 0xd0, 0x2b, 0x2b, + 0x6d, 0x85, 0x9e, 0xa8, 0xfb, 0x2f, 0x19, 0x60, 0xe3, 0x17, 0xc9, 0xa9, 0x21, 0x3c, 0x3a, 0x79, + 0xad, 0x2e, 0x8b, 0xe2, 0x0f, 0xdc, 0x9d, 0x34, 0x96, 0x3e, 0x5c, 0x92, 0xe7, 0x0f, 0x92, 0xe5, + 0xb1, 0x28, 0x00, 0xe1, 0xdb, 0x85, 0x86, 0xf1, 0xdf, 0xa0, 0xad, 0xfc, 0xc7, 0x4b, 0x31, 0xf2, + 0xae, 0x21, 0x97, 0x3a, 0xdd, 0x29, 0x4e, 0x43, 0x8b, 0x18, 0x52, 0xbf, 0x0d, 0xc8, 0xc8, 0xe4, + 0x89, 0xb3, 0xdc, 0xe9, 0x6d, 0xb8, 0x40, 0x9f, 0x42, 0xd4, 0xe3, 0xf5, 0x88, 0x47, 0xfa, 0x46, + 0xf2, 0xdd, 0x91, 0xa5, 0x36, 0x03, 0x53, 0x2f, 0xf7, 0x21, 0x5b, 0x35, 0xad, 0x27, 0xc8, 0x93, + 0x71, 0xbb, 0x6d, 0x7b, 0x6d, 0xe4, 0x78, 0xa7, 0x7a, 0xca, 0xfb, 0xc7, 0x9b, 0xa1, 0x02, 0x67, + 0xeb, 0x5a, 0x44, 0x22, 0x3c, 0x82, 0x2d, 0xc2, 0x25, 0x59, 0x4f, 0x1c, 0x3c, 0x68, 0xa1, 0x46, + 0x13, 0x2d, 0x25, 0xdc, 0x86, 0x4d, 0x33, 0x0e, 0xa5, 0xac, 0x8b, 0x62, 0xa1, 0x08, 0x39, 0x42, + 0xad, 0x21, 0x0b, 0xd9, 0x1d, 0x4f, 0xaa, 0xbb, 0xfe, 0x1c, 0x38, 0x8d, 0x59, 0x38, 0x86, 0xac, + 0x8a, 0x9e, 0x7a, 0xb3, 0xc7, 0x97, 0x86, 0xac, 0xfe, 0xa9, 0x51, 0xbc, 0x0d, 0x17, 0x1d, 0xf4, + 0xd4, 0xf3, 0x9f, 0x6e, 0x46, 0x17, 0x59, 0x7d, 0xfa, 0xb6, 0x8b, 0x5c, 0x03, 0x31, 0xb5, 0xa0, + 0xa5, 0x1d, 0x42, 0xed, 0xb3, 0xbe, 0xf6, 0x55, 0x12, 0xd6, 0x66, 0x83, 0x81, 0x7d, 0x0b, 0xfe, + 0x53, 0x96, 0x74, 0xc9, 0xd0, 0x1f, 0x55, 0x15, 0xe3, 0x50, 0xad, 0xa8, 0x15, 0xbd, 0x22, 0xed, + 0x55, 0x1e, 0x2b, 0x65, 0xe3, 0x50, 0xad, 0x55, 0x15, 0xb9, 0xf2, 0x5e, 0x45, 0x29, 0x67, 0x56, + 0xb8, 0xcd, 0xd1, 0x98, 0x4f, 0x47, 0x44, 0xec, 0x0d, 0xb8, 0x12, 0x5a, 0xca, 0x7b, 0x15, 0x45, + 0xd5, 0x8d, 0x9a, 0x2e, 0xe9, 0x4a, 0x86, 0xe1, 0x60, 0x34, 0xe6, 0x57, 0x89, 0x8c, 0x7d, 0x1d, + 0xb6, 0x22, 0xb8, 0x03, 0xb5, 0xa6, 0xa8, 0xb5, 0xc3, 0x1a, 0x85, 0x26, 0xb8, 0x8b, 0xa3, 0x31, + 0x9f, 0x9a, 0x8b, 0xd9, 0x22, 0x70, 0x31, 0xb4, 0xaa, 0xc8, 0x7a, 0xe5, 0x40, 0xa5, 0xf0, 0x73, + 0xdc, 0xc6, 0x68, 0xcc, 0x43, 0x28, 0x67, 0xb7, 0xe1, 0x6a, 0x04, 0x7f, 0x4f, 0x52, 0x55, 0x65, + 0x8f, 0x82, 0x93, 0x5c, 0x7a, 0x34, 0xe6, 0x2f, 0x50, 0x21, 0xfb, 0x26, 0x5c, 0x0b, 0x91, 0x55, + 0x49, 0x7e, 0xa0, 0xe8, 0x86, 0x7c, 0xb0, 0xbf, 0x5f, 0xd1, 0xf7, 0x15, 0x55, 0xcf, 0x9c, 0xe7, + 0xb2, 0xa3, 0x31, 0x9f, 0x21, 0x8a, 0x50, 0xce, 0xbe, 0x03, 0xfc, 0x09, 0x33, 0x49, 0x7e, 0xa0, + 0x1e, 0x7c, 0xb4, 0xa7, 0x94, 0xdf, 0x57, 0x02, 0xdb, 0x55, 0x6e, 0x6b, 0x34, 0xe6, 0x2f, 0x13, + 0xed, 0x82, 0x92, 0xbd, 0xfb, 0x0a, 0x02, 0x4d, 0x91, 0x95, 0x4a, 0x55, 0x37, 0xa4, 0x52, 0x4d, + 0x51, 0x65, 0x25, 0x73, 0x81, 0xcb, 0x8d, 0xc6, 0x7c, 0x96, 0x68, 0xa9, 0x92, 0xea, 0xd8, 0xdb, + 0x70, 0x3d, 0xb4, 0x57, 0x95, 0x87, 0xba, 0x51, 0x53, 0x3e, 0x38, 0xf4, 0x55, 0x3e, 0xcd, 0x87, + 0x99, 0x35, 0x12, 0xb8, 0xaf, 0x99, 0x29, 0x7c, 0x39, 0xcb, 0x43, 0x26, 0xb4, 0xbb, 0xa7, 0x48, + 0x65, 0x45, 0xcb, 0xa4, 0x48, 0x65, 0xc8, 0x8e, 0x4b, 0x3e, 0xfb, 0x2e, 0xbf, 0x52, 0x7a, 0xf8, + 0xd3, 0x8b, 0x3c, 0xf3, 0xfc, 0x45, 0x9e, 0xf9, 0xed, 0x45, 0x9e, 0xf9, 0xfa, 0x65, 0x7e, 0xe5, + 0xf9, 0xcb, 0xfc, 0xca, 0x2f, 0x2f, 0xf3, 0x2b, 0x8f, 0xef, 0x36, 0x6d, 0xef, 0xb8, 0x57, 0x2f, + 0x5a, 0xb8, 0x2d, 0x5a, 0xd8, 0x6d, 0x63, 0x57, 0xb4, 0xeb, 0xd6, 0xcd, 0x26, 0x16, 0xfb, 0xbb, + 0x62, 0x1b, 0x37, 0x7a, 0x2d, 0xe4, 0x92, 0x9f, 0x9c, 0x5b, 0xbb, 0x37, 0xc9, 0x48, 0x14, 0x5b, + 0xa8, 0x69, 0x5a, 0x43, 0xb1, 0xbf, 0x73, 0xeb, 0x56, 0x7d, 0x35, 0x98, 0x63, 0x6f, 0xfc, 0x1e, + 0x00, 0x00, 0xff, 0xff, 0x2a, 0x11, 0x77, 0x3a, 0x8a, 0x0d, 0x00, 0x00, } func (m *ClientState) Marshal() (dAtA []byte, err error) { diff --git a/modules/core/02-client/legacy/v100/store.go b/modules/core/02-client/legacy/v100/store.go index 842086f956b..c814b045f10 100644 --- a/modules/core/02-client/legacy/v100/store.go +++ b/modules/core/02-client/legacy/v100/store.go @@ -10,12 +10,12 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" - "github.com/cosmos/ibc-go/modules/core/02-client/types" - clienttypes "github.com/cosmos/ibc-go/modules/core/02-client/types" - host "github.com/cosmos/ibc-go/modules/core/24-host" - "github.com/cosmos/ibc-go/modules/core/exported" - smtypes "github.com/cosmos/ibc-go/modules/light-clients/06-solomachine/types" - ibctmtypes "github.com/cosmos/ibc-go/modules/light-clients/07-tendermint/types" + "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" + clienttypes "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" + host "github.com/cosmos/ibc-go/v2/modules/core/24-host" + "github.com/cosmos/ibc-go/v2/modules/core/exported" + smtypes "github.com/cosmos/ibc-go/v2/modules/light-clients/06-solomachine/types" + ibctmtypes "github.com/cosmos/ibc-go/v2/modules/light-clients/07-tendermint/types" ) // MigrateStore performs in-place store migrations from SDK v0.40 of the IBC module to v1.0.0 of ibc-go. diff --git a/modules/core/02-client/legacy/v100/store_test.go b/modules/core/02-client/legacy/v100/store_test.go index 1b9856da183..bbf5606288f 100644 --- a/modules/core/02-client/legacy/v100/store_test.go +++ b/modules/core/02-client/legacy/v100/store_test.go @@ -6,12 +6,12 @@ import ( "github.com/stretchr/testify/suite" - "github.com/cosmos/ibc-go/modules/core/02-client/legacy/v100" - "github.com/cosmos/ibc-go/modules/core/02-client/types" - host "github.com/cosmos/ibc-go/modules/core/24-host" - "github.com/cosmos/ibc-go/modules/core/exported" - ibctmtypes "github.com/cosmos/ibc-go/modules/light-clients/07-tendermint/types" - ibctesting "github.com/cosmos/ibc-go/testing" + "github.com/cosmos/ibc-go/v2/modules/core/02-client/legacy/v100" + "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" + host "github.com/cosmos/ibc-go/v2/modules/core/24-host" + "github.com/cosmos/ibc-go/v2/modules/core/exported" + ibctmtypes "github.com/cosmos/ibc-go/v2/modules/light-clients/07-tendermint/types" + ibctesting "github.com/cosmos/ibc-go/v2/testing" ) type LegacyTestSuite struct { diff --git a/modules/core/02-client/module.go b/modules/core/02-client/module.go index 9e731ba8aa5..f44437ae5ef 100644 --- a/modules/core/02-client/module.go +++ b/modules/core/02-client/module.go @@ -4,8 +4,8 @@ import ( "github.com/gogo/protobuf/grpc" "github.com/spf13/cobra" - "github.com/cosmos/ibc-go/modules/core/02-client/client/cli" - "github.com/cosmos/ibc-go/modules/core/02-client/types" + "github.com/cosmos/ibc-go/v2/modules/core/02-client/client/cli" + "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" ) // Name returns the IBC client name diff --git a/modules/core/02-client/proposal_handler.go b/modules/core/02-client/proposal_handler.go index d35954588d0..10a0d19ee23 100644 --- a/modules/core/02-client/proposal_handler.go +++ b/modules/core/02-client/proposal_handler.go @@ -4,8 +4,8 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" govtypes "github.com/cosmos/cosmos-sdk/x/gov/types" - "github.com/cosmos/ibc-go/modules/core/02-client/keeper" - "github.com/cosmos/ibc-go/modules/core/02-client/types" + "github.com/cosmos/ibc-go/v2/modules/core/02-client/keeper" + "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" ) // NewClientProposalHandler defines the 02-client proposal handler diff --git a/modules/core/02-client/proposal_handler_test.go b/modules/core/02-client/proposal_handler_test.go index ea4eb31b260..1b6649552b1 100644 --- a/modules/core/02-client/proposal_handler_test.go +++ b/modules/core/02-client/proposal_handler_test.go @@ -4,10 +4,10 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" distributiontypes "github.com/cosmos/cosmos-sdk/x/distribution/types" govtypes "github.com/cosmos/cosmos-sdk/x/gov/types" - client "github.com/cosmos/ibc-go/modules/core/02-client" - clienttypes "github.com/cosmos/ibc-go/modules/core/02-client/types" - ibctmtypes "github.com/cosmos/ibc-go/modules/light-clients/07-tendermint/types" - ibctesting "github.com/cosmos/ibc-go/testing" + client "github.com/cosmos/ibc-go/v2/modules/core/02-client" + clienttypes "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" + ibctmtypes "github.com/cosmos/ibc-go/v2/modules/light-clients/07-tendermint/types" + ibctesting "github.com/cosmos/ibc-go/v2/testing" ) func (suite *ClientTestSuite) TestNewClientUpdateProposalHandler() { diff --git a/modules/core/02-client/simulation/decoder.go b/modules/core/02-client/simulation/decoder.go index 2e4a78385b9..57e8652d966 100644 --- a/modules/core/02-client/simulation/decoder.go +++ b/modules/core/02-client/simulation/decoder.go @@ -5,9 +5,9 @@ import ( "fmt" "github.com/cosmos/cosmos-sdk/types/kv" - "github.com/cosmos/ibc-go/modules/core/02-client/keeper" - host "github.com/cosmos/ibc-go/modules/core/24-host" - "github.com/cosmos/ibc-go/modules/core/exported" + "github.com/cosmos/ibc-go/v2/modules/core/02-client/keeper" + host "github.com/cosmos/ibc-go/v2/modules/core/24-host" + "github.com/cosmos/ibc-go/v2/modules/core/exported" ) var _ ClientUnmarshaler = (*keeper.Keeper)(nil) diff --git a/modules/core/02-client/simulation/decoder_test.go b/modules/core/02-client/simulation/decoder_test.go index f1c0ca51459..bfb9280925d 100644 --- a/modules/core/02-client/simulation/decoder_test.go +++ b/modules/core/02-client/simulation/decoder_test.go @@ -8,11 +8,11 @@ import ( "github.com/stretchr/testify/require" "github.com/cosmos/cosmos-sdk/types/kv" - "github.com/cosmos/ibc-go/modules/core/02-client/simulation" - "github.com/cosmos/ibc-go/modules/core/02-client/types" - host "github.com/cosmos/ibc-go/modules/core/24-host" - ibctmtypes "github.com/cosmos/ibc-go/modules/light-clients/07-tendermint/types" - "github.com/cosmos/ibc-go/testing/simapp" + "github.com/cosmos/ibc-go/v2/modules/core/02-client/simulation" + "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" + host "github.com/cosmos/ibc-go/v2/modules/core/24-host" + ibctmtypes "github.com/cosmos/ibc-go/v2/modules/light-clients/07-tendermint/types" + "github.com/cosmos/ibc-go/v2/testing/simapp" ) func TestDecodeStore(t *testing.T) { diff --git a/modules/core/02-client/simulation/genesis.go b/modules/core/02-client/simulation/genesis.go index c80b02ac5f4..65ce6375a9f 100644 --- a/modules/core/02-client/simulation/genesis.go +++ b/modules/core/02-client/simulation/genesis.go @@ -4,7 +4,7 @@ import ( "math/rand" simtypes "github.com/cosmos/cosmos-sdk/types/simulation" - "github.com/cosmos/ibc-go/modules/core/02-client/types" + "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" ) // GenClientGenesis returns the default client genesis state. diff --git a/modules/core/02-client/types/client.go b/modules/core/02-client/types/client.go index 536b7d237b8..03906ba4e74 100644 --- a/modules/core/02-client/types/client.go +++ b/modules/core/02-client/types/client.go @@ -10,8 +10,8 @@ import ( codectypes "github.com/cosmos/cosmos-sdk/codec/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" - host "github.com/cosmos/ibc-go/modules/core/24-host" - "github.com/cosmos/ibc-go/modules/core/exported" + host "github.com/cosmos/ibc-go/v2/modules/core/24-host" + "github.com/cosmos/ibc-go/v2/modules/core/exported" ) var ( diff --git a/modules/core/02-client/types/client.pb.go b/modules/core/02-client/types/client.pb.go index bb251b6ea80..1d92ef7c851 100644 --- a/modules/core/02-client/types/client.pb.go +++ b/modules/core/02-client/types/client.pb.go @@ -398,51 +398,51 @@ func init() { proto.RegisterFile("ibc/core/client/v1/client.proto", fileDescript var fileDescriptor_b6bc4c8185546947 = []byte{ // 710 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x54, 0x3f, 0x6f, 0xd3, 0x4c, - 0x1c, 0x8e, 0xdb, 0xbc, 0x51, 0x73, 0xa9, 0x9a, 0xbe, 0x6e, 0xf2, 0x36, 0xcd, 0x5b, 0xc5, 0xd1, - 0x89, 0x21, 0x03, 0xb5, 0x49, 0x10, 0x08, 0x65, 0x23, 0x59, 0xda, 0x01, 0x08, 0x46, 0x15, 0x88, - 0x25, 0xf2, 0x9f, 0xab, 0x73, 0x95, 0xe3, 0x8b, 0x7c, 0xe7, 0x40, 0xbe, 0x01, 0x23, 0x23, 0x03, - 0x43, 0x3f, 0x01, 0x9f, 0x82, 0xa1, 0x63, 0x47, 0x26, 0x0b, 0xb5, 0x0b, 0x2b, 0x5e, 0x59, 0x90, - 0xef, 0xce, 0x6d, 0x92, 0xb6, 0x08, 0xc1, 0x76, 0xf7, 0xdc, 0x73, 0xcf, 0xef, 0x79, 0x7e, 0xf6, - 0xef, 0x80, 0x86, 0x6d, 0xc7, 0x70, 0x48, 0x88, 0x0c, 0xc7, 0xc7, 0x28, 0x60, 0xc6, 0xb4, 0x2d, - 0x57, 0xfa, 0x24, 0x24, 0x8c, 0xa8, 0x2a, 0xb6, 0x1d, 0x3d, 0x25, 0xe8, 0x12, 0x9e, 0xb6, 0xeb, - 0x15, 0x8f, 0x78, 0x84, 0x1f, 0x1b, 0xe9, 0x4a, 0x30, 0xeb, 0x3b, 0x1e, 0x21, 0x9e, 0x8f, 0x0c, - 0xbe, 0xb3, 0xa3, 0x23, 0xc3, 0x0a, 0x66, 0xf2, 0xe8, 0x8e, 0x43, 0xe8, 0x98, 0x50, 0x23, 0x9a, - 0x78, 0xa1, 0xe5, 0x22, 0x63, 0xda, 0xb6, 0x11, 0xb3, 0xda, 0xd9, 0x5e, 0xb0, 0xe0, 0x47, 0x05, - 0x54, 0x0f, 0x5c, 0x14, 0x30, 0x7c, 0x84, 0x91, 0xdb, 0xe7, 0xe5, 0x5e, 0x30, 0x8b, 0x21, 0xb5, - 0x0d, 0x8a, 0xa2, 0xfa, 0x10, 0xbb, 0x35, 0xa5, 0xa9, 0xb4, 0x8a, 0xbd, 0x4a, 0x12, 0x6b, 0x9b, - 0x33, 0x6b, 0xec, 0x77, 0xe1, 0xe5, 0x11, 0x34, 0xd7, 0xc4, 0xfa, 0xc0, 0x55, 0x07, 0x60, 0x5d, - 0xe2, 0x34, 0x95, 0xa8, 0xad, 0x34, 0x95, 0x56, 0xa9, 0x53, 0xd1, 0x85, 0x49, 0x3d, 0x33, 0xa9, - 0x3f, 0x0e, 0x66, 0xbd, 0xed, 0x24, 0xd6, 0xb6, 0x16, 0xb4, 0xf8, 0x1d, 0x68, 0x96, 0x9c, 0x2b, - 0x13, 0xf0, 0x93, 0x02, 0x6a, 0x7d, 0x12, 0x50, 0x14, 0xd0, 0x88, 0x72, 0xe8, 0x25, 0x66, 0xa3, - 0x7d, 0x84, 0xbd, 0x11, 0x53, 0x1f, 0x81, 0xc2, 0x88, 0xaf, 0xb8, 0xbd, 0x52, 0xa7, 0xae, 0x5f, - 0xef, 0x9b, 0x2e, 0xb8, 0xbd, 0xfc, 0x69, 0xac, 0xe5, 0x4c, 0xc9, 0x57, 0x5f, 0x81, 0xb2, 0x93, - 0xa9, 0xfe, 0x86, 0xd7, 0x9d, 0x24, 0xd6, 0xaa, 0xa9, 0x57, 0xb8, 0x74, 0x0b, 0x9a, 0x1b, 0xce, - 0x82, 0x3b, 0xf8, 0x59, 0x01, 0x55, 0xd1, 0xc5, 0x45, 0xdb, 0xf4, 0x4f, 0xfa, 0xf9, 0x16, 0x6c, - 0x2e, 0x15, 0xa4, 0xb5, 0x95, 0xe6, 0x6a, 0xab, 0xd4, 0xb9, 0x7b, 0x53, 0xd4, 0xdb, 0x1a, 0xd5, - 0xd3, 0xd2, 0xf0, 0x49, 0xac, 0x6d, 0xcb, 0x5a, 0x4b, 0x9a, 0xd0, 0x2c, 0x2f, 0xa6, 0xa0, 0xf0, - 0xbb, 0x02, 0x2a, 0x22, 0xc6, 0xe1, 0xc4, 0xb5, 0x18, 0x1a, 0x84, 0x64, 0x42, 0xa8, 0xe5, 0xab, - 0x15, 0xf0, 0x0f, 0xc3, 0xcc, 0x47, 0x22, 0x81, 0x29, 0x36, 0x6a, 0x13, 0x94, 0x5c, 0x44, 0x9d, - 0x10, 0x4f, 0x18, 0x26, 0x01, 0xef, 0x65, 0xd1, 0x9c, 0x87, 0xd4, 0x7d, 0xf0, 0x2f, 0x8d, 0xec, - 0x63, 0xe4, 0xb0, 0xe1, 0x55, 0x17, 0x56, 0x79, 0x17, 0x76, 0x93, 0x58, 0xab, 0x09, 0x67, 0xd7, - 0x28, 0xd0, 0x2c, 0x4b, 0xac, 0x9f, 0x35, 0xe5, 0x39, 0xa8, 0xd0, 0xc8, 0xa6, 0x0c, 0xb3, 0x88, - 0xa1, 0x39, 0xb1, 0x3c, 0x17, 0xd3, 0x92, 0x58, 0xfb, 0xff, 0x52, 0xec, 0x1a, 0x0b, 0x9a, 0xea, - 0x15, 0x9c, 0x49, 0x76, 0xf3, 0xef, 0x4e, 0xb4, 0x1c, 0xfc, 0xa1, 0x80, 0xf2, 0xa1, 0x18, 0x8e, - 0xbf, 0x8e, 0xfb, 0x10, 0xe4, 0x27, 0xbe, 0x15, 0xf0, 0x84, 0xa5, 0xce, 0xae, 0x2e, 0x66, 0x51, - 0xcf, 0x66, 0x4f, 0xce, 0xa2, 0x3e, 0xf0, 0xad, 0x40, 0xfe, 0x9a, 0x9c, 0xaf, 0x1e, 0x83, 0xaa, - 0xe4, 0xb8, 0xc3, 0x85, 0x51, 0xca, 0xff, 0xe2, 0xf7, 0x6c, 0x26, 0xb1, 0xb6, 0x2b, 0x32, 0xdf, - 0x78, 0x19, 0x9a, 0x5b, 0x19, 0x3e, 0x37, 0xe0, 0xdd, 0xf5, 0x34, 0xf5, 0x87, 0x13, 0x2d, 0xf7, - 0xed, 0x44, 0x53, 0xd2, 0x87, 0xa0, 0x20, 0xe7, 0xaa, 0x0f, 0xca, 0x21, 0x9a, 0x62, 0x8a, 0x49, - 0x30, 0x0c, 0xa2, 0xb1, 0x8d, 0x42, 0x1e, 0x3f, 0xdf, 0xab, 0x27, 0xb1, 0xf6, 0x9f, 0x28, 0xb4, - 0x44, 0x80, 0xe6, 0x46, 0x86, 0x3c, 0xe5, 0xc0, 0x82, 0x88, 0x9c, 0xd2, 0x95, 0x5b, 0x45, 0x04, - 0x61, 0x4e, 0x44, 0x38, 0xe9, 0xae, 0x65, 0x16, 0xe1, 0x13, 0x50, 0x18, 0x58, 0xa1, 0x35, 0xa6, - 0xa9, 0xb0, 0xe5, 0xfb, 0xe4, 0xcd, 0x65, 0x48, 0x5a, 0x53, 0x9a, 0xab, 0xad, 0xe2, 0xbc, 0xf0, - 0x12, 0x01, 0x9a, 0x1b, 0x12, 0x11, 0xf9, 0x69, 0xef, 0xd9, 0xe9, 0x79, 0x43, 0x39, 0x3b, 0x6f, - 0x28, 0x5f, 0xcf, 0x1b, 0xca, 0xfb, 0x8b, 0x46, 0xee, 0xec, 0xa2, 0x91, 0xfb, 0x72, 0xd1, 0xc8, - 0xbd, 0x7e, 0xe0, 0x61, 0x36, 0x8a, 0x6c, 0xdd, 0x21, 0x63, 0x43, 0xbe, 0xa0, 0xd8, 0x76, 0xf6, - 0x3c, 0x62, 0x8c, 0x89, 0x1b, 0xf9, 0x88, 0x8a, 0x97, 0xfb, 0x5e, 0x67, 0x4f, 0x3e, 0xde, 0x6c, - 0x36, 0x41, 0xd4, 0x2e, 0xf0, 0x2f, 0x72, 0xff, 0x67, 0x00, 0x00, 0x00, 0xff, 0xff, 0x67, 0xcd, - 0xb5, 0xb7, 0xdc, 0x05, 0x00, 0x00, + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x54, 0x3f, 0x6f, 0xd3, 0x4e, + 0x18, 0x8e, 0xdb, 0xfc, 0xa2, 0xe6, 0x52, 0x35, 0xfd, 0xb9, 0x09, 0x4d, 0x43, 0x15, 0x47, 0x27, + 0x86, 0x0c, 0xd4, 0x26, 0x41, 0x42, 0x55, 0x36, 0x92, 0xa5, 0x1d, 0x40, 0xc1, 0xa8, 0x02, 0xb1, + 0x44, 0xfe, 0x73, 0x75, 0xae, 0x72, 0x7c, 0x91, 0xef, 0x1c, 0xc8, 0x37, 0x60, 0x64, 0x64, 0x60, + 0xe8, 0x27, 0xe0, 0x53, 0x30, 0x74, 0xec, 0xc8, 0x64, 0xa1, 0x76, 0x61, 0xc5, 0x2b, 0x0b, 0xf2, + 0xdd, 0xb9, 0x4d, 0xd2, 0x16, 0x21, 0xd8, 0xee, 0x9e, 0x7b, 0xee, 0x79, 0x9f, 0xe7, 0xb5, 0xdf, + 0x03, 0x1a, 0xb6, 0x1d, 0xc3, 0x21, 0x21, 0x32, 0x1c, 0x1f, 0xa3, 0x80, 0x19, 0xd3, 0xb6, 0x5c, + 0xe9, 0x93, 0x90, 0x30, 0xa2, 0xaa, 0xd8, 0x76, 0xf4, 0x94, 0xa0, 0x4b, 0x78, 0xda, 0xae, 0x57, + 0x3c, 0xe2, 0x11, 0x7e, 0x6c, 0xa4, 0x2b, 0xc1, 0xac, 0xef, 0x78, 0x84, 0x78, 0x3e, 0x32, 0xf8, + 0xce, 0x8e, 0x8e, 0x0d, 0x2b, 0x98, 0xc9, 0xa3, 0x07, 0x0e, 0xa1, 0x63, 0x42, 0x8d, 0x68, 0xe2, + 0x85, 0x96, 0x8b, 0x8c, 0x69, 0xdb, 0x46, 0xcc, 0x6a, 0x67, 0x7b, 0xc1, 0x82, 0x9f, 0x14, 0x50, + 0x3d, 0x74, 0x51, 0xc0, 0xf0, 0x31, 0x46, 0x6e, 0x9f, 0x97, 0x7b, 0xc9, 0x2c, 0x86, 0xd4, 0x36, + 0x28, 0x8a, 0xea, 0x43, 0xec, 0xd6, 0x94, 0xa6, 0xd2, 0x2a, 0xf6, 0x2a, 0x49, 0xac, 0x6d, 0xce, + 0xac, 0xb1, 0xdf, 0x85, 0x57, 0x47, 0xd0, 0x5c, 0x13, 0xeb, 0x43, 0x57, 0x1d, 0x80, 0x75, 0x89, + 0xd3, 0x54, 0xa2, 0xb6, 0xd2, 0x54, 0x5a, 0xa5, 0x4e, 0x45, 0x17, 0x26, 0xf5, 0xcc, 0xa4, 0xfe, + 0x34, 0x98, 0xf5, 0xb6, 0x93, 0x58, 0xdb, 0x5a, 0xd0, 0xe2, 0x77, 0xa0, 0x59, 0x72, 0xae, 0x4d, + 0xc0, 0xcf, 0x0a, 0xa8, 0xf5, 0x49, 0x40, 0x51, 0x40, 0x23, 0xca, 0xa1, 0x57, 0x98, 0x8d, 0x0e, + 0x10, 0xf6, 0x46, 0x4c, 0xdd, 0x07, 0x85, 0x11, 0x5f, 0x71, 0x7b, 0xa5, 0x4e, 0x5d, 0xbf, 0xd9, + 0x37, 0x5d, 0x70, 0x7b, 0xf9, 0xb3, 0x58, 0xcb, 0x99, 0x92, 0xaf, 0xbe, 0x06, 0x65, 0x27, 0x53, + 0xfd, 0x03, 0xaf, 0x3b, 0x49, 0xac, 0x55, 0x53, 0xaf, 0x70, 0xe9, 0x16, 0x34, 0x37, 0x9c, 0x05, + 0x77, 0xf0, 0x8b, 0x02, 0xaa, 0xa2, 0x8b, 0x8b, 0xb6, 0xe9, 0xdf, 0xf4, 0xf3, 0x1d, 0xd8, 0x5c, + 0x2a, 0x48, 0x6b, 0x2b, 0xcd, 0xd5, 0x56, 0xa9, 0xf3, 0xf0, 0xb6, 0xa8, 0x77, 0x35, 0xaa, 0xa7, + 0xa5, 0xe1, 0x93, 0x58, 0xdb, 0x96, 0xb5, 0x96, 0x34, 0xa1, 0x59, 0x5e, 0x4c, 0x41, 0xe1, 0x0f, + 0x05, 0x54, 0x44, 0x8c, 0xa3, 0x89, 0x6b, 0x31, 0x34, 0x08, 0xc9, 0x84, 0x50, 0xcb, 0x57, 0x2b, + 0xe0, 0x3f, 0x86, 0x99, 0x8f, 0x44, 0x02, 0x53, 0x6c, 0xd4, 0x26, 0x28, 0xb9, 0x88, 0x3a, 0x21, + 0x9e, 0x30, 0x4c, 0x02, 0xde, 0xcb, 0xa2, 0x39, 0x0f, 0xa9, 0x07, 0xe0, 0x7f, 0x1a, 0xd9, 0x27, + 0xc8, 0x61, 0xc3, 0xeb, 0x2e, 0xac, 0xf2, 0x2e, 0xec, 0x26, 0xb1, 0x56, 0x13, 0xce, 0x6e, 0x50, + 0xa0, 0x59, 0x96, 0x58, 0x3f, 0x6b, 0xca, 0x0b, 0x50, 0xa1, 0x91, 0x4d, 0x19, 0x66, 0x11, 0x43, + 0x73, 0x62, 0x79, 0x2e, 0xa6, 0x25, 0xb1, 0x76, 0xff, 0x4a, 0xec, 0x06, 0x0b, 0x9a, 0xea, 0x35, + 0x9c, 0x49, 0x76, 0xf3, 0xef, 0x4f, 0xb5, 0x1c, 0xfc, 0xa9, 0x80, 0xf2, 0x91, 0x18, 0x8e, 0x7f, + 0x8e, 0xfb, 0x04, 0xe4, 0x27, 0xbe, 0x15, 0xf0, 0x84, 0xa5, 0xce, 0xae, 0x2e, 0x66, 0x51, 0xcf, + 0x66, 0x4f, 0xce, 0xa2, 0x3e, 0xf0, 0xad, 0x40, 0xfe, 0x9a, 0x9c, 0xaf, 0x9e, 0x80, 0xaa, 0xe4, + 0xb8, 0xc3, 0x85, 0x51, 0xca, 0xff, 0xe6, 0xf7, 0x6c, 0x26, 0xb1, 0xb6, 0x2b, 0x32, 0xdf, 0x7a, + 0x19, 0x9a, 0x5b, 0x19, 0x3e, 0x37, 0xe0, 0xdd, 0xf5, 0x34, 0xf5, 0xc7, 0x53, 0x2d, 0xf7, 0xfd, + 0x54, 0x53, 0xd2, 0x87, 0xa0, 0x20, 0xe7, 0xaa, 0x0f, 0xca, 0x21, 0x9a, 0x62, 0x8a, 0x49, 0x30, + 0x0c, 0xa2, 0xb1, 0x8d, 0x42, 0x1e, 0x3f, 0xdf, 0xab, 0x27, 0xb1, 0x76, 0x4f, 0x14, 0x5a, 0x22, + 0x40, 0x73, 0x23, 0x43, 0x9e, 0x73, 0x60, 0x41, 0x44, 0x4e, 0xe9, 0xca, 0x9d, 0x22, 0x82, 0x30, + 0x27, 0x22, 0x9c, 0x74, 0xd7, 0x32, 0x8b, 0xf0, 0x19, 0x28, 0x0c, 0xac, 0xd0, 0x1a, 0xd3, 0x54, + 0xd8, 0xf2, 0x7d, 0xf2, 0xf6, 0x2a, 0x24, 0xad, 0x29, 0xcd, 0xd5, 0x56, 0x71, 0x5e, 0x78, 0x89, + 0x00, 0xcd, 0x0d, 0x89, 0x88, 0xfc, 0xb4, 0x67, 0x9e, 0x5d, 0x34, 0x94, 0xf3, 0x8b, 0x86, 0xf2, + 0xed, 0xa2, 0xa1, 0x7c, 0xb8, 0x6c, 0xe4, 0xce, 0x2f, 0x1b, 0xb9, 0xaf, 0x97, 0x8d, 0xdc, 0x9b, + 0x7d, 0x0f, 0xb3, 0x51, 0x64, 0xeb, 0x0e, 0x19, 0x1b, 0xf2, 0x05, 0xc5, 0xb6, 0xb3, 0xe7, 0x11, + 0x63, 0xda, 0x31, 0xc6, 0xc4, 0x8d, 0x7c, 0x44, 0xc5, 0xe3, 0xfd, 0xa8, 0xb3, 0x27, 0xdf, 0x6f, + 0x36, 0x9b, 0x20, 0x6a, 0x17, 0xf8, 0x47, 0x79, 0xfc, 0x2b, 0x00, 0x00, 0xff, 0xff, 0x96, 0x22, + 0x8e, 0x4c, 0xdf, 0x05, 0x00, 0x00, } func (this *UpgradeProposal) Equal(that interface{}) bool { diff --git a/modules/core/02-client/types/client_test.go b/modules/core/02-client/types/client_test.go index b5b9b73ca0e..7d558d2edcb 100644 --- a/modules/core/02-client/types/client_test.go +++ b/modules/core/02-client/types/client_test.go @@ -5,8 +5,8 @@ import ( "github.com/stretchr/testify/require" - "github.com/cosmos/ibc-go/modules/core/02-client/types" - ibctesting "github.com/cosmos/ibc-go/testing" + "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" + ibctesting "github.com/cosmos/ibc-go/v2/testing" ) func (suite *TypesTestSuite) TestMarshalConsensusStateWithHeight() { diff --git a/modules/core/02-client/types/codec.go b/modules/core/02-client/types/codec.go index dfc05c94d59..52ebc940fe7 100644 --- a/modules/core/02-client/types/codec.go +++ b/modules/core/02-client/types/codec.go @@ -8,7 +8,7 @@ import ( sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" "github.com/cosmos/cosmos-sdk/types/msgservice" govtypes "github.com/cosmos/cosmos-sdk/x/gov/types" - "github.com/cosmos/ibc-go/modules/core/exported" + "github.com/cosmos/ibc-go/v2/modules/core/exported" ) // RegisterInterfaces registers the client interfaces to protobuf Any. diff --git a/modules/core/02-client/types/codec_test.go b/modules/core/02-client/types/codec_test.go index a0bfda608b5..ced8979d2eb 100644 --- a/modules/core/02-client/types/codec_test.go +++ b/modules/core/02-client/types/codec_test.go @@ -2,12 +2,12 @@ package types_test import ( codectypes "github.com/cosmos/cosmos-sdk/codec/types" - "github.com/cosmos/ibc-go/modules/core/02-client/types" - commitmenttypes "github.com/cosmos/ibc-go/modules/core/23-commitment/types" - "github.com/cosmos/ibc-go/modules/core/exported" - ibctmtypes "github.com/cosmos/ibc-go/modules/light-clients/07-tendermint/types" - localhosttypes "github.com/cosmos/ibc-go/modules/light-clients/09-localhost/types" - ibctesting "github.com/cosmos/ibc-go/testing" + "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" + commitmenttypes "github.com/cosmos/ibc-go/v2/modules/core/23-commitment/types" + "github.com/cosmos/ibc-go/v2/modules/core/exported" + ibctmtypes "github.com/cosmos/ibc-go/v2/modules/light-clients/07-tendermint/types" + localhosttypes "github.com/cosmos/ibc-go/v2/modules/light-clients/09-localhost/types" + ibctesting "github.com/cosmos/ibc-go/v2/testing" ) type caseAny struct { diff --git a/modules/core/02-client/types/encoding.go b/modules/core/02-client/types/encoding.go index c3ec255bc2a..342d6ee6776 100644 --- a/modules/core/02-client/types/encoding.go +++ b/modules/core/02-client/types/encoding.go @@ -4,7 +4,7 @@ import ( "fmt" "github.com/cosmos/cosmos-sdk/codec" - "github.com/cosmos/ibc-go/modules/core/exported" + "github.com/cosmos/ibc-go/v2/modules/core/exported" ) // MustUnmarshalClientState attempts to decode and return an ClientState object from diff --git a/modules/core/02-client/types/encoding_test.go b/modules/core/02-client/types/encoding_test.go index a528c792db6..9102da93a16 100644 --- a/modules/core/02-client/types/encoding_test.go +++ b/modules/core/02-client/types/encoding_test.go @@ -1,8 +1,8 @@ package types_test import ( - "github.com/cosmos/ibc-go/modules/core/02-client/types" - ibctmtypes "github.com/cosmos/ibc-go/modules/light-clients/07-tendermint/types" + "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" + ibctmtypes "github.com/cosmos/ibc-go/v2/modules/light-clients/07-tendermint/types" ) func (suite *TypesTestSuite) TestMarshalHeader() { diff --git a/modules/core/02-client/types/events.go b/modules/core/02-client/types/events.go index 464ad4d426e..b0df80e4f34 100644 --- a/modules/core/02-client/types/events.go +++ b/modules/core/02-client/types/events.go @@ -3,7 +3,7 @@ package types import ( "fmt" - host "github.com/cosmos/ibc-go/modules/core/24-host" + host "github.com/cosmos/ibc-go/v2/modules/core/24-host" ) // IBC client events diff --git a/modules/core/02-client/types/genesis.go b/modules/core/02-client/types/genesis.go index 06ac6dad8c3..c366e2cafbe 100644 --- a/modules/core/02-client/types/genesis.go +++ b/modules/core/02-client/types/genesis.go @@ -5,8 +5,8 @@ import ( "sort" codectypes "github.com/cosmos/cosmos-sdk/codec/types" - host "github.com/cosmos/ibc-go/modules/core/24-host" - "github.com/cosmos/ibc-go/modules/core/exported" + host "github.com/cosmos/ibc-go/v2/modules/core/24-host" + "github.com/cosmos/ibc-go/v2/modules/core/exported" ) var ( diff --git a/modules/core/02-client/types/genesis.pb.go b/modules/core/02-client/types/genesis.pb.go index c428a524676..893045bfbbf 100644 --- a/modules/core/02-client/types/genesis.pb.go +++ b/modules/core/02-client/types/genesis.pb.go @@ -218,41 +218,41 @@ func init() { func init() { proto.RegisterFile("ibc/core/client/v1/genesis.proto", fileDescriptor_bcd0c0f1f2e6a91a) } var fileDescriptor_bcd0c0f1f2e6a91a = []byte{ - // 537 bytes of a gzipped FileDescriptorProto + // 539 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x7c, 0x53, 0x41, 0x6e, 0xd3, 0x40, 0x14, 0xcd, 0x34, 0x69, 0x68, 0xa7, 0x15, 0x0d, 0xa3, 0xa8, 0x98, 0x54, 0xb2, 0x2d, 0xb3, 0x09, - 0x8b, 0xd8, 0x24, 0x08, 0x09, 0x65, 0x83, 0xe4, 0x4a, 0xa0, 0x4a, 0x20, 0xc0, 0xec, 0xd8, 0x58, - 0x93, 0xf1, 0x90, 0x8e, 0xb0, 0x3d, 0x21, 0x33, 0x89, 0xc8, 0x0d, 0x58, 0x22, 0x4e, 0xc0, 0x9a, - 0x33, 0x70, 0x80, 0x2e, 0xbb, 0xec, 0x2a, 0xa0, 0xe4, 0x06, 0x39, 0x01, 0xf2, 0xcc, 0x98, 0xb6, - 0x69, 0xca, 0xee, 0xe7, 0xf9, 0xbd, 0xf7, 0x9f, 0xde, 0xcf, 0x40, 0x97, 0x0d, 0x48, 0x40, 0xf8, - 0x98, 0x06, 0x24, 0x65, 0x34, 0x97, 0xc1, 0xb4, 0x1b, 0x0c, 0x69, 0x4e, 0x05, 0x13, 0xfe, 0x68, - 0xcc, 0x25, 0x47, 0x88, 0x0d, 0x88, 0x5f, 0x30, 0x7c, 0xcd, 0xf0, 0xa7, 0xdd, 0x96, 0xb3, 0x41, - 0x65, 0xbe, 0x2a, 0x51, 0xab, 0x39, 0xe4, 0x43, 0xae, 0xc6, 0xa0, 0x98, 0x34, 0xea, 0x5d, 0xd4, - 0xe0, 0xfe, 0x4b, 0x6d, 0xfe, 0x5e, 0x62, 0x49, 0x11, 0x81, 0x77, 0xb4, 0x4c, 0x58, 0xc0, 0xad, - 0xb6, 0xf7, 0x7a, 0x8f, 0xfc, 0x9b, 0xdb, 0xfc, 0x93, 0x84, 0xe6, 0x92, 0x7d, 0x64, 0x34, 0x39, - 0x56, 0x98, 0xd2, 0x86, 0xf6, 0xd9, 0xdc, 0xa9, 0xfc, 0xfc, 0xed, 0x1c, 0x6e, 0xfc, 0x2c, 0xa2, - 0xd2, 0x19, 0x7d, 0x07, 0xf0, 0x9e, 0x99, 0x63, 0xc2, 0x73, 0x41, 0x73, 0x31, 0x11, 0xd6, 0xd6, - 0xed, 0xfb, 0xb4, 0xcd, 0x71, 0x49, 0xd5, 0x7e, 0x61, 0xbf, 0xd8, 0xb7, 0x9a, 0x3b, 0xd6, 0x0c, - 0x67, 0x69, 0xdf, 0xbb, 0xe1, 0xe8, 0x15, 0x59, 0xb4, 0x54, 0xac, 0x69, 0xa3, 0x06, 0x59, 0xc3, - 0xd1, 0x0c, 0x96, 0x58, 0x9c, 0x51, 0x89, 0x13, 0x2c, 0xb1, 0x55, 0x55, 0x91, 0x3a, 0xff, 0xaf, - 0xc0, 0xf4, 0xf7, 0xda, 0x88, 0x42, 0xc7, 0xc4, 0xba, 0x7f, 0x3d, 0x56, 0x69, 0xea, 0x45, 0x07, - 0x06, 0x2a, 0x15, 0xe8, 0x19, 0xac, 0x8f, 0xf0, 0x18, 0x67, 0xc2, 0xaa, 0xb9, 0xa0, 0xbd, 0xd7, - 0x6b, 0x6d, 0x5a, 0xf8, 0x56, 0x31, 0xc2, 0x5a, 0xe1, 0x1e, 0x19, 0x3e, 0x7a, 0x01, 0x1b, 0x64, - 0x4c, 0xb1, 0xa4, 0x71, 0xca, 0x09, 0x4e, 0x4f, 0xb9, 0x90, 0xd6, 0xb6, 0x0b, 0xda, 0x3b, 0xe1, - 0xd1, 0x95, 0x04, 0x6b, 0x8c, 0x22, 0x81, 0x82, 0x5e, 0x95, 0x08, 0x7a, 0x07, 0x9b, 0x39, 0xfd, - 0x22, 0x63, 0xbd, 0x2e, 0x16, 0xf4, 0xf3, 0x84, 0xe6, 0x84, 0x5a, 0x75, 0x17, 0xb4, 0x6b, 0xa1, - 0xb3, 0x9a, 0x3b, 0x47, 0xda, 0x6b, 0x13, 0xcb, 0x8b, 0x50, 0x01, 0x9b, 0x5b, 0x97, 0xe0, 0x73, - 0x78, 0xb0, 0xd6, 0x0c, 0x6a, 0xc0, 0xea, 0x27, 0x3a, 0xb3, 0x80, 0x0b, 0xda, 0xfb, 0x51, 0x31, - 0xa2, 0x26, 0xdc, 0x9e, 0xe2, 0x74, 0x42, 0xad, 0x2d, 0x85, 0xe9, 0x1f, 0xfd, 0xda, 0xd7, 0x1f, - 0x4e, 0xc5, 0xfb, 0x05, 0xe0, 0x83, 0x5b, 0x5b, 0x46, 0x5d, 0xb8, 0x6b, 0x62, 0xb0, 0x44, 0x39, - 0xee, 0x86, 0xcd, 0xd5, 0xdc, 0x69, 0x5c, 0x2d, 0x3d, 0x66, 0x89, 0x17, 0xed, 0xe8, 0xf9, 0x24, - 0x41, 0x29, 0x34, 0xcd, 0x5f, 0x1e, 0x58, 0xff, 0xe7, 0x1e, 0x6e, 0xea, 0x7b, 0xfd, 0xac, 0xb6, - 0x39, 0xeb, 0xe1, 0xb5, 0x0d, 0x97, 0x57, 0xbd, 0xab, 0x91, 0x7f, 0xfc, 0x37, 0x67, 0x0b, 0x1b, - 0x9c, 0x2f, 0x6c, 0xf0, 0x67, 0x61, 0x83, 0x6f, 0x4b, 0xbb, 0x72, 0xbe, 0xb4, 0x2b, 0x17, 0x4b, - 0xbb, 0xf2, 0xe1, 0xe9, 0x90, 0xc9, 0xd3, 0xc9, 0xc0, 0x27, 0x3c, 0x0b, 0x08, 0x17, 0x19, 0x17, - 0x01, 0x1b, 0x90, 0xce, 0x90, 0x07, 0x19, 0x4f, 0x26, 0x29, 0x15, 0xfa, 0x21, 0x3f, 0xee, 0x75, - 0xcc, 0x5b, 0x96, 0xb3, 0x11, 0x15, 0x83, 0xba, 0x7a, 0xb2, 0x4f, 0xfe, 0x06, 0x00, 0x00, 0xff, - 0xff, 0xf5, 0x0e, 0x89, 0x7e, 0x21, 0x04, 0x00, 0x00, + 0x8b, 0xd8, 0x24, 0x6c, 0xaa, 0x6c, 0x90, 0x5c, 0x09, 0x54, 0x09, 0x24, 0x30, 0x3b, 0x36, 0xd6, + 0x64, 0x3c, 0xa4, 0x23, 0x6c, 0x4f, 0xc8, 0x4c, 0x22, 0x72, 0x03, 0x96, 0x88, 0x13, 0xb0, 0xe6, + 0x0c, 0x1c, 0xa0, 0xcb, 0x2e, 0xbb, 0x0a, 0x28, 0xb9, 0x41, 0x4e, 0x80, 0x3c, 0x33, 0xa6, 0x6d, + 0x9a, 0x76, 0xf7, 0xf3, 0xfc, 0xde, 0xfb, 0x4f, 0xef, 0x67, 0xa0, 0xcb, 0x06, 0x24, 0x20, 0x7c, + 0x4c, 0x03, 0x92, 0x32, 0x9a, 0xcb, 0x60, 0xda, 0x0d, 0x86, 0x34, 0xa7, 0x82, 0x09, 0x7f, 0x34, + 0xe6, 0x92, 0x23, 0xc4, 0x06, 0xc4, 0x2f, 0x18, 0xbe, 0x66, 0xf8, 0xd3, 0x6e, 0xcb, 0xd9, 0xa0, + 0x32, 0x5f, 0x95, 0xa8, 0xd5, 0x1c, 0xf2, 0x21, 0x57, 0x63, 0x50, 0x4c, 0x1a, 0xf5, 0x2e, 0x6b, + 0x70, 0xff, 0xb5, 0x36, 0xff, 0x20, 0xb1, 0xa4, 0x88, 0xc0, 0x07, 0x5a, 0x26, 0x2c, 0xe0, 0x56, + 0xdb, 0x7b, 0xbd, 0x67, 0xfe, 0xed, 0x6d, 0xfe, 0x69, 0x42, 0x73, 0xc9, 0x3e, 0x31, 0x9a, 0x9c, + 0x28, 0x4c, 0x69, 0x43, 0xfb, 0x7c, 0xee, 0x54, 0x7e, 0xfd, 0x71, 0x0e, 0x37, 0x7e, 0x16, 0x51, + 0xe9, 0x8c, 0x7e, 0x00, 0xf8, 0xc8, 0xcc, 0x31, 0xe1, 0xb9, 0xa0, 0xb9, 0x98, 0x08, 0x6b, 0xeb, + 0xee, 0x7d, 0xda, 0xe6, 0xa4, 0xa4, 0x6a, 0xbf, 0xb0, 0x5f, 0xec, 0x5b, 0xcd, 0x1d, 0x6b, 0x86, + 0xb3, 0xb4, 0xef, 0xdd, 0x72, 0xf4, 0x8a, 0x2c, 0x5a, 0x2a, 0xd6, 0xb4, 0x51, 0x83, 0xac, 0xe1, + 0x68, 0x06, 0x4b, 0x2c, 0xce, 0xa8, 0xc4, 0x09, 0x96, 0xd8, 0xaa, 0xaa, 0x48, 0x9d, 0xfb, 0x2b, + 0x30, 0xfd, 0xbd, 0x35, 0xa2, 0xd0, 0x31, 0xb1, 0x1e, 0xdf, 0x8c, 0x55, 0x9a, 0x7a, 0xd1, 0x81, + 0x81, 0x4a, 0x05, 0x3a, 0x86, 0xf5, 0x11, 0x1e, 0xe3, 0x4c, 0x58, 0x35, 0x17, 0xb4, 0xf7, 0x7a, + 0xad, 0x4d, 0x0b, 0xdf, 0x29, 0x46, 0x58, 0x2b, 0xdc, 0x23, 0xc3, 0x47, 0xaf, 0x60, 0x83, 0x8c, + 0x29, 0x96, 0x34, 0x4e, 0x39, 0xc1, 0xe9, 0x19, 0x17, 0xd2, 0xda, 0x76, 0x41, 0x7b, 0x27, 0x3c, + 0xba, 0x96, 0x60, 0x8d, 0x51, 0x24, 0x50, 0xd0, 0x9b, 0x12, 0x41, 0xef, 0x61, 0x33, 0xa7, 0x5f, + 0x65, 0xac, 0xd7, 0xc5, 0x82, 0x7e, 0x99, 0xd0, 0x9c, 0x50, 0xab, 0xee, 0x82, 0x76, 0x2d, 0x74, + 0x56, 0x73, 0xe7, 0x48, 0x7b, 0x6d, 0x62, 0x79, 0x11, 0x2a, 0x60, 0x73, 0xeb, 0x12, 0x7c, 0x09, + 0x0f, 0xd6, 0x9a, 0x41, 0x0d, 0x58, 0xfd, 0x4c, 0x67, 0x16, 0x70, 0x41, 0x7b, 0x3f, 0x2a, 0x46, + 0xd4, 0x84, 0xdb, 0x53, 0x9c, 0x4e, 0xa8, 0xb5, 0xa5, 0x30, 0xfd, 0xa3, 0x5f, 0xfb, 0xf6, 0xd3, + 0xa9, 0x78, 0xbf, 0x01, 0x7c, 0x72, 0x67, 0xcb, 0xa8, 0x0b, 0x77, 0x4d, 0x0c, 0x96, 0x28, 0xc7, + 0xdd, 0xb0, 0xb9, 0x9a, 0x3b, 0x8d, 0xeb, 0xa5, 0xc7, 0x2c, 0xf1, 0xa2, 0x1d, 0x3d, 0x9f, 0x26, + 0x28, 0x85, 0xa6, 0xf9, 0xab, 0x03, 0xeb, 0xff, 0xdc, 0xd3, 0x4d, 0x7d, 0xaf, 0x9f, 0xd5, 0x36, + 0x67, 0x3d, 0xbc, 0xb1, 0xe1, 0xea, 0xaa, 0x0f, 0x35, 0xf2, 0x9f, 0x1f, 0x9d, 0x2f, 0x6c, 0x70, + 0xb1, 0xb0, 0xc1, 0xdf, 0x85, 0x0d, 0xbe, 0x2f, 0xed, 0xca, 0xc5, 0xd2, 0xae, 0x5c, 0x2e, 0xed, + 0xca, 0xc7, 0xe3, 0x21, 0x93, 0x67, 0x93, 0x81, 0x4f, 0x78, 0x16, 0x10, 0x2e, 0x32, 0x2e, 0x02, + 0x36, 0x20, 0x9d, 0x21, 0x0f, 0xa6, 0xbd, 0x20, 0xe3, 0xc9, 0x24, 0xa5, 0x42, 0xbf, 0xe5, 0xe7, + 0xbd, 0x8e, 0x79, 0xce, 0x72, 0x36, 0xa2, 0x62, 0x50, 0x57, 0xaf, 0xf6, 0xc5, 0xbf, 0x00, 0x00, + 0x00, 0xff, 0xff, 0xcb, 0xb6, 0xa1, 0x7d, 0x24, 0x04, 0x00, 0x00, } func (m *GenesisState) Marshal() (dAtA []byte, err error) { diff --git a/modules/core/02-client/types/genesis_test.go b/modules/core/02-client/types/genesis_test.go index ab2c479c6f1..55be9a745a0 100644 --- a/modules/core/02-client/types/genesis_test.go +++ b/modules/core/02-client/types/genesis_test.go @@ -5,14 +5,14 @@ import ( tmtypes "github.com/tendermint/tendermint/types" - client "github.com/cosmos/ibc-go/modules/core/02-client" - "github.com/cosmos/ibc-go/modules/core/02-client/types" - commitmenttypes "github.com/cosmos/ibc-go/modules/core/23-commitment/types" - "github.com/cosmos/ibc-go/modules/core/exported" - ibctmtypes "github.com/cosmos/ibc-go/modules/light-clients/07-tendermint/types" - localhosttypes "github.com/cosmos/ibc-go/modules/light-clients/09-localhost/types" - ibctesting "github.com/cosmos/ibc-go/testing" - ibctestingmock "github.com/cosmos/ibc-go/testing/mock" + client "github.com/cosmos/ibc-go/v2/modules/core/02-client" + "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" + commitmenttypes "github.com/cosmos/ibc-go/v2/modules/core/23-commitment/types" + "github.com/cosmos/ibc-go/v2/modules/core/exported" + ibctmtypes "github.com/cosmos/ibc-go/v2/modules/light-clients/07-tendermint/types" + localhosttypes "github.com/cosmos/ibc-go/v2/modules/light-clients/09-localhost/types" + ibctesting "github.com/cosmos/ibc-go/v2/testing" + ibctestingmock "github.com/cosmos/ibc-go/v2/testing/mock" ) const ( diff --git a/modules/core/02-client/types/height.go b/modules/core/02-client/types/height.go index 5f4d025b606..7b25a7458d7 100644 --- a/modules/core/02-client/types/height.go +++ b/modules/core/02-client/types/height.go @@ -9,7 +9,7 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" - "github.com/cosmos/ibc-go/modules/core/exported" + "github.com/cosmos/ibc-go/v2/modules/core/exported" ) var _ exported.Height = (*Height)(nil) diff --git a/modules/core/02-client/types/height_test.go b/modules/core/02-client/types/height_test.go index 145a897b8bc..08450f63ab7 100644 --- a/modules/core/02-client/types/height_test.go +++ b/modules/core/02-client/types/height_test.go @@ -6,7 +6,7 @@ import ( "github.com/stretchr/testify/require" - "github.com/cosmos/ibc-go/modules/core/02-client/types" + "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" ) func TestZeroHeight(t *testing.T) { diff --git a/modules/core/02-client/types/keys.go b/modules/core/02-client/types/keys.go index b7f6ddf919c..043330a7616 100644 --- a/modules/core/02-client/types/keys.go +++ b/modules/core/02-client/types/keys.go @@ -7,7 +7,7 @@ import ( "strings" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" - host "github.com/cosmos/ibc-go/modules/core/24-host" + host "github.com/cosmos/ibc-go/v2/modules/core/24-host" ) const ( diff --git a/modules/core/02-client/types/keys_test.go b/modules/core/02-client/types/keys_test.go index f3935454118..05ab05419ce 100644 --- a/modules/core/02-client/types/keys_test.go +++ b/modules/core/02-client/types/keys_test.go @@ -6,7 +6,7 @@ import ( "github.com/stretchr/testify/require" - "github.com/cosmos/ibc-go/modules/core/02-client/types" + "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" ) // tests ParseClientIdentifier and IsValidClientID diff --git a/modules/core/02-client/types/msgs.go b/modules/core/02-client/types/msgs.go index e2ff1ca02b1..9eba4171b6c 100644 --- a/modules/core/02-client/types/msgs.go +++ b/modules/core/02-client/types/msgs.go @@ -4,8 +4,8 @@ import ( codectypes "github.com/cosmos/cosmos-sdk/codec/types" sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" - host "github.com/cosmos/ibc-go/modules/core/24-host" - "github.com/cosmos/ibc-go/modules/core/exported" + host "github.com/cosmos/ibc-go/v2/modules/core/24-host" + "github.com/cosmos/ibc-go/v2/modules/core/exported" ) // message types for the IBC client diff --git a/modules/core/02-client/types/msgs_test.go b/modules/core/02-client/types/msgs_test.go index 7efc07b42d1..aa2bbf48dfc 100644 --- a/modules/core/02-client/types/msgs_test.go +++ b/modules/core/02-client/types/msgs_test.go @@ -7,12 +7,12 @@ import ( "github.com/golang/protobuf/proto" "github.com/stretchr/testify/suite" - "github.com/cosmos/ibc-go/modules/core/02-client/types" - commitmenttypes "github.com/cosmos/ibc-go/modules/core/23-commitment/types" - "github.com/cosmos/ibc-go/modules/core/exported" - solomachinetypes "github.com/cosmos/ibc-go/modules/light-clients/06-solomachine/types" - ibctmtypes "github.com/cosmos/ibc-go/modules/light-clients/07-tendermint/types" - ibctesting "github.com/cosmos/ibc-go/testing" + "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" + commitmenttypes "github.com/cosmos/ibc-go/v2/modules/core/23-commitment/types" + "github.com/cosmos/ibc-go/v2/modules/core/exported" + solomachinetypes "github.com/cosmos/ibc-go/v2/modules/light-clients/06-solomachine/types" + ibctmtypes "github.com/cosmos/ibc-go/v2/modules/light-clients/07-tendermint/types" + ibctesting "github.com/cosmos/ibc-go/v2/testing" ) type TypesTestSuite struct { diff --git a/modules/core/02-client/types/params.go b/modules/core/02-client/types/params.go index 6460a3fcde5..f00509efeb8 100644 --- a/modules/core/02-client/types/params.go +++ b/modules/core/02-client/types/params.go @@ -5,7 +5,7 @@ import ( "strings" paramtypes "github.com/cosmos/cosmos-sdk/x/params/types" - "github.com/cosmos/ibc-go/modules/core/exported" + "github.com/cosmos/ibc-go/v2/modules/core/exported" ) var ( diff --git a/modules/core/02-client/types/params_test.go b/modules/core/02-client/types/params_test.go index 1f3d0571b36..85fd682909a 100644 --- a/modules/core/02-client/types/params_test.go +++ b/modules/core/02-client/types/params_test.go @@ -5,7 +5,7 @@ import ( "github.com/stretchr/testify/require" - "github.com/cosmos/ibc-go/modules/core/exported" + "github.com/cosmos/ibc-go/v2/modules/core/exported" ) func TestValidateParams(t *testing.T) { diff --git a/modules/core/02-client/types/proposal.go b/modules/core/02-client/types/proposal.go index bf5ac73e772..42623986dab 100644 --- a/modules/core/02-client/types/proposal.go +++ b/modules/core/02-client/types/proposal.go @@ -7,7 +7,7 @@ import ( sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" govtypes "github.com/cosmos/cosmos-sdk/x/gov/types" upgradetypes "github.com/cosmos/cosmos-sdk/x/upgrade/types" - "github.com/cosmos/ibc-go/modules/core/exported" + "github.com/cosmos/ibc-go/v2/modules/core/exported" ) const ( diff --git a/modules/core/02-client/types/proposal_test.go b/modules/core/02-client/types/proposal_test.go index 334204fb581..fbf862a25fb 100644 --- a/modules/core/02-client/types/proposal_test.go +++ b/modules/core/02-client/types/proposal_test.go @@ -8,9 +8,9 @@ import ( govtypes "github.com/cosmos/cosmos-sdk/x/gov/types" upgradetypes "github.com/cosmos/cosmos-sdk/x/upgrade/types" - "github.com/cosmos/ibc-go/modules/core/02-client/types" - ibctmtypes "github.com/cosmos/ibc-go/modules/light-clients/07-tendermint/types" - ibctesting "github.com/cosmos/ibc-go/testing" + "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" + ibctmtypes "github.com/cosmos/ibc-go/v2/modules/light-clients/07-tendermint/types" + ibctesting "github.com/cosmos/ibc-go/v2/testing" ) func (suite *TypesTestSuite) TestValidateBasic() { diff --git a/modules/core/02-client/types/query.go b/modules/core/02-client/types/query.go index 5dc9d73df6f..add8c8cd6bb 100644 --- a/modules/core/02-client/types/query.go +++ b/modules/core/02-client/types/query.go @@ -2,7 +2,7 @@ package types import ( codectypes "github.com/cosmos/cosmos-sdk/codec/types" - "github.com/cosmos/ibc-go/modules/core/exported" + "github.com/cosmos/ibc-go/v2/modules/core/exported" ) var ( diff --git a/modules/core/02-client/types/query.pb.go b/modules/core/02-client/types/query.pb.go index 0e62431265a..168844fe1d0 100644 --- a/modules/core/02-client/types/query.pb.go +++ b/modules/core/02-client/types/query.pb.go @@ -870,69 +870,69 @@ func init() { func init() { proto.RegisterFile("ibc/core/client/v1/query.proto", fileDescriptor_dc42cdfd1d52d76e) } var fileDescriptor_dc42cdfd1d52d76e = []byte{ - // 981 bytes of a gzipped FileDescriptorProto + // 983 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x57, 0xcd, 0x6f, 0x1b, 0x45, 0x14, 0xcf, 0xa4, 0x69, 0xd4, 0x3e, 0xbb, 0x09, 0x9a, 0xa6, 0xa9, 0xbb, 0x2d, 0x8e, 0xbb, 0x41, - 0x34, 0x2d, 0xc9, 0x4e, 0xe2, 0xd0, 0x86, 0x0b, 0x07, 0x52, 0xa9, 0xb4, 0x97, 0xb6, 0x2c, 0x42, - 0x48, 0x48, 0x28, 0xda, 0x5d, 0x4f, 0x36, 0x2b, 0xd9, 0x3b, 0xae, 0x67, 0x27, 0x52, 0x54, 0xe5, - 0x40, 0x8f, 0x9c, 0x90, 0x90, 0xb8, 0x22, 0x71, 0xe4, 0x50, 0x71, 0x40, 0xe2, 0xca, 0x09, 0xf5, - 0x58, 0x09, 0x0e, 0x9c, 0x08, 0x4a, 0xf8, 0x43, 0x90, 0x67, 0x66, 0xe3, 0x9d, 0x78, 0x8c, 0xd7, - 0x08, 0x6e, 0x3b, 0xef, 0xf3, 0xf7, 0x3e, 0xe6, 0x37, 0x5a, 0xa8, 0x27, 0x61, 0x44, 0x22, 0xd6, - 0xa3, 0x24, 0x6a, 0x27, 0x34, 0xcd, 0xc8, 0xfe, 0x06, 0x79, 0x26, 0x68, 0xef, 0xc0, 0xeb, 0xf6, - 0x58, 0xc6, 0x30, 0x4e, 0xc2, 0xc8, 0xeb, 0xeb, 0x3d, 0xa5, 0xf7, 0xf6, 0x37, 0x9c, 0x3b, 0x11, - 0xe3, 0x1d, 0xc6, 0x49, 0x18, 0x70, 0xaa, 0x8c, 0xc9, 0xfe, 0x46, 0x48, 0xb3, 0x60, 0x83, 0x74, - 0x83, 0x38, 0x49, 0x83, 0x2c, 0x61, 0xa9, 0xf2, 0x77, 0x96, 0x2c, 0xf1, 0x75, 0x24, 0x65, 0x70, - 0x2d, 0x66, 0x2c, 0x6e, 0x53, 0x22, 0x4f, 0xa1, 0xd8, 0x25, 0x41, 0xaa, 0x73, 0x3b, 0x37, 0xb4, - 0x2a, 0xe8, 0x26, 0x24, 0x48, 0x53, 0x96, 0xc9, 0xc0, 0x5c, 0x6b, 0x17, 0x62, 0x16, 0x33, 0xf9, - 0x49, 0xfa, 0x5f, 0x4a, 0xea, 0xde, 0x83, 0xab, 0x1f, 0xf5, 0x11, 0xdd, 0x97, 0x39, 0x3e, 0xce, - 0x82, 0x8c, 0xfa, 0xf4, 0x99, 0xa0, 0x3c, 0xc3, 0xd7, 0xe1, 0xa2, 0xca, 0xbc, 0x93, 0xb4, 0x6a, - 0xa8, 0x81, 0x56, 0x2e, 0xfa, 0x17, 0x94, 0xe0, 0x51, 0xcb, 0x7d, 0x89, 0xa0, 0x36, 0xec, 0xc8, - 0xbb, 0x2c, 0xe5, 0x14, 0x6f, 0x41, 0x55, 0x7b, 0xf2, 0xbe, 0x5c, 0x3a, 0x57, 0x9a, 0x0b, 0x9e, - 0xc2, 0xe7, 0xe5, 0xd0, 0xbd, 0x0f, 0xd2, 0x03, 0xbf, 0x12, 0x0d, 0x02, 0xe0, 0x05, 0x38, 0xdf, - 0xed, 0x31, 0xb6, 0x5b, 0x9b, 0x6e, 0xa0, 0x95, 0xaa, 0xaf, 0x0e, 0xf8, 0x3e, 0x54, 0xe5, 0xc7, - 0xce, 0x1e, 0x4d, 0xe2, 0xbd, 0xac, 0x76, 0x4e, 0x86, 0x73, 0xbc, 0xe1, 0x56, 0x7b, 0x0f, 0xa5, - 0xc5, 0xf6, 0xcc, 0xab, 0x3f, 0x96, 0xa6, 0xfc, 0x8a, 0xf4, 0x52, 0x22, 0x37, 0x1c, 0xc6, 0xcb, - 0xf3, 0x4a, 0x1f, 0x00, 0x0c, 0x06, 0xa1, 0xd1, 0xbe, 0xed, 0xa9, 0xa9, 0x79, 0xfd, 0xa9, 0x79, - 0x6a, 0xc4, 0x7a, 0x6a, 0xde, 0xd3, 0x20, 0xce, 0xbb, 0xe4, 0x17, 0x3c, 0xdd, 0xdf, 0x10, 0x5c, - 0xb3, 0x24, 0xd1, 0x5d, 0x49, 0xe1, 0x52, 0xb1, 0x2b, 0xbc, 0x86, 0x1a, 0xe7, 0x56, 0x2a, 0xcd, - 0xdb, 0xb6, 0x3a, 0x1e, 0xb5, 0x68, 0x9a, 0x25, 0xbb, 0x09, 0x6d, 0x15, 0x42, 0x6d, 0xd7, 0xfb, - 0x65, 0x7d, 0x7f, 0xb4, 0xb4, 0x68, 0x55, 0x73, 0xbf, 0x5a, 0xe8, 0x25, 0xc7, 0x1f, 0x1a, 0x55, - 0x4d, 0xcb, 0xaa, 0x6e, 0x8d, 0xad, 0x4a, 0x81, 0x35, 0xca, 0xfa, 0x01, 0x81, 0xa3, 0xca, 0xea, - 0xab, 0x52, 0x2e, 0x78, 0xe9, 0x3d, 0xc1, 0xb7, 0x60, 0xbe, 0x47, 0xf7, 0x13, 0x9e, 0xb0, 0x74, - 0x27, 0x15, 0x9d, 0x90, 0xf6, 0x24, 0x92, 0x19, 0x7f, 0x2e, 0x17, 0x3f, 0x96, 0x52, 0xc3, 0xb0, - 0x30, 0xe7, 0x82, 0xa1, 0x1a, 0x24, 0x5e, 0x86, 0x4b, 0xed, 0x7e, 0x7d, 0x59, 0x6e, 0x36, 0xd3, - 0x40, 0x2b, 0x17, 0xfc, 0xaa, 0x12, 0xea, 0x69, 0xff, 0x84, 0xe0, 0xba, 0x15, 0xb2, 0x9e, 0xc5, - 0xfb, 0x30, 0x1f, 0xe5, 0x9a, 0x12, 0x4b, 0x3a, 0x17, 0x19, 0x61, 0xfe, 0xcf, 0x3d, 0x7d, 0x61, - 0x47, 0xce, 0x4b, 0x75, 0xfb, 0x81, 0x65, 0xe4, 0xff, 0x66, 0x91, 0x7f, 0x41, 0x70, 0xc3, 0x0e, - 0x42, 0xf7, 0xef, 0x73, 0x78, 0xe3, 0x4c, 0xff, 0xf2, 0x75, 0x5e, 0xb5, 0x95, 0x6b, 0x86, 0xf9, - 0x34, 0xc9, 0xf6, 0x8c, 0x06, 0xcc, 0x9b, 0xed, 0xfd, 0x0f, 0x57, 0x77, 0x6b, 0xe8, 0xd6, 0x8b, - 0x52, 0x9d, 0x74, 0x37, 0x87, 0x6e, 0xb2, 0x18, 0x54, 0xbf, 0x08, 0xb3, 0x5c, 0x4a, 0xb4, 0x9b, - 0x3e, 0xb9, 0x8e, 0x91, 0xed, 0x69, 0xd0, 0x0b, 0x3a, 0x79, 0x36, 0xf7, 0x89, 0x11, 0x30, 0xd7, - 0xe9, 0x80, 0x4d, 0x98, 0xed, 0x4a, 0x89, 0xde, 0x42, 0xeb, 0xce, 0x68, 0x1f, 0x6d, 0xe9, 0xde, - 0x84, 0x25, 0x19, 0xf0, 0x93, 0x6e, 0xdc, 0x0b, 0x5a, 0x06, 0x13, 0xe4, 0x39, 0xdb, 0xd0, 0x18, - 0x6d, 0xa2, 0x53, 0x3f, 0x84, 0x2b, 0x42, 0xab, 0x77, 0x4a, 0x93, 0xf6, 0x65, 0x31, 0x1c, 0xd1, - 0x7d, 0x0b, 0x5c, 0x33, 0x9b, 0x8d, 0x2d, 0x5c, 0x01, 0xcb, 0xff, 0x68, 0xa5, 0x61, 0x3d, 0x86, - 0xda, 0x00, 0xd6, 0x04, 0x37, 0x75, 0x51, 0x58, 0xe3, 0x36, 0xbf, 0xa8, 0xc0, 0x79, 0x99, 0x17, - 0x7f, 0x8b, 0xa0, 0x52, 0x80, 0x8d, 0xdf, 0xb1, 0xf5, 0x7a, 0xc4, 0x9b, 0xe8, 0xac, 0x96, 0x33, - 0x56, 0x45, 0xb8, 0x77, 0x5f, 0xfc, 0xfa, 0xd7, 0xd7, 0xd3, 0x04, 0xaf, 0x91, 0x91, 0xaf, 0xba, - 0xbe, 0x3c, 0xe4, 0xf9, 0xe9, 0x2a, 0x1e, 0xe2, 0x6f, 0x10, 0x54, 0x8b, 0xbc, 0x8e, 0x4b, 0x65, - 0xcd, 0x37, 0xcd, 0x59, 0x2b, 0x69, 0xad, 0x41, 0xde, 0x96, 0x20, 0x97, 0xf1, 0xcd, 0xb1, 0x20, - 0xf1, 0x11, 0x82, 0x39, 0xb3, 0xaf, 0xd8, 0x1b, 0x9d, 0xcc, 0x36, 0x7e, 0x87, 0x94, 0xb6, 0xd7, - 0xf0, 0xda, 0x12, 0xde, 0x2e, 0x6e, 0x59, 0xe1, 0x9d, 0xe1, 0xa0, 0x62, 0x1b, 0x49, 0xfe, 0x6e, - 0x90, 0xe7, 0x67, 0x5e, 0xa0, 0x43, 0xa2, 0x08, 0xba, 0xa0, 0x50, 0x82, 0x43, 0xfc, 0x12, 0xc1, - 0xfc, 0x19, 0xce, 0xc3, 0x65, 0x21, 0x9f, 0x0e, 0x60, 0xbd, 0xbc, 0x83, 0x2e, 0xf2, 0x3d, 0x59, - 0x64, 0x13, 0xaf, 0x4f, 0x5a, 0x24, 0xfe, 0xce, 0xd8, 0x15, 0x51, 0x6e, 0x57, 0xc4, 0x44, 0xbb, - 0x32, 0x20, 0xbe, 0xd2, 0x0b, 0x2d, 0x4c, 0x90, 0x5f, 0x9e, 0x82, 0x54, 0x1c, 0x36, 0x16, 0xa4, - 0x41, 0x9d, 0x63, 0x41, 0x9a, 0x64, 0xea, 0xbe, 0x29, 0x41, 0x5e, 0xc5, 0x57, 0x14, 0xc8, 0x53, - 0x7c, 0x8a, 0x37, 0xf1, 0x8f, 0x08, 0x2e, 0x5b, 0x08, 0x11, 0x6f, 0x8e, 0xcc, 0x32, 0x9a, 0x61, - 0x9d, 0x77, 0x27, 0x73, 0xd2, 0x08, 0x9b, 0x12, 0xe1, 0x2a, 0xbe, 0x63, 0x6b, 0xa3, 0x95, 0x8d, - 0x39, 0xfe, 0x19, 0xc1, 0xa2, 0x9d, 0x33, 0xf1, 0xbd, 0xf1, 0x20, 0xac, 0x77, 0x71, 0x6b, 0x62, - 0xbf, 0x32, 0x6b, 0x30, 0x8a, 0xb6, 0xf9, 0xf6, 0x93, 0x57, 0xc7, 0x75, 0xf4, 0xfa, 0xb8, 0x8e, - 0xfe, 0x3c, 0xae, 0xa3, 0xaf, 0x4e, 0xea, 0x53, 0xaf, 0x4f, 0xea, 0x53, 0xbf, 0x9f, 0xd4, 0xa7, - 0x3e, 0xbb, 0x1b, 0x27, 0xd9, 0x9e, 0x08, 0xbd, 0x88, 0x75, 0x88, 0xfe, 0x59, 0x4a, 0xc2, 0x68, - 0x2d, 0x66, 0xa4, 0xc3, 0x5a, 0xa2, 0x4d, 0xb9, 0x4a, 0xb2, 0xde, 0x5c, 0xd3, 0x79, 0xb2, 0x83, - 0x2e, 0xe5, 0xe1, 0xac, 0xa4, 0xfe, 0xcd, 0xbf, 0x03, 0x00, 0x00, 0xff, 0xff, 0x50, 0xa9, 0x40, - 0x56, 0x95, 0x0d, 0x00, 0x00, + 0x34, 0x2d, 0xc9, 0x4e, 0xe2, 0x40, 0xd3, 0x0b, 0x07, 0x52, 0xa9, 0xb4, 0x97, 0x52, 0x16, 0x21, + 0x24, 0x24, 0x14, 0xed, 0xae, 0x27, 0x9b, 0x95, 0xec, 0x1d, 0xd7, 0xb3, 0x6b, 0x29, 0xaa, 0x72, + 0xa0, 0x47, 0x4e, 0x48, 0x48, 0x5c, 0x91, 0x38, 0x72, 0xa8, 0x38, 0x20, 0x71, 0xe5, 0x84, 0x7a, + 0xac, 0x04, 0x07, 0x4e, 0x04, 0x25, 0xfc, 0x21, 0x68, 0x67, 0x66, 0xe3, 0x1d, 0x7b, 0x8c, 0xd7, + 0x88, 0xde, 0x76, 0xde, 0xe7, 0xef, 0x7d, 0xcc, 0x6f, 0xb4, 0x50, 0x8f, 0xfc, 0x80, 0x04, 0xac, + 0x47, 0x49, 0xd0, 0x8e, 0x68, 0x9c, 0x90, 0xfe, 0x16, 0x79, 0x9a, 0xd2, 0xde, 0xa1, 0xd3, 0xed, + 0xb1, 0x84, 0x61, 0x1c, 0xf9, 0x81, 0x93, 0xe9, 0x1d, 0xa9, 0x77, 0xfa, 0x5b, 0xd6, 0x9d, 0x80, + 0xf1, 0x0e, 0xe3, 0xc4, 0xf7, 0x38, 0x95, 0xc6, 0xa4, 0xbf, 0xe5, 0xd3, 0xc4, 0xdb, 0x22, 0x5d, + 0x2f, 0x8c, 0x62, 0x2f, 0x89, 0x58, 0x2c, 0xfd, 0xad, 0x15, 0x43, 0x7c, 0x15, 0x49, 0x1a, 0x5c, + 0x0b, 0x19, 0x0b, 0xdb, 0x94, 0x88, 0x93, 0x9f, 0xee, 0x13, 0x2f, 0x56, 0xb9, 0xad, 0x1b, 0x4a, + 0xe5, 0x75, 0x23, 0xe2, 0xc5, 0x31, 0x4b, 0x44, 0x60, 0xae, 0xb4, 0x4b, 0x21, 0x0b, 0x99, 0xf8, + 0x24, 0xd9, 0x97, 0x94, 0xda, 0x77, 0xe1, 0xea, 0xc7, 0x19, 0xa2, 0xfb, 0x22, 0xc7, 0x27, 0x89, + 0x97, 0x50, 0x97, 0x3e, 0x4d, 0x29, 0x4f, 0xf0, 0x75, 0xb8, 0x28, 0x33, 0xef, 0x45, 0xad, 0x1a, + 0x6a, 0xa0, 0xb5, 0x8b, 0xee, 0x05, 0x29, 0x78, 0xd4, 0xb2, 0x5f, 0x20, 0xa8, 0x8d, 0x3a, 0xf2, + 0x2e, 0x8b, 0x39, 0xc5, 0x3b, 0x50, 0x55, 0x9e, 0x3c, 0x93, 0x0b, 0xe7, 0x4a, 0x73, 0xc9, 0x91, + 0xf8, 0x9c, 0x1c, 0xba, 0xf3, 0x41, 0x7c, 0xe8, 0x56, 0x82, 0x41, 0x00, 0xbc, 0x04, 0xe7, 0xbb, + 0x3d, 0xc6, 0xf6, 0x6b, 0xb3, 0x0d, 0xb4, 0x56, 0x75, 0xe5, 0x01, 0xdf, 0x87, 0xaa, 0xf8, 0xd8, + 0x3b, 0xa0, 0x51, 0x78, 0x90, 0xd4, 0xce, 0x89, 0x70, 0x96, 0x33, 0xda, 0x6a, 0xe7, 0xa1, 0xb0, + 0xd8, 0x9d, 0x7b, 0xf9, 0xe7, 0xca, 0x8c, 0x5b, 0x11, 0x5e, 0x52, 0x64, 0xfb, 0xa3, 0x78, 0x79, + 0x5e, 0xe9, 0x03, 0x80, 0xc1, 0x20, 0x14, 0xda, 0xb7, 0x1d, 0x39, 0x35, 0x27, 0x9b, 0x9a, 0x23, + 0x47, 0xac, 0xa6, 0xe6, 0x3c, 0xf1, 0xc2, 0xbc, 0x4b, 0x6e, 0xc1, 0xd3, 0xfe, 0x1d, 0xc1, 0x35, + 0x43, 0x12, 0xd5, 0x95, 0x18, 0x2e, 0x15, 0xbb, 0xc2, 0x6b, 0xa8, 0x71, 0x6e, 0xad, 0xd2, 0xbc, + 0x6d, 0xaa, 0xe3, 0x51, 0x8b, 0xc6, 0x49, 0xb4, 0x1f, 0xd1, 0x56, 0x21, 0xd4, 0x6e, 0x3d, 0x2b, + 0xeb, 0x87, 0xe3, 0x95, 0x65, 0xa3, 0x9a, 0xbb, 0xd5, 0x42, 0x2f, 0x39, 0xfe, 0x50, 0xab, 0x6a, + 0x56, 0x54, 0x75, 0x6b, 0x62, 0x55, 0x12, 0xac, 0x56, 0xd6, 0x8f, 0x08, 0x2c, 0x59, 0x56, 0xa6, + 0x8a, 0x79, 0xca, 0x4b, 0xef, 0x09, 0xbe, 0x05, 0x8b, 0x3d, 0xda, 0x8f, 0x78, 0xc4, 0xe2, 0xbd, + 0x38, 0xed, 0xf8, 0xb4, 0x27, 0x90, 0xcc, 0xb9, 0x0b, 0xb9, 0xf8, 0xb1, 0x90, 0x6a, 0x86, 0x85, + 0x39, 0x17, 0x0c, 0xe5, 0x20, 0xf1, 0x2a, 0x5c, 0x6a, 0x67, 0xf5, 0x25, 0xb9, 0xd9, 0x5c, 0x03, + 0xad, 0x5d, 0x70, 0xab, 0x52, 0xa8, 0xa6, 0xfd, 0x33, 0x82, 0xeb, 0x46, 0xc8, 0x6a, 0x16, 0xef, + 0xc3, 0x62, 0x90, 0x6b, 0x4a, 0x2c, 0xe9, 0x42, 0xa0, 0x85, 0x79, 0x9d, 0x7b, 0xfa, 0xdc, 0x8c, + 0x9c, 0x97, 0xea, 0xf6, 0x03, 0xc3, 0xc8, 0xff, 0xcb, 0x22, 0xff, 0x8a, 0xe0, 0x86, 0x19, 0x84, + 0xea, 0xdf, 0x17, 0xf0, 0xc6, 0x50, 0xff, 0xf2, 0x75, 0x5e, 0x37, 0x95, 0xab, 0x87, 0xf9, 0x2c, + 0x4a, 0x0e, 0xb4, 0x06, 0x2c, 0xea, 0xed, 0xfd, 0x1f, 0x57, 0x77, 0x67, 0xe4, 0xd6, 0xa7, 0xa5, + 0x3a, 0x69, 0x6f, 0x8f, 0xdc, 0xe4, 0x74, 0x50, 0xfd, 0x32, 0xcc, 0x73, 0x21, 0x51, 0x6e, 0xea, + 0x64, 0x5b, 0x5a, 0xb6, 0x27, 0x5e, 0xcf, 0xeb, 0xe4, 0xd9, 0xec, 0x8f, 0xb4, 0x80, 0xb9, 0x4e, + 0x05, 0x6c, 0xc2, 0x7c, 0x57, 0x48, 0xd4, 0x16, 0x1a, 0x77, 0x46, 0xf9, 0x28, 0x4b, 0xfb, 0x26, + 0xac, 0x88, 0x80, 0x9f, 0x76, 0xc3, 0x9e, 0xd7, 0xd2, 0x98, 0x20, 0xcf, 0xd9, 0x86, 0xc6, 0x78, + 0x13, 0x95, 0xfa, 0x21, 0x5c, 0x49, 0x95, 0x7a, 0xaf, 0x34, 0x69, 0x5f, 0x4e, 0x47, 0x23, 0xda, + 0x6f, 0x81, 0xad, 0x67, 0x33, 0xb1, 0x85, 0x9d, 0xc2, 0xea, 0xbf, 0x5a, 0x29, 0x58, 0x8f, 0xa1, + 0x36, 0x80, 0x35, 0xc5, 0x4d, 0x5d, 0x4e, 0x8d, 0x71, 0x9b, 0x5f, 0x56, 0xe0, 0xbc, 0xc8, 0x8b, + 0xbf, 0x43, 0x50, 0x29, 0xc0, 0xc6, 0xef, 0x98, 0x7a, 0x3d, 0xe6, 0x4d, 0xb4, 0xd6, 0xcb, 0x19, + 0xcb, 0x22, 0xec, 0xf7, 0x9e, 0xff, 0xf6, 0xf7, 0x37, 0xb3, 0x04, 0x6f, 0x90, 0xb1, 0xaf, 0xba, + 0xba, 0x3c, 0xe4, 0xd9, 0xd9, 0x2a, 0x1e, 0xe1, 0x6f, 0x11, 0x54, 0x8b, 0xbc, 0x8e, 0x4b, 0x65, + 0xcd, 0x37, 0xcd, 0xda, 0x28, 0x69, 0xad, 0x40, 0xde, 0x16, 0x20, 0x57, 0xf1, 0xcd, 0x89, 0x20, + 0xf1, 0x31, 0x82, 0x05, 0xbd, 0xaf, 0xd8, 0x19, 0x9f, 0xcc, 0x34, 0x7e, 0x8b, 0x94, 0xb6, 0x57, + 0xf0, 0xda, 0x02, 0xde, 0x3e, 0x6e, 0x19, 0xe1, 0x0d, 0x71, 0x50, 0xb1, 0x8d, 0x24, 0x7f, 0x37, + 0xc8, 0xb3, 0xa1, 0x17, 0xe8, 0x88, 0x48, 0x82, 0x2e, 0x28, 0xa4, 0xe0, 0x08, 0xbf, 0x40, 0xb0, + 0x38, 0xc4, 0x79, 0xb8, 0x2c, 0xe4, 0xb3, 0x01, 0x6c, 0x96, 0x77, 0x50, 0x45, 0xde, 0x13, 0x45, + 0x36, 0xf1, 0xe6, 0xb4, 0x45, 0xe2, 0xef, 0xb5, 0x5d, 0x49, 0xcb, 0xed, 0x4a, 0x3a, 0xd5, 0xae, + 0x0c, 0x88, 0xaf, 0xf4, 0x42, 0xa7, 0x3a, 0xc8, 0xaf, 0xce, 0x40, 0x4a, 0x0e, 0x9b, 0x08, 0x52, + 0xa3, 0xce, 0x89, 0x20, 0x75, 0x32, 0xb5, 0xdf, 0x14, 0x20, 0xaf, 0xe2, 0x2b, 0x12, 0xe4, 0x19, + 0x3e, 0xc9, 0x9b, 0xf8, 0x27, 0x04, 0x97, 0x0d, 0x84, 0x88, 0xb7, 0xc7, 0x66, 0x19, 0xcf, 0xb0, + 0xd6, 0xbb, 0xd3, 0x39, 0x29, 0x84, 0x4d, 0x81, 0x70, 0x1d, 0xdf, 0x31, 0xb5, 0xd1, 0xc8, 0xc6, + 0x1c, 0xff, 0x82, 0x60, 0xd9, 0xcc, 0x99, 0xf8, 0xee, 0x64, 0x10, 0xc6, 0xbb, 0xb8, 0x33, 0xb5, + 0x5f, 0x99, 0x35, 0x18, 0x47, 0xdb, 0x7c, 0xd7, 0x7d, 0x79, 0x52, 0x47, 0xaf, 0x4e, 0xea, 0xe8, + 0xaf, 0x93, 0x3a, 0xfa, 0xfa, 0xb4, 0x3e, 0xf3, 0xea, 0xb4, 0x3e, 0xf3, 0xc7, 0x69, 0x7d, 0xe6, + 0xf3, 0x7b, 0x61, 0x94, 0x1c, 0xa4, 0xbe, 0x13, 0xb0, 0x0e, 0x51, 0x3f, 0x4b, 0x91, 0x1f, 0x6c, + 0x84, 0x8c, 0xf4, 0x9b, 0xa4, 0xc3, 0x5a, 0x69, 0x9b, 0x72, 0x99, 0x67, 0xb3, 0xb9, 0xa1, 0x52, + 0x25, 0x87, 0x5d, 0xca, 0xfd, 0x79, 0xc1, 0xfe, 0xdb, 0xff, 0x04, 0x00, 0x00, 0xff, 0xff, 0x52, + 0x79, 0xec, 0xa1, 0x98, 0x0d, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. diff --git a/modules/core/02-client/types/tx.pb.go b/modules/core/02-client/types/tx.pb.go index e19d4e633ae..6e287a4cbd9 100644 --- a/modules/core/02-client/types/tx.pb.go +++ b/modules/core/02-client/types/tx.pb.go @@ -375,45 +375,45 @@ func init() { func init() { proto.RegisterFile("ibc/core/client/v1/tx.proto", fileDescriptor_cb5dc4651eb49a04) } var fileDescriptor_cb5dc4651eb49a04 = []byte{ - // 606 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x55, 0x3f, 0x6f, 0xd3, 0x4e, - 0x18, 0x8e, 0x9b, 0xdf, 0x2f, 0x6a, 0xae, 0x81, 0x56, 0x26, 0xb4, 0xa9, 0xab, 0xda, 0x91, 0xe9, - 0x10, 0x44, 0xeb, 0x23, 0x41, 0x48, 0xa8, 0x1b, 0xe9, 0xc4, 0x10, 0x01, 0xae, 0x18, 0x60, 0x09, - 0xfe, 0x73, 0xbd, 0x9c, 0x88, 0x7d, 0x91, 0xcf, 0x8e, 0xc8, 0x37, 0x60, 0x64, 0xe0, 0x03, 0x54, - 0x0c, 0x7c, 0x16, 0xc6, 0x0e, 0x0c, 0x4c, 0x51, 0x95, 0x2c, 0xcc, 0xf9, 0x04, 0x28, 0x3e, 0x27, - 0xc4, 0xae, 0x1d, 0x59, 0xfc, 0xd9, 0x7c, 0x7e, 0x9f, 0x7b, 0x9e, 0xf7, 0xf1, 0xf3, 0x9e, 0x0f, - 0x1c, 0x10, 0xd3, 0x82, 0x16, 0xf5, 0x10, 0xb4, 0xfa, 0x04, 0xb9, 0x3e, 0x1c, 0x36, 0xa1, 0xff, - 0x5e, 0x1b, 0x78, 0xd4, 0xa7, 0xa2, 0x48, 0x4c, 0x4b, 0x9b, 0x17, 0x35, 0x5e, 0xd4, 0x86, 0x4d, - 0xa9, 0x8a, 0x29, 0xa6, 0x61, 0x19, 0xce, 0x9f, 0x38, 0x52, 0xda, 0xc7, 0x94, 0xe2, 0x3e, 0x82, - 0xe1, 0xca, 0x0c, 0x2e, 0xa0, 0xe1, 0x8e, 0xa2, 0x92, 0x92, 0xa2, 0x10, 0xd1, 0x85, 0x00, 0xf5, - 0x5a, 0x00, 0xdb, 0x1d, 0x86, 0xcf, 0x3c, 0x64, 0xf8, 0xe8, 0x2c, 0xac, 0x88, 0x2f, 0x40, 0x85, - 0x63, 0xba, 0xcc, 0x37, 0x7c, 0x54, 0x13, 0xea, 0x42, 0x63, 0xab, 0x55, 0xd5, 0xb8, 0x8c, 0xb6, - 0x90, 0xd1, 0x9e, 0xba, 0xa3, 0xf6, 0xde, 0x6c, 0xac, 0xdc, 0x19, 0x19, 0x4e, 0xff, 0x54, 0x5d, - 0xdd, 0xa3, 0xea, 0x5b, 0x7c, 0x79, 0x3e, 0x5f, 0x89, 0xaf, 0xc1, 0xb6, 0x45, 0x5d, 0x86, 0x5c, - 0x16, 0xb0, 0x88, 0x74, 0x63, 0x0d, 0xa9, 0x34, 0x1b, 0x2b, 0xbb, 0x11, 0x69, 0x7c, 0x9b, 0xaa, - 0xdf, 0x5e, 0xbe, 0xe1, 0xd4, 0xbb, 0xa0, 0xc4, 0x08, 0x76, 0x91, 0x57, 0x2b, 0xd6, 0x85, 0x46, - 0x59, 0x8f, 0x56, 0xa7, 0x9b, 0x1f, 0x2e, 0x95, 0xc2, 0x8f, 0x4b, 0xa5, 0xa0, 0xee, 0x83, 0xbd, - 0x84, 0x43, 0x1d, 0xb1, 0xc1, 0x9c, 0x45, 0xfd, 0xc4, 0xdd, 0xbf, 0x1a, 0xd8, 0xbf, 0xdc, 0x37, - 0x41, 0x39, 0x72, 0x42, 0xec, 0xd0, 0x7a, 0xb9, 0x5d, 0x9d, 0x8d, 0x95, 0x9d, 0x98, 0x49, 0x62, - 0xab, 0xfa, 0x26, 0x7f, 0x7e, 0x66, 0x8b, 0xc7, 0xa0, 0xd4, 0x43, 0x86, 0x8d, 0xbc, 0x75, 0xae, - 0xf4, 0x08, 0x93, 0xbb, 0xe3, 0xd5, 0xae, 0x96, 0x1d, 0x7f, 0x2b, 0x82, 0x9d, 0xb0, 0x86, 0x3d, - 0xc3, 0xfe, 0x83, 0x96, 0x93, 0x19, 0x6f, 0xfc, 0x8b, 0x8c, 0x8b, 0x7f, 0x29, 0xe3, 0x97, 0xa0, - 0x3a, 0xf0, 0x28, 0xbd, 0xe8, 0x06, 0xdc, 0x76, 0x97, 0xeb, 0xd6, 0xfe, 0xab, 0x0b, 0x8d, 0x4a, - 0x5b, 0x99, 0x8d, 0x95, 0x03, 0xce, 0x94, 0x86, 0x52, 0x75, 0x31, 0x7c, 0x1d, 0xff, 0x64, 0xef, - 0xc0, 0x61, 0x02, 0x9c, 0xe8, 0xfd, 0xff, 0x90, 0xbb, 0x31, 0x1b, 0x2b, 0x47, 0xa9, 0xdc, 0xc9, - 0x9e, 0xa5, 0x98, 0x48, 0xd6, 0x8c, 0x96, 0x32, 0x12, 0x97, 0x40, 0x2d, 0x99, 0xea, 0x32, 0xf2, - 0x2f, 0x02, 0xb8, 0xdb, 0x61, 0xf8, 0x3c, 0x30, 0x1d, 0xe2, 0x77, 0x08, 0x33, 0x51, 0xcf, 0x18, - 0x12, 0x1a, 0x78, 0xbf, 0x93, 0xfb, 0x13, 0x50, 0x71, 0x56, 0x28, 0xd6, 0x0e, 0x6c, 0x0c, 0x99, - 0x63, 0x6c, 0x15, 0x70, 0x98, 0xda, 0xe7, 0xc2, 0x49, 0xeb, 0x73, 0x11, 0x14, 0x3b, 0x0c, 0x8b, - 0x6f, 0x41, 0x25, 0xf6, 0xc3, 0xb9, 0xa7, 0xdd, 0xfc, 0xd7, 0x69, 0x89, 0x33, 0x2b, 0x3d, 0xc8, - 0x01, 0x5a, 0x28, 0xcd, 0x15, 0x62, 0x87, 0x3a, 0x4b, 0x61, 0x15, 0x94, 0xa9, 0x90, 0x76, 0x10, - 0x45, 0x0b, 0xdc, 0x8a, 0x4f, 0xd4, 0x51, 0xe6, 0xee, 0x15, 0x94, 0x74, 0x9c, 0x07, 0xb5, 0x14, - 0xf1, 0x80, 0x98, 0x12, 0xfb, 0xfd, 0x0c, 0x8e, 0x9b, 0x50, 0xa9, 0x99, 0x1b, 0xba, 0xd0, 0x6c, - 0x3f, 0xff, 0x3a, 0x91, 0x85, 0xab, 0x89, 0x2c, 0x5c, 0x4f, 0x64, 0xe1, 0xe3, 0x54, 0x2e, 0x5c, - 0x4d, 0xe5, 0xc2, 0xf7, 0xa9, 0x5c, 0x78, 0xf3, 0x18, 0x13, 0xbf, 0x17, 0x98, 0x9a, 0x45, 0x1d, - 0x68, 0x51, 0xe6, 0x50, 0x06, 0x89, 0x69, 0x9d, 0x60, 0x0a, 0x1d, 0x6a, 0x07, 0x7d, 0xc4, 0xf8, - 0x4d, 0xf3, 0xb0, 0x75, 0x12, 0x5d, 0x36, 0xfe, 0x68, 0x80, 0x98, 0x59, 0x0a, 0x87, 0xea, 0xd1, - 0xcf, 0x00, 0x00, 0x00, 0xff, 0xff, 0x9c, 0xf3, 0x53, 0xbe, 0xee, 0x06, 0x00, 0x00, + // 605 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x55, 0x3f, 0x6f, 0xd3, 0x40, + 0x1c, 0x8d, 0x1b, 0x88, 0x9a, 0x6b, 0xa0, 0x95, 0x09, 0x6d, 0xea, 0xaa, 0x76, 0x64, 0x3a, 0x04, + 0xd1, 0xfa, 0x48, 0x58, 0xaa, 0x6e, 0xa4, 0x13, 0x43, 0x24, 0x70, 0xc5, 0x00, 0x4b, 0xf0, 0x9f, + 0xeb, 0xe5, 0x44, 0xec, 0x8b, 0x7c, 0x76, 0x44, 0xbe, 0x01, 0x23, 0x03, 0x1f, 0xa0, 0x62, 0xe0, + 0xb3, 0x30, 0x76, 0x60, 0x60, 0x8a, 0xaa, 0x64, 0x61, 0xce, 0x27, 0x40, 0xf1, 0x39, 0x21, 0x76, + 0xed, 0xc8, 0xe2, 0xcf, 0xe6, 0xf3, 0xef, 0xdd, 0x7b, 0xbf, 0xe7, 0xf7, 0x3b, 0x1f, 0x38, 0x20, + 0xa6, 0x05, 0x2d, 0xea, 0x21, 0x68, 0xf5, 0x09, 0x72, 0x7d, 0x38, 0x6c, 0x42, 0xff, 0x83, 0x36, + 0xf0, 0xa8, 0x4f, 0x45, 0x91, 0x98, 0x96, 0x36, 0x2f, 0x6a, 0xbc, 0xa8, 0x0d, 0x9b, 0x52, 0x15, + 0x53, 0x4c, 0xc3, 0x32, 0x9c, 0x3f, 0x71, 0xa4, 0xb4, 0x8f, 0x29, 0xc5, 0x7d, 0x04, 0xc3, 0x95, + 0x19, 0x5c, 0x42, 0xc3, 0x1d, 0x45, 0x25, 0x25, 0x45, 0x21, 0xa2, 0x0b, 0x01, 0xea, 0x8d, 0x00, + 0xb6, 0x3b, 0x0c, 0x9f, 0x7b, 0xc8, 0xf0, 0xd1, 0x79, 0x58, 0x11, 0x5f, 0x82, 0x0a, 0xc7, 0x74, + 0x99, 0x6f, 0xf8, 0xa8, 0x26, 0xd4, 0x85, 0xc6, 0x56, 0xab, 0xaa, 0x71, 0x19, 0x6d, 0x21, 0xa3, + 0x3d, 0x77, 0x47, 0xed, 0xbd, 0xd9, 0x58, 0x79, 0x30, 0x32, 0x9c, 0xfe, 0x99, 0xba, 0xba, 0x47, + 0xd5, 0xb7, 0xf8, 0xf2, 0x62, 0xbe, 0x12, 0xdf, 0x80, 0x6d, 0x8b, 0xba, 0x0c, 0xb9, 0x2c, 0x60, + 0x11, 0xe9, 0xc6, 0x1a, 0x52, 0x69, 0x36, 0x56, 0x76, 0x23, 0xd2, 0xf8, 0x36, 0x55, 0xbf, 0xbf, + 0x7c, 0xc3, 0xa9, 0x77, 0x41, 0x89, 0x11, 0xec, 0x22, 0xaf, 0x56, 0xac, 0x0b, 0x8d, 0xb2, 0x1e, + 0xad, 0xce, 0x36, 0x3f, 0x5e, 0x29, 0x85, 0x9f, 0x57, 0x4a, 0x41, 0xdd, 0x07, 0x7b, 0x09, 0x87, + 0x3a, 0x62, 0x83, 0x39, 0x8b, 0xfa, 0x99, 0xbb, 0x7f, 0x3d, 0xb0, 0x7f, 0xbb, 0x6f, 0x82, 0x72, + 0xe4, 0x84, 0xd8, 0xa1, 0xf5, 0x72, 0xbb, 0x3a, 0x1b, 0x2b, 0x3b, 0x31, 0x93, 0xc4, 0x56, 0xf5, + 0x4d, 0xfe, 0xfc, 0xc2, 0x16, 0x8f, 0x41, 0xa9, 0x87, 0x0c, 0x1b, 0x79, 0xeb, 0x5c, 0xe9, 0x11, + 0x26, 0x77, 0xc7, 0xab, 0x5d, 0x2d, 0x3b, 0xfe, 0x5e, 0x04, 0x3b, 0x61, 0x0d, 0x7b, 0x86, 0xfd, + 0x17, 0x2d, 0x27, 0x33, 0xde, 0xf8, 0x1f, 0x19, 0x17, 0xff, 0x51, 0xc6, 0xaf, 0x40, 0x75, 0xe0, + 0x51, 0x7a, 0xd9, 0x0d, 0xb8, 0xed, 0x2e, 0xd7, 0xad, 0xdd, 0xa9, 0x0b, 0x8d, 0x4a, 0x5b, 0x99, + 0x8d, 0x95, 0x03, 0xce, 0x94, 0x86, 0x52, 0x75, 0x31, 0x7c, 0x1d, 0xff, 0x64, 0xef, 0xc1, 0x61, + 0x02, 0x9c, 0xe8, 0xfd, 0x6e, 0xc8, 0xdd, 0x98, 0x8d, 0x95, 0xa3, 0x54, 0xee, 0x64, 0xcf, 0x52, + 0x4c, 0x24, 0x6b, 0x46, 0x4b, 0x19, 0x89, 0x4b, 0xa0, 0x96, 0x4c, 0x75, 0x19, 0xf9, 0x57, 0x01, + 0x3c, 0xec, 0x30, 0x7c, 0x11, 0x98, 0x0e, 0xf1, 0x3b, 0x84, 0x99, 0xa8, 0x67, 0x0c, 0x09, 0x0d, + 0xbc, 0x3f, 0xc9, 0xfd, 0x14, 0x54, 0x9c, 0x15, 0x8a, 0xb5, 0x03, 0x1b, 0x43, 0xe6, 0x18, 0x5b, + 0x05, 0x1c, 0xa6, 0xf6, 0xb9, 0x70, 0xd2, 0xfa, 0x52, 0x04, 0xc5, 0x0e, 0xc3, 0xe2, 0x3b, 0x50, + 0x89, 0xfd, 0x70, 0x1e, 0x69, 0xb7, 0xff, 0x75, 0x5a, 0xe2, 0xcc, 0x4a, 0x4f, 0x72, 0x80, 0x16, + 0x4a, 0x73, 0x85, 0xd8, 0xa1, 0xce, 0x52, 0x58, 0x05, 0x65, 0x2a, 0xa4, 0x1d, 0x44, 0xd1, 0x02, + 0xf7, 0xe2, 0x13, 0x75, 0x94, 0xb9, 0x7b, 0x05, 0x25, 0x1d, 0xe7, 0x41, 0x2d, 0x45, 0x3c, 0x20, + 0xa6, 0xc4, 0xfe, 0x38, 0x83, 0xe3, 0x36, 0x54, 0x6a, 0xe6, 0x86, 0x2e, 0x34, 0xdb, 0xfa, 0xb7, + 0x89, 0x2c, 0x5c, 0x4f, 0x64, 0xe1, 0x66, 0x22, 0x0b, 0x9f, 0xa6, 0x72, 0xe1, 0x7a, 0x2a, 0x17, + 0x7e, 0x4c, 0xe5, 0xc2, 0xdb, 0x53, 0x4c, 0xfc, 0x5e, 0x60, 0x6a, 0x16, 0x75, 0xa0, 0x45, 0x99, + 0x43, 0x19, 0x24, 0xa6, 0x75, 0x82, 0x29, 0x1c, 0xb6, 0xa0, 0x43, 0xed, 0xa0, 0x8f, 0x18, 0xbf, + 0x6c, 0x9e, 0xb6, 0x4e, 0xa2, 0xfb, 0xc6, 0x1f, 0x0d, 0x10, 0x33, 0x4b, 0xe1, 0x5c, 0x3d, 0xfb, + 0x15, 0x00, 0x00, 0xff, 0xff, 0x9e, 0xe2, 0xb3, 0xfd, 0xf1, 0x06, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. diff --git a/modules/core/03-connection/client/cli/cli.go b/modules/core/03-connection/client/cli/cli.go index 743ca49ebdb..7c532aa9ead 100644 --- a/modules/core/03-connection/client/cli/cli.go +++ b/modules/core/03-connection/client/cli/cli.go @@ -3,7 +3,7 @@ package cli import ( "github.com/spf13/cobra" - "github.com/cosmos/ibc-go/modules/core/03-connection/types" + "github.com/cosmos/ibc-go/v2/modules/core/03-connection/types" ) // GetQueryCmd returns the query commands for IBC connections diff --git a/modules/core/03-connection/client/cli/query.go b/modules/core/03-connection/client/cli/query.go index 56cf597ce17..87062ca89f9 100644 --- a/modules/core/03-connection/client/cli/query.go +++ b/modules/core/03-connection/client/cli/query.go @@ -8,9 +8,9 @@ import ( "github.com/cosmos/cosmos-sdk/client" "github.com/cosmos/cosmos-sdk/client/flags" "github.com/cosmos/cosmos-sdk/version" - "github.com/cosmos/ibc-go/modules/core/03-connection/client/utils" - "github.com/cosmos/ibc-go/modules/core/03-connection/types" - host "github.com/cosmos/ibc-go/modules/core/24-host" + "github.com/cosmos/ibc-go/v2/modules/core/03-connection/client/utils" + "github.com/cosmos/ibc-go/v2/modules/core/03-connection/types" + host "github.com/cosmos/ibc-go/v2/modules/core/24-host" ) // GetCmdQueryConnections defines the command to query all the connection ends diff --git a/modules/core/03-connection/client/utils/utils.go b/modules/core/03-connection/client/utils/utils.go index e4a108ad38a..637b835ebdb 100644 --- a/modules/core/03-connection/client/utils/utils.go +++ b/modules/core/03-connection/client/utils/utils.go @@ -10,13 +10,13 @@ import ( "github.com/cosmos/cosmos-sdk/client" "github.com/cosmos/cosmos-sdk/codec" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" - clientutils "github.com/cosmos/ibc-go/modules/core/02-client/client/utils" - clienttypes "github.com/cosmos/ibc-go/modules/core/02-client/types" - "github.com/cosmos/ibc-go/modules/core/03-connection/types" - commitmenttypes "github.com/cosmos/ibc-go/modules/core/23-commitment/types" - host "github.com/cosmos/ibc-go/modules/core/24-host" - ibcclient "github.com/cosmos/ibc-go/modules/core/client" - "github.com/cosmos/ibc-go/modules/core/exported" + clientutils "github.com/cosmos/ibc-go/v2/modules/core/02-client/client/utils" + clienttypes "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" + "github.com/cosmos/ibc-go/v2/modules/core/03-connection/types" + commitmenttypes "github.com/cosmos/ibc-go/v2/modules/core/23-commitment/types" + host "github.com/cosmos/ibc-go/v2/modules/core/24-host" + ibcclient "github.com/cosmos/ibc-go/v2/modules/core/client" + "github.com/cosmos/ibc-go/v2/modules/core/exported" ) // QueryConnection returns a connection end. diff --git a/modules/core/03-connection/genesis.go b/modules/core/03-connection/genesis.go index d0f7f3721d0..4146427e72e 100644 --- a/modules/core/03-connection/genesis.go +++ b/modules/core/03-connection/genesis.go @@ -2,8 +2,8 @@ package connection import ( sdk "github.com/cosmos/cosmos-sdk/types" - "github.com/cosmos/ibc-go/modules/core/03-connection/keeper" - "github.com/cosmos/ibc-go/modules/core/03-connection/types" + "github.com/cosmos/ibc-go/v2/modules/core/03-connection/keeper" + "github.com/cosmos/ibc-go/v2/modules/core/03-connection/types" ) // InitGenesis initializes the ibc connection submodule's state from a provided genesis diff --git a/modules/core/03-connection/keeper/grpc_query.go b/modules/core/03-connection/keeper/grpc_query.go index 244250f2576..0f0b56cee26 100644 --- a/modules/core/03-connection/keeper/grpc_query.go +++ b/modules/core/03-connection/keeper/grpc_query.go @@ -10,9 +10,9 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" "github.com/cosmos/cosmos-sdk/types/query" - clienttypes "github.com/cosmos/ibc-go/modules/core/02-client/types" - "github.com/cosmos/ibc-go/modules/core/03-connection/types" - host "github.com/cosmos/ibc-go/modules/core/24-host" + clienttypes "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" + "github.com/cosmos/ibc-go/v2/modules/core/03-connection/types" + host "github.com/cosmos/ibc-go/v2/modules/core/24-host" ) var _ types.QueryServer = Keeper{} diff --git a/modules/core/03-connection/keeper/grpc_query_test.go b/modules/core/03-connection/keeper/grpc_query_test.go index a8480dadda8..767cc6efc00 100644 --- a/modules/core/03-connection/keeper/grpc_query_test.go +++ b/modules/core/03-connection/keeper/grpc_query_test.go @@ -5,10 +5,10 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" "github.com/cosmos/cosmos-sdk/types/query" - clienttypes "github.com/cosmos/ibc-go/modules/core/02-client/types" - "github.com/cosmos/ibc-go/modules/core/03-connection/types" - "github.com/cosmos/ibc-go/modules/core/exported" - ibctesting "github.com/cosmos/ibc-go/testing" + clienttypes "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" + "github.com/cosmos/ibc-go/v2/modules/core/03-connection/types" + "github.com/cosmos/ibc-go/v2/modules/core/exported" + ibctesting "github.com/cosmos/ibc-go/v2/testing" ) func (suite *KeeperTestSuite) TestQueryConnection() { diff --git a/modules/core/03-connection/keeper/handshake.go b/modules/core/03-connection/keeper/handshake.go index 50df67ed770..e3a8ac242f7 100644 --- a/modules/core/03-connection/keeper/handshake.go +++ b/modules/core/03-connection/keeper/handshake.go @@ -8,10 +8,10 @@ import ( "github.com/cosmos/cosmos-sdk/telemetry" sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" - clienttypes "github.com/cosmos/ibc-go/modules/core/02-client/types" - "github.com/cosmos/ibc-go/modules/core/03-connection/types" - commitmenttypes "github.com/cosmos/ibc-go/modules/core/23-commitment/types" - "github.com/cosmos/ibc-go/modules/core/exported" + clienttypes "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" + "github.com/cosmos/ibc-go/v2/modules/core/03-connection/types" + commitmenttypes "github.com/cosmos/ibc-go/v2/modules/core/23-commitment/types" + "github.com/cosmos/ibc-go/v2/modules/core/exported" ) // ConnOpenInit initialises a connection attempt on chain A. The generated connection identifier diff --git a/modules/core/03-connection/keeper/handshake_test.go b/modules/core/03-connection/keeper/handshake_test.go index 0fc12f3ebd7..dfcfb959fe6 100644 --- a/modules/core/03-connection/keeper/handshake_test.go +++ b/modules/core/03-connection/keeper/handshake_test.go @@ -3,12 +3,12 @@ package keeper_test import ( "time" - clienttypes "github.com/cosmos/ibc-go/modules/core/02-client/types" - "github.com/cosmos/ibc-go/modules/core/03-connection/types" - host "github.com/cosmos/ibc-go/modules/core/24-host" - "github.com/cosmos/ibc-go/modules/core/exported" - ibctmtypes "github.com/cosmos/ibc-go/modules/light-clients/07-tendermint/types" - ibctesting "github.com/cosmos/ibc-go/testing" + clienttypes "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" + "github.com/cosmos/ibc-go/v2/modules/core/03-connection/types" + host "github.com/cosmos/ibc-go/v2/modules/core/24-host" + "github.com/cosmos/ibc-go/v2/modules/core/exported" + ibctmtypes "github.com/cosmos/ibc-go/v2/modules/light-clients/07-tendermint/types" + ibctesting "github.com/cosmos/ibc-go/v2/testing" ) // TestConnOpenInit - chainA initializes (INIT state) a connection with diff --git a/modules/core/03-connection/keeper/keeper.go b/modules/core/03-connection/keeper/keeper.go index 3ce029168ac..b4325b7244f 100644 --- a/modules/core/03-connection/keeper/keeper.go +++ b/modules/core/03-connection/keeper/keeper.go @@ -7,11 +7,11 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" paramtypes "github.com/cosmos/cosmos-sdk/x/params/types" - clienttypes "github.com/cosmos/ibc-go/modules/core/02-client/types" - "github.com/cosmos/ibc-go/modules/core/03-connection/types" - commitmenttypes "github.com/cosmos/ibc-go/modules/core/23-commitment/types" - host "github.com/cosmos/ibc-go/modules/core/24-host" - "github.com/cosmos/ibc-go/modules/core/exported" + clienttypes "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" + "github.com/cosmos/ibc-go/v2/modules/core/03-connection/types" + commitmenttypes "github.com/cosmos/ibc-go/v2/modules/core/23-commitment/types" + host "github.com/cosmos/ibc-go/v2/modules/core/24-host" + "github.com/cosmos/ibc-go/v2/modules/core/exported" ) // Keeper defines the IBC connection keeper diff --git a/modules/core/03-connection/keeper/keeper_test.go b/modules/core/03-connection/keeper/keeper_test.go index d2eb86f6bee..9482d47e8a8 100644 --- a/modules/core/03-connection/keeper/keeper_test.go +++ b/modules/core/03-connection/keeper/keeper_test.go @@ -6,8 +6,8 @@ import ( "github.com/stretchr/testify/suite" - "github.com/cosmos/ibc-go/modules/core/03-connection/types" - ibctesting "github.com/cosmos/ibc-go/testing" + "github.com/cosmos/ibc-go/v2/modules/core/03-connection/types" + ibctesting "github.com/cosmos/ibc-go/v2/testing" ) type KeeperTestSuite struct { diff --git a/modules/core/03-connection/keeper/params.go b/modules/core/03-connection/keeper/params.go index df057f9d093..2e52317fbca 100644 --- a/modules/core/03-connection/keeper/params.go +++ b/modules/core/03-connection/keeper/params.go @@ -2,7 +2,7 @@ package keeper import ( sdk "github.com/cosmos/cosmos-sdk/types" - "github.com/cosmos/ibc-go/modules/core/03-connection/types" + "github.com/cosmos/ibc-go/v2/modules/core/03-connection/types" ) // GetMaxExpectedTimePerBlock retrieves the maximum expected time per block from the paramstore diff --git a/modules/core/03-connection/keeper/params_test.go b/modules/core/03-connection/keeper/params_test.go index 53ab160c9dc..a4848599b76 100644 --- a/modules/core/03-connection/keeper/params_test.go +++ b/modules/core/03-connection/keeper/params_test.go @@ -1,7 +1,7 @@ package keeper_test import ( - "github.com/cosmos/ibc-go/modules/core/03-connection/types" + "github.com/cosmos/ibc-go/v2/modules/core/03-connection/types" ) func (suite *KeeperTestSuite) TestParams() { diff --git a/modules/core/03-connection/keeper/verify.go b/modules/core/03-connection/keeper/verify.go index 510039740ee..f696b2cb1b4 100644 --- a/modules/core/03-connection/keeper/verify.go +++ b/modules/core/03-connection/keeper/verify.go @@ -5,8 +5,8 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" - clienttypes "github.com/cosmos/ibc-go/modules/core/02-client/types" - "github.com/cosmos/ibc-go/modules/core/exported" + clienttypes "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" + "github.com/cosmos/ibc-go/v2/modules/core/exported" ) // VerifyClientState verifies a proof of a client state of the running machine diff --git a/modules/core/03-connection/keeper/verify_test.go b/modules/core/03-connection/keeper/verify_test.go index 620f4425e5f..6ef0cc78dca 100644 --- a/modules/core/03-connection/keeper/verify_test.go +++ b/modules/core/03-connection/keeper/verify_test.go @@ -4,14 +4,14 @@ import ( "fmt" "time" - clienttypes "github.com/cosmos/ibc-go/modules/core/02-client/types" - "github.com/cosmos/ibc-go/modules/core/03-connection/types" - channeltypes "github.com/cosmos/ibc-go/modules/core/04-channel/types" - host "github.com/cosmos/ibc-go/modules/core/24-host" - "github.com/cosmos/ibc-go/modules/core/exported" - ibctmtypes "github.com/cosmos/ibc-go/modules/light-clients/07-tendermint/types" - ibctesting "github.com/cosmos/ibc-go/testing" - ibcmock "github.com/cosmos/ibc-go/testing/mock" + clienttypes "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" + "github.com/cosmos/ibc-go/v2/modules/core/03-connection/types" + channeltypes "github.com/cosmos/ibc-go/v2/modules/core/04-channel/types" + host "github.com/cosmos/ibc-go/v2/modules/core/24-host" + "github.com/cosmos/ibc-go/v2/modules/core/exported" + ibctmtypes "github.com/cosmos/ibc-go/v2/modules/light-clients/07-tendermint/types" + ibctesting "github.com/cosmos/ibc-go/v2/testing" + ibcmock "github.com/cosmos/ibc-go/v2/testing/mock" ) var defaultTimeoutHeight = clienttypes.NewHeight(0, 100000) diff --git a/modules/core/03-connection/module.go b/modules/core/03-connection/module.go index d4c344fa723..ffbbeac52f8 100644 --- a/modules/core/03-connection/module.go +++ b/modules/core/03-connection/module.go @@ -4,8 +4,8 @@ import ( "github.com/gogo/protobuf/grpc" "github.com/spf13/cobra" - "github.com/cosmos/ibc-go/modules/core/03-connection/client/cli" - "github.com/cosmos/ibc-go/modules/core/03-connection/types" + "github.com/cosmos/ibc-go/v2/modules/core/03-connection/client/cli" + "github.com/cosmos/ibc-go/v2/modules/core/03-connection/types" ) // Name returns the IBC connection ICS name. diff --git a/modules/core/03-connection/simulation/decoder.go b/modules/core/03-connection/simulation/decoder.go index 8b331cb50ae..09873008794 100644 --- a/modules/core/03-connection/simulation/decoder.go +++ b/modules/core/03-connection/simulation/decoder.go @@ -6,8 +6,8 @@ import ( "github.com/cosmos/cosmos-sdk/codec" "github.com/cosmos/cosmos-sdk/types/kv" - "github.com/cosmos/ibc-go/modules/core/03-connection/types" - host "github.com/cosmos/ibc-go/modules/core/24-host" + "github.com/cosmos/ibc-go/v2/modules/core/03-connection/types" + host "github.com/cosmos/ibc-go/v2/modules/core/24-host" ) // NewDecodeStore returns a decoder function closure that unmarshals the KVPair's diff --git a/modules/core/03-connection/simulation/decoder_test.go b/modules/core/03-connection/simulation/decoder_test.go index 177f43a9d14..c5707c102e1 100644 --- a/modules/core/03-connection/simulation/decoder_test.go +++ b/modules/core/03-connection/simulation/decoder_test.go @@ -7,10 +7,10 @@ import ( "github.com/stretchr/testify/require" "github.com/cosmos/cosmos-sdk/types/kv" - "github.com/cosmos/ibc-go/modules/core/03-connection/simulation" - "github.com/cosmos/ibc-go/modules/core/03-connection/types" - host "github.com/cosmos/ibc-go/modules/core/24-host" - "github.com/cosmos/ibc-go/testing/simapp" + "github.com/cosmos/ibc-go/v2/modules/core/03-connection/simulation" + "github.com/cosmos/ibc-go/v2/modules/core/03-connection/types" + host "github.com/cosmos/ibc-go/v2/modules/core/24-host" + "github.com/cosmos/ibc-go/v2/testing/simapp" ) func TestDecodeStore(t *testing.T) { diff --git a/modules/core/03-connection/simulation/genesis.go b/modules/core/03-connection/simulation/genesis.go index e49132d93e6..12b8eeaf4e4 100644 --- a/modules/core/03-connection/simulation/genesis.go +++ b/modules/core/03-connection/simulation/genesis.go @@ -4,7 +4,7 @@ import ( "math/rand" simtypes "github.com/cosmos/cosmos-sdk/types/simulation" - "github.com/cosmos/ibc-go/modules/core/03-connection/types" + "github.com/cosmos/ibc-go/v2/modules/core/03-connection/types" ) // GenConnectionGenesis returns the default connection genesis state. diff --git a/modules/core/03-connection/types/codec.go b/modules/core/03-connection/types/codec.go index cf98be87d75..90292d004f6 100644 --- a/modules/core/03-connection/types/codec.go +++ b/modules/core/03-connection/types/codec.go @@ -5,7 +5,7 @@ import ( codectypes "github.com/cosmos/cosmos-sdk/codec/types" sdk "github.com/cosmos/cosmos-sdk/types" "github.com/cosmos/cosmos-sdk/types/msgservice" - "github.com/cosmos/ibc-go/modules/core/exported" + "github.com/cosmos/ibc-go/v2/modules/core/exported" ) // RegisterInterfaces register the ibc interfaces submodule implementations to protobuf diff --git a/modules/core/03-connection/types/connection.go b/modules/core/03-connection/types/connection.go index 4430e5d6b82..4bf613c3f99 100644 --- a/modules/core/03-connection/types/connection.go +++ b/modules/core/03-connection/types/connection.go @@ -2,9 +2,9 @@ package types import ( sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" - commitmenttypes "github.com/cosmos/ibc-go/modules/core/23-commitment/types" - host "github.com/cosmos/ibc-go/modules/core/24-host" - "github.com/cosmos/ibc-go/modules/core/exported" + commitmenttypes "github.com/cosmos/ibc-go/v2/modules/core/23-commitment/types" + host "github.com/cosmos/ibc-go/v2/modules/core/24-host" + "github.com/cosmos/ibc-go/v2/modules/core/exported" ) var _ exported.ConnectionI = (*ConnectionEnd)(nil) diff --git a/modules/core/03-connection/types/connection.pb.go b/modules/core/03-connection/types/connection.pb.go index 6fbe5ba997f..6ac54a6d8da 100644 --- a/modules/core/03-connection/types/connection.pb.go +++ b/modules/core/03-connection/types/connection.pb.go @@ -5,7 +5,7 @@ package types import ( fmt "fmt" - types "github.com/cosmos/ibc-go/modules/core/23-commitment/types" + types "github.com/cosmos/ibc-go/v2/modules/core/23-commitment/types" _ "github.com/gogo/protobuf/gogoproto" proto "github.com/gogo/protobuf/proto" io "io" @@ -418,52 +418,52 @@ func init() { } var fileDescriptor_90572467c054e43a = []byte{ - // 717 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x55, 0x5f, 0x6b, 0xda, 0x5c, - 0x18, 0x37, 0x31, 0x5a, 0x3d, 0xd6, 0xf7, 0xf5, 0x3d, 0xaf, 0xbc, 0x0d, 0xbe, 0x34, 0x09, 0xd9, - 0xd8, 0x64, 0x50, 0x9d, 0x2d, 0x0c, 0xd6, 0xb1, 0x8b, 0x6a, 0x1d, 0x84, 0x6d, 0x4e, 0xa2, 0x1d, - 0xac, 0x37, 0x12, 0x93, 0x53, 0x7b, 0xa8, 0xc9, 0x91, 0xe4, 0x28, 0xfa, 0x0d, 0x4a, 0xaf, 0x76, - 0xbb, 0x8b, 0xc2, 0x60, 0xdf, 0x65, 0x94, 0x5d, 0xf5, 0x72, 0x57, 0x32, 0xda, 0xdb, 0x5d, 0xf9, - 0x09, 0x46, 0x72, 0xa2, 0xa6, 0x65, 0x1d, 0xb4, 0xdb, 0xdd, 0xf3, 0xe4, 0xf7, 0xc7, 0xe7, 0xf9, - 0xf9, 0x18, 0xc1, 0x43, 0xdc, 0x35, 0xcb, 0x26, 0x71, 0x51, 0xd9, 0x24, 0x8e, 0x83, 0x4c, 0x8a, - 0x89, 0x53, 0x1e, 0x55, 0x22, 0x5d, 0x69, 0xe0, 0x12, 0x4a, 0xe0, 0x7f, 0xb8, 0x6b, 0x96, 0x7c, - 0x62, 0x29, 0x02, 0x8d, 0x2a, 0x85, 0x7c, 0x8f, 0xf4, 0x48, 0x40, 0x29, 0xfb, 0x15, 0x63, 0x17, - 0xa2, 0xb6, 0xb6, 0x8d, 0xa9, 0x8d, 0x1c, 0xca, 0x6c, 0xe7, 0x1d, 0x23, 0xaa, 0x9f, 0x79, 0x90, - 0xad, 0x2d, 0x0c, 0xeb, 0x8e, 0x05, 0x2b, 0x20, 0x6d, 0xf6, 0x31, 0x72, 0x68, 0x07, 0x5b, 0x22, - 0xa7, 0x70, 0xc5, 0x74, 0x35, 0x3f, 0x9b, 0xca, 0xb9, 0x89, 0x61, 0xf7, 0xb7, 0xd5, 0x05, 0xa4, - 0xea, 0x29, 0x56, 0x6b, 0x16, 0x7c, 0x06, 0x52, 0x23, 0xe4, 0x7a, 0x98, 0x38, 0x9e, 0xc8, 0x2b, - 0xf1, 0x62, 0x66, 0x53, 0x2e, 0xfd, 0x7c, 0xdc, 0xd2, 0x5b, 0xc6, 0xd3, 0x17, 0x02, 0xb8, 0x05, - 0x12, 0x1e, 0x35, 0x28, 0x12, 0xe3, 0x0a, 0x57, 0xfc, 0x6b, 0x73, 0xfd, 0x26, 0x65, 0xcb, 0x27, - 0xe9, 0x8c, 0x0b, 0x1b, 0x60, 0xd5, 0x24, 0x43, 0x87, 0x22, 0x77, 0x60, 0xb8, 0x74, 0x22, 0x0a, - 0x0a, 0x57, 0xcc, 0x6c, 0xde, 0xbf, 0x49, 0x5b, 0x8b, 0x70, 0xab, 0xc2, 0xd9, 0x54, 0x8e, 0xe9, - 0x57, 0xf4, 0x70, 0x1b, 0xac, 0x5a, 0xa8, 0x6f, 0x4c, 0x3a, 0x03, 0xe4, 0x62, 0x62, 0x89, 0x09, - 0x85, 0x2b, 0x0a, 0xd5, 0xb5, 0xd9, 0x54, 0xfe, 0x97, 0xed, 0x1d, 0x45, 0x55, 0x3d, 0x13, 0xb4, - 0xcd, 0xa0, 0xdb, 0x16, 0x8e, 0x3f, 0xca, 0x31, 0xf5, 0x3b, 0x0f, 0xf2, 0x9a, 0x85, 0x1c, 0x8a, - 0x0f, 0x30, 0xb2, 0x96, 0x91, 0xc2, 0x75, 0xc0, 0x2f, 0x82, 0xcc, 0xce, 0xa6, 0x72, 0x9a, 0x19, - 0xfa, 0x09, 0xf2, 0xf8, 0x5a, 0xdc, 0xfc, 0xad, 0xe3, 0x8e, 0xdf, 0x39, 0x6e, 0xe1, 0x37, 0xe2, - 0x4e, 0xfc, 0xe1, 0xb8, 0x93, 0xb7, 0x8e, 0xfb, 0x0b, 0x07, 0x56, 0xa3, 0x1f, 0x73, 0x97, 0xb3, - 0x7d, 0x0e, 0xb2, 0xcb, 0xb9, 0x97, 0xf1, 0x8b, 0xb3, 0xa9, 0x9c, 0x0f, 0x65, 0x51, 0x58, 0xf5, - 0x97, 0x98, 0xf7, 0x9a, 0x05, 0xab, 0x20, 0x39, 0x70, 0xd1, 0x01, 0x1e, 0x07, 0x97, 0x7b, 0x2d, - 0x8e, 0xc5, 0xcf, 0x6c, 0x54, 0x29, 0xbd, 0x46, 0xee, 0x51, 0x1f, 0x35, 0x03, 0x6e, 0x18, 0x47, - 0xa8, 0x0c, 0x97, 0xb9, 0x07, 0x32, 0xb5, 0x60, 0xa8, 0xa6, 0x41, 0x0f, 0x3d, 0x98, 0x07, 0x89, - 0x81, 0x5f, 0x88, 0x9c, 0x12, 0x2f, 0xa6, 0x75, 0xd6, 0xa8, 0xfb, 0xe0, 0xef, 0xe5, 0x55, 0x31, - 0xe2, 0x1d, 0x76, 0x5e, 0x78, 0xf3, 0x51, 0xef, 0x97, 0x60, 0x25, 0xbc, 0x14, 0x28, 0x01, 0x80, - 0xe7, 0x67, 0xec, 0x32, 0x53, 0x3d, 0xf2, 0x04, 0x16, 0x40, 0xea, 0x00, 0x19, 0x74, 0xe8, 0xa2, - 0xb9, 0xc7, 0xa2, 0x0f, 0xb7, 0x71, 0x40, 0xb2, 0x69, 0xb8, 0x86, 0xed, 0x41, 0x0b, 0xfc, 0x6f, - 0x1b, 0xe3, 0x0e, 0x1a, 0x0f, 0x90, 0x49, 0x91, 0xd5, 0xa1, 0xd8, 0x46, 0xfe, 0x97, 0xda, 0xe9, - 0xf6, 0x89, 0x79, 0x14, 0x98, 0x0b, 0xd5, 0x07, 0xb3, 0xa9, 0xac, 0xb2, 0x89, 0x7f, 0x41, 0x56, - 0xf5, 0x35, 0xdb, 0x18, 0xd7, 0x43, 0xb0, 0x8d, 0x6d, 0xd4, 0x44, 0x6e, 0xd5, 0x47, 0x1e, 0x7d, - 0xe0, 0x40, 0x22, 0xb8, 0x56, 0xf8, 0x04, 0xc8, 0xad, 0xf6, 0x4e, 0xbb, 0xde, 0xd9, 0x6b, 0x68, - 0x0d, 0xad, 0xad, 0xed, 0xbc, 0xd2, 0xf6, 0xeb, 0xbb, 0x9d, 0xbd, 0x46, 0xab, 0x59, 0xaf, 0x69, - 0x2f, 0xb4, 0xfa, 0x6e, 0x2e, 0x56, 0xf8, 0xe7, 0xe4, 0x54, 0xc9, 0x5e, 0x21, 0x40, 0x11, 0x00, - 0xa6, 0xf3, 0x1f, 0xe6, 0xb8, 0x42, 0xea, 0xe4, 0x54, 0x11, 0xfc, 0x1a, 0x4a, 0x20, 0xcb, 0x90, - 0xb6, 0xfe, 0xee, 0x4d, 0xb3, 0xde, 0xc8, 0xf1, 0x85, 0xcc, 0xc9, 0xa9, 0xb2, 0x12, 0xb6, 0x4b, - 0x65, 0x00, 0xc6, 0x99, 0xd2, 0xaf, 0x0b, 0xc2, 0xf1, 0x27, 0x29, 0x56, 0x6d, 0x9d, 0x5d, 0x48, - 0xdc, 0xf9, 0x85, 0xc4, 0x7d, 0xbb, 0x90, 0xb8, 0xf7, 0x97, 0x52, 0xec, 0xfc, 0x52, 0x8a, 0x7d, - 0xbd, 0x94, 0x62, 0xfb, 0x4f, 0x7b, 0x98, 0x1e, 0x0e, 0xbb, 0xfe, 0xa9, 0x94, 0x4d, 0xe2, 0xd9, - 0xc4, 0x2b, 0xe3, 0xae, 0xb9, 0xd1, 0x23, 0x65, 0x9b, 0x58, 0xc3, 0x3e, 0xf2, 0xd8, 0xeb, 0xfb, - 0xf1, 0xd6, 0x46, 0xe4, 0x8f, 0x81, 0x4e, 0x06, 0xc8, 0xeb, 0x26, 0x83, 0x57, 0xf7, 0xd6, 0x8f, - 0x00, 0x00, 0x00, 0xff, 0xff, 0xb4, 0x83, 0x45, 0x2b, 0x3c, 0x06, 0x00, 0x00, + // 716 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x55, 0x4f, 0x6f, 0xd2, 0x60, + 0x18, 0xa7, 0xa5, 0x30, 0x78, 0x19, 0x8a, 0x95, 0xb8, 0x06, 0xb3, 0xb6, 0xa9, 0x46, 0x89, 0xc9, + 0xa8, 0xb0, 0xc4, 0xc3, 0xd4, 0xc3, 0x60, 0x98, 0x34, 0x2a, 0x92, 0x8e, 0x2d, 0x71, 0x17, 0x52, + 0xda, 0x77, 0xec, 0xcd, 0x68, 0x5f, 0xd2, 0xbe, 0x10, 0xf8, 0x06, 0xcb, 0x4e, 0x5e, 0x3d, 0x2c, + 0x31, 0xf1, 0xbb, 0x98, 0xc5, 0xd3, 0x8e, 0x9e, 0x88, 0xd9, 0xae, 0x9e, 0xf8, 0x04, 0xa6, 0x7d, + 0x0b, 0x74, 0x8b, 0x33, 0xd9, 0xf4, 0xf6, 0x3c, 0xfd, 0xfd, 0xe1, 0x79, 0x7e, 0x3c, 0x14, 0xf0, + 0x14, 0x75, 0x4c, 0xd5, 0xc4, 0x2e, 0x54, 0x4d, 0xec, 0x38, 0xd0, 0x24, 0x08, 0x3b, 0xea, 0xb0, + 0x1c, 0xe9, 0x4a, 0x7d, 0x17, 0x13, 0xcc, 0x3f, 0x40, 0x1d, 0xb3, 0xe4, 0x13, 0x4b, 0x11, 0x68, + 0x58, 0x2e, 0xe4, 0xbb, 0xb8, 0x8b, 0x03, 0x8a, 0xea, 0x57, 0x94, 0x5d, 0x88, 0xda, 0xda, 0x36, + 0x22, 0x36, 0x74, 0x08, 0xb5, 0x9d, 0x75, 0x94, 0xa8, 0x7c, 0x63, 0x41, 0xb6, 0x36, 0x37, 0xac, + 0x3b, 0x16, 0x5f, 0x06, 0x69, 0xb3, 0x87, 0xa0, 0x43, 0xda, 0xc8, 0x12, 0x18, 0x99, 0x29, 0xa6, + 0xab, 0xf9, 0xe9, 0x44, 0xca, 0x8d, 0x0d, 0xbb, 0xb7, 0xa1, 0xcc, 0x21, 0x45, 0x4f, 0xd1, 0x5a, + 0xb3, 0xf8, 0x97, 0x20, 0x35, 0x84, 0xae, 0x87, 0xb0, 0xe3, 0x09, 0xac, 0x1c, 0x2f, 0x66, 0x2a, + 0x52, 0xe9, 0xcf, 0xe3, 0x96, 0x76, 0x29, 0x4f, 0x9f, 0x0b, 0xf8, 0x75, 0x90, 0xf0, 0x88, 0x41, + 0xa0, 0x10, 0x97, 0x99, 0xe2, 0x9d, 0xca, 0xea, 0x75, 0xca, 0x6d, 0x9f, 0xa4, 0x53, 0x2e, 0xdf, + 0x00, 0xcb, 0x26, 0x1e, 0x38, 0x04, 0xba, 0x7d, 0xc3, 0x25, 0x63, 0x81, 0x93, 0x99, 0x62, 0xa6, + 0xf2, 0xf8, 0x3a, 0x6d, 0x2d, 0xc2, 0xad, 0x72, 0xa7, 0x13, 0x29, 0xa6, 0x5f, 0xd2, 0xf3, 0x1b, + 0x60, 0xd9, 0x82, 0x3d, 0x63, 0xdc, 0xee, 0x43, 0x17, 0x61, 0x4b, 0x48, 0xc8, 0x4c, 0x91, 0xab, + 0xae, 0x4c, 0x27, 0xd2, 0x7d, 0xba, 0x77, 0x14, 0x55, 0xf4, 0x4c, 0xd0, 0x36, 0x83, 0x6e, 0x83, + 0x3b, 0xfa, 0x22, 0xc5, 0x94, 0x5f, 0x2c, 0xc8, 0x6b, 0x16, 0x74, 0x08, 0xda, 0x47, 0xd0, 0x5a, + 0x44, 0xca, 0xaf, 0x02, 0x76, 0x1e, 0x64, 0x76, 0x3a, 0x91, 0xd2, 0xd4, 0xd0, 0x4f, 0x90, 0x45, + 0x57, 0xe2, 0x66, 0x6f, 0x1c, 0x77, 0xfc, 0xd6, 0x71, 0x73, 0xff, 0x10, 0x77, 0xe2, 0x3f, 0xc7, + 0x9d, 0xbc, 0x71, 0xdc, 0xdf, 0x19, 0xb0, 0x1c, 0xfd, 0x98, 0xdb, 0x9c, 0xed, 0x6b, 0x90, 0x5d, + 0xcc, 0xbd, 0x88, 0x5f, 0x98, 0x4e, 0xa4, 0x7c, 0x28, 0x8b, 0xc2, 0x8a, 0xbf, 0xc4, 0xac, 0xd7, + 0x2c, 0xbe, 0x0a, 0x92, 0x7d, 0x17, 0xee, 0xa3, 0x51, 0x70, 0xb9, 0x57, 0xe2, 0x98, 0xff, 0xcc, + 0x86, 0xe5, 0xd2, 0x7b, 0xe8, 0x1e, 0xf6, 0x60, 0x33, 0xe0, 0x86, 0x71, 0x84, 0xca, 0x70, 0x99, + 0x47, 0x20, 0x53, 0x0b, 0x86, 0x6a, 0x1a, 0xe4, 0xc0, 0xe3, 0xf3, 0x20, 0xd1, 0xf7, 0x0b, 0x81, + 0x91, 0xe3, 0xc5, 0xb4, 0x4e, 0x1b, 0x65, 0x0f, 0xdc, 0x5d, 0x5c, 0x15, 0x25, 0xde, 0x62, 0xe7, + 0xb9, 0x37, 0x1b, 0xf5, 0x7e, 0x0b, 0x96, 0xc2, 0x4b, 0xe1, 0x45, 0x00, 0xd0, 0xec, 0x8c, 0x5d, + 0x6a, 0xaa, 0x47, 0x9e, 0xf0, 0x05, 0x90, 0xda, 0x87, 0x06, 0x19, 0xb8, 0x70, 0xe6, 0x31, 0xef, + 0xc3, 0x6d, 0x1c, 0x90, 0x6c, 0x1a, 0xae, 0x61, 0x7b, 0xbc, 0x05, 0x1e, 0xda, 0xc6, 0xa8, 0x0d, + 0x47, 0x7d, 0x68, 0x12, 0x68, 0xb5, 0x09, 0xb2, 0xa1, 0xff, 0xa5, 0xb6, 0x3b, 0x3d, 0x6c, 0x1e, + 0x06, 0xe6, 0x5c, 0xf5, 0xc9, 0x74, 0x22, 0x29, 0x74, 0xe2, 0xbf, 0x90, 0x15, 0x7d, 0xc5, 0x36, + 0x46, 0xf5, 0x10, 0x6c, 0x21, 0x1b, 0x36, 0xa1, 0x5b, 0xf5, 0x91, 0x67, 0x9f, 0x19, 0x90, 0x08, + 0xae, 0x95, 0x7f, 0x01, 0xa4, 0xed, 0xd6, 0x66, 0xab, 0xde, 0xde, 0x69, 0x68, 0x0d, 0xad, 0xa5, + 0x6d, 0xbe, 0xd3, 0xf6, 0xea, 0x5b, 0xed, 0x9d, 0xc6, 0x76, 0xb3, 0x5e, 0xd3, 0xde, 0x68, 0xf5, + 0xad, 0x5c, 0xac, 0x70, 0xef, 0xf8, 0x44, 0xce, 0x5e, 0x22, 0xf0, 0x02, 0x00, 0x54, 0xe7, 0x3f, + 0xcc, 0x31, 0x85, 0xd4, 0xf1, 0x89, 0xcc, 0xf9, 0x35, 0x2f, 0x82, 0x2c, 0x45, 0x5a, 0xfa, 0xc7, + 0x0f, 0xcd, 0x7a, 0x23, 0xc7, 0x16, 0x32, 0xc7, 0x27, 0xf2, 0x52, 0xd8, 0x2e, 0x94, 0x01, 0x18, + 0xa7, 0x4a, 0xbf, 0x2e, 0x70, 0x47, 0x5f, 0xc5, 0x58, 0x75, 0xf7, 0xf4, 0x5c, 0x64, 0xce, 0xce, + 0x45, 0xe6, 0xe7, 0xb9, 0xc8, 0x7c, 0xba, 0x10, 0x63, 0x67, 0x17, 0x62, 0xec, 0xc7, 0x85, 0x18, + 0xdb, 0x7b, 0xd5, 0x45, 0xe4, 0x60, 0xd0, 0xf1, 0x4f, 0x45, 0x35, 0xb1, 0x67, 0x63, 0x4f, 0x45, + 0x1d, 0x73, 0xad, 0x8b, 0xd5, 0x61, 0x45, 0xb5, 0xb1, 0x35, 0xe8, 0x41, 0x8f, 0xbe, 0xc1, 0x9f, + 0xaf, 0xaf, 0x45, 0xfe, 0x1b, 0xc8, 0xb8, 0x0f, 0xbd, 0x4e, 0x32, 0x78, 0x7b, 0xaf, 0xff, 0x0e, + 0x00, 0x00, 0xff, 0xff, 0x1a, 0x3a, 0xc8, 0x14, 0x3f, 0x06, 0x00, 0x00, } func (m *ConnectionEnd) Marshal() (dAtA []byte, err error) { diff --git a/modules/core/03-connection/types/connection_test.go b/modules/core/03-connection/types/connection_test.go index bc343131e9d..54e6f4c49bf 100644 --- a/modules/core/03-connection/types/connection_test.go +++ b/modules/core/03-connection/types/connection_test.go @@ -5,10 +5,10 @@ import ( "github.com/stretchr/testify/require" - clienttypes "github.com/cosmos/ibc-go/modules/core/02-client/types" - "github.com/cosmos/ibc-go/modules/core/03-connection/types" - commitmenttypes "github.com/cosmos/ibc-go/modules/core/23-commitment/types" - ibctesting "github.com/cosmos/ibc-go/testing" + clienttypes "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" + "github.com/cosmos/ibc-go/v2/modules/core/03-connection/types" + commitmenttypes "github.com/cosmos/ibc-go/v2/modules/core/23-commitment/types" + ibctesting "github.com/cosmos/ibc-go/v2/testing" ) var ( diff --git a/modules/core/03-connection/types/events.go b/modules/core/03-connection/types/events.go index 94615c431ce..f4f92c3f8db 100644 --- a/modules/core/03-connection/types/events.go +++ b/modules/core/03-connection/types/events.go @@ -3,7 +3,7 @@ package types import ( "fmt" - host "github.com/cosmos/ibc-go/modules/core/24-host" + host "github.com/cosmos/ibc-go/v2/modules/core/24-host" ) // IBC connection events diff --git a/modules/core/03-connection/types/expected_keepers.go b/modules/core/03-connection/types/expected_keepers.go index 2199a3540a3..e378adbed2a 100644 --- a/modules/core/03-connection/types/expected_keepers.go +++ b/modules/core/03-connection/types/expected_keepers.go @@ -2,7 +2,7 @@ package types import ( sdk "github.com/cosmos/cosmos-sdk/types" - "github.com/cosmos/ibc-go/modules/core/exported" + "github.com/cosmos/ibc-go/v2/modules/core/exported" ) // ClientKeeper expected account IBC client keeper diff --git a/modules/core/03-connection/types/genesis.go b/modules/core/03-connection/types/genesis.go index 313782184cd..d632af3b877 100644 --- a/modules/core/03-connection/types/genesis.go +++ b/modules/core/03-connection/types/genesis.go @@ -3,7 +3,7 @@ package types import ( "fmt" - host "github.com/cosmos/ibc-go/modules/core/24-host" + host "github.com/cosmos/ibc-go/v2/modules/core/24-host" ) // NewConnectionPaths creates a ConnectionPaths instance. diff --git a/modules/core/03-connection/types/genesis.pb.go b/modules/core/03-connection/types/genesis.pb.go index 2efa4395200..549e00faa98 100644 --- a/modules/core/03-connection/types/genesis.pb.go +++ b/modules/core/03-connection/types/genesis.pb.go @@ -102,29 +102,30 @@ func init() { } var fileDescriptor_1879d34bc6ac3cd7 = []byte{ - // 352 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x74, 0x91, 0xb1, 0x4e, 0xc2, 0x40, - 0x18, 0xc7, 0x5b, 0x21, 0x0c, 0xc5, 0xa9, 0x51, 0x6c, 0x18, 0xae, 0xa4, 0x1a, 0x61, 0x90, 0x3b, - 0x81, 0x49, 0xe3, 0x54, 0x07, 0xe3, 0x46, 0xc0, 0xc9, 0xc4, 0x90, 0xf6, 0xf8, 0x2c, 0x97, 0xd0, - 0xbb, 0xca, 0x1d, 0x44, 0x9e, 0xc0, 0xc1, 0xc5, 0xc7, 0x62, 0x64, 0x74, 0x22, 0x06, 0xde, 0x80, - 0x27, 0x30, 0x6d, 0x89, 0x45, 0x63, 0xb7, 0xe6, 0xfb, 0x7e, 0xff, 0xdf, 0x3f, 0xbd, 0xcf, 0x38, - 0x63, 0x3e, 0x25, 0x54, 0x4c, 0x80, 0x50, 0xc1, 0x39, 0x50, 0xc5, 0x04, 0x27, 0xb3, 0x16, 0x09, - 0x80, 0x83, 0x64, 0x12, 0x47, 0x13, 0xa1, 0x84, 0x59, 0x61, 0x3e, 0xc5, 0x31, 0x85, 0x33, 0x0a, - 0xcf, 0x5a, 0xd5, 0xa3, 0x40, 0x04, 0x22, 0x41, 0x48, 0xfc, 0x95, 0xd2, 0xd5, 0x7a, 0x8e, 0x73, - 0x2f, 0x9b, 0x80, 0xce, 0x7b, 0xc1, 0x38, 0xbc, 0x4b, 0x8b, 0xfa, 0xca, 0x53, 0x60, 0x3e, 0x18, - 0xe5, 0x0c, 0x92, 0x96, 0x5e, 0x2b, 0x34, 0xca, 0xed, 0x0b, 0xfc, 0x7f, 0x3b, 0xbe, 0x1f, 0x02, - 0x57, 0xec, 0x99, 0xc1, 0xf0, 0xf6, 0x67, 0xee, 0x16, 0x17, 0x2b, 0x5b, 0xeb, 0xed, 0x6b, 0xcc, - 0x37, 0xdd, 0x38, 0xa1, 0x63, 0x06, 0x5c, 0x0d, 0xb2, 0xf1, 0x20, 0xf2, 0xd4, 0x48, 0x5a, 0x07, - 0x49, 0x45, 0x3d, 0xaf, 0x22, 0x13, 0x77, 0x63, 0xdc, 0x3d, 0x8f, 0xed, 0xdb, 0x95, 0x8d, 0xe6, - 0x5e, 0x38, 0xbe, 0x76, 0x72, 0xac, 0x4e, 0xef, 0x38, 0xdd, 0xfc, 0x89, 0x9b, 0x4f, 0x86, 0xc5, - 0xe1, 0xf5, 0x57, 0x40, 0xc2, 0xcb, 0x14, 0x38, 0x05, 0xab, 0x50, 0xd3, 0x1b, 0x45, 0xf7, 0x74, - 0xbb, 0xb2, 0xed, 0x54, 0x9e, 0x47, 0x3a, 0xbd, 0x4a, 0xbc, 0xca, 0xdc, 0xfd, 0xdd, 0xc2, 0xbc, - 0x31, 0x4a, 0x91, 0x37, 0xf1, 0x42, 0x69, 0x15, 0x6b, 0x7a, 0xa3, 0xdc, 0x46, 0x79, 0xbf, 0xd5, - 0x4d, 0xa8, 0xdd, 0x5b, 0xed, 0x32, 0x6e, 0x7f, 0xb1, 0x46, 0xfa, 0x72, 0x8d, 0xf4, 0xaf, 0x35, - 0xd2, 0x3f, 0x36, 0x48, 0x5b, 0x6e, 0x90, 0xf6, 0xb9, 0x41, 0xda, 0xe3, 0x55, 0xc0, 0xd4, 0x68, - 0xea, 0x63, 0x2a, 0x42, 0x42, 0x85, 0x0c, 0x85, 0x24, 0xcc, 0xa7, 0xcd, 0x40, 0x90, 0x50, 0x0c, - 0xa7, 0x63, 0x90, 0xe9, 0xb5, 0x2f, 0x3b, 0xcd, 0xbd, 0x83, 0xab, 0x79, 0x04, 0xd2, 0x2f, 0x25, - 0x97, 0xee, 0x7c, 0x07, 0x00, 0x00, 0xff, 0xff, 0x5a, 0x52, 0xa6, 0xc4, 0x68, 0x02, 0x00, 0x00, + // 356 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x74, 0x91, 0x31, 0x4f, 0xf2, 0x40, + 0x18, 0xc7, 0xdb, 0x17, 0xc2, 0x50, 0xde, 0xa9, 0x51, 0x6c, 0x18, 0xae, 0xa4, 0x1a, 0x61, 0x90, + 0x3b, 0x81, 0xcd, 0x30, 0xd5, 0xc1, 0xb8, 0x11, 0x30, 0x0e, 0x26, 0x86, 0xb4, 0xc7, 0x63, 0xb9, + 0x84, 0xde, 0x55, 0xee, 0x20, 0xf2, 0x09, 0x1c, 0x5c, 0xfc, 0x58, 0x8c, 0x8c, 0x4e, 0xc4, 0xc0, + 0x37, 0xe0, 0x13, 0x98, 0xb6, 0xc4, 0xa2, 0xb1, 0x5b, 0xf3, 0x3c, 0xbf, 0xff, 0xef, 0x9f, 0xde, + 0x63, 0x9c, 0x31, 0x9f, 0x12, 0x2a, 0xa6, 0x40, 0xa8, 0xe0, 0x1c, 0xa8, 0x62, 0x82, 0x93, 0x79, + 0x8b, 0x04, 0xc0, 0x41, 0x32, 0x89, 0xa3, 0xa9, 0x50, 0xc2, 0xac, 0x30, 0x9f, 0xe2, 0x98, 0xc2, + 0x19, 0x85, 0xe7, 0xad, 0xea, 0x51, 0x20, 0x02, 0x91, 0x20, 0x24, 0xfe, 0x4a, 0xe9, 0x6a, 0x3d, + 0xc7, 0x79, 0x90, 0x4d, 0x40, 0xe7, 0xad, 0x60, 0xfc, 0xbf, 0x49, 0x8b, 0x06, 0xca, 0x53, 0x60, + 0xde, 0x19, 0xe5, 0x0c, 0x92, 0x96, 0x5e, 0x2b, 0x34, 0xca, 0xed, 0x0b, 0xfc, 0x77, 0x3b, 0xbe, + 0x1d, 0x01, 0x57, 0xec, 0x89, 0xc1, 0xe8, 0xfa, 0x7b, 0xee, 0x16, 0x97, 0x6b, 0x5b, 0xeb, 0x1f, + 0x6a, 0xcc, 0x57, 0xdd, 0x38, 0xa1, 0x13, 0x06, 0x5c, 0x0d, 0xb3, 0xf1, 0x30, 0xf2, 0xd4, 0x58, + 0x5a, 0xff, 0x92, 0x8a, 0x7a, 0x5e, 0x45, 0x26, 0xee, 0xc5, 0xb8, 0x7b, 0x1e, 0xdb, 0x77, 0x6b, + 0x1b, 0x2d, 0xbc, 0x70, 0x72, 0xe5, 0xe4, 0x58, 0x9d, 0xfe, 0x71, 0xba, 0xf9, 0x15, 0x37, 0x1f, + 0x0d, 0x8b, 0xc3, 0xcb, 0x8f, 0x80, 0x84, 0xe7, 0x19, 0x70, 0x0a, 0x56, 0xa1, 0xa6, 0x37, 0x8a, + 0xee, 0xe9, 0x6e, 0x6d, 0xdb, 0xa9, 0x3c, 0x8f, 0x74, 0xfa, 0x95, 0x78, 0x95, 0xb9, 0x07, 0xfb, + 0x85, 0xd9, 0x35, 0x4a, 0x91, 0x37, 0xf5, 0x42, 0x69, 0x15, 0x6b, 0x7a, 0xa3, 0xdc, 0x46, 0x79, + 0xbf, 0xd5, 0x4b, 0xa8, 0xfd, 0x5b, 0xed, 0x33, 0xee, 0xfd, 0x72, 0x83, 0xf4, 0xd5, 0x06, 0xe9, + 0x9f, 0x1b, 0xa4, 0xbf, 0x6f, 0x91, 0xb6, 0xda, 0x22, 0xed, 0x63, 0x8b, 0xb4, 0x87, 0x6e, 0xc0, + 0xd4, 0x78, 0xe6, 0x63, 0x2a, 0x42, 0x42, 0x85, 0x0c, 0x85, 0x24, 0xcc, 0xa7, 0xcd, 0x40, 0x90, + 0x79, 0x9b, 0x84, 0x62, 0x34, 0x9b, 0x80, 0x4c, 0x0f, 0x7e, 0xd9, 0x69, 0x1e, 0xdc, 0x5c, 0x2d, + 0x22, 0x90, 0x7e, 0x29, 0x39, 0x76, 0xe7, 0x2b, 0x00, 0x00, 0xff, 0xff, 0xc3, 0x80, 0x94, 0x16, + 0x6b, 0x02, 0x00, 0x00, } func (m *GenesisState) Marshal() (dAtA []byte, err error) { diff --git a/modules/core/03-connection/types/genesis_test.go b/modules/core/03-connection/types/genesis_test.go index 9a64c86b499..8fa61bba4c6 100644 --- a/modules/core/03-connection/types/genesis_test.go +++ b/modules/core/03-connection/types/genesis_test.go @@ -5,9 +5,9 @@ import ( "github.com/stretchr/testify/require" - "github.com/cosmos/ibc-go/modules/core/03-connection/types" - commitmenttypes "github.com/cosmos/ibc-go/modules/core/23-commitment/types" - ibctesting "github.com/cosmos/ibc-go/testing" + "github.com/cosmos/ibc-go/v2/modules/core/03-connection/types" + commitmenttypes "github.com/cosmos/ibc-go/v2/modules/core/23-commitment/types" + ibctesting "github.com/cosmos/ibc-go/v2/testing" ) func TestValidateGenesis(t *testing.T) { diff --git a/modules/core/03-connection/types/keys.go b/modules/core/03-connection/types/keys.go index 073ab8215d9..affe8527a12 100644 --- a/modules/core/03-connection/types/keys.go +++ b/modules/core/03-connection/types/keys.go @@ -5,7 +5,7 @@ import ( "regexp" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" - host "github.com/cosmos/ibc-go/modules/core/24-host" + host "github.com/cosmos/ibc-go/v2/modules/core/24-host" ) const ( diff --git a/modules/core/03-connection/types/keys_test.go b/modules/core/03-connection/types/keys_test.go index c4180385729..197e30573b2 100644 --- a/modules/core/03-connection/types/keys_test.go +++ b/modules/core/03-connection/types/keys_test.go @@ -6,7 +6,7 @@ import ( "github.com/stretchr/testify/require" - "github.com/cosmos/ibc-go/modules/core/03-connection/types" + "github.com/cosmos/ibc-go/v2/modules/core/03-connection/types" ) // tests ParseConnectionSequence and IsValidConnectionID diff --git a/modules/core/03-connection/types/msgs.go b/modules/core/03-connection/types/msgs.go index 7d6f88faac3..02b764ac461 100644 --- a/modules/core/03-connection/types/msgs.go +++ b/modules/core/03-connection/types/msgs.go @@ -4,10 +4,10 @@ import ( codectypes "github.com/cosmos/cosmos-sdk/codec/types" sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" - clienttypes "github.com/cosmos/ibc-go/modules/core/02-client/types" - commitmenttypes "github.com/cosmos/ibc-go/modules/core/23-commitment/types" - host "github.com/cosmos/ibc-go/modules/core/24-host" - "github.com/cosmos/ibc-go/modules/core/exported" + clienttypes "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" + commitmenttypes "github.com/cosmos/ibc-go/v2/modules/core/23-commitment/types" + host "github.com/cosmos/ibc-go/v2/modules/core/24-host" + "github.com/cosmos/ibc-go/v2/modules/core/exported" ) var ( diff --git a/modules/core/03-connection/types/msgs_test.go b/modules/core/03-connection/types/msgs_test.go index 57c123525fc..ec5e79efc9b 100644 --- a/modules/core/03-connection/types/msgs_test.go +++ b/modules/core/03-connection/types/msgs_test.go @@ -13,12 +13,12 @@ import ( "github.com/cosmos/cosmos-sdk/store/iavl" "github.com/cosmos/cosmos-sdk/store/rootmulti" storetypes "github.com/cosmos/cosmos-sdk/store/types" - clienttypes "github.com/cosmos/ibc-go/modules/core/02-client/types" - "github.com/cosmos/ibc-go/modules/core/03-connection/types" - commitmenttypes "github.com/cosmos/ibc-go/modules/core/23-commitment/types" - ibctmtypes "github.com/cosmos/ibc-go/modules/light-clients/07-tendermint/types" - ibctesting "github.com/cosmos/ibc-go/testing" - "github.com/cosmos/ibc-go/testing/simapp" + clienttypes "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" + "github.com/cosmos/ibc-go/v2/modules/core/03-connection/types" + commitmenttypes "github.com/cosmos/ibc-go/v2/modules/core/23-commitment/types" + ibctmtypes "github.com/cosmos/ibc-go/v2/modules/light-clients/07-tendermint/types" + ibctesting "github.com/cosmos/ibc-go/v2/testing" + "github.com/cosmos/ibc-go/v2/testing/simapp" ) var ( diff --git a/modules/core/03-connection/types/params_test.go b/modules/core/03-connection/types/params_test.go index 0a04ed34a4b..cc5b3a024f2 100644 --- a/modules/core/03-connection/types/params_test.go +++ b/modules/core/03-connection/types/params_test.go @@ -3,7 +3,7 @@ package types_test import ( "testing" - "github.com/cosmos/ibc-go/modules/core/03-connection/types" + "github.com/cosmos/ibc-go/v2/modules/core/03-connection/types" "github.com/stretchr/testify/require" ) diff --git a/modules/core/03-connection/types/query.go b/modules/core/03-connection/types/query.go index 7677ebd1827..6853b80dae4 100644 --- a/modules/core/03-connection/types/query.go +++ b/modules/core/03-connection/types/query.go @@ -2,8 +2,8 @@ package types import ( codectypes "github.com/cosmos/cosmos-sdk/codec/types" - clienttypes "github.com/cosmos/ibc-go/modules/core/02-client/types" - "github.com/cosmos/ibc-go/modules/core/exported" + clienttypes "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" + "github.com/cosmos/ibc-go/v2/modules/core/exported" ) var ( diff --git a/modules/core/03-connection/types/query.pb.go b/modules/core/03-connection/types/query.pb.go index 32ad340b80f..280618ade16 100644 --- a/modules/core/03-connection/types/query.pb.go +++ b/modules/core/03-connection/types/query.pb.go @@ -8,7 +8,7 @@ import ( fmt "fmt" types1 "github.com/cosmos/cosmos-sdk/codec/types" query "github.com/cosmos/cosmos-sdk/types/query" - types "github.com/cosmos/ibc-go/modules/core/02-client/types" + types "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" _ "github.com/gogo/protobuf/gogoproto" grpc1 "github.com/gogo/protobuf/grpc" proto "github.com/gogo/protobuf/proto" @@ -635,63 +635,63 @@ func init() { } var fileDescriptor_cd8d529f8c7cd06b = []byte{ - // 892 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x56, 0x41, 0x6f, 0x1b, 0x45, - 0x14, 0xf6, 0x38, 0x69, 0xd5, 0x8c, 0x43, 0x0b, 0x23, 0xb7, 0x35, 0x0b, 0x38, 0x61, 0x4b, 0x48, - 0x0a, 0x74, 0xa6, 0x4e, 0xd4, 0xaa, 0x2d, 0x31, 0x02, 0x47, 0x81, 0xe4, 0x12, 0x85, 0xcd, 0x8d, - 0x4b, 0xb4, 0xbb, 0x9e, 0xac, 0x57, 0xb2, 0x77, 0x1c, 0xcf, 0xda, 0xc8, 0x8a, 0x2c, 0x24, 0xfe, - 0x00, 0x48, 0x5c, 0xb8, 0x70, 0xe5, 0xc0, 0x1f, 0xe0, 0xc0, 0x8d, 0x53, 0x8e, 0x91, 0xb8, 0xe4, - 0x14, 0x21, 0x87, 0x2b, 0x17, 0x7e, 0x01, 0xda, 0x99, 0x71, 0x76, 0xd6, 0x5e, 0x27, 0x8e, 0xd5, - 0xdc, 0x36, 0x6f, 0xde, 0x9b, 0xf7, 0x7d, 0xdf, 0x7b, 0xf3, 0x39, 0xd0, 0xf4, 0x1d, 0x97, 0xb8, - 0xac, 0x45, 0x89, 0xcb, 0x82, 0x80, 0xba, 0xa1, 0xcf, 0x02, 0xd2, 0x29, 0x91, 0xc3, 0x36, 0x6d, - 0x75, 0x71, 0xb3, 0xc5, 0x42, 0x86, 0x1e, 0xf8, 0x8e, 0x8b, 0xa3, 0x1c, 0x1c, 0xe7, 0xe0, 0x4e, - 0xc9, 0xc8, 0x7b, 0xcc, 0x63, 0x22, 0x85, 0x44, 0x5f, 0x32, 0xdb, 0xf8, 0xc8, 0x65, 0xbc, 0xc1, - 0x38, 0x71, 0x6c, 0x4e, 0xe5, 0x35, 0xa4, 0x53, 0x72, 0x68, 0x68, 0x97, 0x48, 0xd3, 0xf6, 0xfc, - 0xc0, 0x16, 0xe5, 0x32, 0x77, 0x21, 0xee, 0x5e, 0xf7, 0x69, 0x10, 0x46, 0x9d, 0xe5, 0x97, 0x4a, - 0x58, 0x1e, 0x03, 0x4f, 0x03, 0x22, 0x13, 0xdf, 0xf5, 0x18, 0xf3, 0xea, 0x94, 0xd8, 0x4d, 0x9f, - 0xd8, 0x41, 0xc0, 0x42, 0xd1, 0x86, 0xab, 0xd3, 0xb7, 0xd5, 0xa9, 0xf8, 0xcb, 0x69, 0x1f, 0x10, - 0x3b, 0x50, 0xe4, 0xcc, 0x32, 0x7c, 0xf0, 0x75, 0x04, 0x72, 0xe3, 0xe2, 0x46, 0x8b, 0x1e, 0xb6, - 0x29, 0x0f, 0xd1, 0x23, 0xf8, 0x46, 0xdc, 0x66, 0xdf, 0xaf, 0x16, 0xc0, 0x22, 0x58, 0x99, 0xb3, - 0xe6, 0xe3, 0xe0, 0x76, 0xd5, 0xfc, 0x03, 0xc0, 0x87, 0x23, 0xf5, 0xbc, 0xc9, 0x02, 0x4e, 0xd1, - 0x26, 0x84, 0x71, 0xae, 0xa8, 0xce, 0xad, 0x2e, 0xe1, 0x74, 0x31, 0x71, 0x5c, 0xbf, 0x19, 0x54, - 0x2d, 0xad, 0x10, 0xe5, 0xe1, 0xad, 0x66, 0x8b, 0xb1, 0x83, 0x42, 0x76, 0x11, 0xac, 0xcc, 0x5b, - 0xf2, 0x0f, 0xb4, 0x01, 0xe7, 0xc5, 0xc7, 0x7e, 0x8d, 0xfa, 0x5e, 0x2d, 0x2c, 0xcc, 0x88, 0xeb, - 0x0d, 0xed, 0x7a, 0xa9, 0x63, 0xa7, 0x84, 0xb7, 0x44, 0x46, 0x65, 0xf6, 0xf8, 0x6c, 0x21, 0x63, - 0xe5, 0x44, 0x95, 0x0c, 0x99, 0xf6, 0x08, 0x78, 0x3e, 0x60, 0xff, 0x25, 0x84, 0xf1, 0xb8, 0x14, - 0xf8, 0x0f, 0xb1, 0x9c, 0x2d, 0x8e, 0x66, 0x8b, 0xe5, 0x8a, 0xa8, 0xd9, 0xe2, 0x5d, 0xdb, 0xa3, - 0xaa, 0xd6, 0xd2, 0x2a, 0xcd, 0x7f, 0x01, 0x2c, 0x8c, 0xf6, 0x50, 0x0a, 0xed, 0xc0, 0x5c, 0x4c, - 0x94, 0x17, 0xc0, 0xe2, 0xcc, 0x4a, 0x6e, 0xf5, 0x93, 0x71, 0x12, 0x6d, 0x57, 0x69, 0x10, 0xfa, - 0x07, 0x3e, 0xad, 0x6a, 0x62, 0xeb, 0x17, 0xa0, 0xaf, 0x12, 0xa0, 0xb3, 0x02, 0xf4, 0xf2, 0x95, - 0xa0, 0x25, 0x18, 0x1d, 0x35, 0x7a, 0x01, 0x6f, 0x5f, 0x53, 0x57, 0x95, 0x6f, 0xae, 0xc3, 0xf7, - 0x24, 0x5d, 0x91, 0x96, 0x22, 0xec, 0x3b, 0x70, 0x4e, 0x5e, 0x11, 0xaf, 0xd4, 0x1d, 0x19, 0xd8, - 0xae, 0x9a, 0xbf, 0x02, 0x58, 0x1c, 0x57, 0xae, 0x34, 0x7b, 0x0c, 0xdf, 0xd4, 0xd6, 0xb2, 0x69, - 0x87, 0x35, 0x29, 0xdc, 0x9c, 0x75, 0x2f, 0x8e, 0xef, 0x46, 0xe1, 0x9b, 0xdc, 0x1c, 0x07, 0xbe, - 0x3f, 0x34, 0x55, 0x89, 0x78, 0x2f, 0xb4, 0xc3, 0xc1, 0x1e, 0xa0, 0x72, 0xea, 0x0b, 0xaa, 0x14, - 0xfe, 0x3b, 0x5b, 0xc8, 0x77, 0xed, 0x46, 0xfd, 0x95, 0x99, 0x38, 0x36, 0x87, 0xde, 0x56, 0x1f, - 0x40, 0xf3, 0xb2, 0x26, 0x4a, 0x10, 0x1b, 0x3e, 0xf4, 0x2f, 0x36, 0x63, 0x5f, 0x69, 0xcb, 0xa3, - 0x14, 0xb5, 0xb6, 0x8f, 0xd3, 0xa8, 0x69, 0xcb, 0xa4, 0xdd, 0x79, 0xdf, 0x4f, 0x0b, 0xdf, 0xa4, - 0x90, 0xbf, 0x03, 0xf8, 0xc1, 0x30, 0xc9, 0x88, 0x56, 0xc0, 0xdb, 0xfc, 0x35, 0x8a, 0x89, 0x96, - 0xe1, 0xbd, 0x16, 0xed, 0xf8, 0x3c, 0x3a, 0x0d, 0xda, 0x0d, 0x87, 0xb6, 0x04, 0x99, 0x59, 0xeb, - 0xee, 0x20, 0xbc, 0x23, 0xa2, 0x89, 0x44, 0x8d, 0x98, 0x96, 0xa8, 0x90, 0x9f, 0x01, 0xb8, 0x74, - 0x05, 0x72, 0x35, 0xa1, 0x32, 0x8c, 0x56, 0x53, 0x9e, 0x24, 0x26, 0x93, 0xc7, 0xd2, 0x98, 0xf1, - 0xc0, 0x98, 0xf1, 0x17, 0x41, 0xd7, 0xba, 0xeb, 0x26, 0xae, 0x49, 0xbe, 0x98, 0x6c, 0xf2, 0xc5, - 0xc4, 0xa3, 0x99, 0xb9, 0x6c, 0x34, 0xb3, 0x53, 0x8c, 0x66, 0xf5, 0x87, 0x3b, 0xf0, 0x96, 0x20, - 0x88, 0x7e, 0x03, 0x10, 0xc6, 0x2c, 0x11, 0x1e, 0xe7, 0x50, 0xe9, 0xbf, 0x24, 0x06, 0x99, 0x38, - 0x5f, 0x0a, 0x66, 0x7e, 0xfa, 0xfd, 0x5f, 0xff, 0xfc, 0x94, 0x7d, 0x86, 0xd6, 0xc8, 0x95, 0xbf, - 0x7f, 0x9c, 0x1c, 0x25, 0xe6, 0xde, 0x43, 0xbf, 0x00, 0x98, 0xd3, 0x8c, 0x03, 0x4d, 0xda, 0x7d, - 0xe0, 0x50, 0xc6, 0xd3, 0xc9, 0x0b, 0x14, 0xde, 0x8f, 0x05, 0xde, 0x25, 0xf4, 0x68, 0x02, 0xbc, - 0xe8, 0x4f, 0x00, 0xdf, 0x1a, 0xb1, 0x37, 0xf4, 0xec, 0xf2, 0xa6, 0x63, 0xdc, 0xd4, 0x78, 0x7e, - 0xdd, 0x32, 0x85, 0xf8, 0x33, 0x81, 0xf8, 0x05, 0x7a, 0x3e, 0x16, 0xb1, 0xdc, 0xb8, 0xa4, 0xd0, - 0x83, 0x2d, 0xec, 0xa1, 0x53, 0x00, 0xef, 0xa7, 0xda, 0x12, 0x7a, 0x39, 0xa1, 0x7a, 0xa3, 0x7e, - 0x69, 0xbc, 0x9a, 0xa6, 0x54, 0x11, 0xda, 0x12, 0x84, 0x2a, 0xe8, 0xf3, 0x29, 0x56, 0x86, 0xe8, - 0xa6, 0x89, 0x7e, 0xce, 0xc2, 0xc2, 0xb8, 0x27, 0x8d, 0xd6, 0x27, 0x85, 0x98, 0xe6, 0x61, 0x46, - 0x79, 0xca, 0x6a, 0xc5, 0xf1, 0x3b, 0xc1, 0xb1, 0x8b, 0xbe, 0x9d, 0x8a, 0x63, 0xd2, 0x81, 0xc8, - 0xc0, 0xcd, 0xc8, 0xd1, 0x90, 0x2f, 0xf6, 0x88, 0x34, 0x0d, 0xed, 0x40, 0x06, 0x7a, 0x95, 0xbd, - 0xe3, 0x7e, 0x11, 0x9c, 0xf4, 0x8b, 0xe0, 0xef, 0x7e, 0x11, 0xfc, 0x78, 0x5e, 0xcc, 0x9c, 0x9c, - 0x17, 0x33, 0xa7, 0xe7, 0xc5, 0xcc, 0x37, 0x2f, 0x3d, 0x3f, 0xac, 0xb5, 0x1d, 0xec, 0xb2, 0x06, - 0x51, 0xff, 0x00, 0xfb, 0x8e, 0xfb, 0xc4, 0x63, 0xa4, 0xc1, 0xaa, 0xed, 0x3a, 0xe5, 0x12, 0xee, - 0xd3, 0xb5, 0x27, 0x1a, 0xe2, 0xb0, 0xdb, 0xa4, 0xdc, 0xb9, 0x2d, 0xcc, 0x6f, 0xed, 0xff, 0x00, - 0x00, 0x00, 0xff, 0xff, 0xc7, 0x37, 0x60, 0x53, 0x8b, 0x0b, 0x00, 0x00, + // 895 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x56, 0x31, 0x6f, 0x23, 0x45, + 0x14, 0xf6, 0x38, 0xb9, 0xd3, 0x65, 0x1c, 0xee, 0x60, 0xe4, 0xbb, 0x33, 0x0b, 0x38, 0x61, 0x8f, + 0x90, 0x1c, 0x70, 0x33, 0x67, 0x47, 0x77, 0x3a, 0x8e, 0x18, 0x81, 0xa3, 0x40, 0xd2, 0x44, 0x61, + 0x91, 0x28, 0x68, 0xa2, 0xdd, 0xf5, 0x64, 0xbd, 0x92, 0xbd, 0xe3, 0x78, 0xd6, 0x46, 0x56, 0x64, + 0x21, 0xf1, 0x07, 0x40, 0xa2, 0xa1, 0xa1, 0xa5, 0xe0, 0x0f, 0x50, 0xd0, 0x51, 0xa5, 0x8c, 0x44, + 0x93, 0x2a, 0x42, 0x0e, 0x2d, 0x0d, 0xbf, 0x00, 0xed, 0xcc, 0x38, 0x3b, 0x6b, 0xaf, 0x13, 0xc7, + 0x22, 0xdd, 0xe6, 0xcd, 0x7b, 0xf3, 0xbe, 0xef, 0x7b, 0x6f, 0x3e, 0x07, 0x9a, 0xbe, 0xe3, 0x12, + 0x97, 0xb5, 0x29, 0x71, 0x59, 0x10, 0x50, 0x37, 0xf4, 0x59, 0x40, 0xba, 0x25, 0x72, 0xd8, 0xa1, + 0xed, 0x1e, 0x6e, 0xb5, 0x59, 0xc8, 0xd0, 0x03, 0xdf, 0x71, 0x71, 0x94, 0x83, 0xe3, 0x1c, 0xdc, + 0x2d, 0x19, 0x79, 0x8f, 0x79, 0x4c, 0xa4, 0x90, 0xe8, 0x4b, 0x66, 0x1b, 0xef, 0xb9, 0x8c, 0x37, + 0x19, 0x27, 0x8e, 0xcd, 0xa9, 0xbc, 0x86, 0x74, 0x4b, 0x0e, 0x0d, 0xed, 0x12, 0x69, 0xd9, 0x9e, + 0x1f, 0xd8, 0xa2, 0x5c, 0xe6, 0x2e, 0xc5, 0xdd, 0x1b, 0x3e, 0x0d, 0xc2, 0xa8, 0xb3, 0xfc, 0x52, + 0x09, 0xab, 0x13, 0xe0, 0x69, 0x40, 0x64, 0xe2, 0x9b, 0x1e, 0x63, 0x5e, 0x83, 0x12, 0xbb, 0xe5, + 0x13, 0x3b, 0x08, 0x58, 0x28, 0xda, 0x70, 0x75, 0xfa, 0xba, 0x3a, 0x15, 0x7f, 0x39, 0x9d, 0x03, + 0x62, 0x07, 0x8a, 0x9c, 0x59, 0x81, 0x0f, 0xbe, 0x88, 0x40, 0x6e, 0x5e, 0xdc, 0x68, 0xd1, 0xc3, + 0x0e, 0xe5, 0x21, 0x7a, 0x04, 0x5f, 0x89, 0xdb, 0xec, 0xfb, 0xb5, 0x02, 0x58, 0x06, 0x6b, 0x0b, + 0xd6, 0x62, 0x1c, 0xdc, 0xa9, 0x99, 0xbf, 0x03, 0xf8, 0x70, 0xac, 0x9e, 0xb7, 0x58, 0xc0, 0x29, + 0xda, 0x82, 0x30, 0xce, 0x15, 0xd5, 0xb9, 0xf2, 0x0a, 0x4e, 0x17, 0x13, 0xc7, 0xf5, 0x5b, 0x41, + 0xcd, 0xd2, 0x0a, 0x51, 0x1e, 0xde, 0x6a, 0xb5, 0x19, 0x3b, 0x28, 0x64, 0x97, 0xc1, 0xda, 0xa2, + 0x25, 0xff, 0x40, 0x9b, 0x70, 0x51, 0x7c, 0xec, 0xd7, 0xa9, 0xef, 0xd5, 0xc3, 0xc2, 0x9c, 0xb8, + 0xde, 0xd0, 0xae, 0x97, 0x3a, 0x76, 0x4b, 0x78, 0x5b, 0x64, 0x54, 0xe7, 0x8f, 0xcf, 0x96, 0x32, + 0x56, 0x4e, 0x54, 0xc9, 0x90, 0x69, 0x8f, 0x81, 0xe7, 0x43, 0xf6, 0x9f, 0x41, 0x18, 0x8f, 0x4b, + 0x81, 0x7f, 0x17, 0xcb, 0xd9, 0xe2, 0x68, 0xb6, 0x58, 0xae, 0x88, 0x9a, 0x2d, 0xde, 0xb3, 0x3d, + 0xaa, 0x6a, 0x2d, 0xad, 0xd2, 0xfc, 0x07, 0xc0, 0xc2, 0x78, 0x0f, 0xa5, 0xd0, 0x2e, 0xcc, 0xc5, + 0x44, 0x79, 0x01, 0x2c, 0xcf, 0xad, 0xe5, 0xca, 0x1f, 0x4c, 0x92, 0x68, 0xa7, 0x46, 0x83, 0xd0, + 0x3f, 0xf0, 0x69, 0x4d, 0x13, 0x5b, 0xbf, 0x00, 0x7d, 0x9e, 0x00, 0x9d, 0x15, 0xa0, 0x57, 0xaf, + 0x04, 0x2d, 0xc1, 0xe8, 0xa8, 0xd1, 0x0b, 0x78, 0xfb, 0x9a, 0xba, 0xaa, 0x7c, 0x73, 0x03, 0xbe, + 0x25, 0xe9, 0x8a, 0xb4, 0x14, 0x61, 0xdf, 0x80, 0x0b, 0xf2, 0x8a, 0x78, 0xa5, 0xee, 0xc8, 0xc0, + 0x4e, 0xcd, 0xfc, 0x05, 0xc0, 0xe2, 0xa4, 0x72, 0xa5, 0xd9, 0x63, 0xf8, 0xaa, 0xb6, 0x96, 0x2d, + 0x3b, 0xac, 0x4b, 0xe1, 0x16, 0xac, 0x7b, 0x71, 0x7c, 0x2f, 0x0a, 0xdf, 0xe4, 0xe6, 0x38, 0xf0, + 0xed, 0x91, 0xa9, 0x4a, 0xc4, 0x5f, 0x86, 0x76, 0x38, 0xdc, 0x03, 0x54, 0x49, 0x7d, 0x41, 0xd5, + 0xc2, 0xbf, 0x67, 0x4b, 0xf9, 0x9e, 0xdd, 0x6c, 0xbc, 0x34, 0x13, 0xc7, 0xe6, 0xc8, 0xdb, 0x1a, + 0x00, 0x68, 0x5e, 0xd6, 0x44, 0x09, 0x62, 0xc3, 0x87, 0xfe, 0xc5, 0x66, 0xec, 0x2b, 0x6d, 0x79, + 0x94, 0xa2, 0xd6, 0xf6, 0x71, 0x1a, 0x35, 0x6d, 0x99, 0xb4, 0x3b, 0xef, 0xfb, 0x69, 0xe1, 0x9b, + 0x14, 0xf2, 0x37, 0x00, 0xdf, 0x19, 0x25, 0x19, 0xd1, 0x0a, 0x78, 0x87, 0xff, 0x8f, 0x62, 0xa2, + 0x55, 0x78, 0xaf, 0x4d, 0xbb, 0x3e, 0x8f, 0x4e, 0x83, 0x4e, 0xd3, 0xa1, 0x6d, 0x41, 0x66, 0xde, + 0xba, 0x3b, 0x0c, 0xef, 0x8a, 0x68, 0x22, 0x51, 0x23, 0xa6, 0x25, 0x2a, 0xe4, 0x67, 0x00, 0xae, + 0x5c, 0x81, 0x5c, 0x4d, 0xa8, 0x02, 0xa3, 0xd5, 0x94, 0x27, 0x89, 0xc9, 0xe4, 0xb1, 0x34, 0x66, + 0x3c, 0x34, 0x66, 0xfc, 0x69, 0xd0, 0xb3, 0xee, 0xba, 0x89, 0x6b, 0x92, 0x2f, 0x26, 0x9b, 0x7c, + 0x31, 0xf1, 0x68, 0xe6, 0x2e, 0x1b, 0xcd, 0xfc, 0x0c, 0xa3, 0x29, 0x7f, 0x7f, 0x07, 0xde, 0x12, + 0x04, 0xd1, 0xaf, 0x00, 0xc2, 0x98, 0x25, 0xc2, 0x93, 0x1c, 0x2a, 0xfd, 0x97, 0xc4, 0x20, 0x53, + 0xe7, 0x4b, 0xc1, 0xcc, 0x8f, 0xbe, 0xfb, 0xf3, 0xef, 0x1f, 0xb3, 0xcf, 0xd0, 0x3a, 0xb9, 0xf2, + 0xf7, 0x8f, 0x93, 0xa3, 0xc4, 0xdc, 0xfb, 0xe8, 0x67, 0x00, 0x73, 0x9a, 0x71, 0xa0, 0x69, 0xbb, + 0x0f, 0x1d, 0xca, 0x78, 0x3a, 0x7d, 0x81, 0xc2, 0xfb, 0xbe, 0xc0, 0xbb, 0x82, 0x1e, 0x4d, 0x81, + 0x17, 0xfd, 0x01, 0xe0, 0x6b, 0x63, 0xf6, 0x86, 0x9e, 0x5d, 0xde, 0x74, 0x82, 0x9b, 0x1a, 0xcf, + 0xaf, 0x5b, 0xa6, 0x10, 0x7f, 0x2c, 0x10, 0xbf, 0x40, 0xcf, 0x27, 0x22, 0x96, 0x1b, 0x97, 0x14, + 0x7a, 0xb8, 0x85, 0x7d, 0x74, 0x0a, 0xe0, 0xfd, 0x54, 0x5b, 0x42, 0x1f, 0x4e, 0xa9, 0xde, 0xb8, + 0x5f, 0x1a, 0x2f, 0x67, 0x29, 0x55, 0x84, 0xb6, 0x05, 0xa1, 0x2a, 0xfa, 0x64, 0x86, 0x95, 0x21, + 0xba, 0x69, 0xa2, 0x9f, 0xb2, 0xb0, 0x30, 0xe9, 0x49, 0xa3, 0x8d, 0x69, 0x21, 0xa6, 0x79, 0x98, + 0x51, 0x99, 0xb1, 0x5a, 0x71, 0xfc, 0x56, 0x70, 0xec, 0xa1, 0x6f, 0x66, 0xe2, 0x98, 0x74, 0x20, + 0x32, 0x74, 0x33, 0x72, 0x34, 0xe2, 0x8b, 0x7d, 0x22, 0x4d, 0x43, 0x3b, 0x90, 0x81, 0x7e, 0xf5, + 0xab, 0xe3, 0x41, 0x11, 0x9c, 0x0c, 0x8a, 0xe0, 0xaf, 0x41, 0x11, 0xfc, 0x70, 0x5e, 0xcc, 0x9c, + 0x9c, 0x17, 0x33, 0xa7, 0xe7, 0xc5, 0xcc, 0xd7, 0x1b, 0x9e, 0x1f, 0xd6, 0x3b, 0x0e, 0x76, 0x59, + 0x93, 0xa8, 0x7f, 0x80, 0x7d, 0xc7, 0x7d, 0xe2, 0x31, 0xd2, 0x2d, 0x93, 0x26, 0xab, 0x75, 0x1a, + 0x94, 0x4b, 0xc4, 0x4f, 0xd7, 0x9f, 0x68, 0xa0, 0xc3, 0x5e, 0x8b, 0x72, 0xe7, 0xb6, 0xf0, 0xbf, + 0xf5, 0xff, 0x02, 0x00, 0x00, 0xff, 0xff, 0x90, 0x53, 0xd2, 0x89, 0x8e, 0x0b, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. diff --git a/modules/core/03-connection/types/tx.pb.go b/modules/core/03-connection/types/tx.pb.go index f544f50f23d..709d8c0d81e 100644 --- a/modules/core/03-connection/types/tx.pb.go +++ b/modules/core/03-connection/types/tx.pb.go @@ -7,7 +7,7 @@ import ( context "context" fmt "fmt" types "github.com/cosmos/cosmos-sdk/codec/types" - types1 "github.com/cosmos/ibc-go/modules/core/02-client/types" + types1 "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" _ "github.com/gogo/protobuf/gogoproto" grpc1 "github.com/gogo/protobuf/grpc" proto "github.com/gogo/protobuf/proto" @@ -388,65 +388,65 @@ func init() { func init() { proto.RegisterFile("ibc/core/connection/v1/tx.proto", fileDescriptor_5d00fde5fc97399e) } var fileDescriptor_5d00fde5fc97399e = []byte{ - // 925 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x56, 0x31, 0x6f, 0xdb, 0x46, - 0x14, 0x16, 0x2d, 0xd9, 0x96, 0x4e, 0x6a, 0x93, 0x5c, 0x65, 0x9b, 0x55, 0x13, 0x51, 0x21, 0x5a, - 0xd4, 0x43, 0x4d, 0x46, 0x49, 0x0a, 0x34, 0x06, 0x3a, 0x58, 0x5a, 0xea, 0x21, 0x6d, 0xc0, 0x04, - 0x2d, 0x90, 0x45, 0x90, 0x4e, 0x67, 0xfa, 0x20, 0x89, 0x47, 0xf0, 0x28, 0xb5, 0xec, 0xda, 0xa5, - 0xe8, 0xd4, 0xa5, 0x7b, 0xfe, 0x43, 0xff, 0x44, 0x46, 0x8f, 0x9d, 0x88, 0xd6, 0x5e, 0x3a, 0x73, - 0xeb, 0x56, 0xf0, 0x8e, 0xa4, 0x4e, 0x32, 0x85, 0x5a, 0x95, 0xb3, 0xdd, 0xbb, 0xf7, 0xbd, 0xf7, - 0xee, 0xde, 0xfb, 0xbe, 0xc3, 0x01, 0x8d, 0x0c, 0x90, 0x89, 0xa8, 0x87, 0x4d, 0x44, 0x1d, 0x07, - 0x23, 0x9f, 0x50, 0xc7, 0x9c, 0xb5, 0x4d, 0xff, 0x07, 0xc3, 0xf5, 0xa8, 0x4f, 0xe1, 0x3e, 0x19, - 0x20, 0x23, 0x06, 0x18, 0x73, 0x80, 0x31, 0x6b, 0x37, 0xea, 0x36, 0xb5, 0x29, 0x87, 0x98, 0xf1, - 0x4a, 0xa0, 0x1b, 0x1f, 0xda, 0x94, 0xda, 0x63, 0x6c, 0x72, 0x6b, 0x30, 0x3d, 0x33, 0xfb, 0x4e, - 0x90, 0xb8, 0xa4, 0x4a, 0x63, 0x82, 0x1d, 0x3f, 0xae, 0x22, 0x56, 0x09, 0xe0, 0xd3, 0x15, 0x47, - 0x91, 0xea, 0x72, 0xa0, 0xfe, 0xfb, 0x16, 0xd8, 0x7b, 0xce, 0xec, 0x6e, 0xb6, 0xff, 0x8d, 0x8b, - 0x9d, 0x53, 0x87, 0xf8, 0xb0, 0x0d, 0x2a, 0x22, 0x65, 0x8f, 0x0c, 0x55, 0xa5, 0xa5, 0x1c, 0x56, - 0x3a, 0xf5, 0x28, 0xd4, 0xee, 0x06, 0xfd, 0xc9, 0xf8, 0x58, 0xcf, 0x5c, 0xba, 0x55, 0x16, 0xeb, - 0xd3, 0x21, 0xfc, 0x1a, 0xd4, 0x10, 0x9d, 0x3a, 0x3e, 0xf6, 0xdc, 0xbe, 0xe7, 0x07, 0xea, 0x56, - 0x4b, 0x39, 0xac, 0x3e, 0xfe, 0xd8, 0xc8, 0xbf, 0xb6, 0xd1, 0x95, 0xb0, 0x9d, 0xd2, 0xdb, 0x50, - 0x2b, 0x58, 0x0b, 0xf1, 0xf0, 0x19, 0xd8, 0x9d, 0x61, 0x8f, 0x11, 0xea, 0xa8, 0x45, 0x9e, 0x4a, - 0x5b, 0x95, 0xea, 0x5b, 0x01, 0xb3, 0x52, 0x3c, 0x3c, 0x06, 0xb5, 0x21, 0x1e, 0xf7, 0x83, 0x9e, - 0x8b, 0x3d, 0x42, 0x87, 0x6a, 0xa9, 0xa5, 0x1c, 0x96, 0x3a, 0x07, 0x51, 0xa8, 0x7d, 0x20, 0x2e, - 0x20, 0x7b, 0x75, 0xab, 0xca, 0xcd, 0x17, 0xdc, 0x82, 0xfb, 0x60, 0x87, 0x11, 0xdb, 0xc1, 0x9e, - 0xba, 0x1d, 0x5f, 0xdb, 0x4a, 0xac, 0xe3, 0xf2, 0xcf, 0x6f, 0xb4, 0xc2, 0xdf, 0x6f, 0xb4, 0x82, - 0xae, 0x81, 0x07, 0xb9, 0x4d, 0xb3, 0x30, 0x73, 0xa9, 0xc3, 0xb0, 0xfe, 0xdb, 0x2e, 0xa8, 0x5f, - 0x43, 0xbc, 0xf2, 0x82, 0xff, 0xd3, 0xd5, 0xef, 0xc0, 0xbe, 0xeb, 0xe1, 0x19, 0xa1, 0x53, 0xd6, - 0x9b, 0xdf, 0x3a, 0x8e, 0xdf, 0xe2, 0xf1, 0x0f, 0xa3, 0x50, 0x7b, 0x20, 0xe2, 0xf3, 0x71, 0xba, - 0x55, 0x4f, 0x1d, 0xf3, 0x03, 0x9d, 0x0e, 0xe1, 0x0b, 0x50, 0x4b, 0x0a, 0x32, 0xbf, 0xef, 0xe3, - 0xa4, 0xc7, 0x75, 0x43, 0xf0, 0xce, 0x48, 0x79, 0x67, 0x9c, 0x38, 0x81, 0xdc, 0x39, 0x39, 0x46, - 0xb7, 0xaa, 0xc2, 0x7c, 0x19, 0x5b, 0xd7, 0x08, 0x50, 0xda, 0x90, 0x00, 0xcb, 0x53, 0xdc, 0x5e, - 0x63, 0x8a, 0x33, 0xb0, 0x27, 0xe7, 0xea, 0x25, 0xcc, 0x60, 0xea, 0x4e, 0xab, 0x78, 0x03, 0x2a, - 0x75, 0x5a, 0x51, 0xa8, 0xdd, 0x4f, 0x6e, 0x9c, 0x97, 0x47, 0xb7, 0xea, 0xf2, 0x7e, 0x12, 0xc6, - 0xe0, 0x6b, 0x50, 0x73, 0x3d, 0x4a, 0xcf, 0x7a, 0xe7, 0x98, 0xd8, 0xe7, 0xbe, 0xba, 0xcb, 0x7b, - 0xd0, 0x90, 0xca, 0x09, 0xa1, 0xce, 0xda, 0xc6, 0x57, 0x1c, 0xd1, 0xf9, 0x28, 0xbe, 0xf9, 0xfc, - 0x4e, 0x72, 0xb4, 0x6e, 0x55, 0xb9, 0x29, 0x90, 0xf0, 0x29, 0x00, 0xc2, 0x4b, 0x1c, 0xe2, 0xab, - 0xe5, 0x96, 0x72, 0x58, 0xeb, 0xec, 0x45, 0xa1, 0x76, 0x4f, 0x8e, 0x8c, 0x7d, 0xba, 0x55, 0xe1, - 0x06, 0x57, 0xf2, 0x71, 0x7a, 0x22, 0x51, 0x59, 0xad, 0xf0, 0xb8, 0x83, 0xe5, 0x8a, 0xc2, 0x9b, - 0x56, 0xec, 0x72, 0x0b, 0x76, 0xc1, 0x9d, 0xc4, 0x1b, 0xf3, 0xda, 0x61, 0x53, 0xa6, 0x02, 0x1e, - 0xde, 0x88, 0x42, 0x6d, 0x7f, 0x21, 0x3c, 0x05, 0xe8, 0xd6, 0xfb, 0x22, 0x43, 0xba, 0x01, 0xcf, - 0xc0, 0xdd, 0xcc, 0x9b, 0xb6, 0xa5, 0xfa, 0x9f, 0x6d, 0xd1, 0x92, 0xb6, 0x1c, 0xa4, 0x43, 0x58, - 0xcc, 0xa0, 0x5b, 0x77, 0xb2, 0xad, 0xa4, 0x3d, 0x73, 0xe1, 0xd6, 0x56, 0x08, 0xb7, 0x09, 0xee, - 0xe7, 0xc9, 0x32, 0xd3, 0xed, 0x5f, 0xdb, 0x39, 0xba, 0x3d, 0x41, 0x23, 0xf8, 0x25, 0x78, 0x6f, - 0x51, 0x7b, 0x42, 0xbb, 0x6a, 0x14, 0x6a, 0xf5, 0xec, 0x7c, 0xb2, 0xe4, 0x6a, 0x48, 0x96, 0x1a, - 0x02, 0x8d, 0x05, 0x12, 0xe5, 0xe9, 0xf8, 0x93, 0x28, 0xd4, 0x1e, 0xe6, 0x10, 0x6e, 0x29, 0xb1, - 0x2a, 0x3b, 0x17, 0xf4, 0xbc, 0xc1, 0x73, 0xb9, 0xfc, 0x14, 0x94, 0x36, 0x7e, 0x0a, 0x96, 0x65, - 0xb0, 0x7d, 0x8b, 0x32, 0x68, 0x03, 0xc1, 0xee, 0x9e, 0xef, 0x05, 0xea, 0x0e, 0xa7, 0xa3, 0xf4, - 0x88, 0x66, 0x2e, 0xdd, 0x2a, 0xf3, 0x75, 0xfc, 0xee, 0x2e, 0x6b, 0x60, 0x77, 0x33, 0x0d, 0x94, - 0x6f, 0x45, 0x03, 0x95, 0x77, 0xaa, 0x01, 0xb0, 0x86, 0x06, 0x4e, 0xd0, 0x28, 0xd3, 0xc0, 0x2f, - 0x5b, 0x40, 0xbd, 0x06, 0xe8, 0x52, 0xe7, 0x8c, 0x78, 0x93, 0x4d, 0x75, 0x90, 0x4d, 0xae, 0x8f, - 0x46, 0x9c, 0xf6, 0x39, 0x93, 0xeb, 0xa3, 0x51, 0x3a, 0xb9, 0x58, 0x79, 0xcb, 0x44, 0x2a, 0xde, - 0x22, 0x91, 0xe6, 0xcd, 0x2a, 0xad, 0x68, 0x96, 0x0e, 0x5a, 0xab, 0x7a, 0x91, 0x36, 0xec, 0xf1, - 0x3f, 0x45, 0x50, 0x7c, 0xce, 0x6c, 0xf8, 0x23, 0x80, 0x39, 0xff, 0xa8, 0xa3, 0x55, 0x22, 0xcc, - 0xfd, 0x41, 0x34, 0x3e, 0x5f, 0x0b, 0x9e, 0x9e, 0x01, 0x7e, 0x0f, 0xee, 0x5d, 0xff, 0x6c, 0x7c, - 0x76, 0xe3, 0x5c, 0xaf, 0xbc, 0xa0, 0xf1, 0x74, 0x1d, 0xf4, 0xea, 0xc2, 0xf1, 0xcc, 0x6e, 0x5e, - 0xf8, 0x04, 0x8d, 0xd6, 0x28, 0x2c, 0xd1, 0x14, 0xfe, 0xa4, 0x80, 0xbd, 0x7c, 0x8e, 0x3e, 0xba, - 0x71, 0xbe, 0x24, 0xa2, 0xf1, 0xc5, 0xba, 0x11, 0xe9, 0x29, 0x3a, 0x2f, 0xdf, 0x5e, 0x36, 0x95, - 0x8b, 0xcb, 0xa6, 0xf2, 0xe7, 0x65, 0x53, 0xf9, 0xf5, 0xaa, 0x59, 0xb8, 0xb8, 0x6a, 0x16, 0xfe, - 0xb8, 0x6a, 0x16, 0x5e, 0x3f, 0xb3, 0x89, 0x7f, 0x3e, 0x1d, 0x18, 0x88, 0x4e, 0x4c, 0x44, 0xd9, - 0x84, 0x32, 0x93, 0x0c, 0xd0, 0x91, 0x4d, 0xcd, 0x09, 0x1d, 0x4e, 0xc7, 0x98, 0x89, 0xff, 0xf9, - 0xa3, 0x27, 0x47, 0xd2, 0x17, 0xdd, 0x0f, 0x5c, 0xcc, 0x06, 0x3b, 0xfc, 0xbd, 0x7d, 0xf2, 0x6f, - 0x00, 0x00, 0x00, 0xff, 0xff, 0xcc, 0x63, 0x63, 0xc9, 0x51, 0x0c, 0x00, 0x00, + // 927 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x56, 0x31, 0x73, 0xe3, 0x44, + 0x14, 0xb6, 0x62, 0x27, 0xb1, 0xd7, 0x86, 0xbb, 0x5b, 0x9c, 0x44, 0x98, 0x3b, 0xcb, 0xa7, 0x81, + 0x21, 0x05, 0x91, 0xce, 0xb9, 0x63, 0x06, 0x32, 0x50, 0xc4, 0x6e, 0x48, 0x71, 0x70, 0x23, 0x6e, + 0x8e, 0x99, 0x6b, 0x3c, 0xf6, 0x7a, 0xa3, 0xec, 0xd8, 0xd6, 0x6a, 0xb4, 0xb2, 0x41, 0xb4, 0x34, + 0x0c, 0x15, 0x0d, 0xfd, 0xfd, 0x07, 0xfe, 0xc4, 0x95, 0x57, 0x52, 0x69, 0x20, 0x69, 0xa8, 0xd5, + 0xd1, 0x31, 0xda, 0x95, 0xe4, 0xb5, 0x23, 0x0f, 0x31, 0xce, 0x75, 0xfb, 0xf6, 0x7d, 0xef, 0xbd, + 0xdd, 0xf7, 0xbe, 0x6f, 0x67, 0x81, 0x46, 0x06, 0xc8, 0x44, 0xd4, 0xc3, 0x26, 0xa2, 0x8e, 0x83, + 0x91, 0x4f, 0xa8, 0x63, 0xce, 0xda, 0xa6, 0xff, 0x83, 0xe1, 0x7a, 0xd4, 0xa7, 0x70, 0x9f, 0x0c, + 0x90, 0x11, 0x03, 0x8c, 0x39, 0xc0, 0x98, 0xb5, 0x1b, 0x75, 0x9b, 0xda, 0x94, 0x43, 0xcc, 0x78, + 0x25, 0xd0, 0x8d, 0xf7, 0x6d, 0x4a, 0xed, 0x31, 0x36, 0xb9, 0x35, 0x98, 0x9e, 0x9b, 0x7d, 0x27, + 0x48, 0x5c, 0x52, 0xa5, 0x31, 0xc1, 0x8e, 0x1f, 0x57, 0x11, 0xab, 0x04, 0xf0, 0xf1, 0x8a, 0xa3, + 0x48, 0x75, 0x39, 0x50, 0xff, 0x7d, 0x0b, 0xec, 0x3d, 0x65, 0x76, 0x37, 0xdb, 0xff, 0xc6, 0xc5, + 0xce, 0x99, 0x43, 0x7c, 0xd8, 0x06, 0x15, 0x91, 0xb2, 0x47, 0x86, 0xaa, 0xd2, 0x52, 0x0e, 0x2b, + 0x9d, 0x7a, 0x14, 0x6a, 0x77, 0x83, 0xfe, 0x64, 0x7c, 0xa2, 0x67, 0x2e, 0xdd, 0x2a, 0x8b, 0xf5, + 0xd9, 0x10, 0x7e, 0x0d, 0x6a, 0x88, 0x4e, 0x1d, 0x1f, 0x7b, 0x6e, 0xdf, 0xf3, 0x03, 0x75, 0xab, + 0xa5, 0x1c, 0x56, 0x8f, 0x3f, 0x34, 0xf2, 0xaf, 0x6d, 0x74, 0x25, 0x6c, 0xa7, 0xf4, 0x3a, 0xd4, + 0x0a, 0xd6, 0x42, 0x3c, 0xfc, 0x1c, 0xec, 0xce, 0xb0, 0xc7, 0x08, 0x75, 0xd4, 0x22, 0x4f, 0xa5, + 0xad, 0x4a, 0xf5, 0x42, 0xc0, 0xac, 0x14, 0x0f, 0x4f, 0x40, 0x6d, 0x88, 0xc7, 0xfd, 0xa0, 0xe7, + 0x62, 0x8f, 0xd0, 0xa1, 0x5a, 0x6a, 0x29, 0x87, 0xa5, 0xce, 0x41, 0x14, 0x6a, 0xef, 0x89, 0x0b, + 0xc8, 0x5e, 0xdd, 0xaa, 0x72, 0xf3, 0x19, 0xb7, 0xe0, 0x3e, 0xd8, 0x61, 0xc4, 0x76, 0xb0, 0xa7, + 0x6e, 0xc7, 0xd7, 0xb6, 0x12, 0xeb, 0xa4, 0xfc, 0xf3, 0x2b, 0xad, 0xf0, 0xf7, 0x2b, 0xad, 0xa0, + 0x6b, 0xe0, 0x41, 0x6e, 0xd3, 0x2c, 0xcc, 0x5c, 0xea, 0x30, 0xac, 0xff, 0xb6, 0x0b, 0xea, 0xd7, + 0x10, 0xcf, 0xbd, 0xe0, 0xff, 0x74, 0xf5, 0x3b, 0xb0, 0xef, 0x7a, 0x78, 0x46, 0xe8, 0x94, 0xf5, + 0xe6, 0xb7, 0x8e, 0xe3, 0xb7, 0x78, 0xfc, 0xc3, 0x28, 0xd4, 0x1e, 0x88, 0xf8, 0x7c, 0x9c, 0x6e, + 0xd5, 0x53, 0xc7, 0xfc, 0x40, 0x67, 0x43, 0xf8, 0x0c, 0xd4, 0x92, 0x82, 0xcc, 0xef, 0xfb, 0x38, + 0xe9, 0x71, 0xdd, 0x10, 0xbc, 0x33, 0x52, 0xde, 0x19, 0xa7, 0x4e, 0x20, 0x77, 0x4e, 0x8e, 0xd1, + 0xad, 0xaa, 0x30, 0xbf, 0x8d, 0xad, 0x6b, 0x04, 0x28, 0x6d, 0x48, 0x80, 0xe5, 0x29, 0x6e, 0xaf, + 0x31, 0xc5, 0x19, 0xd8, 0x93, 0x73, 0xf5, 0x12, 0x66, 0x30, 0x75, 0xa7, 0x55, 0xbc, 0x01, 0x95, + 0x3a, 0xad, 0x28, 0xd4, 0xee, 0x27, 0x37, 0xce, 0xcb, 0xa3, 0x5b, 0x75, 0x79, 0x3f, 0x09, 0x63, + 0xf0, 0x25, 0xa8, 0xb9, 0x1e, 0xa5, 0xe7, 0xbd, 0x0b, 0x4c, 0xec, 0x0b, 0x5f, 0xdd, 0xe5, 0x3d, + 0x68, 0x48, 0xe5, 0x84, 0x50, 0x67, 0x6d, 0xe3, 0x2b, 0x8e, 0xe8, 0x7c, 0x10, 0xdf, 0x7c, 0x7e, + 0x27, 0x39, 0x5a, 0xb7, 0xaa, 0xdc, 0x14, 0x48, 0xf8, 0x04, 0x00, 0xe1, 0x25, 0x0e, 0xf1, 0xd5, + 0x72, 0x4b, 0x39, 0xac, 0x75, 0xf6, 0xa2, 0x50, 0xbb, 0x27, 0x47, 0xc6, 0x3e, 0xdd, 0xaa, 0x70, + 0x83, 0x2b, 0xf9, 0x24, 0x3d, 0x91, 0xa8, 0xac, 0x56, 0x78, 0xdc, 0xc1, 0x72, 0x45, 0xe1, 0x4d, + 0x2b, 0x76, 0xb9, 0x05, 0xbb, 0xe0, 0x4e, 0xe2, 0x8d, 0x79, 0xed, 0xb0, 0x29, 0x53, 0x01, 0x0f, + 0x6f, 0x44, 0xa1, 0xb6, 0xbf, 0x10, 0x9e, 0x02, 0x74, 0xeb, 0x5d, 0x91, 0x21, 0xdd, 0x80, 0xe7, + 0xe0, 0x6e, 0xe6, 0x4d, 0xdb, 0x52, 0xfd, 0xcf, 0xb6, 0x68, 0x49, 0x5b, 0x0e, 0xd2, 0x21, 0x2c, + 0x66, 0xd0, 0xad, 0x3b, 0xd9, 0x56, 0xd2, 0x9e, 0xb9, 0x70, 0x6b, 0x2b, 0x84, 0xdb, 0x04, 0xf7, + 0xf3, 0x64, 0x99, 0xe9, 0xf6, 0xaf, 0xed, 0x1c, 0xdd, 0x9e, 0xa2, 0x11, 0xfc, 0x12, 0xbc, 0xb3, + 0xa8, 0x3d, 0xa1, 0x5d, 0x35, 0x0a, 0xb5, 0x7a, 0x76, 0x3e, 0x59, 0x72, 0x35, 0x24, 0x4b, 0x0d, + 0x81, 0xc6, 0x02, 0x89, 0xf2, 0x74, 0xfc, 0x51, 0x14, 0x6a, 0x0f, 0x73, 0x08, 0xb7, 0x94, 0x58, + 0x95, 0x9d, 0x0b, 0x7a, 0xde, 0xe0, 0xb9, 0x5c, 0x7e, 0x0a, 0x4a, 0x1b, 0x3f, 0x05, 0xcb, 0x32, + 0xd8, 0xbe, 0x45, 0x19, 0xb4, 0x81, 0x60, 0x77, 0xcf, 0xf7, 0x02, 0x75, 0x87, 0xd3, 0x51, 0x7a, + 0x44, 0x33, 0x97, 0x6e, 0x95, 0xf9, 0x3a, 0x7e, 0x77, 0x97, 0x35, 0xb0, 0xbb, 0x99, 0x06, 0xca, + 0xb7, 0xa2, 0x81, 0xca, 0x5b, 0xd5, 0x00, 0x58, 0x43, 0x03, 0xa7, 0x68, 0x94, 0x69, 0xe0, 0x97, + 0x2d, 0xa0, 0x5e, 0x03, 0x74, 0xa9, 0x73, 0x4e, 0xbc, 0xc9, 0xa6, 0x3a, 0xc8, 0x26, 0xd7, 0x47, + 0x23, 0x4e, 0xfb, 0x9c, 0xc9, 0xf5, 0xd1, 0x28, 0x9d, 0x5c, 0xac, 0xbc, 0x65, 0x22, 0x15, 0x6f, + 0x91, 0x48, 0xf3, 0x66, 0x95, 0x56, 0x34, 0x4b, 0x07, 0xad, 0x55, 0xbd, 0x48, 0x1b, 0x76, 0xfc, + 0x4f, 0x11, 0x14, 0x9f, 0x32, 0x1b, 0xfe, 0x08, 0x60, 0xce, 0x3f, 0xea, 0x68, 0x95, 0x08, 0x73, + 0x7f, 0x10, 0x8d, 0x4f, 0xd7, 0x82, 0xa7, 0x67, 0x80, 0xdf, 0x83, 0x7b, 0xd7, 0x3f, 0x1b, 0x9f, + 0xdc, 0x38, 0xd7, 0x73, 0x2f, 0x68, 0x3c, 0x59, 0x07, 0xbd, 0xba, 0x70, 0x3c, 0xb3, 0x9b, 0x17, + 0x3e, 0x45, 0xa3, 0x35, 0x0a, 0x4b, 0x34, 0x85, 0x3f, 0x29, 0x60, 0x2f, 0x9f, 0xa3, 0x8f, 0x6e, + 0x9c, 0x2f, 0x89, 0x68, 0x7c, 0xb6, 0x6e, 0x44, 0x7a, 0x8a, 0xce, 0x8b, 0xd7, 0x97, 0x4d, 0xe5, + 0xcd, 0x65, 0x53, 0xf9, 0xf3, 0xb2, 0xa9, 0xfc, 0x7a, 0xd5, 0x2c, 0xbc, 0xb9, 0x6a, 0x16, 0xfe, + 0xb8, 0x6a, 0x16, 0x5e, 0x7e, 0x61, 0x13, 0xff, 0x62, 0x3a, 0x30, 0x10, 0x9d, 0x98, 0x88, 0xb2, + 0x09, 0x65, 0x26, 0x19, 0xa0, 0x23, 0x9b, 0x9a, 0xb3, 0x63, 0x73, 0x42, 0x87, 0xd3, 0x31, 0x66, + 0xe2, 0x8b, 0xfe, 0xe8, 0xf1, 0x91, 0xf4, 0x4b, 0xf7, 0x03, 0x17, 0xb3, 0xc1, 0x0e, 0x7f, 0x72, + 0x1f, 0xff, 0x1b, 0x00, 0x00, 0xff, 0xff, 0x01, 0x75, 0x59, 0xc2, 0x54, 0x0c, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. diff --git a/modules/core/03-connection/types/version.go b/modules/core/03-connection/types/version.go index cf0d29dd0ee..347017ce5e8 100644 --- a/modules/core/03-connection/types/version.go +++ b/modules/core/03-connection/types/version.go @@ -4,7 +4,7 @@ import ( "strings" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" - "github.com/cosmos/ibc-go/modules/core/exported" + "github.com/cosmos/ibc-go/v2/modules/core/exported" ) var ( diff --git a/modules/core/03-connection/types/version_test.go b/modules/core/03-connection/types/version_test.go index d50d69291cc..d8cb122252b 100644 --- a/modules/core/03-connection/types/version_test.go +++ b/modules/core/03-connection/types/version_test.go @@ -5,9 +5,9 @@ import ( "github.com/stretchr/testify/require" - "github.com/cosmos/ibc-go/modules/core/03-connection/types" - "github.com/cosmos/ibc-go/modules/core/exported" - ibctesting "github.com/cosmos/ibc-go/testing" + "github.com/cosmos/ibc-go/v2/modules/core/03-connection/types" + "github.com/cosmos/ibc-go/v2/modules/core/exported" + ibctesting "github.com/cosmos/ibc-go/v2/testing" ) func TestValidateVersion(t *testing.T) { diff --git a/modules/core/04-channel/client/cli/cli.go b/modules/core/04-channel/client/cli/cli.go index 3335f379f35..24257f33da7 100644 --- a/modules/core/04-channel/client/cli/cli.go +++ b/modules/core/04-channel/client/cli/cli.go @@ -4,7 +4,7 @@ import ( "github.com/spf13/cobra" "github.com/cosmos/cosmos-sdk/client" - "github.com/cosmos/ibc-go/modules/core/04-channel/types" + "github.com/cosmos/ibc-go/v2/modules/core/04-channel/types" ) // GetQueryCmd returns the query commands for IBC channels diff --git a/modules/core/04-channel/client/cli/query.go b/modules/core/04-channel/client/cli/query.go index 145cbd6560a..c8754c60d67 100644 --- a/modules/core/04-channel/client/cli/query.go +++ b/modules/core/04-channel/client/cli/query.go @@ -9,9 +9,9 @@ import ( "github.com/cosmos/cosmos-sdk/client" "github.com/cosmos/cosmos-sdk/client/flags" "github.com/cosmos/cosmos-sdk/version" - "github.com/cosmos/ibc-go/modules/core/04-channel/client/utils" - "github.com/cosmos/ibc-go/modules/core/04-channel/types" - host "github.com/cosmos/ibc-go/modules/core/24-host" + "github.com/cosmos/ibc-go/v2/modules/core/04-channel/client/utils" + "github.com/cosmos/ibc-go/v2/modules/core/04-channel/types" + host "github.com/cosmos/ibc-go/v2/modules/core/24-host" ) const ( diff --git a/modules/core/04-channel/client/utils/utils.go b/modules/core/04-channel/client/utils/utils.go index ec70a8f629f..76b18898a62 100644 --- a/modules/core/04-channel/client/utils/utils.go +++ b/modules/core/04-channel/client/utils/utils.go @@ -7,12 +7,12 @@ import ( "github.com/cosmos/cosmos-sdk/client" "github.com/cosmos/cosmos-sdk/codec" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" - clientutils "github.com/cosmos/ibc-go/modules/core/02-client/client/utils" - clienttypes "github.com/cosmos/ibc-go/modules/core/02-client/types" - "github.com/cosmos/ibc-go/modules/core/04-channel/types" - host "github.com/cosmos/ibc-go/modules/core/24-host" - ibcclient "github.com/cosmos/ibc-go/modules/core/client" - "github.com/cosmos/ibc-go/modules/core/exported" + clientutils "github.com/cosmos/ibc-go/v2/modules/core/02-client/client/utils" + clienttypes "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" + "github.com/cosmos/ibc-go/v2/modules/core/04-channel/types" + host "github.com/cosmos/ibc-go/v2/modules/core/24-host" + ibcclient "github.com/cosmos/ibc-go/v2/modules/core/client" + "github.com/cosmos/ibc-go/v2/modules/core/exported" ) // QueryChannel returns a channel end. diff --git a/modules/core/04-channel/genesis.go b/modules/core/04-channel/genesis.go index 63d354ee3d5..648becbb8a9 100644 --- a/modules/core/04-channel/genesis.go +++ b/modules/core/04-channel/genesis.go @@ -2,8 +2,8 @@ package channel import ( sdk "github.com/cosmos/cosmos-sdk/types" - "github.com/cosmos/ibc-go/modules/core/04-channel/keeper" - "github.com/cosmos/ibc-go/modules/core/04-channel/types" + "github.com/cosmos/ibc-go/v2/modules/core/04-channel/keeper" + "github.com/cosmos/ibc-go/v2/modules/core/04-channel/types" ) // InitGenesis initializes the ibc channel submodule's state from a provided genesis diff --git a/modules/core/04-channel/keeper/events.go b/modules/core/04-channel/keeper/events.go index bfdf925f2e6..e1726e53668 100644 --- a/modules/core/04-channel/keeper/events.go +++ b/modules/core/04-channel/keeper/events.go @@ -6,8 +6,8 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" - "github.com/cosmos/ibc-go/modules/core/04-channel/types" - "github.com/cosmos/ibc-go/modules/core/exported" + "github.com/cosmos/ibc-go/v2/modules/core/04-channel/types" + "github.com/cosmos/ibc-go/v2/modules/core/exported" ) // EmitSendPacketEvent emits an event with packet data along with other packet information for relayer diff --git a/modules/core/04-channel/keeper/grpc_query.go b/modules/core/04-channel/keeper/grpc_query.go index 150d839b5f8..64a281eaa8f 100644 --- a/modules/core/04-channel/keeper/grpc_query.go +++ b/modules/core/04-channel/keeper/grpc_query.go @@ -12,10 +12,10 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" "github.com/cosmos/cosmos-sdk/types/query" - clienttypes "github.com/cosmos/ibc-go/modules/core/02-client/types" - connectiontypes "github.com/cosmos/ibc-go/modules/core/03-connection/types" - "github.com/cosmos/ibc-go/modules/core/04-channel/types" - host "github.com/cosmos/ibc-go/modules/core/24-host" + clienttypes "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" + connectiontypes "github.com/cosmos/ibc-go/v2/modules/core/03-connection/types" + "github.com/cosmos/ibc-go/v2/modules/core/04-channel/types" + host "github.com/cosmos/ibc-go/v2/modules/core/24-host" ) var _ types.QueryServer = (*Keeper)(nil) diff --git a/modules/core/04-channel/keeper/grpc_query_test.go b/modules/core/04-channel/keeper/grpc_query_test.go index d803ae8b135..9fdce2b14a1 100644 --- a/modules/core/04-channel/keeper/grpc_query_test.go +++ b/modules/core/04-channel/keeper/grpc_query_test.go @@ -5,11 +5,11 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" "github.com/cosmos/cosmos-sdk/types/query" - clienttypes "github.com/cosmos/ibc-go/modules/core/02-client/types" - connectiontypes "github.com/cosmos/ibc-go/modules/core/03-connection/types" - "github.com/cosmos/ibc-go/modules/core/04-channel/types" - "github.com/cosmos/ibc-go/modules/core/exported" - ibctesting "github.com/cosmos/ibc-go/testing" + clienttypes "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" + connectiontypes "github.com/cosmos/ibc-go/v2/modules/core/03-connection/types" + "github.com/cosmos/ibc-go/v2/modules/core/04-channel/types" + "github.com/cosmos/ibc-go/v2/modules/core/exported" + ibctesting "github.com/cosmos/ibc-go/v2/testing" ) func (suite *KeeperTestSuite) TestQueryChannel() { diff --git a/modules/core/04-channel/keeper/handshake.go b/modules/core/04-channel/keeper/handshake.go index 5f9d70ad090..ef1cbd01fea 100644 --- a/modules/core/04-channel/keeper/handshake.go +++ b/modules/core/04-channel/keeper/handshake.go @@ -5,11 +5,11 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" capabilitytypes "github.com/cosmos/cosmos-sdk/x/capability/types" - connectiontypes "github.com/cosmos/ibc-go/modules/core/03-connection/types" - "github.com/cosmos/ibc-go/modules/core/04-channel/types" - porttypes "github.com/cosmos/ibc-go/modules/core/05-port/types" - host "github.com/cosmos/ibc-go/modules/core/24-host" - "github.com/cosmos/ibc-go/modules/core/exported" + connectiontypes "github.com/cosmos/ibc-go/v2/modules/core/03-connection/types" + "github.com/cosmos/ibc-go/v2/modules/core/04-channel/types" + porttypes "github.com/cosmos/ibc-go/v2/modules/core/05-port/types" + host "github.com/cosmos/ibc-go/v2/modules/core/24-host" + "github.com/cosmos/ibc-go/v2/modules/core/exported" ) // CounterpartyHops returns the connection hops of the counterparty channel. diff --git a/modules/core/04-channel/keeper/handshake_test.go b/modules/core/04-channel/keeper/handshake_test.go index 19535792833..c64077d7118 100644 --- a/modules/core/04-channel/keeper/handshake_test.go +++ b/modules/core/04-channel/keeper/handshake_test.go @@ -4,12 +4,12 @@ import ( "fmt" capabilitytypes "github.com/cosmos/cosmos-sdk/x/capability/types" - clienttypes "github.com/cosmos/ibc-go/modules/core/02-client/types" - connectiontypes "github.com/cosmos/ibc-go/modules/core/03-connection/types" - "github.com/cosmos/ibc-go/modules/core/04-channel/types" - host "github.com/cosmos/ibc-go/modules/core/24-host" - "github.com/cosmos/ibc-go/modules/core/exported" - ibctesting "github.com/cosmos/ibc-go/testing" + clienttypes "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" + connectiontypes "github.com/cosmos/ibc-go/v2/modules/core/03-connection/types" + "github.com/cosmos/ibc-go/v2/modules/core/04-channel/types" + host "github.com/cosmos/ibc-go/v2/modules/core/24-host" + "github.com/cosmos/ibc-go/v2/modules/core/exported" + ibctesting "github.com/cosmos/ibc-go/v2/testing" ) type testCase = struct { diff --git a/modules/core/04-channel/keeper/keeper.go b/modules/core/04-channel/keeper/keeper.go index 2250ef6e353..c5e07148c78 100644 --- a/modules/core/04-channel/keeper/keeper.go +++ b/modules/core/04-channel/keeper/keeper.go @@ -12,12 +12,12 @@ import ( sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" capabilitykeeper "github.com/cosmos/cosmos-sdk/x/capability/keeper" capabilitytypes "github.com/cosmos/cosmos-sdk/x/capability/types" - clienttypes "github.com/cosmos/ibc-go/modules/core/02-client/types" - connectiontypes "github.com/cosmos/ibc-go/modules/core/03-connection/types" - "github.com/cosmos/ibc-go/modules/core/04-channel/types" - porttypes "github.com/cosmos/ibc-go/modules/core/05-port/types" - host "github.com/cosmos/ibc-go/modules/core/24-host" - "github.com/cosmos/ibc-go/modules/core/exported" + clienttypes "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" + connectiontypes "github.com/cosmos/ibc-go/v2/modules/core/03-connection/types" + "github.com/cosmos/ibc-go/v2/modules/core/04-channel/types" + porttypes "github.com/cosmos/ibc-go/v2/modules/core/05-port/types" + host "github.com/cosmos/ibc-go/v2/modules/core/24-host" + "github.com/cosmos/ibc-go/v2/modules/core/exported" ) // Keeper defines the IBC channel keeper diff --git a/modules/core/04-channel/keeper/keeper_test.go b/modules/core/04-channel/keeper/keeper_test.go index 74899f4abe9..a8b616d2a10 100644 --- a/modules/core/04-channel/keeper/keeper_test.go +++ b/modules/core/04-channel/keeper/keeper_test.go @@ -5,8 +5,8 @@ import ( "github.com/stretchr/testify/suite" - "github.com/cosmos/ibc-go/modules/core/04-channel/types" - ibctesting "github.com/cosmos/ibc-go/testing" + "github.com/cosmos/ibc-go/v2/modules/core/04-channel/types" + ibctesting "github.com/cosmos/ibc-go/v2/testing" ) // KeeperTestSuite is a testing suite to test keeper functions. diff --git a/modules/core/04-channel/keeper/packet.go b/modules/core/04-channel/keeper/packet.go index 38b40e5b795..401b6c734c2 100644 --- a/modules/core/04-channel/keeper/packet.go +++ b/modules/core/04-channel/keeper/packet.go @@ -8,11 +8,11 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" capabilitytypes "github.com/cosmos/cosmos-sdk/x/capability/types" - clienttypes "github.com/cosmos/ibc-go/modules/core/02-client/types" - connectiontypes "github.com/cosmos/ibc-go/modules/core/03-connection/types" - "github.com/cosmos/ibc-go/modules/core/04-channel/types" - host "github.com/cosmos/ibc-go/modules/core/24-host" - "github.com/cosmos/ibc-go/modules/core/exported" + clienttypes "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" + connectiontypes "github.com/cosmos/ibc-go/v2/modules/core/03-connection/types" + "github.com/cosmos/ibc-go/v2/modules/core/04-channel/types" + host "github.com/cosmos/ibc-go/v2/modules/core/24-host" + "github.com/cosmos/ibc-go/v2/modules/core/exported" ) // SendPacket is called by a module in order to send an IBC packet on a channel diff --git a/modules/core/04-channel/keeper/packet_test.go b/modules/core/04-channel/keeper/packet_test.go index 9ef7798140d..a34d48b42df 100644 --- a/modules/core/04-channel/keeper/packet_test.go +++ b/modules/core/04-channel/keeper/packet_test.go @@ -7,14 +7,14 @@ import ( sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" capabilitytypes "github.com/cosmos/cosmos-sdk/x/capability/types" - clienttypes "github.com/cosmos/ibc-go/modules/core/02-client/types" - connectiontypes "github.com/cosmos/ibc-go/modules/core/03-connection/types" - "github.com/cosmos/ibc-go/modules/core/04-channel/types" - host "github.com/cosmos/ibc-go/modules/core/24-host" - "github.com/cosmos/ibc-go/modules/core/exported" - ibctmtypes "github.com/cosmos/ibc-go/modules/light-clients/07-tendermint/types" - ibctesting "github.com/cosmos/ibc-go/testing" - ibcmock "github.com/cosmos/ibc-go/testing/mock" + clienttypes "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" + connectiontypes "github.com/cosmos/ibc-go/v2/modules/core/03-connection/types" + "github.com/cosmos/ibc-go/v2/modules/core/04-channel/types" + host "github.com/cosmos/ibc-go/v2/modules/core/24-host" + "github.com/cosmos/ibc-go/v2/modules/core/exported" + ibctmtypes "github.com/cosmos/ibc-go/v2/modules/light-clients/07-tendermint/types" + ibctesting "github.com/cosmos/ibc-go/v2/testing" + ibcmock "github.com/cosmos/ibc-go/v2/testing/mock" ) var ( diff --git a/modules/core/04-channel/keeper/timeout.go b/modules/core/04-channel/keeper/timeout.go index 93fa9eca4fe..6b577bd2d5d 100644 --- a/modules/core/04-channel/keeper/timeout.go +++ b/modules/core/04-channel/keeper/timeout.go @@ -7,10 +7,10 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" capabilitytypes "github.com/cosmos/cosmos-sdk/x/capability/types" - connectiontypes "github.com/cosmos/ibc-go/modules/core/03-connection/types" - "github.com/cosmos/ibc-go/modules/core/04-channel/types" - host "github.com/cosmos/ibc-go/modules/core/24-host" - "github.com/cosmos/ibc-go/modules/core/exported" + connectiontypes "github.com/cosmos/ibc-go/v2/modules/core/03-connection/types" + "github.com/cosmos/ibc-go/v2/modules/core/04-channel/types" + host "github.com/cosmos/ibc-go/v2/modules/core/24-host" + "github.com/cosmos/ibc-go/v2/modules/core/exported" ) // TimeoutPacket is called by a module which originally attempted to send a diff --git a/modules/core/04-channel/keeper/timeout_test.go b/modules/core/04-channel/keeper/timeout_test.go index 7cdb88cdc05..d54177d2b4d 100644 --- a/modules/core/04-channel/keeper/timeout_test.go +++ b/modules/core/04-channel/keeper/timeout_test.go @@ -7,12 +7,12 @@ import ( sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" capabilitytypes "github.com/cosmos/cosmos-sdk/x/capability/types" - clienttypes "github.com/cosmos/ibc-go/modules/core/02-client/types" - connectiontypes "github.com/cosmos/ibc-go/modules/core/03-connection/types" - "github.com/cosmos/ibc-go/modules/core/04-channel/types" - host "github.com/cosmos/ibc-go/modules/core/24-host" - "github.com/cosmos/ibc-go/modules/core/exported" - ibctesting "github.com/cosmos/ibc-go/testing" + clienttypes "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" + connectiontypes "github.com/cosmos/ibc-go/v2/modules/core/03-connection/types" + "github.com/cosmos/ibc-go/v2/modules/core/04-channel/types" + host "github.com/cosmos/ibc-go/v2/modules/core/24-host" + "github.com/cosmos/ibc-go/v2/modules/core/exported" + ibctesting "github.com/cosmos/ibc-go/v2/testing" ) // TestTimeoutPacket test the TimeoutPacket call on chainA by ensuring the timeout has passed diff --git a/modules/core/04-channel/module.go b/modules/core/04-channel/module.go index bb002607154..50c07cd07d1 100644 --- a/modules/core/04-channel/module.go +++ b/modules/core/04-channel/module.go @@ -4,8 +4,8 @@ import ( "github.com/gogo/protobuf/grpc" "github.com/spf13/cobra" - "github.com/cosmos/ibc-go/modules/core/04-channel/client/cli" - "github.com/cosmos/ibc-go/modules/core/04-channel/types" + "github.com/cosmos/ibc-go/v2/modules/core/04-channel/client/cli" + "github.com/cosmos/ibc-go/v2/modules/core/04-channel/types" ) // Name returns the IBC channel ICS name. diff --git a/modules/core/04-channel/simulation/decoder.go b/modules/core/04-channel/simulation/decoder.go index 59e56e965b4..01f829f1596 100644 --- a/modules/core/04-channel/simulation/decoder.go +++ b/modules/core/04-channel/simulation/decoder.go @@ -7,8 +7,8 @@ import ( "github.com/cosmos/cosmos-sdk/codec" sdk "github.com/cosmos/cosmos-sdk/types" "github.com/cosmos/cosmos-sdk/types/kv" - "github.com/cosmos/ibc-go/modules/core/04-channel/types" - host "github.com/cosmos/ibc-go/modules/core/24-host" + "github.com/cosmos/ibc-go/v2/modules/core/04-channel/types" + host "github.com/cosmos/ibc-go/v2/modules/core/24-host" ) // NewDecodeStore returns a decoder function closure that unmarshals the KVPair's diff --git a/modules/core/04-channel/simulation/decoder_test.go b/modules/core/04-channel/simulation/decoder_test.go index 4beeb40aa89..2514d8ea2ae 100644 --- a/modules/core/04-channel/simulation/decoder_test.go +++ b/modules/core/04-channel/simulation/decoder_test.go @@ -8,10 +8,10 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" "github.com/cosmos/cosmos-sdk/types/kv" - "github.com/cosmos/ibc-go/modules/core/04-channel/simulation" - "github.com/cosmos/ibc-go/modules/core/04-channel/types" - host "github.com/cosmos/ibc-go/modules/core/24-host" - "github.com/cosmos/ibc-go/testing/simapp" + "github.com/cosmos/ibc-go/v2/modules/core/04-channel/simulation" + "github.com/cosmos/ibc-go/v2/modules/core/04-channel/types" + host "github.com/cosmos/ibc-go/v2/modules/core/24-host" + "github.com/cosmos/ibc-go/v2/testing/simapp" ) func TestDecodeStore(t *testing.T) { diff --git a/modules/core/04-channel/simulation/genesis.go b/modules/core/04-channel/simulation/genesis.go index 7e48f59b899..e0680ece96a 100644 --- a/modules/core/04-channel/simulation/genesis.go +++ b/modules/core/04-channel/simulation/genesis.go @@ -4,7 +4,7 @@ import ( "math/rand" simtypes "github.com/cosmos/cosmos-sdk/types/simulation" - "github.com/cosmos/ibc-go/modules/core/04-channel/types" + "github.com/cosmos/ibc-go/v2/modules/core/04-channel/types" ) // GenChannelGenesis returns the default channel genesis state. diff --git a/modules/core/04-channel/types/acknowledgement_test.go b/modules/core/04-channel/types/acknowledgement_test.go index 92d546a8164..a1c5fa86396 100644 --- a/modules/core/04-channel/types/acknowledgement_test.go +++ b/modules/core/04-channel/types/acknowledgement_test.go @@ -1,6 +1,6 @@ package types_test -import "github.com/cosmos/ibc-go/modules/core/04-channel/types" +import "github.com/cosmos/ibc-go/v2/modules/core/04-channel/types" // tests acknowledgement.ValidateBasic and acknowledgement.GetBytes func (suite TypesTestSuite) TestAcknowledgement() { diff --git a/modules/core/04-channel/types/channel.go b/modules/core/04-channel/types/channel.go index e1ee0be7e14..dcd3832b05a 100644 --- a/modules/core/04-channel/types/channel.go +++ b/modules/core/04-channel/types/channel.go @@ -2,8 +2,8 @@ package types import ( sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" - host "github.com/cosmos/ibc-go/modules/core/24-host" - "github.com/cosmos/ibc-go/modules/core/exported" + host "github.com/cosmos/ibc-go/v2/modules/core/24-host" + "github.com/cosmos/ibc-go/v2/modules/core/exported" ) var ( diff --git a/modules/core/04-channel/types/channel.pb.go b/modules/core/04-channel/types/channel.pb.go index 166d836c5ab..5bc0bab0a92 100644 --- a/modules/core/04-channel/types/channel.pb.go +++ b/modules/core/04-channel/types/channel.pb.go @@ -5,7 +5,7 @@ package types import ( fmt "fmt" - types "github.com/cosmos/ibc-go/modules/core/02-client/types" + types "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" _ "github.com/gogo/protobuf/gogoproto" proto "github.com/gogo/protobuf/proto" io "io" @@ -455,64 +455,64 @@ func init() { func init() { proto.RegisterFile("ibc/core/channel/v1/channel.proto", fileDescriptor_c3a07336710636a0) } var fileDescriptor_c3a07336710636a0 = []byte{ - // 908 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x55, 0xcd, 0x8e, 0xda, 0x56, - 0x14, 0xc6, 0x60, 0xfe, 0x0e, 0x03, 0xc3, 0xdc, 0x34, 0xc4, 0x75, 0x13, 0x4c, 0xac, 0x2e, 0x46, - 0xa9, 0x02, 0x99, 0x34, 0x4a, 0xa5, 0xac, 0x3a, 0xfc, 0x44, 0x63, 0x35, 0x02, 0x64, 0x98, 0x45, - 0xb3, 0xa1, 0x60, 0xdf, 0x82, 0x15, 0xf0, 0xa5, 0xf6, 0x65, 0x46, 0xf3, 0x06, 0x11, 0xab, 0xbe, - 0x00, 0x52, 0xa5, 0xaa, 0x7d, 0x85, 0xbe, 0x42, 0x96, 0x59, 0x76, 0x65, 0x55, 0x33, 0x8b, 0xee, - 0x79, 0x81, 0x56, 0xbe, 0xf7, 0x9a, 0x9f, 0x49, 0x94, 0x65, 0x57, 0x5d, 0x71, 0xcf, 0xf7, 0x7d, - 0xe7, 0xc7, 0xe7, 0x1c, 0xee, 0x85, 0x87, 0xce, 0xc8, 0xaa, 0x59, 0xc4, 0xc3, 0x35, 0x6b, 0x32, - 0x74, 0x5d, 0x3c, 0xad, 0x5d, 0x9c, 0x44, 0xc7, 0xea, 0xdc, 0x23, 0x94, 0xa0, 0x3b, 0xce, 0xc8, - 0xaa, 0x86, 0x92, 0x6a, 0x84, 0x5f, 0x9c, 0xa8, 0x9f, 0x8d, 0xc9, 0x98, 0x30, 0xbe, 0x16, 0x9e, - 0xb8, 0x54, 0xd5, 0xb6, 0xd1, 0xa6, 0x0e, 0x76, 0x29, 0x0b, 0xc6, 0x4e, 0x5c, 0xa0, 0xff, 0x16, - 0x87, 0x74, 0x83, 0x47, 0x41, 0x4f, 0x20, 0xe9, 0xd3, 0x21, 0xc5, 0x8a, 0x54, 0x91, 0x8e, 0x0b, - 0x4f, 0xd5, 0xea, 0x47, 0xf2, 0x54, 0x7b, 0xa1, 0xc2, 0xe4, 0x42, 0xf4, 0x1c, 0x32, 0xc4, 0xb3, - 0xb1, 0xe7, 0xb8, 0x63, 0x25, 0xfe, 0x09, 0xa7, 0x4e, 0x28, 0x32, 0x37, 0x5a, 0xf4, 0x1d, 0x1c, - 0x58, 0x64, 0xe1, 0x52, 0xec, 0xcd, 0x87, 0x1e, 0xbd, 0x52, 0x12, 0x15, 0xe9, 0x38, 0xf7, 0xf4, - 0xe1, 0x47, 0x7d, 0x1b, 0x3b, 0xc2, 0xba, 0xfc, 0x2e, 0xd0, 0x62, 0xe6, 0x9e, 0x33, 0x6a, 0xc0, - 0xa1, 0x45, 0x5c, 0x17, 0x5b, 0xd4, 0x21, 0xee, 0x60, 0x42, 0xe6, 0xbe, 0x22, 0x57, 0x12, 0xc7, - 0xd9, 0xba, 0xba, 0x0e, 0xb4, 0xd2, 0xd5, 0x70, 0x36, 0x7d, 0xa1, 0xdf, 0x12, 0xe8, 0x66, 0x61, - 0x8b, 0x9c, 0x91, 0xb9, 0x8f, 0x14, 0x48, 0x5f, 0x60, 0xcf, 0x77, 0x88, 0xab, 0x24, 0x2b, 0xd2, - 0x71, 0xd6, 0x8c, 0xcc, 0x17, 0xf2, 0xdb, 0x5f, 0xb4, 0x98, 0xfe, 0x77, 0x1c, 0x8e, 0x0c, 0x1b, - 0xbb, 0xd4, 0xf9, 0xd1, 0xc1, 0xf6, 0xff, 0x1d, 0xfb, 0x44, 0xc7, 0xd0, 0x3d, 0x48, 0xcf, 0x89, - 0x47, 0x07, 0x8e, 0xad, 0xa4, 0x18, 0x93, 0x0a, 0x4d, 0xc3, 0x46, 0x0f, 0x00, 0x44, 0x99, 0x21, - 0x97, 0x66, 0x5c, 0x56, 0x20, 0x86, 0x2d, 0x3a, 0x7d, 0x09, 0x07, 0xbb, 0x1f, 0x80, 0xbe, 0xda, - 0x46, 0x0b, 0xbb, 0x9c, 0xad, 0xa3, 0x75, 0xa0, 0x15, 0x78, 0x91, 0x82, 0xd0, 0x37, 0x19, 0x9e, - 0xed, 0x65, 0x88, 0x33, 0xfd, 0xdd, 0x75, 0xa0, 0x1d, 0x89, 0x8f, 0xda, 0x70, 0xfa, 0x87, 0x89, - 0xff, 0x49, 0x40, 0xaa, 0x3b, 0xb4, 0xde, 0x60, 0x8a, 0x54, 0xc8, 0xf8, 0xf8, 0xa7, 0x05, 0x76, - 0x2d, 0x3e, 0x5a, 0xd9, 0xdc, 0xd8, 0xe8, 0x1b, 0xc8, 0xf9, 0x64, 0xe1, 0x59, 0x78, 0x10, 0xe6, - 0x14, 0x39, 0x4a, 0xeb, 0x40, 0x43, 0x3c, 0xc7, 0x0e, 0xa9, 0x9b, 0xc0, 0xad, 0x2e, 0xf1, 0x28, - 0xfa, 0x16, 0x0a, 0x82, 0x13, 0x99, 0xd9, 0x10, 0xb3, 0xf5, 0xcf, 0xd7, 0x81, 0x76, 0x77, 0xcf, - 0x57, 0xf0, 0xba, 0x99, 0xe7, 0x40, 0xb4, 0x6e, 0x2f, 0xa1, 0x68, 0x63, 0x9f, 0x3a, 0xee, 0x90, - 0xcd, 0x85, 0xe5, 0x97, 0x59, 0x8c, 0x2f, 0xd6, 0x81, 0x76, 0x8f, 0xc7, 0xb8, 0xad, 0xd0, 0xcd, - 0xc3, 0x1d, 0x88, 0x55, 0xd2, 0x81, 0x3b, 0xbb, 0xaa, 0xa8, 0x1c, 0x36, 0xc6, 0x7a, 0x79, 0x1d, - 0x68, 0xea, 0x87, 0xa1, 0x36, 0x35, 0xa1, 0x1d, 0x34, 0x2a, 0x0c, 0x81, 0x6c, 0x0f, 0xe9, 0x90, - 0x8d, 0xfb, 0xc0, 0x64, 0x67, 0xf4, 0x03, 0x14, 0xa8, 0x33, 0xc3, 0x64, 0x41, 0x07, 0x13, 0xec, - 0x8c, 0x27, 0x94, 0x0d, 0x3c, 0xb7, 0xb7, 0xef, 0xfc, 0x26, 0xba, 0x38, 0xa9, 0x9e, 0x31, 0x45, - 0xfd, 0x41, 0xb8, 0xac, 0xdb, 0x76, 0xec, 0xfb, 0xeb, 0x66, 0x5e, 0x00, 0x5c, 0x8d, 0x0c, 0x38, - 0x8a, 0x14, 0xe1, 0xaf, 0x4f, 0x87, 0xb3, 0xb9, 0x92, 0x09, 0xc7, 0x55, 0xbf, 0xbf, 0x0e, 0x34, - 0x65, 0x3f, 0xc8, 0x46, 0xa2, 0x9b, 0x45, 0x81, 0xf5, 0x23, 0x48, 0x6c, 0xc0, 0xef, 0x12, 0xe4, - 0xf8, 0x06, 0xb0, 0xff, 0xec, 0x7f, 0xb0, 0x7a, 0x7b, 0x9b, 0x96, 0xb8, 0xb5, 0x69, 0x51, 0x57, - 0xe5, 0x6d, 0x57, 0x45, 0xa1, 0x1d, 0x38, 0x3c, 0xb5, 0xde, 0xb8, 0xe4, 0x72, 0x8a, 0xed, 0x31, - 0x9e, 0x61, 0x97, 0x22, 0x05, 0x52, 0x1e, 0xf6, 0x17, 0x53, 0xaa, 0xdc, 0x0d, 0xe5, 0x67, 0x31, - 0x53, 0xd8, 0xa8, 0x04, 0x49, 0xec, 0x79, 0xc4, 0x53, 0x4a, 0x61, 0x4d, 0x67, 0x31, 0x93, 0x9b, - 0x75, 0x80, 0x8c, 0x87, 0xfd, 0x39, 0x71, 0x7d, 0xfc, 0xe8, 0x0f, 0x09, 0x92, 0x3d, 0x71, 0x41, - 0x69, 0xbd, 0xfe, 0x69, 0xbf, 0x35, 0x38, 0x6f, 0x1b, 0x6d, 0xa3, 0x6f, 0x9c, 0xbe, 0x32, 0x5e, - 0xb7, 0x9a, 0x83, 0xf3, 0x76, 0xaf, 0xdb, 0x6a, 0x18, 0x2f, 0x8d, 0x56, 0xb3, 0x18, 0x53, 0x8f, - 0x96, 0xab, 0x4a, 0x7e, 0x4f, 0x80, 0x14, 0x00, 0xee, 0x17, 0x82, 0x45, 0x49, 0xcd, 0x2c, 0x57, - 0x15, 0x39, 0x3c, 0xa3, 0x32, 0xe4, 0x39, 0xd3, 0x37, 0xbf, 0xef, 0x74, 0x5b, 0xed, 0x62, 0x5c, - 0xcd, 0x2d, 0x57, 0x95, 0xb4, 0x30, 0xb7, 0x9e, 0x8c, 0x4c, 0x70, 0x4f, 0xc6, 0xdc, 0x87, 0x03, - 0xce, 0x34, 0x5e, 0x75, 0x7a, 0xad, 0x66, 0x51, 0x56, 0x61, 0xb9, 0xaa, 0xa4, 0xb8, 0xa5, 0xca, - 0x6f, 0x7f, 0x2d, 0xc7, 0x1e, 0x5d, 0x42, 0x92, 0xdd, 0x95, 0xe8, 0x4b, 0x28, 0x75, 0xcc, 0x66, - 0xcb, 0x1c, 0xb4, 0x3b, 0xed, 0xd6, 0xad, 0x7a, 0x59, 0xc8, 0x10, 0x47, 0x3a, 0x1c, 0x72, 0xd5, - 0x79, 0x9b, 0xfd, 0xb6, 0x9a, 0x45, 0x49, 0xcd, 0x2f, 0x57, 0x95, 0xec, 0x06, 0x08, 0x0b, 0xe6, - 0x9a, 0x48, 0x21, 0x0a, 0x16, 0x26, 0x4f, 0x5c, 0xef, 0xbe, 0xbb, 0x2e, 0x4b, 0xef, 0xaf, 0xcb, - 0xd2, 0x5f, 0xd7, 0x65, 0xe9, 0xe7, 0x9b, 0x72, 0xec, 0xfd, 0x4d, 0x39, 0xf6, 0xe7, 0x4d, 0x39, - 0xf6, 0xfa, 0xf9, 0xd8, 0xa1, 0x93, 0xc5, 0xa8, 0x6a, 0x91, 0x59, 0xcd, 0x22, 0xfe, 0x8c, 0xf8, - 0x35, 0x67, 0x64, 0x3d, 0x1e, 0x93, 0xda, 0x8c, 0xd8, 0x8b, 0x29, 0xf6, 0xf9, 0x8b, 0xfc, 0xe4, - 0xd9, 0xe3, 0xe8, 0x89, 0xa7, 0x57, 0x73, 0xec, 0x8f, 0x52, 0xec, 0x49, 0xfe, 0xfa, 0xdf, 0x00, - 0x00, 0x00, 0xff, 0xff, 0xf8, 0x7f, 0x8d, 0x61, 0x03, 0x08, 0x00, 0x00, + // 911 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x55, 0xcb, 0x6e, 0xdb, 0x46, + 0x14, 0x15, 0x2d, 0xea, 0x75, 0x65, 0xc9, 0xf2, 0xa4, 0x56, 0x58, 0x36, 0x11, 0x15, 0xa2, 0x0b, + 0x23, 0x45, 0xa4, 0xd8, 0x0d, 0x5a, 0x34, 0xab, 0x5a, 0x8f, 0xc0, 0x44, 0x03, 0xc9, 0xa0, 0xe4, + 0x45, 0xb3, 0x51, 0x25, 0x72, 0x2a, 0x11, 0x91, 0x38, 0x2a, 0x39, 0x92, 0xe1, 0x3f, 0x08, 0xb4, + 0xea, 0x0f, 0x08, 0x28, 0x50, 0xb4, 0xbf, 0xd0, 0x5f, 0xc8, 0x32, 0xcb, 0xae, 0x88, 0xc2, 0x5e, + 0x74, 0xaf, 0x1f, 0x68, 0xc1, 0x99, 0xa1, 0x1e, 0x4e, 0x90, 0x65, 0x57, 0x5d, 0x69, 0xee, 0x39, + 0xe7, 0x3e, 0x78, 0xef, 0xd5, 0x0c, 0x3c, 0x72, 0x06, 0x56, 0xd5, 0x22, 0x1e, 0xae, 0x5a, 0xa3, + 0xbe, 0xeb, 0xe2, 0x71, 0x75, 0x7e, 0x12, 0x1d, 0x2b, 0x53, 0x8f, 0x50, 0x82, 0xee, 0x39, 0x03, + 0xab, 0x12, 0x4a, 0x2a, 0x11, 0x3e, 0x3f, 0x51, 0x3f, 0x19, 0x92, 0x21, 0x61, 0x7c, 0x35, 0x3c, + 0x71, 0xa9, 0xaa, 0x6d, 0xa2, 0x8d, 0x1d, 0xec, 0x52, 0x16, 0x8c, 0x9d, 0xb8, 0x40, 0xff, 0x6d, + 0x0f, 0x52, 0x75, 0x1e, 0x05, 0x3d, 0x85, 0x84, 0x4f, 0xfb, 0x14, 0x2b, 0x52, 0x59, 0x3a, 0xce, + 0x9f, 0xaa, 0x95, 0x0f, 0xe4, 0xa9, 0x74, 0x42, 0x85, 0xc9, 0x85, 0xe8, 0x2b, 0x48, 0x13, 0xcf, + 0xc6, 0x9e, 0xe3, 0x0e, 0x95, 0xbd, 0x8f, 0x38, 0xb5, 0x43, 0x91, 0xb9, 0xd6, 0xa2, 0xef, 0x60, + 0xdf, 0x22, 0x33, 0x97, 0x62, 0x6f, 0xda, 0xf7, 0xe8, 0xb5, 0x12, 0x2f, 0x4b, 0xc7, 0xd9, 0xd3, + 0x47, 0x1f, 0xf4, 0xad, 0x6f, 0x09, 0x6b, 0xf2, 0xdb, 0x40, 0x8b, 0x99, 0x3b, 0xce, 0xa8, 0x0e, + 0x07, 0x16, 0x71, 0x5d, 0x6c, 0x51, 0x87, 0xb8, 0xbd, 0x11, 0x99, 0xfa, 0x8a, 0x5c, 0x8e, 0x1f, + 0x67, 0x6a, 0xea, 0x2a, 0xd0, 0x8a, 0xd7, 0xfd, 0xc9, 0xf8, 0xb9, 0x7e, 0x47, 0xa0, 0x9b, 0xf9, + 0x0d, 0x72, 0x4e, 0xa6, 0x3e, 0x52, 0x20, 0x35, 0xc7, 0x9e, 0xef, 0x10, 0x57, 0x49, 0x94, 0xa5, + 0xe3, 0x8c, 0x19, 0x99, 0xcf, 0xe5, 0x37, 0xbf, 0x68, 0x31, 0xfd, 0xef, 0x3d, 0x38, 0x34, 0x6c, + 0xec, 0x52, 0xe7, 0x47, 0x07, 0xdb, 0xff, 0x77, 0xec, 0x23, 0x1d, 0x43, 0xf7, 0x21, 0x35, 0x25, + 0x1e, 0xed, 0x39, 0xb6, 0x92, 0x64, 0x4c, 0x32, 0x34, 0x0d, 0x1b, 0x3d, 0x04, 0x10, 0x65, 0x86, + 0x5c, 0x8a, 0x71, 0x19, 0x81, 0x18, 0xb6, 0xe8, 0xf4, 0x15, 0xec, 0x6f, 0x7f, 0x00, 0xfa, 0x62, + 0x13, 0x2d, 0xec, 0x72, 0xa6, 0x86, 0x56, 0x81, 0x96, 0xe7, 0x45, 0x0a, 0x42, 0x5f, 0x67, 0x78, + 0xb6, 0x93, 0x61, 0x8f, 0xe9, 0x8f, 0x56, 0x81, 0x76, 0x28, 0x3e, 0x6a, 0xcd, 0xe9, 0xef, 0x27, + 0xfe, 0x27, 0x0e, 0xc9, 0x8b, 0xbe, 0xf5, 0x1a, 0x53, 0xa4, 0x42, 0xda, 0xc7, 0x3f, 0xcd, 0xb0, + 0x6b, 0xf1, 0xd1, 0xca, 0xe6, 0xda, 0x46, 0x5f, 0x43, 0xd6, 0x27, 0x33, 0xcf, 0xc2, 0xbd, 0x30, + 0xa7, 0xc8, 0x51, 0x5c, 0x05, 0x1a, 0xe2, 0x39, 0xb6, 0x48, 0xdd, 0x04, 0x6e, 0x5d, 0x10, 0x8f, + 0xa2, 0x6f, 0x21, 0x2f, 0x38, 0x91, 0x99, 0x0d, 0x31, 0x53, 0xfb, 0x74, 0x15, 0x68, 0x47, 0x3b, + 0xbe, 0x82, 0xd7, 0xcd, 0x1c, 0x07, 0xa2, 0x75, 0x7b, 0x01, 0x05, 0x1b, 0xfb, 0xd4, 0x71, 0xfb, + 0x6c, 0x2e, 0x2c, 0xbf, 0xcc, 0x62, 0x7c, 0xb6, 0x0a, 0xb4, 0xfb, 0x3c, 0xc6, 0x5d, 0x85, 0x6e, + 0x1e, 0x6c, 0x41, 0xac, 0x92, 0x36, 0xdc, 0xdb, 0x56, 0x45, 0xe5, 0xb0, 0x31, 0xd6, 0x4a, 0xab, + 0x40, 0x53, 0xdf, 0x0f, 0xb5, 0xae, 0x09, 0x6d, 0xa1, 0x51, 0x61, 0x08, 0x64, 0xbb, 0x4f, 0xfb, + 0x6c, 0xdc, 0xfb, 0x26, 0x3b, 0xa3, 0x1f, 0x20, 0x4f, 0x9d, 0x09, 0x26, 0x33, 0xda, 0x1b, 0x61, + 0x67, 0x38, 0xa2, 0x6c, 0xe0, 0xd9, 0x9d, 0x7d, 0xe7, 0x37, 0xd1, 0xfc, 0xa4, 0x72, 0xce, 0x14, + 0xb5, 0x87, 0xe1, 0xb2, 0x6e, 0xda, 0xb1, 0xeb, 0xaf, 0x9b, 0x39, 0x01, 0x70, 0x35, 0x32, 0xe0, + 0x30, 0x52, 0x84, 0xbf, 0x3e, 0xed, 0x4f, 0xa6, 0x4a, 0x3a, 0x1c, 0x57, 0xed, 0xc1, 0x2a, 0xd0, + 0x94, 0xdd, 0x20, 0x6b, 0x89, 0x6e, 0x16, 0x04, 0xd6, 0x8d, 0x20, 0xb1, 0x01, 0xbf, 0x4b, 0x90, + 0xe5, 0x1b, 0xc0, 0xfe, 0xb3, 0xff, 0xc1, 0xea, 0xed, 0x6c, 0x5a, 0xfc, 0xce, 0xa6, 0x45, 0x5d, + 0x95, 0x37, 0x5d, 0x15, 0x85, 0xb6, 0xe1, 0xe0, 0xcc, 0x7a, 0xed, 0x92, 0xab, 0x31, 0xb6, 0x87, + 0x78, 0x82, 0x5d, 0x8a, 0x14, 0x48, 0x7a, 0xd8, 0x9f, 0x8d, 0xa9, 0x72, 0x14, 0xca, 0xcf, 0x63, + 0xa6, 0xb0, 0x51, 0x11, 0x12, 0xd8, 0xf3, 0x88, 0xa7, 0x14, 0xc3, 0x9a, 0xce, 0x63, 0x26, 0x37, + 0x6b, 0x00, 0x69, 0x0f, 0xfb, 0x53, 0xe2, 0xfa, 0xf8, 0xf1, 0x1f, 0x12, 0x24, 0x3a, 0xe2, 0x82, + 0xd2, 0x3a, 0xdd, 0xb3, 0x6e, 0xb3, 0x77, 0xd9, 0x32, 0x5a, 0x46, 0xd7, 0x38, 0x7b, 0x69, 0xbc, + 0x6a, 0x36, 0x7a, 0x97, 0xad, 0xce, 0x45, 0xb3, 0x6e, 0xbc, 0x30, 0x9a, 0x8d, 0x42, 0x4c, 0x3d, + 0x5c, 0x2c, 0xcb, 0xb9, 0x1d, 0x01, 0x52, 0x00, 0xb8, 0x5f, 0x08, 0x16, 0x24, 0x35, 0xbd, 0x58, + 0x96, 0xe5, 0xf0, 0x8c, 0x4a, 0x90, 0xe3, 0x4c, 0xd7, 0xfc, 0xbe, 0x7d, 0xd1, 0x6c, 0x15, 0xf6, + 0xd4, 0xec, 0x62, 0x59, 0x4e, 0x09, 0x73, 0xe3, 0xc9, 0xc8, 0x38, 0xf7, 0x64, 0xcc, 0x03, 0xd8, + 0xe7, 0x4c, 0xfd, 0x65, 0xbb, 0xd3, 0x6c, 0x14, 0x64, 0x15, 0x16, 0xcb, 0x72, 0x92, 0x5b, 0xaa, + 0xfc, 0xe6, 0xd7, 0x52, 0xec, 0xf1, 0x15, 0x24, 0xd8, 0x5d, 0x89, 0x3e, 0x87, 0x62, 0xdb, 0x6c, + 0x34, 0xcd, 0x5e, 0xab, 0xdd, 0x6a, 0xde, 0xa9, 0x97, 0x85, 0x0c, 0x71, 0xa4, 0xc3, 0x01, 0x57, + 0x5d, 0xb6, 0xd8, 0x6f, 0xb3, 0x51, 0x90, 0xd4, 0xdc, 0x62, 0x59, 0xce, 0xac, 0x81, 0xb0, 0x60, + 0xae, 0x89, 0x14, 0xa2, 0x60, 0x61, 0xf2, 0xc4, 0xb5, 0xce, 0xdb, 0x9b, 0x92, 0xf4, 0xee, 0xa6, + 0x24, 0xfd, 0x75, 0x53, 0x92, 0x7e, 0xbe, 0x2d, 0xc5, 0xde, 0xdd, 0x96, 0x62, 0x7f, 0xde, 0x96, + 0x62, 0xaf, 0xbe, 0x19, 0x3a, 0x74, 0x34, 0x1b, 0x54, 0x2c, 0x32, 0xa9, 0x5a, 0xc4, 0x9f, 0x10, + 0xbf, 0xea, 0x0c, 0xac, 0x27, 0x43, 0x52, 0x9d, 0x9f, 0x56, 0x27, 0xc4, 0x9e, 0x8d, 0xb1, 0xcf, + 0x1f, 0xe5, 0xa7, 0xcf, 0x9e, 0x44, 0xaf, 0x3c, 0xbd, 0x9e, 0x62, 0x7f, 0x90, 0x64, 0xaf, 0xf2, + 0x97, 0xff, 0x06, 0x00, 0x00, 0xff, 0xff, 0x01, 0x3a, 0xb8, 0xab, 0x06, 0x08, 0x00, 0x00, } func (m *Channel) Marshal() (dAtA []byte, err error) { diff --git a/modules/core/04-channel/types/channel_test.go b/modules/core/04-channel/types/channel_test.go index 14bd8a54219..f9b9e5a63fc 100644 --- a/modules/core/04-channel/types/channel_test.go +++ b/modules/core/04-channel/types/channel_test.go @@ -5,7 +5,7 @@ import ( "github.com/stretchr/testify/require" - "github.com/cosmos/ibc-go/modules/core/04-channel/types" + "github.com/cosmos/ibc-go/v2/modules/core/04-channel/types" ) func TestChannelValidateBasic(t *testing.T) { diff --git a/modules/core/04-channel/types/codec.go b/modules/core/04-channel/types/codec.go index 9c0ac65adcb..ebb09dc01f9 100644 --- a/modules/core/04-channel/types/codec.go +++ b/modules/core/04-channel/types/codec.go @@ -5,7 +5,7 @@ import ( codectypes "github.com/cosmos/cosmos-sdk/codec/types" sdk "github.com/cosmos/cosmos-sdk/types" "github.com/cosmos/cosmos-sdk/types/msgservice" - "github.com/cosmos/ibc-go/modules/core/exported" + "github.com/cosmos/ibc-go/v2/modules/core/exported" ) // RegisterInterfaces register the ibc channel submodule interfaces to protobuf diff --git a/modules/core/04-channel/types/events.go b/modules/core/04-channel/types/events.go index 201fd26a0ed..81c1f38c9bb 100644 --- a/modules/core/04-channel/types/events.go +++ b/modules/core/04-channel/types/events.go @@ -3,7 +3,7 @@ package types import ( "fmt" - host "github.com/cosmos/ibc-go/modules/core/24-host" + host "github.com/cosmos/ibc-go/v2/modules/core/24-host" ) // IBC channel events diff --git a/modules/core/04-channel/types/expected_keepers.go b/modules/core/04-channel/types/expected_keepers.go index ec590cd5c39..3f2dfa54546 100644 --- a/modules/core/04-channel/types/expected_keepers.go +++ b/modules/core/04-channel/types/expected_keepers.go @@ -3,8 +3,8 @@ package types import ( sdk "github.com/cosmos/cosmos-sdk/types" capabilitytypes "github.com/cosmos/cosmos-sdk/x/capability/types" - connectiontypes "github.com/cosmos/ibc-go/modules/core/03-connection/types" - "github.com/cosmos/ibc-go/modules/core/exported" + connectiontypes "github.com/cosmos/ibc-go/v2/modules/core/03-connection/types" + "github.com/cosmos/ibc-go/v2/modules/core/exported" ) // ClientKeeper expected account IBC client keeper diff --git a/modules/core/04-channel/types/genesis.go b/modules/core/04-channel/types/genesis.go index e80f82b056d..c57847c1625 100644 --- a/modules/core/04-channel/types/genesis.go +++ b/modules/core/04-channel/types/genesis.go @@ -4,7 +4,7 @@ import ( "errors" "fmt" - host "github.com/cosmos/ibc-go/modules/core/24-host" + host "github.com/cosmos/ibc-go/v2/modules/core/24-host" ) // NewPacketState creates a new PacketState instance. diff --git a/modules/core/04-channel/types/genesis.pb.go b/modules/core/04-channel/types/genesis.pb.go index c5b2e8a5c2c..e4f1d216efa 100644 --- a/modules/core/04-channel/types/genesis.pb.go +++ b/modules/core/04-channel/types/genesis.pb.go @@ -195,39 +195,39 @@ func init() { func init() { proto.RegisterFile("ibc/core/channel/v1/genesis.proto", fileDescriptor_cb06ec201f452595) } var fileDescriptor_cb06ec201f452595 = []byte{ - // 505 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x93, 0x4f, 0x6f, 0xd3, 0x4c, - 0x10, 0x87, 0xe3, 0x26, 0x4d, 0xd3, 0x6d, 0x13, 0xbd, 0xdd, 0x36, 0x92, 0xdf, 0xa8, 0xd8, 0xc6, - 0x48, 0x28, 0x12, 0xaa, 0x4d, 0xa1, 0xe2, 0xc0, 0xd1, 0x1c, 0x20, 0xb7, 0x6a, 0xe1, 0x84, 0x84, - 0x22, 0x7b, 0x3d, 0x75, 0x57, 0x89, 0xbd, 0xc1, 0xbb, 0x09, 0xf4, 0x53, 0xc0, 0xc7, 0xea, 0xb1, - 0x47, 0x4e, 0x16, 0x4a, 0xbe, 0x41, 0x8e, 0x9c, 0x90, 0xff, 0x26, 0x51, 0x23, 0x44, 0xb9, 0x79, - 0x67, 0x7e, 0xf3, 0x3c, 0x73, 0xf0, 0xa0, 0xc7, 0xcc, 0xa3, 0x36, 0xe5, 0x31, 0xd8, 0xf4, 0xda, - 0x8d, 0x22, 0x18, 0xdb, 0xb3, 0x73, 0x3b, 0x80, 0x08, 0x04, 0x13, 0xd6, 0x24, 0xe6, 0x92, 0xe3, - 0x63, 0xe6, 0x51, 0x2b, 0x8d, 0x58, 0x45, 0xc4, 0x9a, 0x9d, 0xf7, 0x4e, 0x02, 0x1e, 0xf0, 0xac, - 0x6f, 0xa7, 0x5f, 0x79, 0xb4, 0xb7, 0x95, 0x56, 0x4e, 0x65, 0x11, 0x73, 0xb1, 0x8b, 0x0e, 0xdf, - 0xe6, 0xfc, 0xf7, 0xd2, 0x95, 0x80, 0x3f, 0xa1, 0x56, 0x91, 0x10, 0xaa, 0x62, 0xd4, 0xfb, 0x07, - 0x2f, 0x9e, 0x5a, 0x5b, 0x8c, 0xd6, 0xc0, 0x87, 0x48, 0xb2, 0x2b, 0x06, 0xfe, 0x9b, 0xbc, 0xe8, - 0xfc, 0x7f, 0x9b, 0xe8, 0xb5, 0x5f, 0x89, 0x7e, 0x74, 0xaf, 0x45, 0x2a, 0x24, 0x26, 0xe8, 0x3f, - 0x97, 0x8e, 0x22, 0xfe, 0x65, 0x0c, 0x7e, 0x00, 0x21, 0x44, 0x52, 0xa8, 0x3b, 0x99, 0xc6, 0xd8, - 0xaa, 0xb9, 0x74, 0xe9, 0x08, 0x64, 0xb6, 0x9a, 0xd3, 0x48, 0x05, 0xe4, 0xde, 0x3c, 0x7e, 0x87, - 0x0e, 0x28, 0x0f, 0x43, 0x26, 0x73, 0x5c, 0xfd, 0x41, 0xb8, 0xf5, 0x51, 0xec, 0xa0, 0x56, 0x0c, - 0x14, 0xd8, 0x44, 0x0a, 0xb5, 0xf1, 0x20, 0x4c, 0x35, 0x87, 0x19, 0xea, 0x08, 0x88, 0xfc, 0xa1, - 0x80, 0xcf, 0x53, 0x88, 0x28, 0x08, 0x75, 0x37, 0x23, 0x3d, 0xf9, 0x13, 0xa9, 0xc8, 0x3a, 0x8f, - 0x52, 0xd8, 0x32, 0xd1, 0xbb, 0x37, 0x6e, 0x38, 0x7e, 0x6d, 0x6e, 0x82, 0x4c, 0xd2, 0x4e, 0x0b, - 0x65, 0x38, 0x53, 0xc5, 0x40, 0x67, 0x6b, 0xaa, 0xe6, 0x3f, 0xab, 0x36, 0x41, 0x26, 0x69, 0xa7, - 0x85, 0x95, 0xea, 0x0a, 0xb5, 0x5d, 0x3a, 0x5a, 0x33, 0xed, 0xfd, 0xbd, 0xe9, 0xb4, 0x30, 0x9d, - 0xe4, 0xa6, 0x0d, 0x8e, 0x49, 0x0e, 0x5d, 0x3a, 0x5a, 0x79, 0x3e, 0xa0, 0x6e, 0x04, 0x5f, 0xe5, - 0xb0, 0xa0, 0x55, 0x41, 0xb5, 0x65, 0x28, 0xfd, 0x86, 0x63, 0x2c, 0x13, 0xfd, 0x34, 0xc7, 0x6c, - 0x8d, 0x99, 0xe4, 0x38, 0xad, 0x17, 0xff, 0x5d, 0x89, 0x35, 0xbf, 0x29, 0xa8, 0xb3, 0xb9, 0x14, - 0x7e, 0x86, 0xf6, 0x26, 0x3c, 0x96, 0x43, 0xe6, 0xab, 0x8a, 0xa1, 0xf4, 0xf7, 0x1d, 0xbc, 0x4c, - 0xf4, 0x4e, 0x8e, 0x2e, 0x1a, 0x26, 0x69, 0xa6, 0x5f, 0x03, 0x1f, 0x5f, 0x20, 0x54, 0x9a, 0x98, - 0xaf, 0xee, 0x64, 0xf9, 0xee, 0x32, 0xd1, 0x8f, 0xf2, 0xfc, 0xaa, 0x67, 0x92, 0xfd, 0xe2, 0x31, - 0xf0, 0x71, 0x0f, 0xb5, 0xaa, 0xf5, 0xeb, 0xe9, 0xfa, 0xa4, 0x7a, 0x3b, 0x97, 0xb7, 0x73, 0x4d, - 0xb9, 0x9b, 0x6b, 0xca, 0xcf, 0xb9, 0xa6, 0x7c, 0x5f, 0x68, 0xb5, 0xbb, 0x85, 0x56, 0xfb, 0xb1, - 0xd0, 0x6a, 0x1f, 0x5f, 0x05, 0x4c, 0x5e, 0x4f, 0x3d, 0x8b, 0xf2, 0xd0, 0xa6, 0x5c, 0x84, 0x5c, - 0xd8, 0xcc, 0xa3, 0x67, 0x01, 0xb7, 0x43, 0xee, 0x4f, 0xc7, 0x20, 0xf2, 0x8b, 0x7e, 0x7e, 0x71, - 0x56, 0x1e, 0xb5, 0xbc, 0x99, 0x80, 0xf0, 0x9a, 0xd9, 0x41, 0xbf, 0xfc, 0x1d, 0x00, 0x00, 0xff, - 0xff, 0x14, 0xd3, 0x45, 0x43, 0x43, 0x04, 0x00, 0x00, + // 506 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x93, 0xcf, 0x6e, 0xd3, 0x40, + 0x10, 0x87, 0xe3, 0x36, 0x4d, 0xd3, 0x6d, 0x13, 0xd1, 0x6d, 0x23, 0x99, 0xa8, 0xd8, 0xc6, 0x48, + 0x28, 0x12, 0xaa, 0x4d, 0x4b, 0x2f, 0x70, 0x34, 0x07, 0xc8, 0x0d, 0x6d, 0x39, 0x21, 0xa1, 0xc8, + 0x5e, 0x4f, 0xdd, 0x55, 0x62, 0x6f, 0xf0, 0x6e, 0x02, 0x7d, 0x0a, 0x78, 0xac, 0x1e, 0x7b, 0xe4, + 0x64, 0xa1, 0xe4, 0x0d, 0x72, 0xe4, 0x84, 0xfc, 0x37, 0x89, 0x1a, 0x21, 0xca, 0xcd, 0x3b, 0xf3, + 0x9b, 0xef, 0x9b, 0x83, 0x07, 0x3d, 0x65, 0x1e, 0xb5, 0x29, 0x8f, 0xc1, 0xa6, 0xd7, 0x6e, 0x14, + 0xc1, 0xc8, 0x9e, 0x9e, 0xd9, 0x01, 0x44, 0x20, 0x98, 0xb0, 0xc6, 0x31, 0x97, 0x1c, 0x1f, 0x31, + 0x8f, 0x5a, 0x69, 0xc4, 0x2a, 0x22, 0xd6, 0xf4, 0xac, 0x7b, 0x1c, 0xf0, 0x80, 0x67, 0x7d, 0x3b, + 0xfd, 0xca, 0xa3, 0xdd, 0x8d, 0xb4, 0x72, 0x2a, 0x8b, 0x98, 0xf3, 0x1d, 0x74, 0xf0, 0x2e, 0xe7, + 0x5f, 0x4a, 0x57, 0x02, 0xfe, 0x8c, 0x9a, 0x45, 0x42, 0xa8, 0x8a, 0xb1, 0xdd, 0xdb, 0x3f, 0x7f, + 0x6e, 0x6d, 0x30, 0x5a, 0x7d, 0x1f, 0x22, 0xc9, 0xae, 0x18, 0xf8, 0x6f, 0xf3, 0xa2, 0xf3, 0xf8, + 0x36, 0xd1, 0x6b, 0xbf, 0x13, 0xfd, 0xf0, 0x5e, 0x8b, 0x54, 0x48, 0x4c, 0xd0, 0x23, 0x97, 0x0e, + 0x23, 0xfe, 0x75, 0x04, 0x7e, 0x00, 0x21, 0x44, 0x52, 0xa8, 0x5b, 0x99, 0xc6, 0xd8, 0xa8, 0xf9, + 0xe0, 0xd2, 0x21, 0xc8, 0x6c, 0x35, 0xa7, 0x9e, 0x0a, 0xc8, 0xbd, 0x79, 0xfc, 0x1e, 0xed, 0x53, + 0x1e, 0x86, 0x4c, 0xe6, 0xb8, 0xed, 0x07, 0xe1, 0x56, 0x47, 0xb1, 0x83, 0x9a, 0x31, 0x50, 0x60, + 0x63, 0x29, 0xd4, 0xfa, 0x83, 0x30, 0xd5, 0x1c, 0x66, 0xa8, 0x2d, 0x20, 0xf2, 0x07, 0x02, 0xbe, + 0x4c, 0x20, 0xa2, 0x20, 0xd4, 0x9d, 0x8c, 0xf4, 0xec, 0x6f, 0xa4, 0x22, 0xeb, 0x3c, 0x49, 0x61, + 0x8b, 0x44, 0xef, 0xdc, 0xb8, 0xe1, 0xe8, 0x8d, 0xb9, 0x0e, 0x32, 0x49, 0x2b, 0x2d, 0x94, 0xe1, + 0x4c, 0x15, 0x03, 0x9d, 0xae, 0xa8, 0x1a, 0xff, 0xad, 0x5a, 0x07, 0x99, 0xa4, 0x95, 0x16, 0x96, + 0xaa, 0x2b, 0xd4, 0x72, 0xe9, 0x70, 0xc5, 0xb4, 0xfb, 0xef, 0xa6, 0x93, 0xc2, 0x74, 0x9c, 0x9b, + 0xd6, 0x38, 0x26, 0x39, 0x70, 0xe9, 0x70, 0xe9, 0xf9, 0x88, 0x3a, 0x11, 0x7c, 0x93, 0x83, 0x82, + 0x56, 0x05, 0xd5, 0xa6, 0xa1, 0xf4, 0xea, 0x8e, 0xb1, 0x48, 0xf4, 0x93, 0x1c, 0xb3, 0x31, 0x66, + 0x92, 0xa3, 0xb4, 0x5e, 0xfc, 0x77, 0x25, 0xd6, 0xfc, 0xae, 0xa0, 0xf6, 0xfa, 0x52, 0xf8, 0x05, + 0xda, 0x1d, 0xf3, 0x58, 0x0e, 0x98, 0xaf, 0x2a, 0x86, 0xd2, 0xdb, 0x73, 0xf0, 0x22, 0xd1, 0xdb, + 0x39, 0xba, 0x68, 0x98, 0xa4, 0x91, 0x7e, 0xf5, 0x7d, 0x7c, 0x81, 0x50, 0x69, 0x62, 0xbe, 0xba, + 0x95, 0xe5, 0x3b, 0x8b, 0x44, 0x3f, 0xcc, 0xf3, 0xcb, 0x9e, 0x49, 0xf6, 0x8a, 0x47, 0xdf, 0xc7, + 0x5d, 0xd4, 0xac, 0xd6, 0xdf, 0x4e, 0xd7, 0x27, 0xd5, 0xdb, 0xb9, 0xbc, 0x9d, 0x69, 0xca, 0xdd, + 0x4c, 0x53, 0x7e, 0xcd, 0x34, 0xe5, 0xc7, 0x5c, 0xab, 0xdd, 0xcd, 0xb5, 0xda, 0xcf, 0xb9, 0x56, + 0xfb, 0xf4, 0x3a, 0x60, 0xf2, 0x7a, 0xe2, 0x59, 0x94, 0x87, 0x36, 0xe5, 0x22, 0xe4, 0xc2, 0x66, + 0x1e, 0x3d, 0x0d, 0xb8, 0x3d, 0x3d, 0xb7, 0x43, 0xee, 0x4f, 0x46, 0x20, 0xf2, 0xa3, 0x7e, 0x79, + 0x71, 0x5a, 0xde, 0xb5, 0xbc, 0x19, 0x83, 0xf0, 0x1a, 0xd9, 0x4d, 0xbf, 0xfa, 0x13, 0x00, 0x00, + 0xff, 0xff, 0x80, 0xaa, 0x4d, 0x9c, 0x46, 0x04, 0x00, 0x00, } func (m *GenesisState) Marshal() (dAtA []byte, err error) { diff --git a/modules/core/04-channel/types/genesis_test.go b/modules/core/04-channel/types/genesis_test.go index 35e20f1bc8b..869acf1135b 100644 --- a/modules/core/04-channel/types/genesis_test.go +++ b/modules/core/04-channel/types/genesis_test.go @@ -5,7 +5,7 @@ import ( "github.com/stretchr/testify/require" - "github.com/cosmos/ibc-go/modules/core/04-channel/types" + "github.com/cosmos/ibc-go/v2/modules/core/04-channel/types" ) const ( diff --git a/modules/core/04-channel/types/keys.go b/modules/core/04-channel/types/keys.go index 64ee6a225c7..0ad8f471913 100644 --- a/modules/core/04-channel/types/keys.go +++ b/modules/core/04-channel/types/keys.go @@ -5,7 +5,7 @@ import ( "regexp" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" - host "github.com/cosmos/ibc-go/modules/core/24-host" + host "github.com/cosmos/ibc-go/v2/modules/core/24-host" ) const ( diff --git a/modules/core/04-channel/types/keys_test.go b/modules/core/04-channel/types/keys_test.go index a89936d0f51..5c6a7d9fa16 100644 --- a/modules/core/04-channel/types/keys_test.go +++ b/modules/core/04-channel/types/keys_test.go @@ -5,7 +5,7 @@ import ( "github.com/stretchr/testify/require" - "github.com/cosmos/ibc-go/modules/core/04-channel/types" + "github.com/cosmos/ibc-go/v2/modules/core/04-channel/types" ) // tests ParseChannelSequence and IsValidChannelID diff --git a/modules/core/04-channel/types/msgs.go b/modules/core/04-channel/types/msgs.go index 784aa6f92b6..9d552d7950c 100644 --- a/modules/core/04-channel/types/msgs.go +++ b/modules/core/04-channel/types/msgs.go @@ -5,9 +5,9 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" - clienttypes "github.com/cosmos/ibc-go/modules/core/02-client/types" - commitmenttypes "github.com/cosmos/ibc-go/modules/core/23-commitment/types" - host "github.com/cosmos/ibc-go/modules/core/24-host" + clienttypes "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" + commitmenttypes "github.com/cosmos/ibc-go/v2/modules/core/23-commitment/types" + host "github.com/cosmos/ibc-go/v2/modules/core/24-host" ) var _ sdk.Msg = &MsgChannelOpenInit{} diff --git a/modules/core/04-channel/types/msgs_test.go b/modules/core/04-channel/types/msgs_test.go index 9606b9357c1..e82faa2541f 100644 --- a/modules/core/04-channel/types/msgs_test.go +++ b/modules/core/04-channel/types/msgs_test.go @@ -13,11 +13,11 @@ import ( "github.com/cosmos/cosmos-sdk/store/rootmulti" storetypes "github.com/cosmos/cosmos-sdk/store/types" sdk "github.com/cosmos/cosmos-sdk/types" - clienttypes "github.com/cosmos/ibc-go/modules/core/02-client/types" - "github.com/cosmos/ibc-go/modules/core/04-channel/types" - commitmenttypes "github.com/cosmos/ibc-go/modules/core/23-commitment/types" - "github.com/cosmos/ibc-go/modules/core/exported" - "github.com/cosmos/ibc-go/testing/simapp" + clienttypes "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" + "github.com/cosmos/ibc-go/v2/modules/core/04-channel/types" + commitmenttypes "github.com/cosmos/ibc-go/v2/modules/core/23-commitment/types" + "github.com/cosmos/ibc-go/v2/modules/core/exported" + "github.com/cosmos/ibc-go/v2/testing/simapp" ) const ( diff --git a/modules/core/04-channel/types/packet.go b/modules/core/04-channel/types/packet.go index 5e9c56e62d8..8e259ca1813 100644 --- a/modules/core/04-channel/types/packet.go +++ b/modules/core/04-channel/types/packet.go @@ -6,9 +6,9 @@ import ( "github.com/cosmos/cosmos-sdk/codec" sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" - clienttypes "github.com/cosmos/ibc-go/modules/core/02-client/types" - host "github.com/cosmos/ibc-go/modules/core/24-host" - "github.com/cosmos/ibc-go/modules/core/exported" + clienttypes "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" + host "github.com/cosmos/ibc-go/v2/modules/core/24-host" + "github.com/cosmos/ibc-go/v2/modules/core/exported" ) // CommitPacket returns the packet commitment bytes. The commitment consists of: diff --git a/modules/core/04-channel/types/packet_test.go b/modules/core/04-channel/types/packet_test.go index 17163ceeae1..47f8a302852 100644 --- a/modules/core/04-channel/types/packet_test.go +++ b/modules/core/04-channel/types/packet_test.go @@ -7,8 +7,8 @@ import ( "github.com/cosmos/cosmos-sdk/codec" codectypes "github.com/cosmos/cosmos-sdk/codec/types" - clienttypes "github.com/cosmos/ibc-go/modules/core/02-client/types" - "github.com/cosmos/ibc-go/modules/core/04-channel/types" + clienttypes "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" + "github.com/cosmos/ibc-go/v2/modules/core/04-channel/types" ) func TestCommitPacket(t *testing.T) { diff --git a/modules/core/04-channel/types/query.go b/modules/core/04-channel/types/query.go index 8bd65fd4dff..ceb4e3661b8 100644 --- a/modules/core/04-channel/types/query.go +++ b/modules/core/04-channel/types/query.go @@ -2,8 +2,8 @@ package types import ( codectypes "github.com/cosmos/cosmos-sdk/codec/types" - clienttypes "github.com/cosmos/ibc-go/modules/core/02-client/types" - "github.com/cosmos/ibc-go/modules/core/exported" + clienttypes "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" + "github.com/cosmos/ibc-go/v2/modules/core/exported" ) var ( diff --git a/modules/core/04-channel/types/query.pb.go b/modules/core/04-channel/types/query.pb.go index 281e790ba6b..65eabb70767 100644 --- a/modules/core/04-channel/types/query.pb.go +++ b/modules/core/04-channel/types/query.pb.go @@ -8,7 +8,7 @@ import ( fmt "fmt" types1 "github.com/cosmos/cosmos-sdk/codec/types" query "github.com/cosmos/cosmos-sdk/types/query" - types "github.com/cosmos/ibc-go/modules/core/02-client/types" + types "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" _ "github.com/gogo/protobuf/gogoproto" grpc1 "github.com/gogo/protobuf/grpc" proto "github.com/gogo/protobuf/proto" @@ -1708,100 +1708,101 @@ func init() { func init() { proto.RegisterFile("ibc/core/channel/v1/query.proto", fileDescriptor_1034a1e9abc4cca1) } var fileDescriptor_1034a1e9abc4cca1 = []byte{ - // 1486 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xdc, 0x59, 0xcf, 0x6f, 0xd4, 0x46, - 0x14, 0xce, 0x6c, 0x16, 0x48, 0x1e, 0x94, 0x1f, 0x93, 0x04, 0x82, 0x09, 0x9b, 0xb0, 0x55, 0x4b, - 0x40, 0xc2, 0x43, 0x02, 0x4d, 0x51, 0xd5, 0x22, 0x91, 0x48, 0x85, 0x54, 0x05, 0x82, 0x29, 0x2a, - 0x20, 0xb5, 0x5b, 0xaf, 0x77, 0xd8, 0x58, 0xc9, 0xda, 0x66, 0xed, 0x5d, 0x40, 0xe9, 0x56, 0x55, - 0x0f, 0x14, 0xa9, 0x97, 0xaa, 0x1c, 0x2a, 0xf5, 0x52, 0xa9, 0x37, 0x0e, 0x3d, 0xf4, 0x2f, 0xe8, - 0x95, 0x5b, 0x91, 0xe8, 0xa1, 0x12, 0x12, 0xad, 0x08, 0x12, 0xbd, 0xf6, 0xd2, 0x73, 0xe5, 0xf9, - 0xe1, 0xb5, 0x77, 0x6d, 0x27, 0x9b, 0xcd, 0x4a, 0x51, 0x6f, 0xf6, 0x78, 0xde, 0x9b, 0xef, 0xfb, - 0xde, 0xbc, 0x97, 0xf7, 0x36, 0x30, 0x6e, 0x16, 0x0d, 0x62, 0xd8, 0x55, 0x4a, 0x8c, 0x45, 0xdd, - 0xb2, 0xe8, 0x32, 0xa9, 0x4f, 0x91, 0xdb, 0x35, 0x5a, 0xbd, 0xa7, 0x3a, 0x55, 0xdb, 0xb3, 0xf1, - 0x90, 0x59, 0x34, 0x54, 0x7f, 0x83, 0x2a, 0x36, 0xa8, 0xf5, 0x29, 0x25, 0x64, 0xb5, 0x6c, 0x52, - 0xcb, 0xf3, 0x8d, 0xf8, 0x13, 0xb7, 0x52, 0x8e, 0x1b, 0xb6, 0x5b, 0xb1, 0x5d, 0x52, 0xd4, 0x5d, - 0xca, 0xdd, 0x91, 0xfa, 0x54, 0x91, 0x7a, 0xfa, 0x14, 0x71, 0xf4, 0xb2, 0x69, 0xe9, 0x9e, 0x69, - 0x5b, 0x62, 0xef, 0x91, 0x38, 0x08, 0xf2, 0x30, 0xbe, 0x65, 0xac, 0x6c, 0xdb, 0xe5, 0x65, 0x4a, - 0x74, 0xc7, 0x24, 0xba, 0x65, 0xd9, 0x1e, 0xb3, 0x77, 0xc5, 0xd7, 0x83, 0xe2, 0x2b, 0x7b, 0x2b, - 0xd6, 0x6e, 0x11, 0xdd, 0x12, 0xe8, 0x95, 0xe1, 0xb2, 0x5d, 0xb6, 0xd9, 0x23, 0xf1, 0x9f, 0xf8, - 0x6a, 0xfe, 0x22, 0x0c, 0x5d, 0xf1, 0x31, 0xcd, 0xf1, 0x43, 0x34, 0x7a, 0xbb, 0x46, 0x5d, 0x0f, - 0x1f, 0x80, 0x1d, 0x8e, 0x5d, 0xf5, 0x0a, 0x66, 0x69, 0x14, 0x4d, 0xa0, 0xc9, 0x41, 0x6d, 0xbb, - 0xff, 0x3a, 0x5f, 0xc2, 0x87, 0x01, 0x04, 0x1e, 0xff, 0x5b, 0x86, 0x7d, 0x1b, 0x14, 0x2b, 0xf3, - 0xa5, 0xfc, 0x23, 0x04, 0xc3, 0x51, 0x7f, 0xae, 0x63, 0x5b, 0x2e, 0xc5, 0x33, 0xb0, 0x43, 0xec, - 0x62, 0x0e, 0x77, 0x4e, 0x8f, 0xa9, 0x31, 0x6a, 0xaa, 0xd2, 0x4c, 0x6e, 0xc6, 0xc3, 0xb0, 0xcd, - 0xa9, 0xda, 0xf6, 0x2d, 0x76, 0xd4, 0x2e, 0x8d, 0xbf, 0xe0, 0x39, 0xd8, 0xc5, 0x1e, 0x0a, 0x8b, - 0xd4, 0x2c, 0x2f, 0x7a, 0xa3, 0xfd, 0xcc, 0xa5, 0x12, 0x72, 0xc9, 0x23, 0x50, 0x9f, 0x52, 0x2f, - 0xb0, 0x1d, 0xb3, 0xd9, 0xc7, 0xcf, 0xc7, 0xfb, 0xb4, 0x9d, 0xcc, 0x8a, 0x2f, 0xe5, 0x3f, 0x8d, - 0x42, 0x75, 0x25, 0xf7, 0xf7, 0x01, 0x9a, 0x81, 0x11, 0x68, 0xdf, 0x54, 0x79, 0x14, 0x55, 0x3f, - 0x8a, 0x2a, 0xbf, 0x14, 0x22, 0x8a, 0xea, 0x82, 0x5e, 0xa6, 0xc2, 0x56, 0x0b, 0x59, 0xe6, 0x9f, - 0x23, 0x18, 0x69, 0x39, 0x40, 0x88, 0x31, 0x0b, 0x03, 0x82, 0x9f, 0x3b, 0x8a, 0x26, 0xfa, 0x99, - 0xff, 0x38, 0x35, 0xe6, 0x4b, 0xd4, 0xf2, 0xcc, 0x5b, 0x26, 0x2d, 0x49, 0x5d, 0x02, 0x3b, 0x7c, - 0x3e, 0x82, 0x32, 0xc3, 0x50, 0x1e, 0x5d, 0x13, 0x25, 0x07, 0x10, 0x86, 0x89, 0xcf, 0xc0, 0xf6, - 0x0e, 0x55, 0x14, 0xfb, 0xf3, 0x0f, 0x10, 0xe4, 0x38, 0x41, 0xdb, 0xb2, 0xa8, 0xe1, 0x7b, 0x6b, - 0xd5, 0x32, 0x07, 0x60, 0x04, 0x1f, 0xc5, 0x55, 0x0a, 0xad, 0xb4, 0x68, 0x9d, 0xd9, 0xb0, 0xd6, - 0x7f, 0x23, 0x18, 0x4f, 0x84, 0xf2, 0xff, 0x52, 0xfd, 0xba, 0x14, 0x9d, 0x63, 0x9a, 0x63, 0xbb, - 0xaf, 0x7a, 0xba, 0x47, 0xbb, 0x4d, 0xde, 0x3f, 0x03, 0x11, 0x63, 0x5c, 0x0b, 0x11, 0x75, 0x38, - 0x60, 0x06, 0xfa, 0x14, 0x38, 0xd4, 0x82, 0xeb, 0x6f, 0x11, 0x99, 0x72, 0x2c, 0x8e, 0x48, 0x48, - 0xd2, 0x90, 0xcf, 0x11, 0x33, 0x6e, 0xb9, 0x97, 0x29, 0xff, 0x33, 0x82, 0x23, 0x11, 0x86, 0x3e, - 0x27, 0xcb, 0xad, 0xb9, 0x9b, 0xa1, 0x1f, 0x3e, 0x0a, 0x7b, 0xaa, 0xb4, 0x6e, 0xba, 0xa6, 0x6d, - 0x15, 0xac, 0x5a, 0xa5, 0x48, 0xab, 0x0c, 0x65, 0x56, 0xdb, 0x2d, 0x97, 0x2f, 0xb1, 0xd5, 0xc8, - 0x46, 0x41, 0x27, 0x1b, 0xdd, 0x28, 0xf0, 0x3e, 0x43, 0x90, 0x4f, 0xc3, 0x2b, 0x82, 0xf2, 0x1e, - 0xec, 0x31, 0xe4, 0x97, 0x48, 0x30, 0x86, 0x55, 0xfe, 0xf7, 0x40, 0x95, 0x7f, 0x0f, 0xd4, 0x73, - 0xd6, 0x3d, 0x6d, 0xb7, 0x11, 0x71, 0x83, 0x0f, 0xc1, 0xa0, 0x08, 0x64, 0xc0, 0x6a, 0x80, 0x2f, - 0xcc, 0x97, 0x9a, 0xd1, 0xe8, 0x4f, 0x8b, 0x46, 0x76, 0x23, 0xd1, 0xa8, 0xc2, 0x18, 0x23, 0xb7, - 0xa0, 0x1b, 0x4b, 0xd4, 0x9b, 0xb3, 0x2b, 0x15, 0xd3, 0xab, 0x50, 0xcb, 0xeb, 0x36, 0x0e, 0x0a, - 0x0c, 0xb8, 0xbe, 0x0b, 0xcb, 0xa0, 0x22, 0x00, 0xc1, 0x7b, 0xfe, 0x07, 0x04, 0x87, 0x13, 0x0e, - 0x15, 0x62, 0xb2, 0x92, 0x25, 0x57, 0xd9, 0xc1, 0xbb, 0xb4, 0xd0, 0x4a, 0x2f, 0xaf, 0xe7, 0x8f, - 0x49, 0xe0, 0xdc, 0x6e, 0x25, 0x89, 0xd6, 0xd9, 0xfe, 0x0d, 0xd7, 0xd9, 0x57, 0xb2, 0xe4, 0xc7, - 0x20, 0x0c, 0xca, 0xec, 0xce, 0xa6, 0x5a, 0xb2, 0xd2, 0x4e, 0xc4, 0x56, 0x5a, 0xee, 0x84, 0xdf, - 0xe5, 0xb0, 0xd1, 0x56, 0x28, 0xb3, 0x36, 0x1c, 0x0c, 0x11, 0xd5, 0xa8, 0x41, 0x4d, 0xa7, 0xa7, - 0x37, 0xf3, 0x21, 0x02, 0x25, 0xee, 0x44, 0x21, 0xab, 0x02, 0x03, 0x55, 0x7f, 0xa9, 0x4e, 0xb9, - 0xdf, 0x01, 0x2d, 0x78, 0xef, 0x65, 0x8e, 0xde, 0x11, 0x05, 0x93, 0x83, 0x3a, 0x67, 0x2c, 0x59, - 0xf6, 0x9d, 0x65, 0x5a, 0x2a, 0xd3, 0x5e, 0x27, 0xea, 0x23, 0x59, 0xfa, 0x12, 0x4e, 0x16, 0xb2, - 0x4c, 0xc2, 0x1e, 0x3d, 0xfa, 0x49, 0xa4, 0x6c, 0xeb, 0x72, 0x2f, 0xf3, 0xf6, 0x65, 0x2a, 0xd6, - 0xad, 0x92, 0xbc, 0xf8, 0x2c, 0x1c, 0x72, 0x18, 0xc0, 0x42, 0x33, 0xd7, 0x0a, 0x52, 0x70, 0x77, - 0x34, 0x3b, 0xd1, 0x3f, 0x99, 0xd5, 0x0e, 0x3a, 0x2d, 0x99, 0x7d, 0x55, 0x6e, 0xc8, 0xff, 0x8b, - 0xe0, 0xf5, 0x54, 0x9a, 0x22, 0x26, 0x1f, 0xc2, 0xde, 0x16, 0xf1, 0xd7, 0x5f, 0x06, 0xda, 0x2c, - 0xb7, 0x42, 0x2d, 0xf8, 0x5e, 0xd6, 0xe5, 0x6b, 0x96, 0xcc, 0x39, 0x8e, 0xb9, 0xeb, 0xd0, 0xae, - 0x11, 0x92, 0xfe, 0xb5, 0x42, 0x72, 0x57, 0x94, 0xe3, 0x18, 0x60, 0x22, 0x18, 0x63, 0x30, 0xd8, - 0xf4, 0x87, 0x98, 0xbf, 0xe6, 0x42, 0x48, 0x93, 0x4c, 0x87, 0x9a, 0xdc, 0x97, 0xe5, 0xaa, 0x79, - 0xf4, 0x39, 0x63, 0xa9, 0x6b, 0x41, 0x4e, 0xc2, 0xb0, 0x10, 0x44, 0x37, 0x96, 0xda, 0x94, 0xc0, - 0x8e, 0xbc, 0x79, 0x4d, 0x09, 0x6a, 0x70, 0x28, 0x16, 0x47, 0x8f, 0xf9, 0xdf, 0x10, 0xbd, 0xf2, - 0x25, 0x7a, 0x37, 0x88, 0x87, 0xc6, 0x01, 0x74, 0xdb, 0x87, 0xff, 0x82, 0x60, 0x22, 0xd9, 0xb7, - 0xe0, 0x35, 0x0d, 0x23, 0x16, 0xbd, 0xdb, 0xbc, 0x2c, 0x05, 0xc1, 0x9e, 0x1d, 0x95, 0xd5, 0x86, - 0xac, 0x76, 0xdb, 0x1e, 0x96, 0xc0, 0xe9, 0x6f, 0xf6, 0xc3, 0x36, 0x86, 0x19, 0xff, 0x84, 0x60, - 0x87, 0x68, 0x57, 0xf1, 0x64, 0x6c, 0xbe, 0xc7, 0xfc, 0xe0, 0xa0, 0x1c, 0x5b, 0xc7, 0x4e, 0xce, - 0x3c, 0x3f, 0xfb, 0xd5, 0xd3, 0x97, 0x0f, 0x33, 0xef, 0xe2, 0x77, 0x48, 0xca, 0xaf, 0x25, 0x2e, - 0x59, 0x69, 0x4a, 0xdc, 0x20, 0xbe, 0xf0, 0x2e, 0x59, 0x11, 0xe1, 0x68, 0xe0, 0x07, 0x08, 0x06, - 0xe4, 0x80, 0x88, 0xd7, 0x3e, 0x5b, 0x5e, 0x6b, 0xe5, 0xf8, 0x7a, 0xb6, 0x0a, 0x9c, 0x6f, 0x30, - 0x9c, 0xe3, 0xf8, 0x70, 0x2a, 0x4e, 0xfc, 0x2b, 0x02, 0xdc, 0x3e, 0xb5, 0xe2, 0x53, 0x29, 0x27, - 0x25, 0x8d, 0xdb, 0xca, 0xe9, 0xce, 0x8c, 0x04, 0xd0, 0xb3, 0x0c, 0xe8, 0x19, 0x3c, 0x13, 0x0f, - 0x34, 0x30, 0xf4, 0x35, 0x0d, 0x5e, 0x1a, 0x4d, 0x06, 0x4f, 0x7c, 0x06, 0x6d, 0x23, 0x63, 0x2a, - 0x83, 0xa4, 0xd9, 0x35, 0x95, 0x41, 0xe2, 0x54, 0x9a, 0xbf, 0xcc, 0x18, 0xcc, 0xe3, 0xf3, 0x1b, - 0xbf, 0x12, 0x24, 0x3c, 0xcb, 0xe2, 0xef, 0x32, 0x30, 0x12, 0x3b, 0x73, 0xe1, 0x99, 0xb5, 0x01, - 0xc6, 0x0d, 0x95, 0xca, 0xdb, 0x1d, 0xdb, 0x09, 0x6e, 0x5f, 0x23, 0x46, 0xee, 0x4b, 0x84, 0xbf, - 0xe8, 0x86, 0x5d, 0x74, 0x3e, 0x24, 0x72, 0xd0, 0x24, 0x2b, 0x2d, 0x23, 0x6b, 0x83, 0xf0, 0x32, - 0x10, 0xfa, 0xc0, 0x17, 0x1a, 0xf8, 0x19, 0x82, 0xbd, 0xad, 0x7d, 0x3f, 0x9e, 0x4a, 0xe6, 0x95, - 0x30, 0xd7, 0x29, 0xd3, 0x9d, 0x98, 0x08, 0x15, 0x3e, 0x63, 0x22, 0xdc, 0xc4, 0xd7, 0xbb, 0xd0, - 0xa0, 0xed, 0x2f, 0xad, 0x4b, 0x56, 0x64, 0xf9, 0x6c, 0xe0, 0xa7, 0x08, 0xf6, 0xb5, 0x4d, 0x35, - 0xb8, 0x03, 0xac, 0x41, 0x16, 0x9e, 0xea, 0xc8, 0x46, 0x10, 0xbc, 0xc6, 0x08, 0x5e, 0xc6, 0x17, - 0x37, 0x95, 0x20, 0xfe, 0x0d, 0xc1, 0x6b, 0x91, 0x81, 0x02, 0xab, 0x6b, 0xa1, 0x8b, 0xce, 0x3a, - 0x0a, 0x59, 0xf7, 0x7e, 0xc1, 0xe4, 0x13, 0xc6, 0xe4, 0x63, 0x7c, 0xad, 0x7b, 0x26, 0x55, 0xee, - 0x3a, 0x12, 0xa7, 0x55, 0x04, 0x23, 0xb1, 0x0d, 0x68, 0x5a, 0x6a, 0xa6, 0x8d, 0x2f, 0x69, 0xa9, - 0x99, 0x3a, 0x7c, 0xe4, 0x6f, 0x30, 0xa6, 0x57, 0xf1, 0x95, 0xee, 0x99, 0xea, 0xc6, 0x52, 0x84, - 0xe5, 0x2b, 0x04, 0xfb, 0xe3, 0xdb, 0x6c, 0xdc, 0x29, 0xdc, 0xe0, 0x5e, 0x9e, 0xe9, 0xdc, 0x50, - 0x10, 0xbd, 0xc9, 0x88, 0x7e, 0x84, 0xb5, 0x4d, 0x21, 0x1a, 0xa5, 0x73, 0x3f, 0x03, 0xfb, 0xda, - 0xda, 0xd7, 0xb4, 0xbc, 0x4b, 0x6a, 0xc2, 0xd3, 0xf2, 0x2e, 0xb1, 0x3f, 0xde, 0xa4, 0xf2, 0x1a, - 0x57, 0x5a, 0x52, 0x1a, 0xfb, 0x06, 0xa9, 0x05, 0x80, 0x0a, 0x8e, 0xa0, 0xfc, 0x0f, 0x82, 0xdd, - 0xd1, 0x26, 0x16, 0x93, 0xf5, 0x30, 0x0a, 0xb5, 0xdd, 0xca, 0xc9, 0xf5, 0x1b, 0x08, 0xfe, 0x9f, - 0x33, 0xfa, 0x75, 0xec, 0xf5, 0x86, 0x7d, 0xa4, 0x8b, 0x8f, 0xd0, 0xf6, 0x6f, 0x3c, 0xfe, 0x1d, - 0xc1, 0x50, 0x4c, 0x97, 0x8b, 0x53, 0xda, 0x80, 0xe4, 0x86, 0x5b, 0x79, 0xab, 0x43, 0x2b, 0x21, - 0xc1, 0x02, 0x93, 0xe0, 0x03, 0x7c, 0xa1, 0x0b, 0x09, 0x22, 0xbd, 0xf8, 0xec, 0xc2, 0xe3, 0x17, - 0x39, 0xf4, 0xe4, 0x45, 0x0e, 0xfd, 0xf5, 0x22, 0x87, 0xbe, 0x5d, 0xcd, 0xf5, 0x3d, 0x59, 0xcd, - 0xf5, 0xfd, 0xb1, 0x9a, 0xeb, 0xbb, 0x39, 0x53, 0x36, 0xbd, 0xc5, 0x5a, 0x51, 0x35, 0xec, 0x0a, - 0x11, 0xff, 0x18, 0x34, 0x8b, 0xc6, 0x89, 0xb2, 0x4d, 0x2a, 0x76, 0xa9, 0xb6, 0x4c, 0x5d, 0x7e, - 0xfe, 0xc9, 0xd3, 0x27, 0x24, 0x04, 0xef, 0x9e, 0x43, 0xdd, 0xe2, 0x76, 0xf6, 0x0b, 0xee, 0xa9, - 0xff, 0x02, 0x00, 0x00, 0xff, 0xff, 0x53, 0x37, 0x2a, 0x8c, 0xa5, 0x1c, 0x00, 0x00, + // 1490 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xdc, 0x59, 0xcf, 0x6f, 0x13, 0xc7, + 0x17, 0xcf, 0x38, 0x06, 0x92, 0x07, 0x5f, 0x7e, 0x4c, 0x12, 0x08, 0x4b, 0x70, 0x82, 0xbf, 0x6a, + 0x09, 0x48, 0xec, 0x90, 0x40, 0x29, 0xad, 0x5a, 0x24, 0x12, 0xa9, 0x90, 0xaa, 0xfc, 0xda, 0x14, + 0x15, 0x90, 0x5a, 0x77, 0xbd, 0x1e, 0x9c, 0x55, 0xe2, 0xdd, 0xc5, 0xbb, 0x36, 0xa0, 0xd4, 0x55, + 0xd5, 0x03, 0x45, 0xea, 0xa5, 0x2a, 0x87, 0x4a, 0xbd, 0x54, 0xea, 0x8d, 0x43, 0x0f, 0xfd, 0x0b, + 0x7a, 0xe5, 0x56, 0x24, 0x7a, 0xa8, 0x84, 0x44, 0x2b, 0x82, 0x44, 0xaf, 0xbd, 0xf4, 0x5c, 0xed, + 0xfc, 0x58, 0xef, 0xda, 0xbb, 0x1b, 0x3b, 0x8e, 0x25, 0xd4, 0xdb, 0xee, 0xec, 0xbc, 0x37, 0x9f, + 0xcf, 0xe7, 0xcd, 0x7b, 0x79, 0xcf, 0x81, 0x49, 0xb3, 0x68, 0x10, 0xc3, 0xae, 0x52, 0x62, 0x2c, + 0xe9, 0x96, 0x45, 0x57, 0x48, 0x7d, 0x86, 0xdc, 0xaa, 0xd1, 0xea, 0x5d, 0xd5, 0xa9, 0xda, 0x9e, + 0x8d, 0x47, 0xcc, 0xa2, 0xa1, 0xfa, 0x1b, 0x54, 0xb1, 0x41, 0xad, 0xcf, 0x28, 0x21, 0xab, 0x15, + 0x93, 0x5a, 0x9e, 0x6f, 0xc4, 0x9f, 0xb8, 0x95, 0x72, 0xd4, 0xb0, 0xdd, 0x8a, 0xed, 0x92, 0xa2, + 0xee, 0x52, 0xee, 0x8e, 0xd4, 0x67, 0x8a, 0xd4, 0xd3, 0x67, 0x88, 0xa3, 0x97, 0x4d, 0x4b, 0xf7, + 0x4c, 0xdb, 0x12, 0x7b, 0x0f, 0xc5, 0x41, 0x90, 0x87, 0xf1, 0x2d, 0x13, 0x65, 0xdb, 0x2e, 0xaf, + 0x50, 0xa2, 0x3b, 0x26, 0xd1, 0x2d, 0xcb, 0xf6, 0x98, 0xbd, 0x2b, 0xbe, 0xee, 0x17, 0x5f, 0xd9, + 0x5b, 0xb1, 0x76, 0x93, 0xe8, 0x96, 0x40, 0xaf, 0x8c, 0x96, 0xed, 0xb2, 0xcd, 0x1e, 0x89, 0xff, + 0xc4, 0x57, 0xf3, 0x17, 0x60, 0xe4, 0x8a, 0x8f, 0x69, 0x9e, 0x1f, 0xa2, 0xd1, 0x5b, 0x35, 0xea, + 0x7a, 0x78, 0x1f, 0x6c, 0x73, 0xec, 0xaa, 0x57, 0x30, 0x4b, 0xe3, 0x68, 0x0a, 0x4d, 0x0f, 0x6b, + 0x5b, 0xfd, 0xd7, 0x85, 0x12, 0x3e, 0x08, 0x20, 0xf0, 0xf8, 0xdf, 0x32, 0xec, 0xdb, 0xb0, 0x58, + 0x59, 0x28, 0xe5, 0x1f, 0x22, 0x18, 0x8d, 0xfa, 0x73, 0x1d, 0xdb, 0x72, 0x29, 0x3e, 0x05, 0xdb, + 0xc4, 0x2e, 0xe6, 0x70, 0xfb, 0xec, 0x84, 0x1a, 0xa3, 0xa6, 0x2a, 0xcd, 0xe4, 0x66, 0x3c, 0x0a, + 0x5b, 0x9c, 0xaa, 0x6d, 0xdf, 0x64, 0x47, 0xed, 0xd0, 0xf8, 0x0b, 0x9e, 0x87, 0x1d, 0xec, 0xa1, + 0xb0, 0x44, 0xcd, 0xf2, 0x92, 0x37, 0x3e, 0xc8, 0x5c, 0x2a, 0x21, 0x97, 0x3c, 0x02, 0xf5, 0x19, + 0xf5, 0x3c, 0xdb, 0x31, 0x97, 0x7d, 0xf4, 0x6c, 0x72, 0x40, 0xdb, 0xce, 0xac, 0xf8, 0x52, 0xfe, + 0x93, 0x28, 0x54, 0x57, 0x72, 0x7f, 0x0f, 0xa0, 0x19, 0x18, 0x81, 0xf6, 0x75, 0x95, 0x47, 0x51, + 0xf5, 0xa3, 0xa8, 0xf2, 0x4b, 0x21, 0xa2, 0xa8, 0x5e, 0xd6, 0xcb, 0x54, 0xd8, 0x6a, 0x21, 0xcb, + 0xfc, 0x33, 0x04, 0x63, 0x2d, 0x07, 0x08, 0x31, 0xe6, 0x60, 0x48, 0xf0, 0x73, 0xc7, 0xd1, 0xd4, + 0x20, 0xf3, 0x1f, 0xa7, 0xc6, 0x42, 0x89, 0x5a, 0x9e, 0x79, 0xd3, 0xa4, 0x25, 0xa9, 0x4b, 0x60, + 0x87, 0xcf, 0x45, 0x50, 0x66, 0x18, 0xca, 0xc3, 0xeb, 0xa2, 0xe4, 0x00, 0xc2, 0x30, 0xf1, 0x69, + 0xd8, 0xda, 0xa5, 0x8a, 0x62, 0x7f, 0xfe, 0x3e, 0x82, 0x1c, 0x27, 0x68, 0x5b, 0x16, 0x35, 0x7c, + 0x6f, 0xad, 0x5a, 0xe6, 0x00, 0x8c, 0xe0, 0xa3, 0xb8, 0x4a, 0xa1, 0x95, 0x16, 0xad, 0x33, 0x1b, + 0xd6, 0xfa, 0x2f, 0x04, 0x93, 0x89, 0x50, 0xfe, 0x5b, 0xaa, 0x5f, 0x93, 0xa2, 0x73, 0x4c, 0xf3, + 0x6c, 0xf7, 0xa2, 0xa7, 0x7b, 0xb4, 0xd7, 0xe4, 0xfd, 0x23, 0x10, 0x31, 0xc6, 0xb5, 0x10, 0x51, + 0x87, 0x7d, 0x66, 0xa0, 0x4f, 0x81, 0x43, 0x2d, 0xb8, 0xfe, 0x16, 0x91, 0x29, 0x47, 0xe2, 0x88, + 0x84, 0x24, 0x0d, 0xf9, 0x1c, 0x33, 0xe3, 0x96, 0xfb, 0x99, 0xf2, 0x3f, 0x21, 0x38, 0x14, 0x61, + 0xe8, 0x73, 0xb2, 0xdc, 0x9a, 0xbb, 0x19, 0xfa, 0xe1, 0xc3, 0xb0, 0xab, 0x4a, 0xeb, 0xa6, 0x6b, + 0xda, 0x56, 0xc1, 0xaa, 0x55, 0x8a, 0xb4, 0xca, 0x50, 0x66, 0xb5, 0x9d, 0x72, 0xf9, 0x22, 0x5b, + 0x8d, 0x6c, 0x14, 0x74, 0xb2, 0xd1, 0x8d, 0x02, 0xef, 0x53, 0x04, 0xf9, 0x34, 0xbc, 0x22, 0x28, + 0xef, 0xc2, 0x2e, 0x43, 0x7e, 0x89, 0x04, 0x63, 0x54, 0xe5, 0x7f, 0x0f, 0x54, 0xf9, 0xf7, 0x40, + 0x3d, 0x6b, 0xdd, 0xd5, 0x76, 0x1a, 0x11, 0x37, 0xf8, 0x00, 0x0c, 0x8b, 0x40, 0x06, 0xac, 0x86, + 0xf8, 0xc2, 0x42, 0xa9, 0x19, 0x8d, 0xc1, 0xb4, 0x68, 0x64, 0x37, 0x12, 0x8d, 0x2a, 0x4c, 0x30, + 0x72, 0x97, 0x75, 0x63, 0x99, 0x7a, 0xf3, 0x76, 0xa5, 0x62, 0x7a, 0x15, 0x6a, 0x79, 0xbd, 0xc6, + 0x41, 0x81, 0x21, 0xd7, 0x77, 0x61, 0x19, 0x54, 0x04, 0x20, 0x78, 0xcf, 0x7f, 0x8f, 0xe0, 0x60, + 0xc2, 0xa1, 0x42, 0x4c, 0x56, 0xb2, 0xe4, 0x2a, 0x3b, 0x78, 0x87, 0x16, 0x5a, 0xe9, 0xe7, 0xf5, + 0xfc, 0x21, 0x09, 0x9c, 0xdb, 0xab, 0x24, 0xd1, 0x3a, 0x3b, 0xb8, 0xe1, 0x3a, 0xfb, 0x52, 0x96, + 0xfc, 0x18, 0x84, 0x41, 0x99, 0xdd, 0xde, 0x54, 0x4b, 0x56, 0xda, 0xa9, 0xd8, 0x4a, 0xcb, 0x9d, + 0xf0, 0xbb, 0x1c, 0x36, 0x7a, 0x15, 0xca, 0xac, 0x0d, 0xfb, 0x43, 0x44, 0x35, 0x6a, 0x50, 0xd3, + 0xe9, 0xeb, 0xcd, 0x7c, 0x80, 0x40, 0x89, 0x3b, 0x51, 0xc8, 0xaa, 0xc0, 0x50, 0xd5, 0x5f, 0xaa, + 0x53, 0xee, 0x77, 0x48, 0x0b, 0xde, 0xfb, 0x99, 0xa3, 0xb7, 0x45, 0xc1, 0xe4, 0xa0, 0xce, 0x1a, + 0xcb, 0x96, 0x7d, 0x7b, 0x85, 0x96, 0xca, 0xb4, 0xdf, 0x89, 0xfa, 0x50, 0x96, 0xbe, 0x84, 0x93, + 0x85, 0x2c, 0xd3, 0xb0, 0x4b, 0x8f, 0x7e, 0x12, 0x29, 0xdb, 0xba, 0xdc, 0xcf, 0xbc, 0x7d, 0x91, + 0x8a, 0xf5, 0x55, 0x49, 0x5e, 0x7c, 0x06, 0x0e, 0x38, 0x0c, 0x60, 0xa1, 0x99, 0x6b, 0x05, 0x29, + 0xb8, 0x3b, 0x9e, 0x9d, 0x1a, 0x9c, 0xce, 0x6a, 0xfb, 0x9d, 0x96, 0xcc, 0x5e, 0x94, 0x1b, 0xf2, + 0xff, 0x20, 0xf8, 0x7f, 0x2a, 0x4d, 0x11, 0x93, 0x0f, 0x60, 0x77, 0x8b, 0xf8, 0x9d, 0x97, 0x81, + 0x36, 0xcb, 0x57, 0xa1, 0x16, 0x7c, 0x27, 0xeb, 0xf2, 0x55, 0x4b, 0xe6, 0x1c, 0xc7, 0xdc, 0x73, + 0x68, 0xd7, 0x09, 0xc9, 0xe0, 0x7a, 0x21, 0xb9, 0x23, 0xca, 0x71, 0x0c, 0x30, 0x11, 0x8c, 0x09, + 0x18, 0x6e, 0xfa, 0x43, 0xcc, 0x5f, 0x73, 0x21, 0xa4, 0x49, 0xa6, 0x4b, 0x4d, 0xee, 0xc9, 0x72, + 0xd5, 0x3c, 0xfa, 0xac, 0xb1, 0xdc, 0xb3, 0x20, 0xc7, 0x61, 0x54, 0x08, 0xa2, 0x1b, 0xcb, 0x6d, + 0x4a, 0x60, 0x47, 0xde, 0xbc, 0xa6, 0x04, 0x35, 0x38, 0x10, 0x8b, 0xa3, 0xcf, 0xfc, 0xaf, 0x8b, + 0x5e, 0xf9, 0x22, 0xbd, 0x13, 0xc4, 0x43, 0xe3, 0x00, 0x7a, 0xed, 0xc3, 0x7f, 0x46, 0x30, 0x95, + 0xec, 0x5b, 0xf0, 0x9a, 0x85, 0x31, 0x8b, 0xde, 0x69, 0x5e, 0x96, 0x82, 0x60, 0xcf, 0x8e, 0xca, + 0x6a, 0x23, 0x56, 0xbb, 0x6d, 0x1f, 0x4b, 0xe0, 0xec, 0xd7, 0x7b, 0x61, 0x0b, 0xc3, 0x8c, 0x7f, + 0x44, 0xb0, 0x4d, 0xb4, 0xab, 0x78, 0x3a, 0x36, 0xdf, 0x63, 0x7e, 0x70, 0x50, 0x8e, 0x74, 0xb0, + 0x93, 0x33, 0xcf, 0xcf, 0x7d, 0xf9, 0xe4, 0xc5, 0x83, 0xcc, 0x3b, 0xf8, 0x6d, 0x92, 0xf2, 0x6b, + 0x89, 0x4b, 0x56, 0x9b, 0x12, 0x37, 0x88, 0x2f, 0xbc, 0x4b, 0x56, 0x45, 0x38, 0x1a, 0xf8, 0x3e, + 0x82, 0x21, 0x39, 0x20, 0xe2, 0xf5, 0xcf, 0x96, 0xd7, 0x5a, 0x39, 0xda, 0xc9, 0x56, 0x81, 0xf3, + 0x35, 0x86, 0x73, 0x12, 0x1f, 0x4c, 0xc5, 0x89, 0x7f, 0x41, 0x80, 0xdb, 0xa7, 0x56, 0x7c, 0x22, + 0xe5, 0xa4, 0xa4, 0x71, 0x5b, 0x39, 0xd9, 0x9d, 0x91, 0x00, 0x7a, 0x86, 0x01, 0x3d, 0x8d, 0x4f, + 0xc5, 0x03, 0x0d, 0x0c, 0x7d, 0x4d, 0x83, 0x97, 0x46, 0x93, 0xc1, 0x63, 0x9f, 0x41, 0xdb, 0xc8, + 0x98, 0xca, 0x20, 0x69, 0x76, 0x4d, 0x65, 0x90, 0x38, 0x95, 0xe6, 0x2f, 0x31, 0x06, 0x0b, 0xf8, + 0xdc, 0xc6, 0xaf, 0x04, 0x09, 0xcf, 0xb2, 0xf8, 0xdb, 0x0c, 0x8c, 0xc5, 0xce, 0x5c, 0xf8, 0xd4, + 0xfa, 0x00, 0xe3, 0x86, 0x4a, 0xe5, 0xcd, 0xae, 0xed, 0x04, 0xb7, 0xaf, 0x10, 0x23, 0xf7, 0x05, + 0xc2, 0x9f, 0xf7, 0xc2, 0x2e, 0x3a, 0x1f, 0x12, 0x39, 0x68, 0x92, 0xd5, 0x96, 0x91, 0xb5, 0x41, + 0x78, 0x19, 0x08, 0x7d, 0xe0, 0x0b, 0x0d, 0xfc, 0x14, 0xc1, 0xee, 0xd6, 0xbe, 0x1f, 0xcf, 0x24, + 0xf3, 0x4a, 0x98, 0xeb, 0x94, 0xd9, 0x6e, 0x4c, 0x84, 0x0a, 0x9f, 0x32, 0x11, 0x6e, 0xe0, 0x6b, + 0x3d, 0x68, 0xd0, 0xf6, 0x97, 0xd6, 0x25, 0xab, 0xb2, 0x7c, 0x36, 0xf0, 0x13, 0x04, 0x7b, 0xda, + 0xa6, 0x1a, 0xdc, 0x05, 0xd6, 0x20, 0x0b, 0x4f, 0x74, 0x65, 0x23, 0x08, 0x5e, 0x65, 0x04, 0x2f, + 0xe1, 0x0b, 0x9b, 0x4a, 0x10, 0xff, 0x8a, 0xe0, 0x7f, 0x91, 0x81, 0x02, 0xab, 0xeb, 0xa1, 0x8b, + 0xce, 0x3a, 0x0a, 0xe9, 0x78, 0xbf, 0x60, 0xf2, 0x31, 0x63, 0xf2, 0x11, 0xbe, 0xda, 0x3b, 0x93, + 0x2a, 0x77, 0x1d, 0x89, 0xd3, 0x1a, 0x82, 0xb1, 0xd8, 0x06, 0x34, 0x2d, 0x35, 0xd3, 0xc6, 0x97, + 0xb4, 0xd4, 0x4c, 0x1d, 0x3e, 0xf2, 0xd7, 0x19, 0xd3, 0x45, 0x7c, 0xa5, 0x77, 0xa6, 0xba, 0xb1, + 0x1c, 0x61, 0xf9, 0x12, 0xc1, 0xde, 0xf8, 0x36, 0x1b, 0x77, 0x0b, 0x37, 0xb8, 0x97, 0xa7, 0xbb, + 0x37, 0x14, 0x44, 0x6f, 0x30, 0xa2, 0x1f, 0x62, 0x6d, 0x53, 0x88, 0x46, 0xe9, 0xdc, 0xcb, 0xc0, + 0x9e, 0xb6, 0xf6, 0x35, 0x2d, 0xef, 0x92, 0x9a, 0xf0, 0xb4, 0xbc, 0x4b, 0xec, 0x8f, 0x37, 0xa9, + 0xbc, 0xc6, 0x95, 0x96, 0x94, 0xc6, 0xbe, 0x41, 0x6a, 0x01, 0xa0, 0x82, 0x23, 0x28, 0xff, 0x8d, + 0x60, 0x67, 0xb4, 0x89, 0xc5, 0xa4, 0x13, 0x46, 0xa1, 0xb6, 0x5b, 0x39, 0xde, 0xb9, 0x81, 0xe0, + 0xff, 0x19, 0xa3, 0x5f, 0xc7, 0x5e, 0x7f, 0xd8, 0x47, 0xba, 0xf8, 0x08, 0x6d, 0xff, 0xc6, 0xe3, + 0xdf, 0x10, 0x8c, 0xc4, 0x74, 0xb9, 0x38, 0xa5, 0x0d, 0x48, 0x6e, 0xb8, 0x95, 0x37, 0xba, 0xb4, + 0x12, 0x12, 0x5c, 0x66, 0x12, 0xbc, 0x8f, 0xcf, 0xf7, 0x20, 0x41, 0xa4, 0x17, 0x9f, 0x5b, 0x7c, + 0xf4, 0x3c, 0x87, 0x1e, 0x3f, 0xcf, 0xa1, 0x3f, 0x9f, 0xe7, 0xd0, 0x37, 0x6b, 0xb9, 0x81, 0xc7, + 0x6b, 0xb9, 0x81, 0xdf, 0xd7, 0x72, 0x03, 0x37, 0xde, 0x2a, 0x9b, 0xde, 0x52, 0xad, 0xa8, 0x1a, + 0x76, 0x85, 0x88, 0x7f, 0x0c, 0x9a, 0x45, 0xe3, 0x58, 0xd9, 0x26, 0xf5, 0x59, 0x52, 0xb1, 0x4b, + 0xb5, 0x15, 0xea, 0x72, 0x08, 0xc7, 0x4f, 0x1e, 0x93, 0x28, 0xbc, 0xbb, 0x0e, 0x75, 0x8b, 0x5b, + 0xd9, 0x8f, 0xb8, 0x27, 0xfe, 0x0d, 0x00, 0x00, 0xff, 0xff, 0x2b, 0x7b, 0x87, 0x0e, 0xa8, 0x1c, + 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. diff --git a/modules/core/04-channel/types/tx.pb.go b/modules/core/04-channel/types/tx.pb.go index 00b9bc08691..41d25516508 100644 --- a/modules/core/04-channel/types/tx.pb.go +++ b/modules/core/04-channel/types/tx.pb.go @@ -6,7 +6,7 @@ package types import ( context "context" fmt "fmt" - types "github.com/cosmos/ibc-go/modules/core/02-client/types" + types "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" _ "github.com/gogo/protobuf/gogoproto" grpc1 "github.com/gogo/protobuf/grpc" proto "github.com/gogo/protobuf/proto" @@ -855,78 +855,78 @@ func init() { func init() { proto.RegisterFile("ibc/core/channel/v1/tx.proto", fileDescriptor_bc4637e0ac3fc7b7) } var fileDescriptor_bc4637e0ac3fc7b7 = []byte{ - // 1124 bytes of a gzipped FileDescriptorProto + // 1126 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x58, 0xcd, 0x6e, 0xdb, 0x46, - 0x10, 0xd6, 0x8f, 0x23, 0xdb, 0x63, 0x37, 0xb6, 0x29, 0xff, 0x28, 0x94, 0x2d, 0xba, 0x3c, 0x24, - 0x42, 0x8a, 0x48, 0xb1, 0x63, 0xb4, 0x68, 0xd0, 0x8b, 0x64, 0xa0, 0x68, 0x50, 0xb8, 0x09, 0x18, + 0x10, 0xd6, 0x8f, 0x2d, 0xdb, 0x63, 0x37, 0xb6, 0x29, 0xff, 0x28, 0x94, 0x2d, 0xba, 0x3c, 0x24, + 0x42, 0x8a, 0x88, 0xb1, 0x62, 0xa0, 0x48, 0xd0, 0x8b, 0x64, 0xa0, 0x68, 0x50, 0xb8, 0x29, 0x68, 0xb7, 0x07, 0xa3, 0x80, 0x20, 0xad, 0x36, 0x14, 0x21, 0x89, 0xab, 0x92, 0x94, 0x12, 0xbd, 0x41, 0x8f, 0x39, 0xf7, 0x94, 0x9e, 0x7b, 0x48, 0x1f, 0x23, 0xc7, 0x9c, 0xda, 0xa2, 0x07, 0xa2, 0xb0, - 0x2f, 0x3d, 0xf3, 0x09, 0x0a, 0xee, 0x2e, 0x29, 0x4a, 0x22, 0x2b, 0x2a, 0xa9, 0xdc, 0xdc, 0x96, - 0x33, 0xdf, 0xce, 0xce, 0x7e, 0xdf, 0x70, 0x76, 0x49, 0xd8, 0xd7, 0x1a, 0xa8, 0x8c, 0x88, 0x81, - 0xcb, 0xa8, 0x55, 0xd7, 0x75, 0xdc, 0x29, 0x0f, 0x8e, 0xca, 0xd6, 0x8b, 0x52, 0xcf, 0x20, 0x16, - 0x11, 0xb2, 0x5a, 0x03, 0x95, 0x5c, 0x6f, 0x89, 0x7b, 0x4b, 0x83, 0x23, 0x71, 0x5b, 0x25, 0x2a, - 0xa1, 0xfe, 0xb2, 0x3b, 0x62, 0x50, 0x51, 0x1a, 0x05, 0xea, 0x68, 0x58, 0xb7, 0xdc, 0x38, 0x6c, - 0xc4, 0x01, 0x1f, 0x87, 0xad, 0xe4, 0x85, 0xa5, 0x10, 0xf9, 0xe7, 0x24, 0x08, 0x67, 0xa6, 0x7a, - 0xca, 0x8c, 0x8f, 0x7b, 0x58, 0x7f, 0xa4, 0x6b, 0x96, 0xf0, 0x09, 0x2c, 0xf7, 0x88, 0x61, 0xd5, - 0xb4, 0x66, 0x2e, 0x79, 0x98, 0x2c, 0xae, 0x56, 0x05, 0xc7, 0x96, 0x6e, 0x0e, 0xeb, 0xdd, 0xce, - 0x43, 0x99, 0x3b, 0x64, 0x25, 0xe3, 0x8e, 0x1e, 0x35, 0x85, 0x2f, 0x60, 0x99, 0x07, 0xcd, 0xa5, - 0x0e, 0x93, 0xc5, 0xb5, 0xe3, 0xfd, 0x52, 0xc8, 0x26, 0x4a, 0x7c, 0x8d, 0xea, 0xd2, 0x1b, 0x5b, - 0x4a, 0x28, 0xde, 0x14, 0x61, 0x17, 0x32, 0xa6, 0xa6, 0xea, 0xd8, 0xc8, 0xa5, 0xdd, 0x95, 0x14, - 0xfe, 0xf4, 0x70, 0xe5, 0xc7, 0x57, 0x52, 0xe2, 0xef, 0x57, 0x52, 0x42, 0xde, 0x07, 0x71, 0x3a, - 0x45, 0x05, 0x9b, 0x3d, 0xa2, 0x9b, 0x58, 0xfe, 0x2d, 0x0d, 0x5b, 0xe3, 0xee, 0x73, 0x63, 0x38, - 0xdf, 0x06, 0xbe, 0x81, 0x6c, 0xcf, 0xc0, 0x03, 0x8d, 0xf4, 0xcd, 0x1a, 0x4f, 0xcb, 0x9d, 0x98, - 0xa2, 0x13, 0x0b, 0x8e, 0x2d, 0x89, 0x7c, 0xe2, 0x34, 0x48, 0x56, 0xb6, 0x3c, 0x2b, 0xcf, 0x60, - 0x9c, 0x90, 0xf4, 0xfc, 0x84, 0x28, 0xb0, 0x8d, 0x48, 0x5f, 0xb7, 0xb0, 0xd1, 0xab, 0x1b, 0xd6, - 0xb0, 0x36, 0xc0, 0x86, 0xa9, 0x11, 0x3d, 0xb7, 0x44, 0xd3, 0x91, 0x1c, 0x5b, 0xca, 0xb3, 0x74, - 0xc2, 0x50, 0xb2, 0x92, 0x0d, 0x9a, 0xbf, 0x63, 0x56, 0xe1, 0x04, 0xa0, 0x67, 0x10, 0xf2, 0xac, - 0xa6, 0xe9, 0x9a, 0x95, 0xbb, 0x71, 0x98, 0x2c, 0xae, 0x57, 0x77, 0x1c, 0x5b, 0xda, 0xf2, 0x36, - 0xe6, 0xf9, 0x64, 0x65, 0x95, 0x3e, 0xd0, 0x2a, 0xb8, 0x80, 0x75, 0xe6, 0x69, 0x61, 0x4d, 0x6d, - 0x59, 0xb9, 0x0c, 0xdd, 0x8c, 0x18, 0xd8, 0x0c, 0xab, 0xb6, 0xc1, 0x51, 0xe9, 0x2b, 0x8a, 0xa8, - 0xe6, 0xdd, 0xad, 0x38, 0xb6, 0x94, 0x0d, 0xc6, 0x65, 0xb3, 0x65, 0x65, 0x8d, 0x3e, 0x32, 0x64, - 0x40, 0xf6, 0xe5, 0x08, 0xd9, 0xf3, 0x70, 0x6b, 0x4a, 0x57, 0x5f, 0xf5, 0xdf, 0xa7, 0x54, 0xaf, - 0xa0, 0xf6, 0x7c, 0xaa, 0x9f, 0x00, 0x4c, 0x89, 0x1d, 0xe0, 0x24, 0xa8, 0xf1, 0x2a, 0xf2, 0xb5, - 0xbd, 0x80, 0xbd, 0x31, 0xde, 0x03, 0x21, 0x68, 0xfd, 0x56, 0x65, 0xc7, 0x96, 0x0a, 0x21, 0x02, - 0x05, 0xe3, 0xed, 0x04, 0x3d, 0xa3, 0xba, 0x59, 0x84, 0xf2, 0x47, 0xc0, 0x04, 0xad, 0x59, 0xc6, - 0x90, 0x0b, 0xbf, 0xed, 0xd8, 0xd2, 0x66, 0x50, 0x20, 0xcb, 0x18, 0xca, 0xca, 0x0a, 0x1d, 0xbb, - 0xef, 0xce, 0x07, 0x26, 0x7b, 0x05, 0xb5, 0x7d, 0xd9, 0x7f, 0x49, 0xc1, 0xce, 0xb8, 0xf7, 0x94, - 0xe8, 0xcf, 0x34, 0xa3, 0x7b, 0x1d, 0xd2, 0xfb, 0x54, 0xd6, 0x51, 0x9b, 0x8a, 0x1d, 0x42, 0x65, - 0x1d, 0xb5, 0x3d, 0x2a, 0xdd, 0x82, 0x9c, 0xa4, 0x72, 0x69, 0x21, 0x54, 0xde, 0x88, 0xa0, 0x52, - 0x82, 0x83, 0x50, 0xb2, 0x7c, 0x3a, 0x7f, 0x4a, 0x42, 0x76, 0x84, 0x38, 0xed, 0x10, 0x13, 0xcf, - 0xdf, 0xfe, 0xdf, 0x8d, 0xcc, 0xd9, 0x6d, 0xff, 0x00, 0xf2, 0x21, 0xb9, 0xf9, 0xb9, 0xbf, 0x4e, - 0xc1, 0xee, 0x84, 0xff, 0x1a, 0x6b, 0x61, 0xbc, 0xa1, 0xa6, 0xdf, 0xb1, 0xa1, 0x5e, 0x6f, 0x39, - 0x1c, 0x42, 0x21, 0x9c, 0x30, 0x9f, 0xd3, 0x97, 0x29, 0xf8, 0xe8, 0xcc, 0x54, 0x15, 0x8c, 0x06, - 0x4f, 0xea, 0xa8, 0x8d, 0x2d, 0xe1, 0x73, 0xc8, 0xf4, 0xe8, 0x88, 0x32, 0xb9, 0x76, 0x9c, 0x0f, - 0x3d, 0xc9, 0x18, 0x98, 0x1f, 0x64, 0x7c, 0x82, 0xf0, 0x25, 0x6c, 0xb2, 0x74, 0x11, 0xe9, 0x76, - 0x35, 0xab, 0x8b, 0x75, 0x8b, 0xd2, 0xbb, 0x5e, 0xcd, 0x3b, 0xb6, 0xb4, 0x17, 0xdc, 0xd0, 0x08, - 0x21, 0x2b, 0x1b, 0xd4, 0x74, 0xea, 0x5b, 0xa6, 0x48, 0x4b, 0x2f, 0x84, 0xb4, 0xa5, 0x08, 0xd2, - 0xf6, 0x68, 0xc3, 0x19, 0x31, 0xe2, 0x73, 0xf5, 0x67, 0x0a, 0xe0, 0xcc, 0x54, 0xcf, 0xb5, 0x2e, - 0x26, 0xfd, 0xff, 0x86, 0xa8, 0xbe, 0x6e, 0x60, 0x84, 0xb5, 0x01, 0x6e, 0x46, 0x11, 0x35, 0x42, - 0x78, 0x44, 0x7d, 0xeb, 0x5b, 0x16, 0x4a, 0xd4, 0xd7, 0x20, 0xe8, 0xf8, 0x85, 0x55, 0x33, 0xf1, - 0x0f, 0x7d, 0xac, 0x23, 0x5c, 0x33, 0x30, 0x1a, 0x50, 0xd2, 0x96, 0xaa, 0x07, 0x8e, 0x2d, 0xdd, - 0x62, 0x11, 0xa6, 0x31, 0xb2, 0xb2, 0xe9, 0x1a, 0x9f, 0x72, 0x9b, 0x4b, 0x64, 0x8c, 0x52, 0xdd, - 0xa6, 0xb7, 0x52, 0xce, 0xed, 0xa8, 0x5d, 0xb1, 0x43, 0x9f, 0x9b, 0x1f, 0xeb, 0xb4, 0x86, 0x3f, - 0x04, 0xe6, 0x3f, 0x83, 0x35, 0x5e, 0xc8, 0x6e, 0x46, 0xbc, 0x1d, 0xec, 0x3a, 0xb6, 0x24, 0x8c, - 0x55, 0xb9, 0xeb, 0x94, 0x15, 0xd6, 0x38, 0x58, 0xee, 0x8b, 0x6c, 0x08, 0xe1, 0x92, 0xdd, 0x78, - 0x5f, 0xc9, 0x32, 0xff, 0x7a, 0x6e, 0x8f, 0x6b, 0xe3, 0x2b, 0xf7, 0x6b, 0x8a, 0x0a, 0x5a, 0x41, - 0x6d, 0x9d, 0x3c, 0xef, 0xe0, 0xa6, 0x8a, 0xe9, 0xab, 0xfd, 0x1e, 0xd2, 0x15, 0x61, 0xa3, 0x3e, - 0x1e, 0x8d, 0x29, 0xa7, 0x4c, 0x9a, 0x47, 0xe2, 0xb8, 0x13, 0x9b, 0x51, 0xe2, 0x50, 0xa7, 0x27, - 0x4e, 0xc5, 0x7d, 0xf8, 0x9f, 0xbb, 0x35, 0xfb, 0xea, 0x99, 0x60, 0xcc, 0x23, 0xf4, 0xf8, 0xf5, - 0x0a, 0xa4, 0xcf, 0x4c, 0x55, 0x68, 0xc3, 0xc6, 0xe4, 0xb7, 0xdb, 0x9d, 0x50, 0x12, 0xa7, 0xbf, - 0xa0, 0xc4, 0x72, 0x4c, 0xa0, 0xb7, 0xa8, 0xd0, 0x82, 0x9b, 0x13, 0x9f, 0x59, 0xb7, 0x63, 0x84, - 0x38, 0x37, 0x86, 0x62, 0x29, 0x1e, 0x2e, 0x62, 0x25, 0xf7, 0x26, 0x15, 0x67, 0xa5, 0x0a, 0x6a, - 0xc7, 0x5a, 0x29, 0x70, 0xa3, 0x14, 0x2c, 0x10, 0x42, 0x6e, 0x93, 0x77, 0x63, 0x44, 0xe1, 0x58, - 0xf1, 0x38, 0x3e, 0xd6, 0x5f, 0x55, 0x87, 0xcd, 0xa9, 0x4b, 0x57, 0x71, 0x46, 0x1c, 0x1f, 0x29, - 0xde, 0x8f, 0x8b, 0xf4, 0xd7, 0x7b, 0x0e, 0xd9, 0xd0, 0x8b, 0x52, 0x9c, 0x40, 0xde, 0x3e, 0x1f, - 0xcc, 0x01, 0xf6, 0x17, 0xfe, 0x1e, 0x20, 0x70, 0x9b, 0x90, 0xa3, 0x42, 0x8c, 0x30, 0xe2, 0xdd, - 0xd9, 0x18, 0x3f, 0xfa, 0x53, 0x58, 0xf6, 0xce, 0x5f, 0x29, 0x6a, 0x1a, 0x07, 0x88, 0x77, 0x66, - 0x00, 0x82, 0xb5, 0x37, 0x71, 0xc2, 0xdc, 0x9e, 0x31, 0x95, 0xe3, 0xa2, 0x6b, 0x2f, 0xbc, 0x2b, - 0xba, 0x2f, 0xef, 0x64, 0x47, 0x8c, 0xcc, 0x72, 0x02, 0x18, 0xfd, 0xf2, 0x46, 0x74, 0x8c, 0xea, - 0x93, 0x37, 0x97, 0x85, 0xe4, 0xdb, 0xcb, 0x42, 0xf2, 0xaf, 0xcb, 0x42, 0xf2, 0xe5, 0x55, 0x21, - 0xf1, 0xf6, 0xaa, 0x90, 0xf8, 0xe3, 0xaa, 0x90, 0xb8, 0xf8, 0x54, 0xd5, 0xac, 0x56, 0xbf, 0x51, - 0x42, 0xa4, 0x5b, 0x46, 0xc4, 0xec, 0x12, 0xb3, 0xac, 0x35, 0xd0, 0x3d, 0x95, 0x94, 0xbb, 0xa4, - 0xd9, 0xef, 0x60, 0x93, 0xfd, 0x43, 0xba, 0x7f, 0x72, 0xcf, 0xfb, 0x8d, 0x64, 0x0d, 0x7b, 0xd8, - 0x6c, 0x64, 0xe8, 0x2f, 0xa4, 0x07, 0xff, 0x04, 0x00, 0x00, 0xff, 0xff, 0x40, 0xf7, 0xc0, 0x94, - 0xd1, 0x12, 0x00, 0x00, + 0x2f, 0x3d, 0xf3, 0x09, 0x0a, 0x2e, 0x97, 0x14, 0x25, 0x91, 0x15, 0x95, 0x54, 0x4e, 0x6e, 0xcb, + 0x99, 0x6f, 0x67, 0x67, 0xbf, 0x6f, 0x38, 0xbb, 0x24, 0x1c, 0xa8, 0x0d, 0x24, 0x21, 0xa2, 0x63, + 0x09, 0xb5, 0xea, 0x9a, 0x86, 0x3b, 0xd2, 0xe0, 0x58, 0x32, 0x5f, 0x94, 0x7a, 0x3a, 0x31, 0x09, + 0x97, 0x55, 0x1b, 0xa8, 0xe4, 0x78, 0x4b, 0xcc, 0x5b, 0x1a, 0x1c, 0xf3, 0x3b, 0x0a, 0x51, 0x08, + 0xf5, 0x4b, 0xce, 0xc8, 0x85, 0xf2, 0xc2, 0x28, 0x50, 0x47, 0xc5, 0x9a, 0xe9, 0xc4, 0x71, 0x47, + 0x0c, 0xf0, 0x69, 0xd8, 0x4a, 0x5e, 0x58, 0x0a, 0x11, 0x7f, 0x49, 0x02, 0x77, 0x66, 0x28, 0xa7, + 0xae, 0xf1, 0x69, 0x0f, 0x6b, 0x4f, 0x34, 0xd5, 0xe4, 0x3e, 0x83, 0x95, 0x1e, 0xd1, 0xcd, 0x9a, + 0xda, 0xcc, 0x25, 0x8f, 0x92, 0xc5, 0xb5, 0x2a, 0x67, 0x5b, 0xc2, 0xad, 0x61, 0xbd, 0xdb, 0x79, + 0x2c, 0x32, 0x87, 0x28, 0x67, 0x9c, 0xd1, 0x93, 0x26, 0xf7, 0x05, 0xac, 0xb0, 0xa0, 0xb9, 0xd4, + 0x51, 0xb2, 0xb8, 0x5e, 0x3e, 0x28, 0x85, 0x6c, 0xa2, 0xc4, 0xd6, 0xa8, 0x2e, 0xbd, 0xb1, 0x84, + 0x84, 0xec, 0x4d, 0xe1, 0xf6, 0x20, 0x63, 0xa8, 0x8a, 0x86, 0xf5, 0x5c, 0xda, 0x59, 0x49, 0x66, + 0x4f, 0x8f, 0x57, 0x7f, 0x7a, 0x25, 0x24, 0xfe, 0x79, 0x25, 0x24, 0xc4, 0x03, 0xe0, 0xa7, 0x53, + 0x94, 0xb1, 0xd1, 0x23, 0x9a, 0x81, 0xc5, 0xdf, 0xd3, 0xb0, 0x3d, 0xee, 0xbe, 0xd0, 0x87, 0xf3, + 0x6d, 0xe0, 0x1b, 0xc8, 0xf6, 0x74, 0x3c, 0x50, 0x49, 0xdf, 0xa8, 0xb1, 0xb4, 0x9c, 0x89, 0x29, + 0x3a, 0xb1, 0x60, 0x5b, 0x02, 0xcf, 0x26, 0x4e, 0x83, 0x44, 0x79, 0xdb, 0xb3, 0xb2, 0x0c, 0xc6, + 0x09, 0x49, 0xcf, 0x4f, 0x88, 0x0c, 0x3b, 0x88, 0xf4, 0x35, 0x13, 0xeb, 0xbd, 0xba, 0x6e, 0x0e, + 0x6b, 0x03, 0xac, 0x1b, 0x2a, 0xd1, 0x72, 0x4b, 0x34, 0x1d, 0xc1, 0xb6, 0x84, 0xbc, 0x9b, 0x4e, + 0x18, 0x4a, 0x94, 0xb3, 0x41, 0xf3, 0xf7, 0xae, 0x95, 0x3b, 0x01, 0xe8, 0xe9, 0x84, 0x3c, 0xab, + 0xa9, 0x9a, 0x6a, 0xe6, 0x96, 0x8f, 0x92, 0xc5, 0x8d, 0xea, 0xae, 0x6d, 0x09, 0xdb, 0xde, 0xc6, + 0x3c, 0x9f, 0x28, 0xaf, 0xd1, 0x07, 0x5a, 0x05, 0x97, 0xb0, 0xe1, 0x7a, 0x5a, 0x58, 0x55, 0x5a, + 0x66, 0x2e, 0x43, 0x37, 0xc3, 0x07, 0x36, 0xe3, 0x56, 0xdb, 0xe0, 0xb8, 0xf4, 0x15, 0x45, 0x54, + 0xf3, 0xce, 0x56, 0x6c, 0x4b, 0xc8, 0x06, 0xe3, 0xba, 0xb3, 0x45, 0x79, 0x9d, 0x3e, 0xba, 0xc8, + 0x80, 0xec, 0x2b, 0x11, 0xb2, 0xe7, 0xe1, 0xf6, 0x94, 0xae, 0xbe, 0xea, 0x7f, 0x4c, 0xa9, 0x5e, + 0x41, 0xed, 0xf9, 0x54, 0x3f, 0x01, 0x98, 0x12, 0x3b, 0xc0, 0x49, 0x50, 0xe3, 0x35, 0xe4, 0x6b, + 0x7b, 0x09, 0xfb, 0x63, 0xbc, 0x07, 0x42, 0xd0, 0xfa, 0xad, 0x8a, 0xb6, 0x25, 0x14, 0x42, 0x04, + 0x0a, 0xc6, 0xdb, 0x0d, 0x7a, 0x46, 0x75, 0xb3, 0x08, 0xe5, 0x8f, 0xc1, 0x15, 0xb4, 0x66, 0xea, + 0x43, 0x26, 0xfc, 0x8e, 0x6d, 0x09, 0x5b, 0x41, 0x81, 0x4c, 0x7d, 0x28, 0xca, 0xab, 0x74, 0xec, + 0xbc, 0x3b, 0x1f, 0x99, 0xec, 0x15, 0xd4, 0xf6, 0x65, 0xff, 0x35, 0x05, 0xbb, 0xe3, 0xde, 0x53, + 0xa2, 0x3d, 0x53, 0xf5, 0xee, 0x4d, 0x48, 0xef, 0x53, 0x59, 0x47, 0x6d, 0x2a, 0x76, 0x08, 0x95, + 0x75, 0xd4, 0xf6, 0xa8, 0x74, 0x0a, 0x72, 0x92, 0xca, 0xa5, 0x85, 0x50, 0xb9, 0x1c, 0x41, 0xa5, + 0x00, 0x87, 0xa1, 0x64, 0xf9, 0x74, 0xfe, 0x9c, 0x84, 0xec, 0x08, 0x71, 0xda, 0x21, 0x06, 0x9e, + 0xbf, 0xfd, 0xbf, 0x1b, 0x99, 0xb3, 0xdb, 0xfe, 0x21, 0xe4, 0x43, 0x72, 0xf3, 0x73, 0x7f, 0x9d, + 0x82, 0xbd, 0x09, 0xff, 0x0d, 0xd6, 0xc2, 0x78, 0x43, 0x4d, 0xbf, 0x63, 0x43, 0xbd, 0xd9, 0x72, + 0x38, 0x82, 0x42, 0x38, 0x61, 0x3e, 0xa7, 0x2f, 0x53, 0xf0, 0xc9, 0x99, 0xa1, 0xc8, 0x18, 0x0d, + 0xbe, 0xad, 0xa3, 0x36, 0x36, 0xb9, 0x47, 0x90, 0xe9, 0xd1, 0x11, 0x65, 0x72, 0xbd, 0x9c, 0x0f, + 0x3d, 0xc9, 0x5c, 0x30, 0x3b, 0xc8, 0xd8, 0x04, 0xee, 0x4b, 0xd8, 0x72, 0xd3, 0x45, 0xa4, 0xdb, + 0x55, 0xcd, 0x2e, 0xd6, 0x4c, 0x4a, 0xef, 0x46, 0x35, 0x6f, 0x5b, 0xc2, 0x7e, 0x70, 0x43, 0x23, + 0x84, 0x28, 0x6f, 0x52, 0xd3, 0xa9, 0x6f, 0x99, 0x22, 0x2d, 0xbd, 0x10, 0xd2, 0x96, 0x22, 0x48, + 0xdb, 0xa7, 0x0d, 0x67, 0xc4, 0x88, 0xcf, 0xd5, 0x5f, 0x29, 0x80, 0x33, 0x43, 0xb9, 0x50, 0xbb, + 0x98, 0xf4, 0xff, 0x1f, 0xa2, 0xfa, 0x9a, 0x8e, 0x11, 0x56, 0x07, 0xb8, 0x19, 0x45, 0xd4, 0x08, + 0xe1, 0x11, 0xf5, 0x9d, 0x6f, 0x59, 0x28, 0x51, 0x5f, 0x03, 0xa7, 0xe1, 0x17, 0x66, 0xcd, 0xc0, + 0x3f, 0xf6, 0xb1, 0x86, 0x70, 0x4d, 0xc7, 0x68, 0x40, 0x49, 0x5b, 0xaa, 0x1e, 0xda, 0x96, 0x70, + 0xdb, 0x8d, 0x30, 0x8d, 0x11, 0xe5, 0x2d, 0xc7, 0x78, 0xce, 0x6c, 0x0e, 0x91, 0x31, 0x4a, 0x75, + 0x87, 0xde, 0x4a, 0x19, 0xb7, 0xa3, 0x76, 0xe5, 0x1e, 0xfa, 0xcc, 0xfc, 0x54, 0xa3, 0x35, 0xfc, + 0x31, 0x30, 0xff, 0x39, 0xac, 0xb3, 0x42, 0x76, 0x32, 0x62, 0xed, 0x60, 0xcf, 0xb6, 0x04, 0x6e, + 0xac, 0xca, 0x1d, 0xa7, 0x28, 0xbb, 0x8d, 0xc3, 0xcd, 0x7d, 0x91, 0x0d, 0x21, 0x5c, 0xb2, 0xe5, + 0xf7, 0x95, 0x2c, 0xf3, 0x9f, 0xe7, 0xf6, 0xb8, 0x36, 0xbe, 0x72, 0xbf, 0xa5, 0xa8, 0xa0, 0x15, + 0xd4, 0xd6, 0xc8, 0xf3, 0x0e, 0x6e, 0x2a, 0x98, 0xbe, 0xda, 0xef, 0x21, 0x5d, 0x11, 0x36, 0xeb, + 0xe3, 0xd1, 0x5c, 0xe5, 0xe4, 0x49, 0xf3, 0x48, 0x1c, 0x67, 0x62, 0x33, 0x4a, 0x1c, 0xea, 0xf4, + 0xc4, 0xa9, 0x38, 0x0f, 0x1f, 0xb8, 0x5b, 0xbb, 0x5f, 0x3d, 0x13, 0x8c, 0x79, 0x84, 0x96, 0x5f, + 0xaf, 0x42, 0xfa, 0xcc, 0x50, 0xb8, 0x36, 0x6c, 0x4e, 0x7e, 0xbb, 0xdd, 0x0d, 0x25, 0x71, 0xfa, + 0x0b, 0x8a, 0x97, 0x62, 0x02, 0xbd, 0x45, 0xb9, 0x16, 0xdc, 0x9a, 0xf8, 0xcc, 0xba, 0x13, 0x23, + 0xc4, 0x85, 0x3e, 0xe4, 0x4b, 0xf1, 0x70, 0x11, 0x2b, 0x39, 0x37, 0xa9, 0x38, 0x2b, 0x55, 0x50, + 0x3b, 0xd6, 0x4a, 0x81, 0x1b, 0x25, 0x67, 0x02, 0x17, 0x72, 0x9b, 0xbc, 0x17, 0x23, 0x0a, 0xc3, + 0xf2, 0xe5, 0xf8, 0x58, 0x7f, 0x55, 0x0d, 0xb6, 0xa6, 0x2e, 0x5d, 0xc5, 0x19, 0x71, 0x7c, 0x24, + 0xff, 0x20, 0x2e, 0xd2, 0x5f, 0xef, 0x39, 0x64, 0x43, 0x2f, 0x4a, 0x71, 0x02, 0x79, 0xfb, 0x7c, + 0x38, 0x07, 0xd8, 0x5f, 0xf8, 0x07, 0x80, 0xc0, 0x6d, 0x42, 0x8c, 0x0a, 0x31, 0xc2, 0xf0, 0xf7, + 0x66, 0x63, 0xfc, 0xe8, 0xe7, 0xb0, 0xe2, 0x9d, 0xbf, 0x42, 0xd4, 0x34, 0x06, 0xe0, 0xef, 0xce, + 0x00, 0x04, 0x6b, 0x6f, 0xe2, 0x84, 0xb9, 0x33, 0x63, 0x2a, 0xc3, 0x45, 0xd7, 0x5e, 0x78, 0x57, + 0x74, 0x5e, 0xde, 0xc9, 0x8e, 0x18, 0x99, 0xe5, 0x04, 0x30, 0xfa, 0xe5, 0x8d, 0xe8, 0x18, 0xd5, + 0xf3, 0x37, 0x57, 0x85, 0xe4, 0xdb, 0xab, 0x42, 0xf2, 0xef, 0xab, 0x42, 0xf2, 0xe5, 0x75, 0x21, + 0xf1, 0xf6, 0xba, 0x90, 0xf8, 0xf3, 0xba, 0x90, 0xb8, 0x7c, 0xa4, 0xa8, 0x66, 0xab, 0xdf, 0x28, + 0x21, 0xd2, 0x95, 0x10, 0x31, 0xba, 0xc4, 0x90, 0xd4, 0x06, 0xba, 0xaf, 0x10, 0x69, 0x50, 0x96, + 0xba, 0xa4, 0xd9, 0xef, 0x60, 0xc3, 0xfd, 0x8d, 0xf4, 0xe0, 0xe4, 0xbe, 0xf7, 0x27, 0xc9, 0x1c, + 0xf6, 0xb0, 0xd1, 0xc8, 0xd0, 0xbf, 0x48, 0x0f, 0xff, 0x0d, 0x00, 0x00, 0xff, 0xff, 0x32, 0xba, + 0xc2, 0x9b, 0xd4, 0x12, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. diff --git a/modules/core/05-port/keeper/grpc_query.go b/modules/core/05-port/keeper/grpc_query.go index a665b0cee75..ebf9f0f4460 100644 --- a/modules/core/05-port/keeper/grpc_query.go +++ b/modules/core/05-port/keeper/grpc_query.go @@ -8,8 +8,8 @@ import ( "google.golang.org/grpc/codes" "google.golang.org/grpc/status" - "github.com/cosmos/ibc-go/modules/core/05-port/types" - host "github.com/cosmos/ibc-go/modules/core/24-host" + "github.com/cosmos/ibc-go/v2/modules/core/05-port/types" + host "github.com/cosmos/ibc-go/v2/modules/core/24-host" ) var _ types.QueryServer = (*Keeper)(nil) diff --git a/modules/core/05-port/keeper/grpc_query_test.go b/modules/core/05-port/keeper/grpc_query_test.go index 716727ece68..87e0caccbbb 100644 --- a/modules/core/05-port/keeper/grpc_query_test.go +++ b/modules/core/05-port/keeper/grpc_query_test.go @@ -5,9 +5,9 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" - channeltypes "github.com/cosmos/ibc-go/modules/core/04-channel/types" - "github.com/cosmos/ibc-go/modules/core/05-port/types" - "github.com/cosmos/ibc-go/testing/mock" + channeltypes "github.com/cosmos/ibc-go/v2/modules/core/04-channel/types" + "github.com/cosmos/ibc-go/v2/modules/core/05-port/types" + "github.com/cosmos/ibc-go/v2/testing/mock" ) func (suite *KeeperTestSuite) TestAppVersion() { diff --git a/modules/core/05-port/keeper/keeper.go b/modules/core/05-port/keeper/keeper.go index dd5f17a24fe..d864e60456c 100644 --- a/modules/core/05-port/keeper/keeper.go +++ b/modules/core/05-port/keeper/keeper.go @@ -8,8 +8,8 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" capabilitykeeper "github.com/cosmos/cosmos-sdk/x/capability/keeper" capabilitytypes "github.com/cosmos/cosmos-sdk/x/capability/types" - "github.com/cosmos/ibc-go/modules/core/05-port/types" - host "github.com/cosmos/ibc-go/modules/core/24-host" + "github.com/cosmos/ibc-go/v2/modules/core/05-port/types" + host "github.com/cosmos/ibc-go/v2/modules/core/24-host" ) // Keeper defines the IBC connection keeper diff --git a/modules/core/05-port/keeper/keeper_test.go b/modules/core/05-port/keeper/keeper_test.go index bdca5bef297..1bfc7428f19 100644 --- a/modules/core/05-port/keeper/keeper_test.go +++ b/modules/core/05-port/keeper/keeper_test.go @@ -8,8 +8,8 @@ import ( tmproto "github.com/tendermint/tendermint/proto/tendermint/types" sdk "github.com/cosmos/cosmos-sdk/types" - "github.com/cosmos/ibc-go/modules/core/05-port/keeper" - "github.com/cosmos/ibc-go/testing/simapp" + "github.com/cosmos/ibc-go/v2/modules/core/05-port/keeper" + "github.com/cosmos/ibc-go/v2/testing/simapp" ) var ( diff --git a/modules/core/05-port/module.go b/modules/core/05-port/module.go index 7dfefb140e2..1609efe5762 100644 --- a/modules/core/05-port/module.go +++ b/modules/core/05-port/module.go @@ -4,8 +4,8 @@ import ( "github.com/gogo/protobuf/grpc" "github.com/spf13/cobra" - "github.com/cosmos/ibc-go/modules/core/05-port/types" - "github.com/cosmos/ibc-go/modules/core/client/cli" + "github.com/cosmos/ibc-go/v2/modules/core/05-port/types" + "github.com/cosmos/ibc-go/v2/modules/core/client/cli" ) // Name returns the IBC port ICS name. diff --git a/modules/core/05-port/types/module.go b/modules/core/05-port/types/module.go index d80ad851071..8e4bd092f67 100644 --- a/modules/core/05-port/types/module.go +++ b/modules/core/05-port/types/module.go @@ -4,8 +4,8 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" capabilitytypes "github.com/cosmos/cosmos-sdk/x/capability/types" - channeltypes "github.com/cosmos/ibc-go/modules/core/04-channel/types" - "github.com/cosmos/ibc-go/modules/core/exported" + channeltypes "github.com/cosmos/ibc-go/v2/modules/core/04-channel/types" + "github.com/cosmos/ibc-go/v2/modules/core/exported" ) // IBCModule defines an interface that implements all the callbacks diff --git a/modules/core/05-port/types/query.pb.go b/modules/core/05-port/types/query.pb.go index 5c80d520815..75e71c0de13 100644 --- a/modules/core/05-port/types/query.pb.go +++ b/modules/core/05-port/types/query.pb.go @@ -6,7 +6,7 @@ package types import ( context "context" fmt "fmt" - types "github.com/cosmos/ibc-go/modules/core/04-channel/types" + types "github.com/cosmos/ibc-go/v2/modules/core/04-channel/types" grpc1 "github.com/gogo/protobuf/grpc" proto "github.com/gogo/protobuf/proto" grpc "google.golang.org/grpc" @@ -173,31 +173,31 @@ func init() { func init() { proto.RegisterFile("ibc/core/port/v1/query.proto", fileDescriptor_9a256596009a8334) } var fileDescriptor_9a256596009a8334 = []byte{ - // 371 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x52, 0x3f, 0x8f, 0xda, 0x30, - 0x14, 0x4f, 0x68, 0x81, 0xd6, 0xa5, 0x2d, 0xf2, 0x50, 0x22, 0x54, 0x45, 0x40, 0x97, 0x30, 0xe0, - 0x14, 0x50, 0xbb, 0xb7, 0x55, 0x07, 0xa4, 0x56, 0x55, 0x33, 0x74, 0xe8, 0x82, 0x88, 0x63, 0x81, - 0x25, 0xf0, 0x33, 0xb6, 0x13, 0x89, 0xed, 0x3e, 0xc2, 0x7d, 0xac, 0x1b, 0x19, 0x6f, 0x3c, 0xc1, - 0x17, 0x39, 0x39, 0x21, 0x70, 0x7f, 0x38, 0xe9, 0x36, 0xbf, 0xf7, 0xfb, 0xa3, 0xdf, 0x7b, 0x7e, - 0xe8, 0x23, 0x8f, 0x69, 0x48, 0x41, 0xb1, 0x50, 0x82, 0x32, 0x61, 0x36, 0x0c, 0xd7, 0x29, 0x53, - 0x1b, 0x22, 0x15, 0x18, 0xc0, 0x4d, 0x1e, 0x53, 0x62, 0x51, 0x62, 0x51, 0x92, 0x0d, 0xdb, 0xdd, - 0x23, 0x9f, 0x2e, 0x66, 0x42, 0xb0, 0xa5, 0x95, 0x1c, 0x9e, 0x85, 0xa8, 0x77, 0x51, 0x41, 0x1f, - 0xfe, 0x5a, 0x93, 0x6f, 0x52, 0xfe, 0x63, 0x4a, 0x73, 0x10, 0x11, 0x5b, 0xa7, 0x4c, 0x1b, 0xdc, - 0x42, 0x75, 0x6b, 0x34, 0xe5, 0x89, 0xe7, 0x76, 0xdc, 0xe0, 0x75, 0x54, 0xb3, 0xe5, 0x24, 0xc1, - 0x9f, 0xd0, 0x5b, 0x0a, 0x42, 0x30, 0x6a, 0x38, 0x08, 0x0b, 0x57, 0x72, 0xb8, 0x71, 0x6a, 0x4e, - 0x12, 0xfc, 0x15, 0xbd, 0x02, 0x95, 0x30, 0xc5, 0xc5, 0xdc, 0x7b, 0xd1, 0x71, 0x83, 0x77, 0xa3, - 0x36, 0x39, 0x06, 0x2c, 0x33, 0x64, 0x43, 0xf2, 0xc7, 0x92, 0xa2, 0x23, 0x17, 0xff, 0x44, 0x0d, - 0x0a, 0xa9, 0x30, 0x4c, 0xc9, 0x99, 0x32, 0x1b, 0xef, 0x65, 0xc7, 0x0d, 0xde, 0x8c, 0xba, 0x67, - 0xb5, 0x3f, 0xee, 0x10, 0xa3, 0x7b, 0x32, 0xdc, 0x47, 0x4d, 0xa9, 0x40, 0x82, 0x66, 0xc9, 0x34, - 0x2b, 0xe6, 0xf2, 0xaa, 0x79, 0xcc, 0xf7, 0x65, 0xff, 0x30, 0x6e, 0xef, 0x17, 0x6a, 0x3d, 0xda, - 0x80, 0x96, 0x20, 0x34, 0x7b, 0x7a, 0x05, 0x1e, 0xaa, 0x97, 0xae, 0xc5, 0xf0, 0x65, 0x39, 0x5a, - 0xa2, 0x6a, 0xee, 0x86, 0x29, 0x42, 0x27, 0x47, 0x1c, 0x90, 0x87, 0xbf, 0x43, 0xce, 0xaf, 0xbd, - 0xdd, 0x7f, 0x06, 0xb3, 0x88, 0xd7, 0x73, 0xbe, 0xff, 0xbe, 0xda, 0xf9, 0xee, 0x76, 0xe7, 0xbb, - 0x37, 0x3b, 0xdf, 0xbd, 0xdc, 0xfb, 0xce, 0x76, 0xef, 0x3b, 0xd7, 0x7b, 0xdf, 0xf9, 0x3f, 0x9e, - 0x73, 0xb3, 0x48, 0x63, 0x42, 0x61, 0x15, 0x52, 0xd0, 0x2b, 0xd0, 0x21, 0x8f, 0xe9, 0x60, 0x0e, - 0xe1, 0x0a, 0x92, 0x74, 0xc9, 0x74, 0x71, 0x18, 0x9f, 0xbf, 0x0c, 0xf2, 0x5b, 0x32, 0x1b, 0xc9, - 0x74, 0x5c, 0xcb, 0x8f, 0x62, 0x7c, 0x1b, 0x00, 0x00, 0xff, 0xff, 0x19, 0xf0, 0xfb, 0x67, 0x69, - 0x02, 0x00, 0x00, + // 370 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x52, 0x4f, 0x0f, 0xd2, 0x30, + 0x14, 0xdf, 0x50, 0x40, 0x2b, 0x2a, 0xe9, 0x41, 0x16, 0x62, 0x16, 0xc0, 0xcb, 0x38, 0xd0, 0xca, + 0x8c, 0xdc, 0xd5, 0x78, 0x20, 0x31, 0x51, 0x77, 0xf0, 0xe0, 0x85, 0xb0, 0xae, 0x81, 0x26, 0xd0, + 0x57, 0xda, 0x6e, 0x09, 0x37, 0x3f, 0x82, 0x1f, 0xcb, 0x23, 0x47, 0x8f, 0x06, 0xbe, 0x88, 0xe9, + 0xc6, 0xc0, 0x3f, 0x98, 0x78, 0xeb, 0x7b, 0xbf, 0x3f, 0xf9, 0xbd, 0xd7, 0x87, 0x9e, 0x8a, 0x94, + 0x51, 0x06, 0x9a, 0x53, 0x05, 0xda, 0xd2, 0x62, 0x4a, 0x77, 0x39, 0xd7, 0x7b, 0xa2, 0x34, 0x58, + 0xc0, 0x5d, 0x91, 0x32, 0xe2, 0x50, 0xe2, 0x50, 0x52, 0x4c, 0xfb, 0xc3, 0x0b, 0x9f, 0xad, 0x97, + 0x52, 0xf2, 0x8d, 0x93, 0x9c, 0x9f, 0x95, 0x68, 0xf4, 0xa5, 0x81, 0x9e, 0x7c, 0x74, 0x26, 0xaf, + 0x94, 0xfa, 0xc4, 0xb5, 0x11, 0x20, 0x13, 0xbe, 0xcb, 0xb9, 0xb1, 0xb8, 0x87, 0xda, 0xce, 0x68, + 0x21, 0xb2, 0xc0, 0x1f, 0xf8, 0xd1, 0xfd, 0xa4, 0xe5, 0xca, 0x79, 0x86, 0x9f, 0xa1, 0x87, 0x0c, + 0xa4, 0xe4, 0xcc, 0x0a, 0x90, 0x0e, 0x6e, 0x94, 0x70, 0xe7, 0xda, 0x9c, 0x67, 0x78, 0x86, 0xee, + 0x81, 0xce, 0xb8, 0x16, 0x72, 0x15, 0xdc, 0x19, 0xf8, 0xd1, 0xa3, 0xb8, 0x4f, 0x2e, 0x01, 0xeb, + 0x0c, 0xc5, 0x94, 0xbc, 0x77, 0xa4, 0xe4, 0xc2, 0xc5, 0x6f, 0x51, 0x87, 0x41, 0x2e, 0x2d, 0xd7, + 0x6a, 0xa9, 0xed, 0x3e, 0xb8, 0x3b, 0xf0, 0xa3, 0x07, 0xf1, 0xf0, 0xa6, 0xf6, 0xcd, 0x2f, 0xc4, + 0xe4, 0x37, 0x19, 0x1e, 0xa3, 0xae, 0xd2, 0xa0, 0xc0, 0xf0, 0x6c, 0x51, 0x54, 0x73, 0x05, 0xcd, + 0x32, 0xe6, 0xe3, 0xba, 0x7f, 0x1e, 0x77, 0xf4, 0x0e, 0xf5, 0xfe, 0xda, 0x80, 0x51, 0x20, 0x0d, + 0xff, 0xf7, 0x0a, 0x02, 0xd4, 0xae, 0x5d, 0xab, 0xe1, 0xeb, 0x32, 0xde, 0xa0, 0x66, 0xe9, 0x86, + 0x19, 0x42, 0x57, 0x47, 0x1c, 0x91, 0x3f, 0x7f, 0x87, 0xdc, 0x5e, 0x7b, 0x7f, 0xfc, 0x1f, 0xcc, + 0x2a, 0xde, 0xc8, 0x7b, 0xfd, 0xe1, 0xdb, 0x31, 0xf4, 0x0f, 0xc7, 0xd0, 0xff, 0x71, 0x0c, 0xfd, + 0xaf, 0xa7, 0xd0, 0x3b, 0x9c, 0x42, 0xef, 0xfb, 0x29, 0xf4, 0x3e, 0xcf, 0x56, 0xc2, 0xae, 0xf3, + 0x94, 0x30, 0xd8, 0x52, 0x06, 0x66, 0x0b, 0x86, 0x8a, 0x94, 0x4d, 0x56, 0x40, 0x8b, 0x98, 0x6e, + 0x21, 0xcb, 0x37, 0xdc, 0x54, 0xb7, 0xf1, 0xfc, 0xe5, 0xa4, 0x3c, 0x27, 0xbb, 0x57, 0xdc, 0xa4, + 0xad, 0xf2, 0x2e, 0x5e, 0xfc, 0x0c, 0x00, 0x00, 0xff, 0xff, 0x8c, 0xe3, 0x0f, 0x88, 0x6c, 0x02, + 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. diff --git a/modules/core/23-commitment/types/codec.go b/modules/core/23-commitment/types/codec.go index a8ebda9b019..5ef95233486 100644 --- a/modules/core/23-commitment/types/codec.go +++ b/modules/core/23-commitment/types/codec.go @@ -2,7 +2,7 @@ package types import ( codectypes "github.com/cosmos/cosmos-sdk/codec/types" - "github.com/cosmos/ibc-go/modules/core/exported" + "github.com/cosmos/ibc-go/v2/modules/core/exported" ) // RegisterInterfaces registers the commitment interfaces to protobuf Any. diff --git a/modules/core/23-commitment/types/commitment.pb.go b/modules/core/23-commitment/types/commitment.pb.go index 7d94a5c9908..1de44609bf2 100644 --- a/modules/core/23-commitment/types/commitment.pb.go +++ b/modules/core/23-commitment/types/commitment.pb.go @@ -217,29 +217,29 @@ func init() { } var fileDescriptor_7921d88972a41469 = []byte{ - // 337 bytes of a gzipped FileDescriptorProto + // 340 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x4c, 0x91, 0xbf, 0x4e, 0xeb, 0x30, 0x14, 0xc6, 0x13, 0xdd, 0xaa, 0x97, 0xba, 0x95, 0x10, 0x29, 0x54, 0xa8, 0x43, 0x8a, 0x32, 0x40, - 0x97, 0xda, 0x6a, 0xcb, 0x42, 0x25, 0x96, 0xc0, 0x8a, 0x54, 0x85, 0x8d, 0x05, 0x25, 0xc6, 0x49, - 0xac, 0x36, 0x3d, 0x51, 0xec, 0x56, 0xe4, 0x0d, 0x18, 0x19, 0x19, 0x79, 0x1c, 0xc6, 0x8e, 0x4c, - 0x15, 0x6a, 0xde, 0xa0, 0x4f, 0x80, 0x62, 0x53, 0xc8, 0x76, 0x8e, 0xcf, 0xef, 0xfc, 0xf1, 0xf7, - 0xa1, 0x0b, 0x1e, 0x50, 0x42, 0x21, 0x63, 0x84, 0x42, 0x92, 0x70, 0x99, 0xb0, 0x85, 0x24, 0xab, - 0x61, 0x25, 0xc3, 0x69, 0x06, 0x12, 0xac, 0x0e, 0x0f, 0x28, 0x2e, 0x41, 0x5c, 0x29, 0xad, 0x86, - 0xdd, 0xe3, 0x08, 0x22, 0x50, 0x08, 0x29, 0x23, 0x4d, 0x77, 0xdb, 0x14, 0x16, 0x21, 0x07, 0x92, - 0x66, 0x00, 0xa1, 0xd0, 0x8f, 0xce, 0x39, 0x42, 0x77, 0x2c, 0x9b, 0xcd, 0x99, 0x07, 0x20, 0x2d, - 0x0b, 0xd5, 0x62, 0x5f, 0xc4, 0xa7, 0xe6, 0x99, 0xd9, 0x6f, 0x79, 0x2a, 0x9e, 0xd4, 0x5e, 0xde, - 0x7b, 0x86, 0x73, 0x8b, 0x5a, 0x9a, 0x9b, 0x66, 0x2c, 0xe4, 0xcf, 0xd6, 0x25, 0x42, 0x33, 0x96, - 0x3f, 0xa6, 0x2a, 0xd3, 0xbc, 0x7b, 0xb2, 0xdb, 0xf4, 0x8e, 0x72, 0x3f, 0x99, 0x4f, 0x9c, 0xbf, - 0x9a, 0xe3, 0x35, 0x66, 0x2c, 0xd7, 0x5d, 0x8e, 0xbb, 0xdf, 0x36, 0xf5, 0x65, 0x6c, 0x61, 0x74, - 0xa0, 0x38, 0x5f, 0x96, 0x1b, 0xff, 0xf5, 0x1b, 0x6e, 0x7b, 0xb7, 0xe9, 0x1d, 0x56, 0x26, 0xf8, - 0x32, 0x76, 0xbc, 0xff, 0x65, 0xbf, 0x2f, 0xe3, 0x49, 0xed, 0xad, 0xbc, 0xe4, 0x1a, 0x35, 0xf7, - 0x97, 0x00, 0x84, 0x16, 0x46, 0x75, 0xfd, 0x21, 0x35, 0xa2, 0x39, 0xea, 0x60, 0x4e, 0xc5, 0x68, - 0x8c, 0x6f, 0x7e, 0x15, 0x51, 0x9c, 0xf7, 0x43, 0xb9, 0xf7, 0x1f, 0x5b, 0xdb, 0x5c, 0x6f, 0x6d, - 0xf3, 0x6b, 0x6b, 0x9b, 0xaf, 0x85, 0x6d, 0xac, 0x0b, 0xdb, 0xf8, 0x2c, 0x6c, 0xe3, 0xe1, 0x2a, - 0xe2, 0x32, 0x5e, 0x06, 0xa5, 0x96, 0x84, 0x82, 0x48, 0x40, 0x10, 0x1e, 0xd0, 0x41, 0x04, 0x24, - 0x81, 0xa7, 0xe5, 0x9c, 0x09, 0xed, 0xc9, 0x68, 0x3c, 0xa8, 0xd8, 0x22, 0xf3, 0x94, 0x89, 0xa0, - 0xae, 0xc4, 0x1c, 0x7f, 0x07, 0x00, 0x00, 0xff, 0xff, 0x20, 0xd2, 0x3b, 0x32, 0xba, 0x01, 0x00, - 0x00, + 0x97, 0xda, 0x6a, 0xca, 0x54, 0xc1, 0x12, 0x58, 0x91, 0xaa, 0x0c, 0x0c, 0x2c, 0x28, 0x31, 0x4e, + 0x62, 0xb5, 0xe9, 0x89, 0x62, 0xb7, 0x22, 0x6f, 0xc0, 0xc8, 0xc8, 0xc8, 0xe3, 0x30, 0x76, 0x64, + 0xaa, 0x50, 0xfb, 0x06, 0x7d, 0x02, 0x14, 0x9b, 0x42, 0xb6, 0x73, 0x7c, 0x7e, 0xe7, 0x8f, 0xbf, + 0x0f, 0x5d, 0xf0, 0x90, 0x12, 0x0a, 0x39, 0x23, 0x14, 0xd2, 0x94, 0xcb, 0x94, 0xcd, 0x25, 0x59, + 0x0e, 0x2b, 0x19, 0xce, 0x72, 0x90, 0x60, 0x75, 0x78, 0x48, 0x71, 0x09, 0xe2, 0x4a, 0x69, 0x39, + 0xec, 0x1e, 0xc7, 0x10, 0x83, 0x42, 0x48, 0x19, 0x69, 0xba, 0xdb, 0xa6, 0x30, 0x8f, 0x38, 0x90, + 0x2c, 0x07, 0x88, 0x84, 0x7e, 0x74, 0xce, 0x11, 0xba, 0x63, 0xf9, 0x74, 0xc6, 0x7c, 0x00, 0x69, + 0x59, 0xa8, 0x96, 0x04, 0x22, 0x39, 0x35, 0xcf, 0xcc, 0x7e, 0xcb, 0x57, 0xf1, 0xb8, 0xf6, 0xf2, + 0xde, 0x33, 0x9c, 0x5b, 0xd4, 0xd2, 0xdc, 0x24, 0x67, 0x11, 0x7f, 0xb6, 0x2e, 0x11, 0x9a, 0xb2, + 0xe2, 0x31, 0x53, 0x99, 0xe6, 0xbd, 0x93, 0xdd, 0xba, 0x77, 0x54, 0x04, 0xe9, 0x6c, 0xec, 0xfc, + 0xd5, 0x1c, 0xbf, 0x31, 0x65, 0x85, 0xee, 0x72, 0xbc, 0xfd, 0xb6, 0x49, 0x20, 0x13, 0x0b, 0xa3, + 0x03, 0xc5, 0x05, 0xb2, 0xdc, 0xf8, 0xaf, 0xdf, 0xf0, 0xda, 0xbb, 0x75, 0xef, 0xb0, 0x32, 0x21, + 0x90, 0x89, 0xe3, 0xff, 0x2f, 0xfb, 0x03, 0x99, 0x8c, 0x6b, 0x6f, 0xe5, 0x25, 0xd7, 0xa8, 0xb9, + 0xbf, 0x04, 0x20, 0xb2, 0x30, 0xaa, 0xeb, 0x0f, 0xa9, 0x11, 0x4d, 0xb7, 0x83, 0x39, 0x15, 0xee, + 0x08, 0xdf, 0xfc, 0x2a, 0xa2, 0x38, 0xff, 0x87, 0xf2, 0xee, 0x3f, 0x36, 0xb6, 0xb9, 0xda, 0xd8, + 0xe6, 0xd7, 0xc6, 0x36, 0x5f, 0xb7, 0xb6, 0xb1, 0xda, 0xda, 0xc6, 0xe7, 0xd6, 0x36, 0x1e, 0xae, + 0x62, 0x2e, 0x93, 0x45, 0x58, 0x6a, 0x49, 0x28, 0x88, 0x14, 0x04, 0xe1, 0x21, 0x1d, 0xc4, 0x40, + 0x96, 0x2e, 0x49, 0xe1, 0x69, 0x31, 0x63, 0x42, 0xdb, 0xe2, 0x8e, 0x06, 0x15, 0x67, 0x64, 0x91, + 0x31, 0x11, 0xd6, 0x95, 0x9e, 0xa3, 0xef, 0x00, 0x00, 0x00, 0xff, 0xff, 0x19, 0x22, 0x81, 0x31, + 0xbd, 0x01, 0x00, 0x00, } func (m *MerkleRoot) Marshal() (dAtA []byte, err error) { diff --git a/modules/core/23-commitment/types/merkle.go b/modules/core/23-commitment/types/merkle.go index 72b3de47b4f..d9a0f889d7f 100644 --- a/modules/core/23-commitment/types/merkle.go +++ b/modules/core/23-commitment/types/merkle.go @@ -10,7 +10,7 @@ import ( tmcrypto "github.com/tendermint/tendermint/proto/tendermint/crypto" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" - "github.com/cosmos/ibc-go/modules/core/exported" + "github.com/cosmos/ibc-go/v2/modules/core/exported" ) // var representing the proofspecs for a SDK chain diff --git a/modules/core/23-commitment/types/merkle_test.go b/modules/core/23-commitment/types/merkle_test.go index db2d58f860b..28724f11f7f 100644 --- a/modules/core/23-commitment/types/merkle_test.go +++ b/modules/core/23-commitment/types/merkle_test.go @@ -7,7 +7,7 @@ import ( "github.com/stretchr/testify/require" abci "github.com/tendermint/tendermint/abci/types" - "github.com/cosmos/ibc-go/modules/core/23-commitment/types" + "github.com/cosmos/ibc-go/v2/modules/core/23-commitment/types" ) func (suite *MerkleTestSuite) TestVerifyMembership() { diff --git a/modules/core/23-commitment/types/utils_test.go b/modules/core/23-commitment/types/utils_test.go index e06d17050e0..47ef8e99b65 100644 --- a/modules/core/23-commitment/types/utils_test.go +++ b/modules/core/23-commitment/types/utils_test.go @@ -7,7 +7,7 @@ import ( abci "github.com/tendermint/tendermint/abci/types" crypto "github.com/tendermint/tendermint/proto/tendermint/crypto" - "github.com/cosmos/ibc-go/modules/core/23-commitment/types" + "github.com/cosmos/ibc-go/v2/modules/core/23-commitment/types" ) func (suite *MerkleTestSuite) TestConvertProofs() { diff --git a/modules/core/24-host/keys.go b/modules/core/24-host/keys.go index ec07af5452f..481919ca2b2 100644 --- a/modules/core/24-host/keys.go +++ b/modules/core/24-host/keys.go @@ -3,7 +3,7 @@ package host import ( "fmt" - "github.com/cosmos/ibc-go/modules/core/exported" + "github.com/cosmos/ibc-go/v2/modules/core/exported" ) const ( diff --git a/modules/core/24-host/parse_test.go b/modules/core/24-host/parse_test.go index 1c7244cc3f0..25ff7334d68 100644 --- a/modules/core/24-host/parse_test.go +++ b/modules/core/24-host/parse_test.go @@ -6,8 +6,8 @@ import ( "github.com/stretchr/testify/require" - connectiontypes "github.com/cosmos/ibc-go/modules/core/03-connection/types" - host "github.com/cosmos/ibc-go/modules/core/24-host" + connectiontypes "github.com/cosmos/ibc-go/v2/modules/core/03-connection/types" + host "github.com/cosmos/ibc-go/v2/modules/core/24-host" ) func TestParseIdentifier(t *testing.T) { diff --git a/modules/core/ante/ante.go b/modules/core/ante/ante.go index aa579027d7f..3eccfbc058a 100644 --- a/modules/core/ante/ante.go +++ b/modules/core/ante/ante.go @@ -2,9 +2,9 @@ package ante import ( sdk "github.com/cosmos/cosmos-sdk/types" - clienttypes "github.com/cosmos/ibc-go/modules/core/02-client/types" - channelkeeper "github.com/cosmos/ibc-go/modules/core/04-channel/keeper" - channeltypes "github.com/cosmos/ibc-go/modules/core/04-channel/types" + clienttypes "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" + channelkeeper "github.com/cosmos/ibc-go/v2/modules/core/04-channel/keeper" + channeltypes "github.com/cosmos/ibc-go/v2/modules/core/04-channel/types" ) type AnteDecorator struct { diff --git a/modules/core/ante/ante_test.go b/modules/core/ante/ante_test.go index 0b997685285..e12f91082e7 100644 --- a/modules/core/ante/ante_test.go +++ b/modules/core/ante/ante_test.go @@ -4,11 +4,11 @@ import ( "testing" sdk "github.com/cosmos/cosmos-sdk/types" - clienttypes "github.com/cosmos/ibc-go/modules/core/02-client/types" - channeltypes "github.com/cosmos/ibc-go/modules/core/04-channel/types" - "github.com/cosmos/ibc-go/modules/core/ante" - ibctesting "github.com/cosmos/ibc-go/testing" - "github.com/cosmos/ibc-go/testing/mock" + clienttypes "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" + channeltypes "github.com/cosmos/ibc-go/v2/modules/core/04-channel/types" + "github.com/cosmos/ibc-go/v2/modules/core/ante" + ibctesting "github.com/cosmos/ibc-go/v2/testing" + "github.com/cosmos/ibc-go/v2/testing/mock" "github.com/stretchr/testify/suite" ) diff --git a/modules/core/client/cli/cli.go b/modules/core/client/cli/cli.go index 687806b1c15..2239a29593c 100644 --- a/modules/core/client/cli/cli.go +++ b/modules/core/client/cli/cli.go @@ -4,10 +4,10 @@ import ( "github.com/spf13/cobra" "github.com/cosmos/cosmos-sdk/client" - ibcclient "github.com/cosmos/ibc-go/modules/core/02-client" - connection "github.com/cosmos/ibc-go/modules/core/03-connection" - channel "github.com/cosmos/ibc-go/modules/core/04-channel" - host "github.com/cosmos/ibc-go/modules/core/24-host" + ibcclient "github.com/cosmos/ibc-go/v2/modules/core/02-client" + connection "github.com/cosmos/ibc-go/v2/modules/core/03-connection" + channel "github.com/cosmos/ibc-go/v2/modules/core/04-channel" + host "github.com/cosmos/ibc-go/v2/modules/core/24-host" ) // GetTxCmd returns the transaction commands for this module diff --git a/modules/core/client/query.go b/modules/core/client/query.go index 4b954189f11..2ba0faa657d 100644 --- a/modules/core/client/query.go +++ b/modules/core/client/query.go @@ -7,9 +7,9 @@ import ( "github.com/cosmos/cosmos-sdk/client" "github.com/cosmos/cosmos-sdk/codec" - clienttypes "github.com/cosmos/ibc-go/modules/core/02-client/types" - commitmenttypes "github.com/cosmos/ibc-go/modules/core/23-commitment/types" - host "github.com/cosmos/ibc-go/modules/core/24-host" + clienttypes "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" + commitmenttypes "github.com/cosmos/ibc-go/v2/modules/core/23-commitment/types" + host "github.com/cosmos/ibc-go/v2/modules/core/24-host" ) // QueryTendermintProof performs an ABCI query with the given key and returns diff --git a/modules/core/genesis.go b/modules/core/genesis.go index 71777eff498..c66704108f8 100644 --- a/modules/core/genesis.go +++ b/modules/core/genesis.go @@ -2,11 +2,11 @@ package ibc import ( sdk "github.com/cosmos/cosmos-sdk/types" - client "github.com/cosmos/ibc-go/modules/core/02-client" - connection "github.com/cosmos/ibc-go/modules/core/03-connection" - channel "github.com/cosmos/ibc-go/modules/core/04-channel" - "github.com/cosmos/ibc-go/modules/core/keeper" - "github.com/cosmos/ibc-go/modules/core/types" + client "github.com/cosmos/ibc-go/v2/modules/core/02-client" + connection "github.com/cosmos/ibc-go/v2/modules/core/03-connection" + channel "github.com/cosmos/ibc-go/v2/modules/core/04-channel" + "github.com/cosmos/ibc-go/v2/modules/core/keeper" + "github.com/cosmos/ibc-go/v2/modules/core/types" ) // InitGenesis initializes the ibc state from a provided genesis diff --git a/modules/core/genesis_test.go b/modules/core/genesis_test.go index 5873440dc4b..7a562cffb93 100644 --- a/modules/core/genesis_test.go +++ b/modules/core/genesis_test.go @@ -8,17 +8,17 @@ import ( tmproto "github.com/tendermint/tendermint/proto/tendermint/types" "github.com/cosmos/cosmos-sdk/codec" - ibc "github.com/cosmos/ibc-go/modules/core" - clienttypes "github.com/cosmos/ibc-go/modules/core/02-client/types" - connectiontypes "github.com/cosmos/ibc-go/modules/core/03-connection/types" - channeltypes "github.com/cosmos/ibc-go/modules/core/04-channel/types" - commitmenttypes "github.com/cosmos/ibc-go/modules/core/23-commitment/types" - "github.com/cosmos/ibc-go/modules/core/exported" - "github.com/cosmos/ibc-go/modules/core/types" - ibctmtypes "github.com/cosmos/ibc-go/modules/light-clients/07-tendermint/types" - localhosttypes "github.com/cosmos/ibc-go/modules/light-clients/09-localhost/types" - ibctesting "github.com/cosmos/ibc-go/testing" - "github.com/cosmos/ibc-go/testing/simapp" + ibc "github.com/cosmos/ibc-go/v2/modules/core" + clienttypes "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" + connectiontypes "github.com/cosmos/ibc-go/v2/modules/core/03-connection/types" + channeltypes "github.com/cosmos/ibc-go/v2/modules/core/04-channel/types" + commitmenttypes "github.com/cosmos/ibc-go/v2/modules/core/23-commitment/types" + "github.com/cosmos/ibc-go/v2/modules/core/exported" + "github.com/cosmos/ibc-go/v2/modules/core/types" + ibctmtypes "github.com/cosmos/ibc-go/v2/modules/light-clients/07-tendermint/types" + localhosttypes "github.com/cosmos/ibc-go/v2/modules/light-clients/09-localhost/types" + ibctesting "github.com/cosmos/ibc-go/v2/testing" + "github.com/cosmos/ibc-go/v2/testing/simapp" ) const ( diff --git a/modules/core/keeper/grpc_query.go b/modules/core/keeper/grpc_query.go index 7d5e1336054..dac1e78cd11 100644 --- a/modules/core/keeper/grpc_query.go +++ b/modules/core/keeper/grpc_query.go @@ -3,10 +3,10 @@ package keeper import ( "context" - clienttypes "github.com/cosmos/ibc-go/modules/core/02-client/types" - connectiontypes "github.com/cosmos/ibc-go/modules/core/03-connection/types" - channeltypes "github.com/cosmos/ibc-go/modules/core/04-channel/types" - porttypes "github.com/cosmos/ibc-go/modules/core/05-port/types" + clienttypes "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" + connectiontypes "github.com/cosmos/ibc-go/v2/modules/core/03-connection/types" + channeltypes "github.com/cosmos/ibc-go/v2/modules/core/04-channel/types" + porttypes "github.com/cosmos/ibc-go/v2/modules/core/05-port/types" ) // ClientState implements the IBC QueryServer interface diff --git a/modules/core/keeper/keeper.go b/modules/core/keeper/keeper.go index b04e6ffe732..51e8bcd79d4 100644 --- a/modules/core/keeper/keeper.go +++ b/modules/core/keeper/keeper.go @@ -5,14 +5,14 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" capabilitykeeper "github.com/cosmos/cosmos-sdk/x/capability/keeper" paramtypes "github.com/cosmos/cosmos-sdk/x/params/types" - clientkeeper "github.com/cosmos/ibc-go/modules/core/02-client/keeper" - clienttypes "github.com/cosmos/ibc-go/modules/core/02-client/types" - connectionkeeper "github.com/cosmos/ibc-go/modules/core/03-connection/keeper" - connectiontypes "github.com/cosmos/ibc-go/modules/core/03-connection/types" - channelkeeper "github.com/cosmos/ibc-go/modules/core/04-channel/keeper" - portkeeper "github.com/cosmos/ibc-go/modules/core/05-port/keeper" - porttypes "github.com/cosmos/ibc-go/modules/core/05-port/types" - "github.com/cosmos/ibc-go/modules/core/types" + clientkeeper "github.com/cosmos/ibc-go/v2/modules/core/02-client/keeper" + clienttypes "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" + connectionkeeper "github.com/cosmos/ibc-go/v2/modules/core/03-connection/keeper" + connectiontypes "github.com/cosmos/ibc-go/v2/modules/core/03-connection/types" + channelkeeper "github.com/cosmos/ibc-go/v2/modules/core/04-channel/keeper" + portkeeper "github.com/cosmos/ibc-go/v2/modules/core/05-port/keeper" + porttypes "github.com/cosmos/ibc-go/v2/modules/core/05-port/types" + "github.com/cosmos/ibc-go/v2/modules/core/types" ) var _ types.QueryServer = (*Keeper)(nil) diff --git a/modules/core/keeper/migrations.go b/modules/core/keeper/migrations.go index c6691005bd3..34d8b454c2b 100644 --- a/modules/core/keeper/migrations.go +++ b/modules/core/keeper/migrations.go @@ -3,7 +3,7 @@ package keeper import ( sdk "github.com/cosmos/cosmos-sdk/types" - clientkeeper "github.com/cosmos/ibc-go/modules/core/02-client/keeper" + clientkeeper "github.com/cosmos/ibc-go/v2/modules/core/02-client/keeper" ) // Migrator is a struct for handling in-place store migrations. diff --git a/modules/core/keeper/msg_server.go b/modules/core/keeper/msg_server.go index 69bde98b687..207a6f17fdc 100644 --- a/modules/core/keeper/msg_server.go +++ b/modules/core/keeper/msg_server.go @@ -8,12 +8,12 @@ import ( "github.com/cosmos/cosmos-sdk/telemetry" sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" - clienttypes "github.com/cosmos/ibc-go/modules/core/02-client/types" - connectiontypes "github.com/cosmos/ibc-go/modules/core/03-connection/types" - "github.com/cosmos/ibc-go/modules/core/04-channel/types" - channeltypes "github.com/cosmos/ibc-go/modules/core/04-channel/types" - porttypes "github.com/cosmos/ibc-go/modules/core/05-port/types" - coretypes "github.com/cosmos/ibc-go/modules/core/types" + clienttypes "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" + connectiontypes "github.com/cosmos/ibc-go/v2/modules/core/03-connection/types" + "github.com/cosmos/ibc-go/v2/modules/core/04-channel/types" + channeltypes "github.com/cosmos/ibc-go/v2/modules/core/04-channel/types" + porttypes "github.com/cosmos/ibc-go/v2/modules/core/05-port/types" + coretypes "github.com/cosmos/ibc-go/v2/modules/core/types" ) var _ clienttypes.MsgServer = Keeper{} diff --git a/modules/core/keeper/msg_server_test.go b/modules/core/keeper/msg_server_test.go index b28dc263689..97eb44f7cb5 100644 --- a/modules/core/keeper/msg_server_test.go +++ b/modules/core/keeper/msg_server_test.go @@ -7,15 +7,15 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" upgradetypes "github.com/cosmos/cosmos-sdk/x/upgrade/types" - clienttypes "github.com/cosmos/ibc-go/modules/core/02-client/types" - channeltypes "github.com/cosmos/ibc-go/modules/core/04-channel/types" - commitmenttypes "github.com/cosmos/ibc-go/modules/core/23-commitment/types" - host "github.com/cosmos/ibc-go/modules/core/24-host" - "github.com/cosmos/ibc-go/modules/core/exported" - "github.com/cosmos/ibc-go/modules/core/keeper" - ibctmtypes "github.com/cosmos/ibc-go/modules/light-clients/07-tendermint/types" - ibctesting "github.com/cosmos/ibc-go/testing" - ibcmock "github.com/cosmos/ibc-go/testing/mock" + clienttypes "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" + channeltypes "github.com/cosmos/ibc-go/v2/modules/core/04-channel/types" + commitmenttypes "github.com/cosmos/ibc-go/v2/modules/core/23-commitment/types" + host "github.com/cosmos/ibc-go/v2/modules/core/24-host" + "github.com/cosmos/ibc-go/v2/modules/core/exported" + "github.com/cosmos/ibc-go/v2/modules/core/keeper" + ibctmtypes "github.com/cosmos/ibc-go/v2/modules/light-clients/07-tendermint/types" + ibctesting "github.com/cosmos/ibc-go/v2/testing" + ibcmock "github.com/cosmos/ibc-go/v2/testing/mock" ) const height = 10 diff --git a/modules/core/legacy/v100/genesis.go b/modules/core/legacy/v100/genesis.go index 42932613499..432d4010d82 100644 --- a/modules/core/legacy/v100/genesis.go +++ b/modules/core/legacy/v100/genesis.go @@ -6,11 +6,11 @@ import ( genutiltypes "github.com/cosmos/cosmos-sdk/x/genutil/types" tmtypes "github.com/tendermint/tendermint/types" - clientv100 "github.com/cosmos/ibc-go/modules/core/02-client/legacy/v100" - clienttypes "github.com/cosmos/ibc-go/modules/core/02-client/types" - connectiontypes "github.com/cosmos/ibc-go/modules/core/03-connection/types" - host "github.com/cosmos/ibc-go/modules/core/24-host" - "github.com/cosmos/ibc-go/modules/core/types" + clientv100 "github.com/cosmos/ibc-go/v2/modules/core/02-client/legacy/v100" + clienttypes "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" + connectiontypes "github.com/cosmos/ibc-go/v2/modules/core/03-connection/types" + host "github.com/cosmos/ibc-go/v2/modules/core/24-host" + "github.com/cosmos/ibc-go/v2/modules/core/types" ) // MigrateGenesis accepts exported v1.0.0 IBC client genesis file and migrates it to: diff --git a/modules/core/legacy/v100/genesis_test.go b/modules/core/legacy/v100/genesis_test.go index d4e53d9fba2..24df416d433 100644 --- a/modules/core/legacy/v100/genesis_test.go +++ b/modules/core/legacy/v100/genesis_test.go @@ -9,15 +9,15 @@ import ( "github.com/stretchr/testify/suite" tmtypes "github.com/tendermint/tendermint/types" - ibcclient "github.com/cosmos/ibc-go/modules/core/02-client" - clientv100 "github.com/cosmos/ibc-go/modules/core/02-client/legacy/v100" - clienttypes "github.com/cosmos/ibc-go/modules/core/02-client/types" - connectiontypes "github.com/cosmos/ibc-go/modules/core/03-connection/types" - host "github.com/cosmos/ibc-go/modules/core/24-host" - "github.com/cosmos/ibc-go/modules/core/legacy/v100" - "github.com/cosmos/ibc-go/modules/core/types" - ibctesting "github.com/cosmos/ibc-go/testing" - "github.com/cosmos/ibc-go/testing/simapp" + ibcclient "github.com/cosmos/ibc-go/v2/modules/core/02-client" + clientv100 "github.com/cosmos/ibc-go/v2/modules/core/02-client/legacy/v100" + clienttypes "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" + connectiontypes "github.com/cosmos/ibc-go/v2/modules/core/03-connection/types" + host "github.com/cosmos/ibc-go/v2/modules/core/24-host" + "github.com/cosmos/ibc-go/v2/modules/core/legacy/v100" + "github.com/cosmos/ibc-go/v2/modules/core/types" + ibctesting "github.com/cosmos/ibc-go/v2/testing" + "github.com/cosmos/ibc-go/v2/testing/simapp" ) type LegacyTestSuite struct { diff --git a/modules/core/module.go b/modules/core/module.go index db7aaba3e33..7893f5d39f3 100644 --- a/modules/core/module.go +++ b/modules/core/module.go @@ -18,16 +18,16 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" "github.com/cosmos/cosmos-sdk/types/module" simtypes "github.com/cosmos/cosmos-sdk/types/simulation" - ibcclient "github.com/cosmos/ibc-go/modules/core/02-client" - clientkeeper "github.com/cosmos/ibc-go/modules/core/02-client/keeper" - clienttypes "github.com/cosmos/ibc-go/modules/core/02-client/types" - connectiontypes "github.com/cosmos/ibc-go/modules/core/03-connection/types" - channeltypes "github.com/cosmos/ibc-go/modules/core/04-channel/types" - host "github.com/cosmos/ibc-go/modules/core/24-host" - "github.com/cosmos/ibc-go/modules/core/client/cli" - "github.com/cosmos/ibc-go/modules/core/keeper" - "github.com/cosmos/ibc-go/modules/core/simulation" - "github.com/cosmos/ibc-go/modules/core/types" + ibcclient "github.com/cosmos/ibc-go/v2/modules/core/02-client" + clientkeeper "github.com/cosmos/ibc-go/v2/modules/core/02-client/keeper" + clienttypes "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" + connectiontypes "github.com/cosmos/ibc-go/v2/modules/core/03-connection/types" + channeltypes "github.com/cosmos/ibc-go/v2/modules/core/04-channel/types" + host "github.com/cosmos/ibc-go/v2/modules/core/24-host" + "github.com/cosmos/ibc-go/v2/modules/core/client/cli" + "github.com/cosmos/ibc-go/v2/modules/core/keeper" + "github.com/cosmos/ibc-go/v2/modules/core/simulation" + "github.com/cosmos/ibc-go/v2/modules/core/types" ) var ( diff --git a/modules/core/simulation/decoder.go b/modules/core/simulation/decoder.go index d553528e829..ac6a3eb2942 100644 --- a/modules/core/simulation/decoder.go +++ b/modules/core/simulation/decoder.go @@ -4,11 +4,11 @@ import ( "fmt" "github.com/cosmos/cosmos-sdk/types/kv" - clientsim "github.com/cosmos/ibc-go/modules/core/02-client/simulation" - connectionsim "github.com/cosmos/ibc-go/modules/core/03-connection/simulation" - channelsim "github.com/cosmos/ibc-go/modules/core/04-channel/simulation" - host "github.com/cosmos/ibc-go/modules/core/24-host" - "github.com/cosmos/ibc-go/modules/core/keeper" + clientsim "github.com/cosmos/ibc-go/v2/modules/core/02-client/simulation" + connectionsim "github.com/cosmos/ibc-go/v2/modules/core/03-connection/simulation" + channelsim "github.com/cosmos/ibc-go/v2/modules/core/04-channel/simulation" + host "github.com/cosmos/ibc-go/v2/modules/core/24-host" + "github.com/cosmos/ibc-go/v2/modules/core/keeper" ) // NewDecodeStore returns a decoder function closure that unmarshals the KVPair's diff --git a/modules/core/simulation/decoder_test.go b/modules/core/simulation/decoder_test.go index 4a24a05c5e0..0ebe700b0b5 100644 --- a/modules/core/simulation/decoder_test.go +++ b/modules/core/simulation/decoder_test.go @@ -7,13 +7,13 @@ import ( "github.com/stretchr/testify/require" "github.com/cosmos/cosmos-sdk/types/kv" - clienttypes "github.com/cosmos/ibc-go/modules/core/02-client/types" - connectiontypes "github.com/cosmos/ibc-go/modules/core/03-connection/types" - channeltypes "github.com/cosmos/ibc-go/modules/core/04-channel/types" - host "github.com/cosmos/ibc-go/modules/core/24-host" - "github.com/cosmos/ibc-go/modules/core/simulation" - ibctmtypes "github.com/cosmos/ibc-go/modules/light-clients/07-tendermint/types" - "github.com/cosmos/ibc-go/testing/simapp" + clienttypes "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" + connectiontypes "github.com/cosmos/ibc-go/v2/modules/core/03-connection/types" + channeltypes "github.com/cosmos/ibc-go/v2/modules/core/04-channel/types" + host "github.com/cosmos/ibc-go/v2/modules/core/24-host" + "github.com/cosmos/ibc-go/v2/modules/core/simulation" + ibctmtypes "github.com/cosmos/ibc-go/v2/modules/light-clients/07-tendermint/types" + "github.com/cosmos/ibc-go/v2/testing/simapp" ) func TestDecodeStore(t *testing.T) { diff --git a/modules/core/simulation/genesis.go b/modules/core/simulation/genesis.go index d7f9d7322e4..fcb790f418d 100644 --- a/modules/core/simulation/genesis.go +++ b/modules/core/simulation/genesis.go @@ -8,14 +8,14 @@ import ( "math/rand" "github.com/cosmos/cosmos-sdk/types/module" - clientsims "github.com/cosmos/ibc-go/modules/core/02-client/simulation" - clienttypes "github.com/cosmos/ibc-go/modules/core/02-client/types" - connectionsims "github.com/cosmos/ibc-go/modules/core/03-connection/simulation" - connectiontypes "github.com/cosmos/ibc-go/modules/core/03-connection/types" - channelsims "github.com/cosmos/ibc-go/modules/core/04-channel/simulation" - channeltypes "github.com/cosmos/ibc-go/modules/core/04-channel/types" - host "github.com/cosmos/ibc-go/modules/core/24-host" - "github.com/cosmos/ibc-go/modules/core/types" + clientsims "github.com/cosmos/ibc-go/v2/modules/core/02-client/simulation" + clienttypes "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" + connectionsims "github.com/cosmos/ibc-go/v2/modules/core/03-connection/simulation" + connectiontypes "github.com/cosmos/ibc-go/v2/modules/core/03-connection/types" + channelsims "github.com/cosmos/ibc-go/v2/modules/core/04-channel/simulation" + channeltypes "github.com/cosmos/ibc-go/v2/modules/core/04-channel/types" + host "github.com/cosmos/ibc-go/v2/modules/core/24-host" + "github.com/cosmos/ibc-go/v2/modules/core/types" ) // Simulation parameter constants diff --git a/modules/core/simulation/genesis_test.go b/modules/core/simulation/genesis_test.go index de7a9f34a1c..8f2b9f5bafc 100644 --- a/modules/core/simulation/genesis_test.go +++ b/modules/core/simulation/genesis_test.go @@ -11,9 +11,9 @@ import ( codectypes "github.com/cosmos/cosmos-sdk/codec/types" "github.com/cosmos/cosmos-sdk/types/module" simtypes "github.com/cosmos/cosmos-sdk/types/simulation" - host "github.com/cosmos/ibc-go/modules/core/24-host" - "github.com/cosmos/ibc-go/modules/core/simulation" - "github.com/cosmos/ibc-go/modules/core/types" + host "github.com/cosmos/ibc-go/v2/modules/core/24-host" + "github.com/cosmos/ibc-go/v2/modules/core/simulation" + "github.com/cosmos/ibc-go/v2/modules/core/types" ) // TestRandomizedGenState tests the normal scenario of applying RandomizedGenState. diff --git a/modules/core/types/codec.go b/modules/core/types/codec.go index 83aa034d35b..4c6c6eb0416 100644 --- a/modules/core/types/codec.go +++ b/modules/core/types/codec.go @@ -2,13 +2,13 @@ package types import ( codectypes "github.com/cosmos/cosmos-sdk/codec/types" - clienttypes "github.com/cosmos/ibc-go/modules/core/02-client/types" - connectiontypes "github.com/cosmos/ibc-go/modules/core/03-connection/types" - channeltypes "github.com/cosmos/ibc-go/modules/core/04-channel/types" - commitmenttypes "github.com/cosmos/ibc-go/modules/core/23-commitment/types" - solomachinetypes "github.com/cosmos/ibc-go/modules/light-clients/06-solomachine/types" - ibctmtypes "github.com/cosmos/ibc-go/modules/light-clients/07-tendermint/types" - localhosttypes "github.com/cosmos/ibc-go/modules/light-clients/09-localhost/types" + clienttypes "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" + connectiontypes "github.com/cosmos/ibc-go/v2/modules/core/03-connection/types" + channeltypes "github.com/cosmos/ibc-go/v2/modules/core/04-channel/types" + commitmenttypes "github.com/cosmos/ibc-go/v2/modules/core/23-commitment/types" + solomachinetypes "github.com/cosmos/ibc-go/v2/modules/light-clients/06-solomachine/types" + ibctmtypes "github.com/cosmos/ibc-go/v2/modules/light-clients/07-tendermint/types" + localhosttypes "github.com/cosmos/ibc-go/v2/modules/light-clients/09-localhost/types" ) // RegisterInterfaces registers x/ibc interfaces into protobuf Any. diff --git a/modules/core/types/genesis.go b/modules/core/types/genesis.go index 4694e75c181..8fada0ae961 100644 --- a/modules/core/types/genesis.go +++ b/modules/core/types/genesis.go @@ -2,9 +2,9 @@ package types import ( codectypes "github.com/cosmos/cosmos-sdk/codec/types" - clienttypes "github.com/cosmos/ibc-go/modules/core/02-client/types" - connectiontypes "github.com/cosmos/ibc-go/modules/core/03-connection/types" - channeltypes "github.com/cosmos/ibc-go/modules/core/04-channel/types" + clienttypes "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" + connectiontypes "github.com/cosmos/ibc-go/v2/modules/core/03-connection/types" + channeltypes "github.com/cosmos/ibc-go/v2/modules/core/04-channel/types" ) var _ codectypes.UnpackInterfacesMessage = GenesisState{} diff --git a/modules/core/types/genesis.pb.go b/modules/core/types/genesis.pb.go index a2601f850d8..25f90b0c507 100644 --- a/modules/core/types/genesis.pb.go +++ b/modules/core/types/genesis.pb.go @@ -5,9 +5,9 @@ package types import ( fmt "fmt" - types "github.com/cosmos/ibc-go/modules/core/02-client/types" - types1 "github.com/cosmos/ibc-go/modules/core/03-connection/types" - types2 "github.com/cosmos/ibc-go/modules/core/04-channel/types" + types "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" + types1 "github.com/cosmos/ibc-go/v2/modules/core/03-connection/types" + types2 "github.com/cosmos/ibc-go/v2/modules/core/04-channel/types" _ "github.com/gogo/protobuf/gogoproto" proto "github.com/gogo/protobuf/proto" io "io" @@ -97,28 +97,28 @@ func init() { func init() { proto.RegisterFile("ibc/core/types/v1/genesis.proto", fileDescriptor_b9a49c5663e6fc59) } var fileDescriptor_b9a49c5663e6fc59 = []byte{ - // 322 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x64, 0x92, 0xc1, 0x4a, 0xeb, 0x40, - 0x14, 0x86, 0x93, 0x5e, 0xb8, 0x8b, 0xa8, 0x95, 0x06, 0x15, 0x2d, 0x38, 0x6d, 0x43, 0x17, 0x82, - 0x38, 0x43, 0x75, 0xe7, 0xb2, 0x20, 0xee, 0xe3, 0xce, 0x8d, 0x24, 0xe3, 0x98, 0x8e, 0x24, 0x73, - 0x4a, 0x67, 0x1a, 0xe8, 0x5b, 0xf8, 0x58, 0x5d, 0x76, 0x29, 0x2e, 0x8a, 0x24, 0x6f, 0xe0, 0x13, - 0x48, 0x33, 0x63, 0x92, 0x32, 0xbb, 0xf0, 0x9f, 0xef, 0xfc, 0xdf, 0x21, 0x89, 0x37, 0xe0, 0x31, - 0x25, 0x14, 0x16, 0x8c, 0xa8, 0xd5, 0x9c, 0x49, 0x92, 0x4f, 0x48, 0xc2, 0x04, 0x93, 0x5c, 0xe2, - 0xf9, 0x02, 0x14, 0xf8, 0x3d, 0x1e, 0x53, 0xbc, 0x03, 0x70, 0x05, 0xe0, 0x7c, 0xd2, 0x3f, 0x49, - 0x20, 0x81, 0x6a, 0x4a, 0x76, 0x4f, 0x1a, 0xec, 0x0f, 0xeb, 0x26, 0x9a, 0x72, 0x26, 0x94, 0x55, - 0xd5, 0x1f, 0x37, 0x04, 0x08, 0xc1, 0xa8, 0xe2, 0x20, 0x6c, 0x6a, 0xd4, 0x50, 0xb3, 0x48, 0x08, - 0x96, 0x5a, 0x48, 0xf0, 0xd5, 0xf1, 0x0e, 0x1f, 0x75, 0xf2, 0xa4, 0x22, 0xc5, 0xfc, 0x37, 0xaf, - 0xab, 0xa5, 0x2f, 0x06, 0x3c, 0x77, 0x87, 0xee, 0xd5, 0xc1, 0xed, 0x10, 0xd7, 0xd7, 0xeb, 0x39, - 0xce, 0x27, 0xb8, 0xbd, 0x39, 0xbd, 0x5c, 0x6f, 0x07, 0xce, 0xcf, 0x76, 0x70, 0xba, 0x8a, 0xb2, - 0xf4, 0x3e, 0xd8, 0x6f, 0x09, 0xc2, 0x23, 0x1d, 0x98, 0x15, 0x3f, 0xf7, 0xfc, 0xe6, 0xf4, 0xda, - 0xd5, 0xa9, 0x5c, 0xe3, 0x96, 0xab, 0x66, 0x2c, 0xdf, 0xc8, 0xf8, 0x2e, 0x8c, 0xcf, 0x6a, 0x0b, - 0xc2, 0x5e, 0x13, 0xfe, 0x79, 0xdf, 0xbd, 0x63, 0xf3, 0x32, 0x6a, 0xe9, 0xbf, 0x4a, 0x3a, 0x6a, - 0x49, 0x35, 0x60, 0x19, 0x91, 0x31, 0x9e, 0x19, 0xe3, 0x7e, 0x4f, 0x10, 0x76, 0x4d, 0x62, 0x96, - 0xa6, 0x0f, 0xeb, 0x02, 0xb9, 0x9b, 0x02, 0xb9, 0xdf, 0x05, 0x72, 0x3f, 0x4a, 0xe4, 0x6c, 0x4a, - 0xe4, 0x7c, 0x96, 0xc8, 0x79, 0xbe, 0x4e, 0xb8, 0x9a, 0x2d, 0x63, 0x4c, 0x21, 0x23, 0x14, 0x64, - 0x06, 0x92, 0xf0, 0x98, 0xde, 0x24, 0x40, 0x32, 0x78, 0x5d, 0xa6, 0x4c, 0xb6, 0x7e, 0xa4, 0xf8, - 0x7f, 0xf5, 0xa9, 0xee, 0x7e, 0x03, 0x00, 0x00, 0xff, 0xff, 0x98, 0x8f, 0xc1, 0x09, 0x61, 0x02, - 0x00, 0x00, + // 323 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x64, 0x92, 0xb1, 0x4e, 0xeb, 0x30, + 0x14, 0x86, 0x93, 0x5e, 0xe9, 0x0e, 0x01, 0x8a, 0x1a, 0x01, 0x82, 0x4a, 0xb8, 0x6d, 0xd4, 0x81, + 0x05, 0x5b, 0x2d, 0x1b, 0x63, 0x17, 0x98, 0xc3, 0xc6, 0x82, 0x12, 0x63, 0x52, 0xa3, 0xc4, 0xa7, + 0xaa, 0xdd, 0x48, 0x7d, 0x0b, 0x1e, 0xab, 0x63, 0x47, 0xc4, 0x50, 0xa1, 0xe4, 0x0d, 0x78, 0x02, + 0xd4, 0xd8, 0x24, 0xa9, 0xbc, 0x45, 0xff, 0xf9, 0xce, 0xff, 0x1d, 0x25, 0xf1, 0x06, 0x3c, 0xa6, + 0x84, 0xc2, 0x92, 0x11, 0xb5, 0x5e, 0x30, 0x49, 0xf2, 0x09, 0x49, 0x98, 0x60, 0x92, 0x4b, 0xbc, + 0x58, 0x82, 0x02, 0xbf, 0xc7, 0x63, 0x8a, 0xf7, 0x00, 0xae, 0x00, 0x9c, 0x4f, 0xfa, 0x67, 0x09, + 0x24, 0x50, 0x4d, 0xc9, 0xfe, 0x49, 0x83, 0xfd, 0x61, 0xdd, 0x44, 0x53, 0xce, 0x84, 0xb2, 0xaa, + 0xfa, 0xe3, 0x86, 0x00, 0x21, 0x18, 0x55, 0x1c, 0x84, 0x4d, 0x8d, 0x1a, 0x6a, 0x1e, 0x09, 0xc1, + 0x52, 0x0b, 0x09, 0xbe, 0x3a, 0xde, 0xf1, 0x83, 0x4e, 0x9e, 0x54, 0xa4, 0x98, 0xff, 0xe6, 0x75, + 0xb5, 0xf4, 0xc5, 0x80, 0x97, 0xee, 0xd0, 0xbd, 0x39, 0x9a, 0x0e, 0x71, 0x7d, 0xbd, 0x9e, 0xe3, + 0x7c, 0x82, 0xdb, 0x9b, 0xb3, 0xeb, 0xcd, 0x6e, 0xe0, 0xfc, 0xec, 0x06, 0xe7, 0xeb, 0x28, 0x4b, + 0xef, 0x83, 0xc3, 0x96, 0x20, 0x3c, 0xd1, 0x81, 0x59, 0xf1, 0x73, 0xcf, 0x6f, 0x4e, 0xaf, 0x5d, + 0x9d, 0xca, 0x35, 0x6e, 0xb9, 0x6a, 0xc6, 0xf2, 0x8d, 0x8c, 0xef, 0xca, 0xf8, 0xac, 0xb6, 0x20, + 0xec, 0x35, 0xe1, 0x9f, 0xf7, 0xdd, 0x3b, 0x35, 0x2f, 0xa3, 0x96, 0xfe, 0xab, 0xa4, 0xa3, 0x96, + 0x54, 0x03, 0x96, 0x11, 0x19, 0xe3, 0x85, 0x31, 0x1e, 0xf6, 0x04, 0x61, 0xd7, 0x24, 0x66, 0x69, + 0xf6, 0xb8, 0x29, 0x90, 0xbb, 0x2d, 0x90, 0xfb, 0x5d, 0x20, 0xf7, 0xa3, 0x44, 0xce, 0xb6, 0x44, + 0xce, 0x67, 0x89, 0x9c, 0x67, 0x9c, 0x70, 0x35, 0x5f, 0xc5, 0x98, 0x42, 0x46, 0x28, 0xc8, 0x0c, + 0x24, 0xe1, 0x31, 0xbd, 0x4d, 0x80, 0xe4, 0x53, 0x92, 0xc1, 0xeb, 0x2a, 0x65, 0xb2, 0xf5, 0x2f, + 0xc5, 0xff, 0xab, 0xaf, 0x75, 0xf7, 0x1b, 0x00, 0x00, 0xff, 0xff, 0x9c, 0xb0, 0xe8, 0x1c, 0x64, + 0x02, 0x00, 0x00, } func (m *GenesisState) Marshal() (dAtA []byte, err error) { diff --git a/modules/core/types/query.go b/modules/core/types/query.go index f7559c8bf56..8bf6c92ad21 100644 --- a/modules/core/types/query.go +++ b/modules/core/types/query.go @@ -3,14 +3,14 @@ package types import ( "github.com/gogo/protobuf/grpc" - client "github.com/cosmos/ibc-go/modules/core/02-client" - clienttypes "github.com/cosmos/ibc-go/modules/core/02-client/types" - connection "github.com/cosmos/ibc-go/modules/core/03-connection" - connectiontypes "github.com/cosmos/ibc-go/modules/core/03-connection/types" - channel "github.com/cosmos/ibc-go/modules/core/04-channel" - channeltypes "github.com/cosmos/ibc-go/modules/core/04-channel/types" - port "github.com/cosmos/ibc-go/modules/core/05-port" - porttypes "github.com/cosmos/ibc-go/modules/core/05-port/types" + client "github.com/cosmos/ibc-go/v2/modules/core/02-client" + clienttypes "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" + connection "github.com/cosmos/ibc-go/v2/modules/core/03-connection" + connectiontypes "github.com/cosmos/ibc-go/v2/modules/core/03-connection/types" + channel "github.com/cosmos/ibc-go/v2/modules/core/04-channel" + channeltypes "github.com/cosmos/ibc-go/v2/modules/core/04-channel/types" + port "github.com/cosmos/ibc-go/v2/modules/core/05-port" + porttypes "github.com/cosmos/ibc-go/v2/modules/core/05-port/types" ) // QueryServer defines the IBC interfaces that the gRPC query server must implement diff --git a/modules/light-clients/06-solomachine/module.go b/modules/light-clients/06-solomachine/module.go index facdf529047..6dbee1401a5 100644 --- a/modules/light-clients/06-solomachine/module.go +++ b/modules/light-clients/06-solomachine/module.go @@ -1,7 +1,7 @@ package solomachine import ( - "github.com/cosmos/ibc-go/modules/light-clients/06-solomachine/types" + "github.com/cosmos/ibc-go/v2/modules/light-clients/06-solomachine/types" ) // Name returns the solo machine client name. diff --git a/modules/light-clients/06-solomachine/types/client_state.go b/modules/light-clients/06-solomachine/types/client_state.go index b4fcf710cf7..6835f09ce50 100644 --- a/modules/light-clients/06-solomachine/types/client_state.go +++ b/modules/light-clients/06-solomachine/types/client_state.go @@ -10,10 +10,10 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" "github.com/cosmos/cosmos-sdk/types/tx/signing" - clienttypes "github.com/cosmos/ibc-go/modules/core/02-client/types" - commitmenttypes "github.com/cosmos/ibc-go/modules/core/23-commitment/types" - host "github.com/cosmos/ibc-go/modules/core/24-host" - "github.com/cosmos/ibc-go/modules/core/exported" + clienttypes "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" + commitmenttypes "github.com/cosmos/ibc-go/v2/modules/core/23-commitment/types" + host "github.com/cosmos/ibc-go/v2/modules/core/24-host" + "github.com/cosmos/ibc-go/v2/modules/core/exported" ) var _ exported.ClientState = (*ClientState)(nil) 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 34344622648..3d52cf5f488 100644 --- a/modules/light-clients/06-solomachine/types/client_state_test.go +++ b/modules/light-clients/06-solomachine/types/client_state_test.go @@ -1,14 +1,14 @@ package types_test import ( - clienttypes "github.com/cosmos/ibc-go/modules/core/02-client/types" - connectiontypes "github.com/cosmos/ibc-go/modules/core/03-connection/types" - channeltypes "github.com/cosmos/ibc-go/modules/core/04-channel/types" - commitmenttypes "github.com/cosmos/ibc-go/modules/core/23-commitment/types" - "github.com/cosmos/ibc-go/modules/core/exported" - "github.com/cosmos/ibc-go/modules/light-clients/06-solomachine/types" - ibctmtypes "github.com/cosmos/ibc-go/modules/light-clients/07-tendermint/types" - ibctesting "github.com/cosmos/ibc-go/testing" + clienttypes "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" + connectiontypes "github.com/cosmos/ibc-go/v2/modules/core/03-connection/types" + channeltypes "github.com/cosmos/ibc-go/v2/modules/core/04-channel/types" + commitmenttypes "github.com/cosmos/ibc-go/v2/modules/core/23-commitment/types" + "github.com/cosmos/ibc-go/v2/modules/core/exported" + "github.com/cosmos/ibc-go/v2/modules/light-clients/06-solomachine/types" + ibctmtypes "github.com/cosmos/ibc-go/v2/modules/light-clients/07-tendermint/types" + ibctesting "github.com/cosmos/ibc-go/v2/testing" ) const ( diff --git a/modules/light-clients/06-solomachine/types/codec.go b/modules/light-clients/06-solomachine/types/codec.go index 0b6910251d2..740e03e34e6 100644 --- a/modules/light-clients/06-solomachine/types/codec.go +++ b/modules/light-clients/06-solomachine/types/codec.go @@ -5,8 +5,8 @@ import ( codectypes "github.com/cosmos/cosmos-sdk/codec/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" "github.com/cosmos/cosmos-sdk/types/tx/signing" - clienttypes "github.com/cosmos/ibc-go/modules/core/02-client/types" - "github.com/cosmos/ibc-go/modules/core/exported" + clienttypes "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" + "github.com/cosmos/ibc-go/v2/modules/core/exported" ) // RegisterInterfaces register the ibc channel submodule interfaces to protobuf diff --git a/modules/light-clients/06-solomachine/types/codec_test.go b/modules/light-clients/06-solomachine/types/codec_test.go index e635cb8c65f..4a47045dc46 100644 --- a/modules/light-clients/06-solomachine/types/codec_test.go +++ b/modules/light-clients/06-solomachine/types/codec_test.go @@ -1,11 +1,11 @@ package types_test import ( - clienttypes "github.com/cosmos/ibc-go/modules/core/02-client/types" - connectiontypes "github.com/cosmos/ibc-go/modules/core/03-connection/types" - channeltypes "github.com/cosmos/ibc-go/modules/core/04-channel/types" - "github.com/cosmos/ibc-go/modules/light-clients/06-solomachine/types" - ibctesting "github.com/cosmos/ibc-go/testing" + clienttypes "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" + connectiontypes "github.com/cosmos/ibc-go/v2/modules/core/03-connection/types" + channeltypes "github.com/cosmos/ibc-go/v2/modules/core/04-channel/types" + "github.com/cosmos/ibc-go/v2/modules/light-clients/06-solomachine/types" + ibctesting "github.com/cosmos/ibc-go/v2/testing" ) func (suite SoloMachineTestSuite) TestUnmarshalDataByType() { diff --git a/modules/light-clients/06-solomachine/types/consensus_state.go b/modules/light-clients/06-solomachine/types/consensus_state.go index 31aaa084980..a1a24af0281 100644 --- a/modules/light-clients/06-solomachine/types/consensus_state.go +++ b/modules/light-clients/06-solomachine/types/consensus_state.go @@ -5,8 +5,8 @@ import ( cryptotypes "github.com/cosmos/cosmos-sdk/crypto/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" - clienttypes "github.com/cosmos/ibc-go/modules/core/02-client/types" - "github.com/cosmos/ibc-go/modules/core/exported" + clienttypes "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" + "github.com/cosmos/ibc-go/v2/modules/core/exported" ) var _ exported.ConsensusState = &ConsensusState{} diff --git a/modules/light-clients/06-solomachine/types/consensus_state_test.go b/modules/light-clients/06-solomachine/types/consensus_state_test.go index ff801aa95b8..2a9fd37f581 100644 --- a/modules/light-clients/06-solomachine/types/consensus_state_test.go +++ b/modules/light-clients/06-solomachine/types/consensus_state_test.go @@ -1,9 +1,9 @@ package types_test import ( - "github.com/cosmos/ibc-go/modules/core/exported" - "github.com/cosmos/ibc-go/modules/light-clients/06-solomachine/types" - ibctesting "github.com/cosmos/ibc-go/testing" + "github.com/cosmos/ibc-go/v2/modules/core/exported" + "github.com/cosmos/ibc-go/v2/modules/light-clients/06-solomachine/types" + ibctesting "github.com/cosmos/ibc-go/v2/testing" ) func (suite *SoloMachineTestSuite) TestConsensusState() { diff --git a/modules/light-clients/06-solomachine/types/header.go b/modules/light-clients/06-solomachine/types/header.go index 62a1eda15d1..a3c1f7cb79a 100644 --- a/modules/light-clients/06-solomachine/types/header.go +++ b/modules/light-clients/06-solomachine/types/header.go @@ -5,8 +5,8 @@ import ( cryptotypes "github.com/cosmos/cosmos-sdk/crypto/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" - clienttypes "github.com/cosmos/ibc-go/modules/core/02-client/types" - "github.com/cosmos/ibc-go/modules/core/exported" + clienttypes "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" + "github.com/cosmos/ibc-go/v2/modules/core/exported" ) var _ exported.Header = &Header{} diff --git a/modules/light-clients/06-solomachine/types/header_test.go b/modules/light-clients/06-solomachine/types/header_test.go index c4391caebb0..ea951466f9b 100644 --- a/modules/light-clients/06-solomachine/types/header_test.go +++ b/modules/light-clients/06-solomachine/types/header_test.go @@ -1,9 +1,9 @@ package types_test import ( - "github.com/cosmos/ibc-go/modules/core/exported" - "github.com/cosmos/ibc-go/modules/light-clients/06-solomachine/types" - ibctesting "github.com/cosmos/ibc-go/testing" + "github.com/cosmos/ibc-go/v2/modules/core/exported" + "github.com/cosmos/ibc-go/v2/modules/light-clients/06-solomachine/types" + ibctesting "github.com/cosmos/ibc-go/v2/testing" ) func (suite *SoloMachineTestSuite) TestHeaderValidateBasic() { diff --git a/modules/light-clients/06-solomachine/types/misbehaviour.go b/modules/light-clients/06-solomachine/types/misbehaviour.go index 9fea2fb1195..08843f2d37e 100644 --- a/modules/light-clients/06-solomachine/types/misbehaviour.go +++ b/modules/light-clients/06-solomachine/types/misbehaviour.go @@ -4,9 +4,9 @@ import ( "bytes" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" - clienttypes "github.com/cosmos/ibc-go/modules/core/02-client/types" - host "github.com/cosmos/ibc-go/modules/core/24-host" - "github.com/cosmos/ibc-go/modules/core/exported" + clienttypes "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" + host "github.com/cosmos/ibc-go/v2/modules/core/24-host" + "github.com/cosmos/ibc-go/v2/modules/core/exported" ) var _ exported.Misbehaviour = &Misbehaviour{} diff --git a/modules/light-clients/06-solomachine/types/misbehaviour_handle.go b/modules/light-clients/06-solomachine/types/misbehaviour_handle.go index dd0188d3edf..1fef3c9978a 100644 --- a/modules/light-clients/06-solomachine/types/misbehaviour_handle.go +++ b/modules/light-clients/06-solomachine/types/misbehaviour_handle.go @@ -4,8 +4,8 @@ import ( "github.com/cosmos/cosmos-sdk/codec" sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" - clienttypes "github.com/cosmos/ibc-go/modules/core/02-client/types" - "github.com/cosmos/ibc-go/modules/core/exported" + clienttypes "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" + "github.com/cosmos/ibc-go/v2/modules/core/exported" ) // CheckMisbehaviourAndUpdateState determines whether or not the currently registered 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 b5945656f6c..e370ac392b3 100644 --- a/modules/light-clients/06-solomachine/types/misbehaviour_handle_test.go +++ b/modules/light-clients/06-solomachine/types/misbehaviour_handle_test.go @@ -1,10 +1,10 @@ package types_test import ( - "github.com/cosmos/ibc-go/modules/core/exported" - "github.com/cosmos/ibc-go/modules/light-clients/06-solomachine/types" - ibctmtypes "github.com/cosmos/ibc-go/modules/light-clients/07-tendermint/types" - ibctesting "github.com/cosmos/ibc-go/testing" + "github.com/cosmos/ibc-go/v2/modules/core/exported" + "github.com/cosmos/ibc-go/v2/modules/light-clients/06-solomachine/types" + ibctmtypes "github.com/cosmos/ibc-go/v2/modules/light-clients/07-tendermint/types" + ibctesting "github.com/cosmos/ibc-go/v2/testing" ) func (suite *SoloMachineTestSuite) TestCheckMisbehaviourAndUpdateState() { diff --git a/modules/light-clients/06-solomachine/types/misbehaviour_test.go b/modules/light-clients/06-solomachine/types/misbehaviour_test.go index 77acd2c2071..2d4f155468f 100644 --- a/modules/light-clients/06-solomachine/types/misbehaviour_test.go +++ b/modules/light-clients/06-solomachine/types/misbehaviour_test.go @@ -1,9 +1,9 @@ package types_test import ( - "github.com/cosmos/ibc-go/modules/core/exported" - "github.com/cosmos/ibc-go/modules/light-clients/06-solomachine/types" - ibctesting "github.com/cosmos/ibc-go/testing" + "github.com/cosmos/ibc-go/v2/modules/core/exported" + "github.com/cosmos/ibc-go/v2/modules/light-clients/06-solomachine/types" + ibctesting "github.com/cosmos/ibc-go/v2/testing" ) func (suite *SoloMachineTestSuite) TestMisbehaviour() { diff --git a/modules/light-clients/06-solomachine/types/proof.go b/modules/light-clients/06-solomachine/types/proof.go index 315195fbcd4..396ddd815ea 100644 --- a/modules/light-clients/06-solomachine/types/proof.go +++ b/modules/light-clients/06-solomachine/types/proof.go @@ -6,11 +6,11 @@ import ( "github.com/cosmos/cosmos-sdk/crypto/types/multisig" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" "github.com/cosmos/cosmos-sdk/types/tx/signing" - clienttypes "github.com/cosmos/ibc-go/modules/core/02-client/types" - connectiontypes "github.com/cosmos/ibc-go/modules/core/03-connection/types" - channeltypes "github.com/cosmos/ibc-go/modules/core/04-channel/types" - commitmenttypes "github.com/cosmos/ibc-go/modules/core/23-commitment/types" - "github.com/cosmos/ibc-go/modules/core/exported" + clienttypes "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" + connectiontypes "github.com/cosmos/ibc-go/v2/modules/core/03-connection/types" + channeltypes "github.com/cosmos/ibc-go/v2/modules/core/04-channel/types" + commitmenttypes "github.com/cosmos/ibc-go/v2/modules/core/23-commitment/types" + "github.com/cosmos/ibc-go/v2/modules/core/exported" ) // VerifySignature verifies if the the provided public key generated the signature diff --git a/modules/light-clients/06-solomachine/types/proof_test.go b/modules/light-clients/06-solomachine/types/proof_test.go index 811929f1c5b..5f15ad93555 100644 --- a/modules/light-clients/06-solomachine/types/proof_test.go +++ b/modules/light-clients/06-solomachine/types/proof_test.go @@ -3,9 +3,9 @@ package types_test import ( cryptotypes "github.com/cosmos/cosmos-sdk/crypto/types" "github.com/cosmos/cosmos-sdk/types/tx/signing" - "github.com/cosmos/ibc-go/modules/light-clients/06-solomachine/types" - solomachinetypes "github.com/cosmos/ibc-go/modules/light-clients/06-solomachine/types" - ibctesting "github.com/cosmos/ibc-go/testing" + "github.com/cosmos/ibc-go/v2/modules/light-clients/06-solomachine/types" + solomachinetypes "github.com/cosmos/ibc-go/v2/modules/light-clients/06-solomachine/types" + ibctesting "github.com/cosmos/ibc-go/v2/testing" ) func (suite *SoloMachineTestSuite) TestVerifySignature() { diff --git a/modules/light-clients/06-solomachine/types/proposal_handle.go b/modules/light-clients/06-solomachine/types/proposal_handle.go index b4dab1e6b00..057c82ec2bf 100644 --- a/modules/light-clients/06-solomachine/types/proposal_handle.go +++ b/modules/light-clients/06-solomachine/types/proposal_handle.go @@ -6,8 +6,8 @@ import ( "github.com/cosmos/cosmos-sdk/codec" sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" - clienttypes "github.com/cosmos/ibc-go/modules/core/02-client/types" - "github.com/cosmos/ibc-go/modules/core/exported" + clienttypes "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" + "github.com/cosmos/ibc-go/v2/modules/core/exported" ) // CheckSubstituteAndUpdateState verifies that the subject is allowed to be updated by 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 822a1c1032f..3956053d5c8 100644 --- a/modules/light-clients/06-solomachine/types/proposal_handle_test.go +++ b/modules/light-clients/06-solomachine/types/proposal_handle_test.go @@ -1,10 +1,10 @@ package types_test import ( - "github.com/cosmos/ibc-go/modules/core/exported" - "github.com/cosmos/ibc-go/modules/light-clients/06-solomachine/types" - ibctmtypes "github.com/cosmos/ibc-go/modules/light-clients/07-tendermint/types" - ibctesting "github.com/cosmos/ibc-go/testing" + "github.com/cosmos/ibc-go/v2/modules/core/exported" + "github.com/cosmos/ibc-go/v2/modules/light-clients/06-solomachine/types" + ibctmtypes "github.com/cosmos/ibc-go/v2/modules/light-clients/07-tendermint/types" + ibctesting "github.com/cosmos/ibc-go/v2/testing" ) func (suite *SoloMachineTestSuite) TestCheckSubstituteAndUpdateState() { diff --git a/modules/light-clients/06-solomachine/types/solomachine.go b/modules/light-clients/06-solomachine/types/solomachine.go index d80b17b27af..2189a3af690 100644 --- a/modules/light-clients/06-solomachine/types/solomachine.go +++ b/modules/light-clients/06-solomachine/types/solomachine.go @@ -3,7 +3,7 @@ package types import ( codectypes "github.com/cosmos/cosmos-sdk/codec/types" cryptotypes "github.com/cosmos/cosmos-sdk/crypto/types" - "github.com/cosmos/ibc-go/modules/core/exported" + "github.com/cosmos/ibc-go/v2/modules/core/exported" ) // Interface implementation checks. diff --git a/modules/light-clients/06-solomachine/types/solomachine.pb.go b/modules/light-clients/06-solomachine/types/solomachine.pb.go index aa050302c79..a712da4358c 100644 --- a/modules/light-clients/06-solomachine/types/solomachine.pb.go +++ b/modules/light-clients/06-solomachine/types/solomachine.pb.go @@ -6,8 +6,8 @@ package types import ( fmt "fmt" types "github.com/cosmos/cosmos-sdk/codec/types" - types1 "github.com/cosmos/ibc-go/modules/core/03-connection/types" - types2 "github.com/cosmos/ibc-go/modules/core/04-channel/types" + types1 "github.com/cosmos/ibc-go/v2/modules/core/03-connection/types" + types2 "github.com/cosmos/ibc-go/v2/modules/core/04-channel/types" _ "github.com/gogo/protobuf/gogoproto" proto "github.com/gogo/protobuf/proto" io "io" @@ -823,11 +823,11 @@ func init() { } var fileDescriptor_141333b361aae010 = []byte{ - // 1370 bytes of a gzipped FileDescriptorProto + // 1372 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, + 0x7a, 0x83, 0xe3, 0x05, 0x5a, 0x21, 0x19, 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, @@ -905,11 +905,11 @@ var fileDescriptor_141333b361aae010 = []byte{ 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, + 0xb9, 0xb5, 0x67, 0x2f, 0x72, 0x6b, 0xbf, 0xbc, 0xc8, 0xad, 0x3d, 0xbc, 0xd3, 0xb4, 0xdc, 0x56, + 0xbf, 0x5e, 0x30, 0x71, 0xa7, 0x68, 0x62, 0xa7, 0x83, 0x9d, 0xa2, 0x55, 0x37, 0x6f, 0x36, 0xb1, + 0xf7, 0xaf, 0xd4, 0xc1, 0x8d, 0x7e, 0x1b, 0x39, 0xe4, 0x7f, 0xea, 0xe6, 0xfc, 0x87, 0xea, 0xb5, + 0x5b, 0x37, 0xc3, 0xff, 0x54, 0xde, 0x35, 0xe3, 0xd4, 0xd7, 0xfd, 0x79, 0xf6, 0xfa, 0xef, 0x01, + 0x00, 0x00, 0xff, 0xff, 0x50, 0x28, 0xa0, 0x92, 0x80, 0x0d, 0x00, 0x00, } func (m *ClientState) Marshal() (dAtA []byte, err error) { diff --git a/modules/light-clients/06-solomachine/types/solomachine_test.go b/modules/light-clients/06-solomachine/types/solomachine_test.go index b6f7e81817a..5cd9c8aaae6 100644 --- a/modules/light-clients/06-solomachine/types/solomachine_test.go +++ b/modules/light-clients/06-solomachine/types/solomachine_test.go @@ -12,10 +12,10 @@ import ( cryptotypes "github.com/cosmos/cosmos-sdk/crypto/types" "github.com/cosmos/cosmos-sdk/testutil/testdata" sdk "github.com/cosmos/cosmos-sdk/types" - host "github.com/cosmos/ibc-go/modules/core/24-host" - "github.com/cosmos/ibc-go/modules/core/exported" - "github.com/cosmos/ibc-go/modules/light-clients/06-solomachine/types" - ibctesting "github.com/cosmos/ibc-go/testing" + host "github.com/cosmos/ibc-go/v2/modules/core/24-host" + "github.com/cosmos/ibc-go/v2/modules/core/exported" + "github.com/cosmos/ibc-go/v2/modules/light-clients/06-solomachine/types" + ibctesting "github.com/cosmos/ibc-go/v2/testing" ) type SoloMachineTestSuite struct { diff --git a/modules/light-clients/06-solomachine/types/update.go b/modules/light-clients/06-solomachine/types/update.go index 32d2788c01b..c4209c77143 100644 --- a/modules/light-clients/06-solomachine/types/update.go +++ b/modules/light-clients/06-solomachine/types/update.go @@ -4,8 +4,8 @@ import ( "github.com/cosmos/cosmos-sdk/codec" sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" - clienttypes "github.com/cosmos/ibc-go/modules/core/02-client/types" - "github.com/cosmos/ibc-go/modules/core/exported" + clienttypes "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" + "github.com/cosmos/ibc-go/v2/modules/core/exported" ) // CheckHeaderAndUpdateState checks if the provided header is valid and updates diff --git a/modules/light-clients/06-solomachine/types/update_test.go b/modules/light-clients/06-solomachine/types/update_test.go index ba605d15941..c07263af262 100644 --- a/modules/light-clients/06-solomachine/types/update_test.go +++ b/modules/light-clients/06-solomachine/types/update_test.go @@ -3,10 +3,10 @@ package types_test import ( codectypes "github.com/cosmos/cosmos-sdk/codec/types" sdk "github.com/cosmos/cosmos-sdk/types" - "github.com/cosmos/ibc-go/modules/core/exported" - "github.com/cosmos/ibc-go/modules/light-clients/06-solomachine/types" - ibctmtypes "github.com/cosmos/ibc-go/modules/light-clients/07-tendermint/types" - ibctesting "github.com/cosmos/ibc-go/testing" + "github.com/cosmos/ibc-go/v2/modules/core/exported" + "github.com/cosmos/ibc-go/v2/modules/light-clients/06-solomachine/types" + ibctmtypes "github.com/cosmos/ibc-go/v2/modules/light-clients/07-tendermint/types" + ibctesting "github.com/cosmos/ibc-go/v2/testing" ) func (suite *SoloMachineTestSuite) TestCheckHeaderAndUpdateState() { diff --git a/modules/light-clients/07-tendermint/module.go b/modules/light-clients/07-tendermint/module.go index 07a13a7a1a1..fd1feb5ffb2 100644 --- a/modules/light-clients/07-tendermint/module.go +++ b/modules/light-clients/07-tendermint/module.go @@ -1,7 +1,7 @@ package tendermint import ( - "github.com/cosmos/ibc-go/modules/light-clients/07-tendermint/types" + "github.com/cosmos/ibc-go/v2/modules/light-clients/07-tendermint/types" ) // Name returns the IBC client name diff --git a/modules/light-clients/07-tendermint/types/client_state.go b/modules/light-clients/07-tendermint/types/client_state.go index 4faa37963e0..2448d2859bb 100644 --- a/modules/light-clients/07-tendermint/types/client_state.go +++ b/modules/light-clients/07-tendermint/types/client_state.go @@ -11,12 +11,12 @@ import ( "github.com/cosmos/cosmos-sdk/codec" sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" - clienttypes "github.com/cosmos/ibc-go/modules/core/02-client/types" - connectiontypes "github.com/cosmos/ibc-go/modules/core/03-connection/types" - channeltypes "github.com/cosmos/ibc-go/modules/core/04-channel/types" - commitmenttypes "github.com/cosmos/ibc-go/modules/core/23-commitment/types" - host "github.com/cosmos/ibc-go/modules/core/24-host" - "github.com/cosmos/ibc-go/modules/core/exported" + clienttypes "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" + connectiontypes "github.com/cosmos/ibc-go/v2/modules/core/03-connection/types" + channeltypes "github.com/cosmos/ibc-go/v2/modules/core/04-channel/types" + commitmenttypes "github.com/cosmos/ibc-go/v2/modules/core/23-commitment/types" + host "github.com/cosmos/ibc-go/v2/modules/core/24-host" + "github.com/cosmos/ibc-go/v2/modules/core/exported" ) var _ exported.ClientState = (*ClientState)(nil) diff --git a/modules/light-clients/07-tendermint/types/client_state_test.go b/modules/light-clients/07-tendermint/types/client_state_test.go index d582af364a4..7a3f185370b 100644 --- a/modules/light-clients/07-tendermint/types/client_state_test.go +++ b/modules/light-clients/07-tendermint/types/client_state_test.go @@ -5,14 +5,14 @@ import ( ics23 "github.com/confio/ics23/go" - clienttypes "github.com/cosmos/ibc-go/modules/core/02-client/types" - channeltypes "github.com/cosmos/ibc-go/modules/core/04-channel/types" - commitmenttypes "github.com/cosmos/ibc-go/modules/core/23-commitment/types" - host "github.com/cosmos/ibc-go/modules/core/24-host" - "github.com/cosmos/ibc-go/modules/core/exported" - "github.com/cosmos/ibc-go/modules/light-clients/07-tendermint/types" - ibctesting "github.com/cosmos/ibc-go/testing" - ibcmock "github.com/cosmos/ibc-go/testing/mock" + clienttypes "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" + channeltypes "github.com/cosmos/ibc-go/v2/modules/core/04-channel/types" + commitmenttypes "github.com/cosmos/ibc-go/v2/modules/core/23-commitment/types" + host "github.com/cosmos/ibc-go/v2/modules/core/24-host" + "github.com/cosmos/ibc-go/v2/modules/core/exported" + "github.com/cosmos/ibc-go/v2/modules/light-clients/07-tendermint/types" + ibctesting "github.com/cosmos/ibc-go/v2/testing" + ibcmock "github.com/cosmos/ibc-go/v2/testing/mock" ) const ( diff --git a/modules/light-clients/07-tendermint/types/codec.go b/modules/light-clients/07-tendermint/types/codec.go index 8b30076c25a..e4af4978fd7 100644 --- a/modules/light-clients/07-tendermint/types/codec.go +++ b/modules/light-clients/07-tendermint/types/codec.go @@ -2,7 +2,7 @@ package types import ( codectypes "github.com/cosmos/cosmos-sdk/codec/types" - "github.com/cosmos/ibc-go/modules/core/exported" + "github.com/cosmos/ibc-go/v2/modules/core/exported" ) // RegisterInterfaces registers the tendermint concrete client-related diff --git a/modules/light-clients/07-tendermint/types/consensus_state.go b/modules/light-clients/07-tendermint/types/consensus_state.go index 046d73ce84d..857bfe35c1b 100644 --- a/modules/light-clients/07-tendermint/types/consensus_state.go +++ b/modules/light-clients/07-tendermint/types/consensus_state.go @@ -7,9 +7,9 @@ import ( tmtypes "github.com/tendermint/tendermint/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" - clienttypes "github.com/cosmos/ibc-go/modules/core/02-client/types" - commitmenttypes "github.com/cosmos/ibc-go/modules/core/23-commitment/types" - "github.com/cosmos/ibc-go/modules/core/exported" + clienttypes "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" + commitmenttypes "github.com/cosmos/ibc-go/v2/modules/core/23-commitment/types" + "github.com/cosmos/ibc-go/v2/modules/core/exported" ) // SentinelRoot is used as a stand-in root value for the consensus state set at the upgrade height diff --git a/modules/light-clients/07-tendermint/types/consensus_state_test.go b/modules/light-clients/07-tendermint/types/consensus_state_test.go index b4964ef4060..6b89865345c 100644 --- a/modules/light-clients/07-tendermint/types/consensus_state_test.go +++ b/modules/light-clients/07-tendermint/types/consensus_state_test.go @@ -3,9 +3,9 @@ package types_test import ( "time" - commitmenttypes "github.com/cosmos/ibc-go/modules/core/23-commitment/types" - "github.com/cosmos/ibc-go/modules/core/exported" - "github.com/cosmos/ibc-go/modules/light-clients/07-tendermint/types" + commitmenttypes "github.com/cosmos/ibc-go/v2/modules/core/23-commitment/types" + "github.com/cosmos/ibc-go/v2/modules/core/exported" + "github.com/cosmos/ibc-go/v2/modules/light-clients/07-tendermint/types" ) func (suite *TendermintTestSuite) TestConsensusStateValidateBasic() { diff --git a/modules/light-clients/07-tendermint/types/genesis.go b/modules/light-clients/07-tendermint/types/genesis.go index 644296734b4..f91cd370bdd 100644 --- a/modules/light-clients/07-tendermint/types/genesis.go +++ b/modules/light-clients/07-tendermint/types/genesis.go @@ -2,8 +2,8 @@ package types import ( sdk "github.com/cosmos/cosmos-sdk/types" - clienttypes "github.com/cosmos/ibc-go/modules/core/02-client/types" - "github.com/cosmos/ibc-go/modules/core/exported" + clienttypes "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" + "github.com/cosmos/ibc-go/v2/modules/core/exported" ) // ExportMetadata exports all the consensus metadata in the client store so they can be included in clients genesis diff --git a/modules/light-clients/07-tendermint/types/genesis_test.go b/modules/light-clients/07-tendermint/types/genesis_test.go index 3a0038c0d47..503e9af3220 100644 --- a/modules/light-clients/07-tendermint/types/genesis_test.go +++ b/modules/light-clients/07-tendermint/types/genesis_test.go @@ -3,9 +3,9 @@ package types_test import ( sdk "github.com/cosmos/cosmos-sdk/types" - clienttypes "github.com/cosmos/ibc-go/modules/core/02-client/types" - "github.com/cosmos/ibc-go/modules/light-clients/07-tendermint/types" - ibctesting "github.com/cosmos/ibc-go/testing" + clienttypes "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" + "github.com/cosmos/ibc-go/v2/modules/light-clients/07-tendermint/types" + ibctesting "github.com/cosmos/ibc-go/v2/testing" ) // expected export ordering: diff --git a/modules/light-clients/07-tendermint/types/header.go b/modules/light-clients/07-tendermint/types/header.go index d3662bb72a8..5f081252cd4 100644 --- a/modules/light-clients/07-tendermint/types/header.go +++ b/modules/light-clients/07-tendermint/types/header.go @@ -7,9 +7,9 @@ import ( tmtypes "github.com/tendermint/tendermint/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" - clienttypes "github.com/cosmos/ibc-go/modules/core/02-client/types" - commitmenttypes "github.com/cosmos/ibc-go/modules/core/23-commitment/types" - "github.com/cosmos/ibc-go/modules/core/exported" + clienttypes "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" + commitmenttypes "github.com/cosmos/ibc-go/v2/modules/core/23-commitment/types" + "github.com/cosmos/ibc-go/v2/modules/core/exported" ) var _ exported.Header = &Header{} diff --git a/modules/light-clients/07-tendermint/types/header_test.go b/modules/light-clients/07-tendermint/types/header_test.go index 37a7082d62a..ba792c2136c 100644 --- a/modules/light-clients/07-tendermint/types/header_test.go +++ b/modules/light-clients/07-tendermint/types/header_test.go @@ -5,9 +5,9 @@ import ( tmprotocrypto "github.com/tendermint/tendermint/proto/tendermint/crypto" - clienttypes "github.com/cosmos/ibc-go/modules/core/02-client/types" - "github.com/cosmos/ibc-go/modules/core/exported" - "github.com/cosmos/ibc-go/modules/light-clients/07-tendermint/types" + clienttypes "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" + "github.com/cosmos/ibc-go/v2/modules/core/exported" + "github.com/cosmos/ibc-go/v2/modules/light-clients/07-tendermint/types" ) func (suite *TendermintTestSuite) TestGetHeight() { diff --git a/modules/light-clients/07-tendermint/types/misbehaviour.go b/modules/light-clients/07-tendermint/types/misbehaviour.go index 6c82d9afd02..7fc159e1e85 100644 --- a/modules/light-clients/07-tendermint/types/misbehaviour.go +++ b/modules/light-clients/07-tendermint/types/misbehaviour.go @@ -7,9 +7,9 @@ import ( tmtypes "github.com/tendermint/tendermint/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" - clienttypes "github.com/cosmos/ibc-go/modules/core/02-client/types" - host "github.com/cosmos/ibc-go/modules/core/24-host" - "github.com/cosmos/ibc-go/modules/core/exported" + clienttypes "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" + host "github.com/cosmos/ibc-go/v2/modules/core/24-host" + "github.com/cosmos/ibc-go/v2/modules/core/exported" ) var _ exported.Misbehaviour = &Misbehaviour{} diff --git a/modules/light-clients/07-tendermint/types/misbehaviour_handle.go b/modules/light-clients/07-tendermint/types/misbehaviour_handle.go index 286977491f8..2e77f18c55e 100644 --- a/modules/light-clients/07-tendermint/types/misbehaviour_handle.go +++ b/modules/light-clients/07-tendermint/types/misbehaviour_handle.go @@ -9,8 +9,8 @@ import ( "github.com/cosmos/cosmos-sdk/codec" sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" - clienttypes "github.com/cosmos/ibc-go/modules/core/02-client/types" - "github.com/cosmos/ibc-go/modules/core/exported" + clienttypes "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" + "github.com/cosmos/ibc-go/v2/modules/core/exported" ) // CheckMisbehaviourAndUpdateState determines whether or not two conflicting diff --git a/modules/light-clients/07-tendermint/types/misbehaviour_handle_test.go b/modules/light-clients/07-tendermint/types/misbehaviour_handle_test.go index a257a4b80c7..1dcbaa7a95e 100644 --- a/modules/light-clients/07-tendermint/types/misbehaviour_handle_test.go +++ b/modules/light-clients/07-tendermint/types/misbehaviour_handle_test.go @@ -7,12 +7,12 @@ import ( "github.com/tendermint/tendermint/crypto/tmhash" tmtypes "github.com/tendermint/tendermint/types" - clienttypes "github.com/cosmos/ibc-go/modules/core/02-client/types" - commitmenttypes "github.com/cosmos/ibc-go/modules/core/23-commitment/types" - "github.com/cosmos/ibc-go/modules/core/exported" - "github.com/cosmos/ibc-go/modules/light-clients/07-tendermint/types" - ibctesting "github.com/cosmos/ibc-go/testing" - ibctestingmock "github.com/cosmos/ibc-go/testing/mock" + clienttypes "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" + commitmenttypes "github.com/cosmos/ibc-go/v2/modules/core/23-commitment/types" + "github.com/cosmos/ibc-go/v2/modules/core/exported" + "github.com/cosmos/ibc-go/v2/modules/light-clients/07-tendermint/types" + ibctesting "github.com/cosmos/ibc-go/v2/testing" + ibctestingmock "github.com/cosmos/ibc-go/v2/testing/mock" ) func (suite *TendermintTestSuite) TestCheckMisbehaviourAndUpdateState() { diff --git a/modules/light-clients/07-tendermint/types/misbehaviour_test.go b/modules/light-clients/07-tendermint/types/misbehaviour_test.go index d3bb7bc626c..3738fa791b5 100644 --- a/modules/light-clients/07-tendermint/types/misbehaviour_test.go +++ b/modules/light-clients/07-tendermint/types/misbehaviour_test.go @@ -7,11 +7,11 @@ import ( tmproto "github.com/tendermint/tendermint/proto/tendermint/types" tmtypes "github.com/tendermint/tendermint/types" - clienttypes "github.com/cosmos/ibc-go/modules/core/02-client/types" - "github.com/cosmos/ibc-go/modules/core/exported" - "github.com/cosmos/ibc-go/modules/light-clients/07-tendermint/types" - ibctesting "github.com/cosmos/ibc-go/testing" - ibctestingmock "github.com/cosmos/ibc-go/testing/mock" + clienttypes "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" + "github.com/cosmos/ibc-go/v2/modules/core/exported" + "github.com/cosmos/ibc-go/v2/modules/light-clients/07-tendermint/types" + ibctesting "github.com/cosmos/ibc-go/v2/testing" + ibctestingmock "github.com/cosmos/ibc-go/v2/testing/mock" ) func (suite *TendermintTestSuite) TestMisbehaviour() { diff --git a/modules/light-clients/07-tendermint/types/proposal_handle.go b/modules/light-clients/07-tendermint/types/proposal_handle.go index 6364aa8ff88..0647d1d0592 100644 --- a/modules/light-clients/07-tendermint/types/proposal_handle.go +++ b/modules/light-clients/07-tendermint/types/proposal_handle.go @@ -6,8 +6,8 @@ import ( "github.com/cosmos/cosmos-sdk/codec" sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" - clienttypes "github.com/cosmos/ibc-go/modules/core/02-client/types" - "github.com/cosmos/ibc-go/modules/core/exported" + clienttypes "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" + "github.com/cosmos/ibc-go/v2/modules/core/exported" ) // CheckSubstituteAndUpdateState will try to update the client with the state of the diff --git a/modules/light-clients/07-tendermint/types/proposal_handle_test.go b/modules/light-clients/07-tendermint/types/proposal_handle_test.go index e4236424bf0..1549f8a5490 100644 --- a/modules/light-clients/07-tendermint/types/proposal_handle_test.go +++ b/modules/light-clients/07-tendermint/types/proposal_handle_test.go @@ -3,10 +3,10 @@ package types_test import ( "time" - clienttypes "github.com/cosmos/ibc-go/modules/core/02-client/types" - "github.com/cosmos/ibc-go/modules/core/exported" - "github.com/cosmos/ibc-go/modules/light-clients/07-tendermint/types" - ibctesting "github.com/cosmos/ibc-go/testing" + clienttypes "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" + "github.com/cosmos/ibc-go/v2/modules/core/exported" + "github.com/cosmos/ibc-go/v2/modules/light-clients/07-tendermint/types" + ibctesting "github.com/cosmos/ibc-go/v2/testing" ) var ( diff --git a/modules/light-clients/07-tendermint/types/store.go b/modules/light-clients/07-tendermint/types/store.go index dbb3fede83e..6ee21abfc28 100644 --- a/modules/light-clients/07-tendermint/types/store.go +++ b/modules/light-clients/07-tendermint/types/store.go @@ -9,9 +9,9 @@ import ( "github.com/cosmos/cosmos-sdk/store/prefix" sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" - clienttypes "github.com/cosmos/ibc-go/modules/core/02-client/types" - host "github.com/cosmos/ibc-go/modules/core/24-host" - "github.com/cosmos/ibc-go/modules/core/exported" + clienttypes "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" + host "github.com/cosmos/ibc-go/v2/modules/core/24-host" + "github.com/cosmos/ibc-go/v2/modules/core/exported" ) /* diff --git a/modules/light-clients/07-tendermint/types/store_test.go b/modules/light-clients/07-tendermint/types/store_test.go index 9ba7823b3f5..6377b45db8b 100644 --- a/modules/light-clients/07-tendermint/types/store_test.go +++ b/modules/light-clients/07-tendermint/types/store_test.go @@ -4,13 +4,13 @@ import ( "math" "time" - clienttypes "github.com/cosmos/ibc-go/modules/core/02-client/types" - commitmenttypes "github.com/cosmos/ibc-go/modules/core/23-commitment/types" - host "github.com/cosmos/ibc-go/modules/core/24-host" - "github.com/cosmos/ibc-go/modules/core/exported" - solomachinetypes "github.com/cosmos/ibc-go/modules/light-clients/06-solomachine/types" - "github.com/cosmos/ibc-go/modules/light-clients/07-tendermint/types" - ibctesting "github.com/cosmos/ibc-go/testing" + clienttypes "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" + commitmenttypes "github.com/cosmos/ibc-go/v2/modules/core/23-commitment/types" + host "github.com/cosmos/ibc-go/v2/modules/core/24-host" + "github.com/cosmos/ibc-go/v2/modules/core/exported" + solomachinetypes "github.com/cosmos/ibc-go/v2/modules/light-clients/06-solomachine/types" + "github.com/cosmos/ibc-go/v2/modules/light-clients/07-tendermint/types" + ibctesting "github.com/cosmos/ibc-go/v2/testing" ) func (suite *TendermintTestSuite) TestGetConsensusState() { diff --git a/modules/light-clients/07-tendermint/types/tendermint.pb.go b/modules/light-clients/07-tendermint/types/tendermint.pb.go index 9a0645a4462..6c977c1385e 100644 --- a/modules/light-clients/07-tendermint/types/tendermint.pb.go +++ b/modules/light-clients/07-tendermint/types/tendermint.pb.go @@ -6,8 +6,8 @@ package types import ( fmt "fmt" _go "github.com/confio/ics23/go" - types "github.com/cosmos/ibc-go/modules/core/02-client/types" - types1 "github.com/cosmos/ibc-go/modules/core/23-commitment/types" + types "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" + types1 "github.com/cosmos/ibc-go/v2/modules/core/23-commitment/types" _ "github.com/gogo/protobuf/gogoproto" proto "github.com/gogo/protobuf/proto" github_com_gogo_protobuf_types "github.com/gogo/protobuf/types" @@ -324,75 +324,75 @@ func init() { } var fileDescriptor_c6d6cf2b288949be = []byte{ - // 1084 bytes of a gzipped FileDescriptorProto + // 1087 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x56, 0xcf, 0x6f, 0xe3, 0xc4, 0x17, 0x6f, 0xda, 0x7e, 0xb7, 0xc9, 0x24, 0xdd, 0xf6, 0xeb, 0x2d, 0xdd, 0xb4, 0x74, 0xe3, 0xc8, - 0xa0, 0x25, 0x42, 0xaa, 0x4d, 0xb2, 0x48, 0x48, 0x15, 0x17, 0xdc, 0x05, 0xb5, 0x88, 0x95, 0x2a, - 0x97, 0x1f, 0x12, 0x02, 0x99, 0x89, 0x3d, 0x49, 0x46, 0x6b, 0x7b, 0x8c, 0x67, 0x12, 0x5a, 0xfe, - 0x02, 0x38, 0x20, 0xed, 0x11, 0x71, 0xe2, 0xc0, 0x1f, 0xb3, 0xc7, 0x1e, 0x39, 0x19, 0xd4, 0x5e, - 0x38, 0xe7, 0xc8, 0x09, 0xcd, 0x0f, 0xdb, 0xd3, 0x6c, 0x97, 0x6a, 0xb9, 0x44, 0xf3, 0xde, 0xfb, - 0xbc, 0xcf, 0x27, 0xf3, 0xe6, 0xcd, 0x1b, 0x03, 0x07, 0x0f, 0x03, 0x27, 0xc2, 0xe3, 0x09, 0x0b, - 0x22, 0x8c, 0x12, 0x46, 0x1d, 0x86, 0x92, 0x10, 0x65, 0x31, 0x4e, 0x98, 0x33, 0xeb, 0x6b, 0x96, - 0x9d, 0x66, 0x84, 0x11, 0xa3, 0x83, 0x87, 0x81, 0xad, 0x27, 0xd8, 0x1a, 0x64, 0xd6, 0xdf, 0xed, - 0x6a, 0xf9, 0xec, 0x3c, 0x45, 0xd4, 0x99, 0xc1, 0x08, 0x87, 0x90, 0x91, 0x4c, 0x32, 0xec, 0xee, - 0xbd, 0x80, 0x10, 0xbf, 0x2a, 0x7a, 0x2f, 0x20, 0xc9, 0x08, 0x13, 0x27, 0xcd, 0x08, 0x19, 0x15, - 0xce, 0xce, 0x98, 0x90, 0x71, 0x84, 0x1c, 0x61, 0x0d, 0xa7, 0x23, 0x27, 0x9c, 0x66, 0x90, 0x61, - 0x92, 0xa8, 0xb8, 0xb9, 0x18, 0x67, 0x38, 0x46, 0x94, 0xc1, 0x38, 0x2d, 0x00, 0x7c, 0x9b, 0x01, - 0xc9, 0x90, 0x23, 0xff, 0x35, 0xdf, 0x9a, 0x5c, 0x29, 0xc0, 0x5b, 0x15, 0x80, 0xc4, 0x31, 0x66, - 0x71, 0x01, 0x2a, 0x2d, 0x05, 0xdc, 0x1a, 0x93, 0x31, 0x11, 0x4b, 0x87, 0xaf, 0xa4, 0xd7, 0xfa, - 0x6b, 0x0d, 0x34, 0x0f, 0x05, 0xdf, 0x29, 0x83, 0x0c, 0x19, 0x3b, 0xa0, 0x1e, 0x4c, 0x20, 0x4e, - 0x7c, 0x1c, 0xb6, 0x6b, 0xdd, 0x5a, 0xaf, 0xe1, 0xad, 0x09, 0xfb, 0x38, 0x34, 0x10, 0x68, 0xb2, - 0x6c, 0x4a, 0x99, 0x1f, 0xa1, 0x19, 0x8a, 0xda, 0xcb, 0xdd, 0x5a, 0xaf, 0x39, 0xe8, 0xd9, 0xff, - 0x5e, 0x56, 0xfb, 0xa3, 0x0c, 0x06, 0x7c, 0xc3, 0xee, 0xee, 0xf3, 0xdc, 0x5c, 0x9a, 0xe7, 0xa6, - 0x71, 0x0e, 0xe3, 0xe8, 0xc0, 0xd2, 0xa8, 0x2c, 0x0f, 0x08, 0xeb, 0x13, 0x6e, 0x18, 0x23, 0xb0, - 0x21, 0x2c, 0x9c, 0x8c, 0xfd, 0x14, 0x65, 0x98, 0x84, 0xed, 0x15, 0x21, 0xb5, 0x63, 0xcb, 0x62, - 0xd9, 0x45, 0xb1, 0xec, 0xc7, 0xaa, 0x98, 0xae, 0xa5, 0xb8, 0xb7, 0x35, 0xee, 0x2a, 0xdf, 0xfa, - 0xf9, 0x0f, 0xb3, 0xe6, 0xdd, 0x2d, 0xbc, 0x27, 0xc2, 0x69, 0x60, 0xb0, 0x39, 0x4d, 0x86, 0x24, - 0x09, 0x35, 0xa1, 0xd5, 0xdb, 0x84, 0xde, 0x50, 0x42, 0xf7, 0xa5, 0xd0, 0x22, 0x81, 0x54, 0xda, - 0x28, 0xdd, 0x4a, 0x0a, 0x81, 0x8d, 0x18, 0x9e, 0xf9, 0x41, 0x44, 0x82, 0xa7, 0x7e, 0x98, 0xe1, - 0x11, 0x6b, 0xff, 0xef, 0x15, 0xb7, 0xb4, 0x90, 0x2f, 0x85, 0xd6, 0x63, 0x78, 0x76, 0xc8, 0x9d, - 0x8f, 0xb9, 0xcf, 0xf8, 0x1a, 0xac, 0x8f, 0x32, 0xf2, 0x3d, 0x4a, 0xfc, 0x09, 0xe2, 0x07, 0xd2, - 0xbe, 0x23, 0x44, 0x76, 0xc5, 0x11, 0xf1, 0x16, 0xb1, 0x55, 0xe7, 0xcc, 0xfa, 0xf6, 0x91, 0x40, - 0xb8, 0x7b, 0x4a, 0x65, 0x4b, 0xaa, 0x5c, 0x4b, 0xb7, 0xbc, 0x96, 0xb4, 0x25, 0x96, 0xd3, 0x47, - 0x90, 0x21, 0xca, 0x0a, 0xfa, 0xb5, 0x57, 0xa5, 0xbf, 0x96, 0x6e, 0x79, 0x2d, 0x69, 0x2b, 0xfa, - 0x63, 0xd0, 0x14, 0x57, 0xc7, 0xa7, 0x29, 0x0a, 0x68, 0xbb, 0xde, 0x5d, 0xe9, 0x35, 0x07, 0x9b, - 0x36, 0x0e, 0xe8, 0xe0, 0x91, 0x7d, 0xc2, 0x23, 0xa7, 0x29, 0x0a, 0xdc, 0xed, 0xaa, 0x85, 0x34, - 0xb8, 0xe5, 0x81, 0xb4, 0x80, 0x50, 0xe3, 0x00, 0xb4, 0xa6, 0xe9, 0x38, 0x83, 0x21, 0xf2, 0x53, - 0xc8, 0x26, 0xed, 0x46, 0x77, 0xa5, 0xd7, 0x70, 0xef, 0xcf, 0x73, 0xf3, 0x9e, 0x3a, 0x37, 0x2d, - 0x6a, 0x79, 0x4d, 0x65, 0x9e, 0x40, 0x36, 0x31, 0x7c, 0xb0, 0x03, 0xa3, 0x88, 0x7c, 0xe7, 0x4f, - 0xd3, 0x10, 0x32, 0xe4, 0xc3, 0x11, 0x43, 0x99, 0x8f, 0xce, 0x52, 0x9c, 0x9d, 0xb7, 0x41, 0xb7, - 0xd6, 0xab, 0xbb, 0x6f, 0xce, 0x73, 0xb3, 0x2b, 0x89, 0x5e, 0x0a, 0xb5, 0xbc, 0x6d, 0x11, 0xfb, - 0x4c, 0x84, 0x3e, 0xe0, 0x91, 0x0f, 0x45, 0xc0, 0xf8, 0x16, 0x98, 0x37, 0x64, 0xc5, 0x98, 0x0e, - 0xd1, 0x04, 0xce, 0x30, 0x99, 0x66, 0xed, 0xa6, 0x90, 0x79, 0x7b, 0x9e, 0x9b, 0x0f, 0x5f, 0x2a, - 0xa3, 0x27, 0x58, 0xde, 0xde, 0xa2, 0xd8, 0x13, 0x2d, 0x7c, 0xb0, 0xfa, 0xc3, 0xaf, 0xe6, 0x92, - 0xf5, 0xdb, 0x32, 0xb8, 0x7b, 0x48, 0x12, 0x8a, 0x12, 0x3a, 0xa5, 0xf2, 0xb6, 0xbb, 0xa0, 0x51, - 0x0e, 0x1c, 0x71, 0xdd, 0xf9, 0x71, 0x2e, 0xb6, 0xe4, 0xa7, 0x05, 0xc2, 0xad, 0xf3, 0xe3, 0x7c, - 0xc6, 0x3b, 0xaf, 0x4a, 0x33, 0xde, 0x07, 0xab, 0x19, 0x21, 0x4c, 0xcd, 0x03, 0x4b, 0xeb, 0x86, - 0x6a, 0x02, 0xcd, 0xfa, 0xf6, 0x13, 0x94, 0x3d, 0x8d, 0x90, 0x47, 0x08, 0x73, 0x57, 0x39, 0x8d, - 0x27, 0xb2, 0x8c, 0x1f, 0x6b, 0x60, 0x2b, 0x41, 0x67, 0xcc, 0x2f, 0x87, 0x2d, 0xf5, 0x27, 0x90, - 0x4e, 0xc4, 0x9d, 0x6f, 0xb9, 0x5f, 0xcc, 0x73, 0xf3, 0x75, 0x59, 0x83, 0x9b, 0x50, 0xd6, 0xdf, - 0xb9, 0xf9, 0xee, 0x18, 0xb3, 0xc9, 0x74, 0xc8, 0xe5, 0xf4, 0x27, 0x40, 0x5b, 0x46, 0x78, 0x48, - 0x9d, 0xe1, 0x39, 0x43, 0xd4, 0x3e, 0x42, 0x67, 0x2e, 0x5f, 0x78, 0x06, 0xa7, 0xfb, 0xbc, 0x64, - 0x3b, 0x82, 0x74, 0xa2, 0xca, 0xf4, 0xd3, 0x32, 0x68, 0xe9, 0xd5, 0x33, 0xfa, 0xa0, 0x21, 0x1b, - 0xbb, 0x9c, 0x89, 0xee, 0xd6, 0x3c, 0x37, 0x37, 0xe5, 0xdf, 0x2a, 0x43, 0x96, 0x57, 0x97, 0xeb, - 0xe3, 0xd0, 0x80, 0xa0, 0x3e, 0x41, 0x30, 0x44, 0x99, 0xdf, 0x57, 0x75, 0x79, 0x78, 0xdb, 0x9c, - 0x3c, 0x12, 0x78, 0xb7, 0x73, 0x99, 0x9b, 0x6b, 0x72, 0xdd, 0x9f, 0xe7, 0xe6, 0x86, 0x14, 0x29, - 0xc8, 0x2c, 0x6f, 0x4d, 0x2e, 0xfb, 0x9a, 0xc4, 0x40, 0xcd, 0xc7, 0xff, 0x20, 0x31, 0x78, 0x41, - 0x62, 0x50, 0x4a, 0x0c, 0x54, 0x3d, 0x7e, 0x59, 0x01, 0x77, 0x24, 0xda, 0x80, 0x60, 0x9d, 0xe2, - 0x71, 0x82, 0x42, 0x5f, 0x42, 0x54, 0xcb, 0x74, 0x74, 0x1d, 0xf9, 0x24, 0x9e, 0x0a, 0x98, 0x12, - 0xdc, 0xbb, 0xc8, 0xcd, 0x5a, 0x35, 0x05, 0xae, 0x51, 0x58, 0x5e, 0x8b, 0x6a, 0x58, 0x3e, 0x64, - 0xca, 0x33, 0xf6, 0x29, 0x2a, 0xda, 0xea, 0x06, 0x89, 0xf2, 0xf0, 0x4e, 0x11, 0x73, 0xdb, 0x15, - 0xfd, 0xb5, 0x74, 0xcb, 0x6b, 0xcd, 0x34, 0x9c, 0xf1, 0x0d, 0x90, 0xcf, 0x80, 0xd0, 0x17, 0x43, - 0x6c, 0xe5, 0xd6, 0x21, 0xf6, 0x40, 0x0d, 0xb1, 0xd7, 0xb4, 0xc7, 0xa5, 0xcc, 0xb7, 0xbc, 0x75, - 0xe5, 0x50, 0x63, 0x2c, 0x02, 0x46, 0x81, 0xa8, 0x9a, 0x55, 0x3d, 0x2c, 0xb7, 0xed, 0xe2, 0xc1, - 0x3c, 0x37, 0x77, 0xae, 0xab, 0x54, 0x1c, 0x96, 0xf7, 0x7f, 0xe5, 0xac, 0xda, 0xd6, 0xfa, 0x18, - 0xd4, 0x8b, 0x07, 0xd6, 0xd8, 0x03, 0x8d, 0x64, 0x1a, 0xa3, 0x8c, 0x47, 0xc4, 0xc9, 0xac, 0x7a, - 0x95, 0xc3, 0xe8, 0x82, 0x66, 0x88, 0x12, 0x12, 0xe3, 0x44, 0xc4, 0x97, 0x45, 0x5c, 0x77, 0xb9, - 0x5f, 0x3d, 0xbf, 0xec, 0xd4, 0x2e, 0x2e, 0x3b, 0xb5, 0x3f, 0x2f, 0x3b, 0xb5, 0x67, 0x57, 0x9d, - 0xa5, 0x8b, 0xab, 0xce, 0xd2, 0xef, 0x57, 0x9d, 0xa5, 0x2f, 0x5d, 0xed, 0x8a, 0x05, 0x84, 0xc6, - 0x84, 0xf2, 0xaf, 0xaf, 0xfd, 0x31, 0x71, 0x62, 0x12, 0x4e, 0x23, 0x44, 0xe5, 0x87, 0xd8, 0x7e, - 0xf1, 0x25, 0xf6, 0xce, 0x7b, 0xfb, 0x8b, 0x9f, 0x4a, 0xc3, 0x3b, 0x62, 0x9e, 0x3c, 0xfa, 0x27, - 0x00, 0x00, 0xff, 0xff, 0x37, 0x53, 0x91, 0x3d, 0xb8, 0x09, 0x00, 0x00, + 0xa0, 0x25, 0x42, 0xaa, 0x4d, 0xb2, 0x48, 0x48, 0x15, 0x17, 0xdc, 0x5d, 0xd4, 0x22, 0x56, 0xaa, + 0x5c, 0x7e, 0x48, 0x48, 0xc8, 0x4c, 0xec, 0x49, 0x32, 0x5a, 0xdb, 0x63, 0x3c, 0x93, 0xd0, 0xf2, + 0x17, 0xc0, 0x01, 0x69, 0x8f, 0x88, 0x13, 0x07, 0xfe, 0x98, 0x3d, 0xf6, 0xc8, 0xc9, 0xa0, 0xf6, + 0xc2, 0x39, 0x47, 0x4e, 0x68, 0x7e, 0xd8, 0x9e, 0x66, 0xbb, 0x54, 0xcb, 0x25, 0x9a, 0xf7, 0xde, + 0xe7, 0x7d, 0x3e, 0x99, 0x37, 0x6f, 0xde, 0x18, 0x38, 0x78, 0x18, 0x38, 0x11, 0x1e, 0x4f, 0x58, + 0x10, 0x61, 0x94, 0x30, 0xea, 0x30, 0x94, 0x84, 0x28, 0x8b, 0x71, 0xc2, 0x9c, 0x59, 0x5f, 0xb3, + 0xec, 0x34, 0x23, 0x8c, 0x18, 0x1d, 0x3c, 0x0c, 0x6c, 0x3d, 0xc1, 0xd6, 0x20, 0xb3, 0xfe, 0x6e, + 0x57, 0xcb, 0x67, 0xe7, 0x29, 0xa2, 0xce, 0x0c, 0x46, 0x38, 0x84, 0x8c, 0x64, 0x92, 0x61, 0x77, + 0xef, 0x25, 0x84, 0xf8, 0x55, 0xd1, 0x7b, 0x01, 0x49, 0x46, 0x98, 0x38, 0x69, 0x46, 0xc8, 0xa8, + 0x70, 0x76, 0xc6, 0x84, 0x8c, 0x23, 0xe4, 0x08, 0x6b, 0x38, 0x1d, 0x39, 0xe1, 0x34, 0x83, 0x0c, + 0x93, 0x44, 0xc5, 0xcd, 0xc5, 0x38, 0xc3, 0x31, 0xa2, 0x0c, 0xc6, 0x69, 0x01, 0xe0, 0xdb, 0x0c, + 0x48, 0x86, 0x1c, 0xf9, 0xaf, 0xf9, 0xd6, 0xe4, 0x4a, 0x01, 0xde, 0xa9, 0x00, 0x24, 0x8e, 0x31, + 0x8b, 0x0b, 0x50, 0x69, 0x29, 0xe0, 0xd6, 0x98, 0x8c, 0x89, 0x58, 0x3a, 0x7c, 0x25, 0xbd, 0xd6, + 0x5f, 0x6b, 0xa0, 0x79, 0x28, 0xf8, 0x4e, 0x19, 0x64, 0xc8, 0xd8, 0x01, 0xf5, 0x60, 0x02, 0x71, + 0xe2, 0xe3, 0xb0, 0x5d, 0xeb, 0xd6, 0x7a, 0x0d, 0x6f, 0x4d, 0xd8, 0xc7, 0xa1, 0x81, 0x40, 0x93, + 0x65, 0x53, 0xca, 0xfc, 0x08, 0xcd, 0x50, 0xd4, 0x5e, 0xee, 0xd6, 0x7a, 0xcd, 0x41, 0xcf, 0xfe, + 0xf7, 0xb2, 0xda, 0x1f, 0x67, 0x30, 0xe0, 0x1b, 0x76, 0x77, 0x5f, 0xe4, 0xe6, 0xd2, 0x3c, 0x37, + 0x8d, 0x73, 0x18, 0x47, 0x07, 0x96, 0x46, 0x65, 0x79, 0x40, 0x58, 0x9f, 0x72, 0xc3, 0x18, 0x81, + 0x0d, 0x61, 0xe1, 0x64, 0xec, 0xa7, 0x28, 0xc3, 0x24, 0x6c, 0xaf, 0x08, 0xa9, 0x1d, 0x5b, 0x16, + 0xcb, 0x2e, 0x8a, 0x65, 0x3f, 0x56, 0xc5, 0x74, 0x2d, 0xc5, 0xbd, 0xad, 0x71, 0x57, 0xf9, 0xd6, + 0xcf, 0x7f, 0x98, 0x35, 0xef, 0x6e, 0xe1, 0x3d, 0x11, 0x4e, 0x03, 0x83, 0xcd, 0x69, 0x32, 0x24, + 0x49, 0xa8, 0x09, 0xad, 0xde, 0x26, 0xf4, 0x96, 0x12, 0xba, 0x2f, 0x85, 0x16, 0x09, 0xa4, 0xd2, + 0x46, 0xe9, 0x56, 0x52, 0x08, 0x6c, 0xc4, 0xf0, 0xcc, 0x0f, 0x22, 0x12, 0x3c, 0xf3, 0xc3, 0x0c, + 0x8f, 0x58, 0xfb, 0x7f, 0xaf, 0xb9, 0xa5, 0x85, 0x7c, 0x29, 0xb4, 0x1e, 0xc3, 0xb3, 0x43, 0xee, + 0x7c, 0xcc, 0x7d, 0xc6, 0xd7, 0x60, 0x7d, 0x94, 0x91, 0xef, 0x51, 0xe2, 0x4f, 0x10, 0x3f, 0x90, + 0xf6, 0x1d, 0x21, 0xb2, 0x2b, 0x8e, 0x88, 0xb7, 0x88, 0xad, 0x3a, 0x67, 0xd6, 0xb7, 0x8f, 0x04, + 0xc2, 0xdd, 0x53, 0x2a, 0x5b, 0x52, 0xe5, 0x5a, 0xba, 0xe5, 0xb5, 0xa4, 0x2d, 0xb1, 0x9c, 0x3e, + 0x82, 0x0c, 0x51, 0x56, 0xd0, 0xaf, 0xbd, 0x2e, 0xfd, 0xb5, 0x74, 0xcb, 0x6b, 0x49, 0x5b, 0xd1, + 0x1f, 0x83, 0xa6, 0xb8, 0x3a, 0x3e, 0x4d, 0x51, 0x40, 0xdb, 0xf5, 0xee, 0x4a, 0xaf, 0x39, 0xd8, + 0xb4, 0x71, 0x40, 0x07, 0x8f, 0xec, 0x13, 0x1e, 0x39, 0x4d, 0x51, 0xe0, 0x6e, 0x57, 0x2d, 0xa4, + 0xc1, 0x2d, 0x0f, 0xa4, 0x05, 0x84, 0x1a, 0x07, 0xa0, 0x35, 0x4d, 0xc7, 0x19, 0x0c, 0x91, 0x9f, + 0x42, 0x36, 0x69, 0x37, 0xba, 0x2b, 0xbd, 0x86, 0x7b, 0x7f, 0x9e, 0x9b, 0xf7, 0xd4, 0xb9, 0x69, + 0x51, 0xcb, 0x6b, 0x2a, 0xf3, 0x04, 0xb2, 0x89, 0xe1, 0x83, 0x1d, 0x18, 0x45, 0xe4, 0x3b, 0x7f, + 0x9a, 0x86, 0x90, 0x21, 0x1f, 0x8e, 0x18, 0xca, 0x7c, 0x74, 0x96, 0xe2, 0xec, 0xbc, 0x0d, 0xba, + 0xb5, 0x5e, 0xdd, 0x7d, 0x7b, 0x9e, 0x9b, 0x5d, 0x49, 0xf4, 0x4a, 0xa8, 0xe5, 0x6d, 0x8b, 0xd8, + 0xe7, 0x22, 0xf4, 0x11, 0x8f, 0x3c, 0x11, 0x01, 0xe3, 0x5b, 0x60, 0xde, 0x90, 0x15, 0x63, 0x3a, + 0x44, 0x13, 0x38, 0xc3, 0x64, 0x9a, 0xb5, 0x9b, 0x42, 0xe6, 0xdd, 0x79, 0x6e, 0x3e, 0x7c, 0xa5, + 0x8c, 0x9e, 0x60, 0x79, 0x7b, 0x8b, 0x62, 0x4f, 0xb5, 0xf0, 0xc1, 0xea, 0x0f, 0xbf, 0x9a, 0x4b, + 0xd6, 0x6f, 0xcb, 0xe0, 0xee, 0x21, 0x49, 0x28, 0x4a, 0xe8, 0x94, 0xca, 0xdb, 0xee, 0x82, 0x46, + 0x39, 0x70, 0xc4, 0x75, 0xe7, 0xc7, 0xb9, 0xd8, 0x92, 0x9f, 0x15, 0x08, 0xb7, 0xce, 0x8f, 0xf3, + 0x39, 0xef, 0xbc, 0x2a, 0xcd, 0xf8, 0x10, 0xac, 0x66, 0x84, 0x30, 0x35, 0x0f, 0x2c, 0xad, 0x1b, + 0xaa, 0x09, 0x34, 0xeb, 0xdb, 0x4f, 0x51, 0xf6, 0x2c, 0x42, 0x1e, 0x21, 0xcc, 0x5d, 0xe5, 0x34, + 0x9e, 0xc8, 0x32, 0x7e, 0xac, 0x81, 0xad, 0x04, 0x9d, 0x31, 0xbf, 0x1c, 0xb6, 0xd4, 0x9f, 0x40, + 0x3a, 0x11, 0x77, 0xbe, 0xe5, 0x7e, 0x39, 0xcf, 0xcd, 0x37, 0x65, 0x0d, 0x6e, 0x42, 0x59, 0x7f, + 0xe7, 0xe6, 0xfb, 0x63, 0xcc, 0x26, 0xd3, 0x21, 0x97, 0xd3, 0x9f, 0x00, 0x6d, 0x19, 0xe1, 0x21, + 0x75, 0x86, 0xe7, 0x0c, 0x51, 0xfb, 0x08, 0x9d, 0xb9, 0x7c, 0xe1, 0x19, 0x9c, 0xee, 0x8b, 0x92, + 0xed, 0x08, 0xd2, 0x89, 0x2a, 0xd3, 0x4f, 0xcb, 0xa0, 0xa5, 0x57, 0xcf, 0xe8, 0x83, 0x86, 0x6c, + 0xec, 0x72, 0x26, 0xba, 0x5b, 0xf3, 0xdc, 0xdc, 0x94, 0x7f, 0xab, 0x0c, 0x59, 0x5e, 0x5d, 0xae, + 0x8f, 0x43, 0x03, 0x82, 0xfa, 0x04, 0xc1, 0x10, 0x65, 0x7e, 0x5f, 0xd5, 0xe5, 0xe1, 0x6d, 0x73, + 0xf2, 0x48, 0xe0, 0xdd, 0xce, 0x65, 0x6e, 0xae, 0xc9, 0x75, 0x7f, 0x9e, 0x9b, 0x1b, 0x52, 0xa4, + 0x20, 0xb3, 0xbc, 0x35, 0xb9, 0xec, 0x6b, 0x12, 0x03, 0x35, 0x1f, 0xff, 0x83, 0xc4, 0xe0, 0x25, + 0x89, 0x41, 0x29, 0x31, 0x50, 0xf5, 0xf8, 0x65, 0x05, 0xdc, 0x91, 0x68, 0x03, 0x82, 0x75, 0x8a, + 0xc7, 0x09, 0x0a, 0x7d, 0x09, 0x51, 0x2d, 0xd3, 0xd1, 0x75, 0xe4, 0x93, 0x78, 0x2a, 0x60, 0x4a, + 0x70, 0xef, 0x22, 0x37, 0x6b, 0xd5, 0x14, 0xb8, 0x46, 0x61, 0x79, 0x2d, 0xaa, 0x61, 0xf9, 0x90, + 0x29, 0xcf, 0xd8, 0xa7, 0xa8, 0x68, 0xab, 0x1b, 0x24, 0xca, 0xc3, 0x3b, 0x45, 0xcc, 0x6d, 0x57, + 0xf4, 0xd7, 0xd2, 0x2d, 0xaf, 0x35, 0xd3, 0x70, 0xc6, 0x37, 0x40, 0x3e, 0x03, 0x42, 0x5f, 0x0c, + 0xb1, 0x95, 0x5b, 0x87, 0xd8, 0x03, 0x35, 0xc4, 0xde, 0xd0, 0x1e, 0x97, 0x32, 0xdf, 0xf2, 0xd6, + 0x95, 0x43, 0x8d, 0xb1, 0x08, 0x18, 0x05, 0xa2, 0x6a, 0x56, 0xf5, 0xb0, 0xdc, 0xb6, 0x8b, 0x07, + 0xf3, 0xdc, 0xdc, 0xb9, 0xae, 0x52, 0x71, 0x58, 0xde, 0xff, 0x95, 0xb3, 0x6a, 0x5b, 0xeb, 0x13, + 0x50, 0x2f, 0x1e, 0x58, 0x63, 0x0f, 0x34, 0x92, 0x69, 0x8c, 0x32, 0x1e, 0x11, 0x27, 0xb3, 0xea, + 0x55, 0x0e, 0xa3, 0x0b, 0x9a, 0x21, 0x4a, 0x48, 0x8c, 0x13, 0x11, 0x5f, 0x16, 0x71, 0xdd, 0xe5, + 0xfa, 0x2f, 0x2e, 0x3b, 0xb5, 0x8b, 0xcb, 0x4e, 0xed, 0xcf, 0xcb, 0x4e, 0xed, 0xf9, 0x55, 0x67, + 0xe9, 0xe2, 0xaa, 0xb3, 0xf4, 0xfb, 0x55, 0x67, 0xe9, 0xab, 0x27, 0xda, 0x15, 0x0b, 0x08, 0x8d, + 0x09, 0xe5, 0x5f, 0x5f, 0xfb, 0x63, 0xe2, 0xcc, 0x06, 0x4e, 0x4c, 0xc2, 0x69, 0x84, 0xa8, 0xfc, + 0x16, 0xdb, 0x2f, 0x3e, 0xc6, 0xde, 0xfb, 0x60, 0x7f, 0xf1, 0x6b, 0x69, 0x78, 0x47, 0x8c, 0x94, + 0x47, 0xff, 0x04, 0x00, 0x00, 0xff, 0xff, 0x64, 0x03, 0x6e, 0x58, 0xbb, 0x09, 0x00, 0x00, } func (m *ClientState) Marshal() (dAtA []byte, err error) { diff --git a/modules/light-clients/07-tendermint/types/tendermint_test.go b/modules/light-clients/07-tendermint/types/tendermint_test.go index 071f6f6cca1..ffb011b4b23 100644 --- a/modules/light-clients/07-tendermint/types/tendermint_test.go +++ b/modules/light-clients/07-tendermint/types/tendermint_test.go @@ -11,11 +11,11 @@ import ( "github.com/cosmos/cosmos-sdk/codec" sdk "github.com/cosmos/cosmos-sdk/types" - clienttypes "github.com/cosmos/ibc-go/modules/core/02-client/types" - ibctmtypes "github.com/cosmos/ibc-go/modules/light-clients/07-tendermint/types" - ibctesting "github.com/cosmos/ibc-go/testing" - ibctestingmock "github.com/cosmos/ibc-go/testing/mock" - "github.com/cosmos/ibc-go/testing/simapp" + clienttypes "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" + ibctmtypes "github.com/cosmos/ibc-go/v2/modules/light-clients/07-tendermint/types" + ibctesting "github.com/cosmos/ibc-go/v2/testing" + ibctestingmock "github.com/cosmos/ibc-go/v2/testing/mock" + "github.com/cosmos/ibc-go/v2/testing/simapp" ) const ( diff --git a/modules/light-clients/07-tendermint/types/update.go b/modules/light-clients/07-tendermint/types/update.go index c2e6788fed1..4879809f907 100644 --- a/modules/light-clients/07-tendermint/types/update.go +++ b/modules/light-clients/07-tendermint/types/update.go @@ -11,9 +11,9 @@ import ( "github.com/cosmos/cosmos-sdk/codec" sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" - clienttypes "github.com/cosmos/ibc-go/modules/core/02-client/types" - commitmenttypes "github.com/cosmos/ibc-go/modules/core/23-commitment/types" - "github.com/cosmos/ibc-go/modules/core/exported" + clienttypes "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" + commitmenttypes "github.com/cosmos/ibc-go/v2/modules/core/23-commitment/types" + "github.com/cosmos/ibc-go/v2/modules/core/exported" ) // CheckHeaderAndUpdateState checks if the provided header is valid, and if valid it will: diff --git a/modules/light-clients/07-tendermint/types/update_test.go b/modules/light-clients/07-tendermint/types/update_test.go index db074eee5d2..2893fe95384 100644 --- a/modules/light-clients/07-tendermint/types/update_test.go +++ b/modules/light-clients/07-tendermint/types/update_test.go @@ -6,12 +6,12 @@ import ( tmtypes "github.com/tendermint/tendermint/types" - clienttypes "github.com/cosmos/ibc-go/modules/core/02-client/types" - commitmenttypes "github.com/cosmos/ibc-go/modules/core/23-commitment/types" - "github.com/cosmos/ibc-go/modules/core/exported" - types "github.com/cosmos/ibc-go/modules/light-clients/07-tendermint/types" - ibctesting "github.com/cosmos/ibc-go/testing" - ibctestingmock "github.com/cosmos/ibc-go/testing/mock" + clienttypes "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" + commitmenttypes "github.com/cosmos/ibc-go/v2/modules/core/23-commitment/types" + "github.com/cosmos/ibc-go/v2/modules/core/exported" + types "github.com/cosmos/ibc-go/v2/modules/light-clients/07-tendermint/types" + ibctesting "github.com/cosmos/ibc-go/v2/testing" + ibctestingmock "github.com/cosmos/ibc-go/v2/testing/mock" ) func (suite *TendermintTestSuite) TestCheckHeaderAndUpdateState() { diff --git a/modules/light-clients/07-tendermint/types/upgrade.go b/modules/light-clients/07-tendermint/types/upgrade.go index d3801d67882..73cc1360538 100644 --- a/modules/light-clients/07-tendermint/types/upgrade.go +++ b/modules/light-clients/07-tendermint/types/upgrade.go @@ -7,9 +7,9 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" upgradetypes "github.com/cosmos/cosmos-sdk/x/upgrade/types" - clienttypes "github.com/cosmos/ibc-go/modules/core/02-client/types" - commitmenttypes "github.com/cosmos/ibc-go/modules/core/23-commitment/types" - "github.com/cosmos/ibc-go/modules/core/exported" + clienttypes "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" + commitmenttypes "github.com/cosmos/ibc-go/v2/modules/core/23-commitment/types" + "github.com/cosmos/ibc-go/v2/modules/core/exported" ) // VerifyUpgradeAndUpdateState checks if the upgraded client has been committed by the current client diff --git a/modules/light-clients/07-tendermint/types/upgrade_test.go b/modules/light-clients/07-tendermint/types/upgrade_test.go index df974a806c5..9a89e8fafaf 100644 --- a/modules/light-clients/07-tendermint/types/upgrade_test.go +++ b/modules/light-clients/07-tendermint/types/upgrade_test.go @@ -3,11 +3,11 @@ package types_test import ( upgradetypes "github.com/cosmos/cosmos-sdk/x/upgrade/types" - clienttypes "github.com/cosmos/ibc-go/modules/core/02-client/types" - commitmenttypes "github.com/cosmos/ibc-go/modules/core/23-commitment/types" - "github.com/cosmos/ibc-go/modules/core/exported" - "github.com/cosmos/ibc-go/modules/light-clients/07-tendermint/types" - ibctesting "github.com/cosmos/ibc-go/testing" + clienttypes "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" + commitmenttypes "github.com/cosmos/ibc-go/v2/modules/core/23-commitment/types" + "github.com/cosmos/ibc-go/v2/modules/core/exported" + "github.com/cosmos/ibc-go/v2/modules/light-clients/07-tendermint/types" + ibctesting "github.com/cosmos/ibc-go/v2/testing" ) var ( diff --git a/modules/light-clients/09-localhost/module.go b/modules/light-clients/09-localhost/module.go index 6e6fd317183..8bce94927f0 100644 --- a/modules/light-clients/09-localhost/module.go +++ b/modules/light-clients/09-localhost/module.go @@ -1,7 +1,7 @@ package localhost import ( - "github.com/cosmos/ibc-go/modules/light-clients/09-localhost/types" + "github.com/cosmos/ibc-go/v2/modules/light-clients/09-localhost/types" ) // Name returns the IBC client name diff --git a/modules/light-clients/09-localhost/types/client_state.go b/modules/light-clients/09-localhost/types/client_state.go index 4fe00390cc6..499f5f9389c 100644 --- a/modules/light-clients/09-localhost/types/client_state.go +++ b/modules/light-clients/09-localhost/types/client_state.go @@ -11,11 +11,11 @@ import ( "github.com/cosmos/cosmos-sdk/codec" sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" - clienttypes "github.com/cosmos/ibc-go/modules/core/02-client/types" - connectiontypes "github.com/cosmos/ibc-go/modules/core/03-connection/types" - channeltypes "github.com/cosmos/ibc-go/modules/core/04-channel/types" - host "github.com/cosmos/ibc-go/modules/core/24-host" - "github.com/cosmos/ibc-go/modules/core/exported" + clienttypes "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" + connectiontypes "github.com/cosmos/ibc-go/v2/modules/core/03-connection/types" + channeltypes "github.com/cosmos/ibc-go/v2/modules/core/04-channel/types" + host "github.com/cosmos/ibc-go/v2/modules/core/24-host" + "github.com/cosmos/ibc-go/v2/modules/core/exported" ) var _ exported.ClientState = (*ClientState)(nil) diff --git a/modules/light-clients/09-localhost/types/client_state_test.go b/modules/light-clients/09-localhost/types/client_state_test.go index 46691a52391..0cb1b46e340 100644 --- a/modules/light-clients/09-localhost/types/client_state_test.go +++ b/modules/light-clients/09-localhost/types/client_state_test.go @@ -2,14 +2,14 @@ package types_test import ( sdk "github.com/cosmos/cosmos-sdk/types" - clienttypes "github.com/cosmos/ibc-go/modules/core/02-client/types" - connectiontypes "github.com/cosmos/ibc-go/modules/core/03-connection/types" - channeltypes "github.com/cosmos/ibc-go/modules/core/04-channel/types" - commitmenttypes "github.com/cosmos/ibc-go/modules/core/23-commitment/types" - host "github.com/cosmos/ibc-go/modules/core/24-host" - "github.com/cosmos/ibc-go/modules/core/exported" - ibctmtypes "github.com/cosmos/ibc-go/modules/light-clients/07-tendermint/types" - "github.com/cosmos/ibc-go/modules/light-clients/09-localhost/types" + clienttypes "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" + connectiontypes "github.com/cosmos/ibc-go/v2/modules/core/03-connection/types" + channeltypes "github.com/cosmos/ibc-go/v2/modules/core/04-channel/types" + commitmenttypes "github.com/cosmos/ibc-go/v2/modules/core/23-commitment/types" + host "github.com/cosmos/ibc-go/v2/modules/core/24-host" + "github.com/cosmos/ibc-go/v2/modules/core/exported" + ibctmtypes "github.com/cosmos/ibc-go/v2/modules/light-clients/07-tendermint/types" + "github.com/cosmos/ibc-go/v2/modules/light-clients/09-localhost/types" ) const ( diff --git a/modules/light-clients/09-localhost/types/codec.go b/modules/light-clients/09-localhost/types/codec.go index d45e21c4fcf..5291369b28d 100644 --- a/modules/light-clients/09-localhost/types/codec.go +++ b/modules/light-clients/09-localhost/types/codec.go @@ -2,7 +2,7 @@ package types import ( codectypes "github.com/cosmos/cosmos-sdk/codec/types" - "github.com/cosmos/ibc-go/modules/core/exported" + "github.com/cosmos/ibc-go/v2/modules/core/exported" ) // RegisterInterfaces register the ibc interfaces submodule implementations to protobuf diff --git a/modules/light-clients/09-localhost/types/localhost.pb.go b/modules/light-clients/09-localhost/types/localhost.pb.go index bad8a41ff6e..f375074abb2 100644 --- a/modules/light-clients/09-localhost/types/localhost.pb.go +++ b/modules/light-clients/09-localhost/types/localhost.pb.go @@ -5,7 +5,7 @@ package types import ( fmt "fmt" - types "github.com/cosmos/ibc-go/modules/core/02-client/types" + types "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" _ "github.com/gogo/protobuf/gogoproto" proto "github.com/gogo/protobuf/proto" io "io" @@ -75,7 +75,7 @@ func init() { } var fileDescriptor_acd9f5b22d41bf6d = []byte{ - // 285 bytes of a gzipped FileDescriptorProto + // 288 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0xd2, 0xcd, 0x4c, 0x4a, 0xd6, 0xcf, 0xc9, 0x4c, 0xcf, 0x28, 0x49, 0xce, 0xc9, 0x4c, 0xcd, 0x2b, 0x29, 0xd6, 0xcf, 0xc9, 0x4f, 0x4e, 0xcc, 0xc9, 0xc8, 0x2f, 0x2e, 0xd1, 0x2f, 0x33, 0x44, 0x70, 0xf4, 0x0a, 0x8a, 0xf2, 0x4b, @@ -87,13 +87,13 @@ var fileDescriptor_acd9f5b22d41bf6d = []byte{ 0x95, 0x89, 0xb9, 0x39, 0x56, 0x4a, 0x30, 0x19, 0xa5, 0x20, 0x76, 0x30, 0xd3, 0x33, 0x45, 0xc8, 0x82, 0x8b, 0x2d, 0x23, 0x15, 0xe4, 0x26, 0x09, 0x26, 0x05, 0x46, 0x0d, 0x6e, 0x23, 0x29, 0x3d, 0x90, 0x2b, 0x41, 0x16, 0xea, 0x41, 0xad, 0x29, 0x33, 0xd4, 0xf3, 0x00, 0xab, 0x70, 0x62, 0x39, - 0x71, 0x4f, 0x9e, 0x21, 0x08, 0xaa, 0xde, 0x8a, 0xa5, 0x63, 0x81, 0x3c, 0x83, 0x53, 0xf4, 0x89, + 0x71, 0x4f, 0x9e, 0x21, 0x08, 0xaa, 0xde, 0x8a, 0xa5, 0x63, 0x81, 0x3c, 0x83, 0x53, 0xdc, 0x89, 0x47, 0x72, 0x8c, 0x17, 0x1e, 0xc9, 0x31, 0x3e, 0x78, 0x24, 0xc7, 0x38, 0xe1, 0xb1, 0x1c, 0xc3, - 0x85, 0xc7, 0x72, 0x0c, 0x37, 0x1e, 0xcb, 0x31, 0x44, 0x39, 0xa6, 0x67, 0x96, 0x64, 0x94, 0x26, + 0x85, 0xc7, 0x72, 0x0c, 0x37, 0x1e, 0xcb, 0x31, 0x44, 0xb9, 0xa4, 0x67, 0x96, 0x64, 0x94, 0x26, 0xe9, 0x25, 0xe7, 0xe7, 0xea, 0x27, 0xe7, 0x17, 0xe7, 0xe6, 0x17, 0xeb, 0x67, 0x26, 0x25, 0xeb, - 0xa6, 0xe7, 0xeb, 0xe7, 0xe6, 0xa7, 0x94, 0xe6, 0xa4, 0x16, 0x43, 0x82, 0x4e, 0x17, 0x16, 0x76, - 0x06, 0x96, 0xba, 0x88, 0xe0, 0x2b, 0xa9, 0x2c, 0x48, 0x2d, 0x4e, 0x62, 0x03, 0x7b, 0xd1, 0x18, - 0x10, 0x00, 0x00, 0xff, 0xff, 0xee, 0xdf, 0xcc, 0xab, 0x69, 0x01, 0x00, 0x00, + 0xa6, 0xe7, 0xeb, 0x97, 0x19, 0xe9, 0xe7, 0xe6, 0xa7, 0x94, 0xe6, 0xa4, 0x16, 0x43, 0x42, 0x4f, + 0x17, 0x16, 0x7c, 0x06, 0x96, 0xba, 0x88, 0x10, 0x2c, 0xa9, 0x2c, 0x48, 0x2d, 0x4e, 0x62, 0x03, + 0xfb, 0xd2, 0x18, 0x10, 0x00, 0x00, 0xff, 0xff, 0x20, 0xa6, 0x5b, 0x3b, 0x6c, 0x01, 0x00, 0x00, } func (m *ClientState) Marshal() (dAtA []byte, err error) { diff --git a/modules/light-clients/09-localhost/types/localhost_test.go b/modules/light-clients/09-localhost/types/localhost_test.go index 4baa8f204a0..e0da290bd80 100644 --- a/modules/light-clients/09-localhost/types/localhost_test.go +++ b/modules/light-clients/09-localhost/types/localhost_test.go @@ -8,9 +8,9 @@ import ( "github.com/cosmos/cosmos-sdk/codec" sdk "github.com/cosmos/cosmos-sdk/types" - clienttypes "github.com/cosmos/ibc-go/modules/core/02-client/types" - "github.com/cosmos/ibc-go/modules/core/exported" - "github.com/cosmos/ibc-go/testing/simapp" + clienttypes "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" + "github.com/cosmos/ibc-go/v2/modules/core/exported" + "github.com/cosmos/ibc-go/v2/testing/simapp" ) const ( diff --git a/proto/ibc/applications/transfer/v1/genesis.proto b/proto/ibc/applications/transfer/v1/genesis.proto index 9c6b78ac7b1..73d9fdddf95 100644 --- a/proto/ibc/applications/transfer/v1/genesis.proto +++ b/proto/ibc/applications/transfer/v1/genesis.proto @@ -2,7 +2,7 @@ syntax = "proto3"; package ibc.applications.transfer.v1; -option go_package = "github.com/cosmos/ibc-go/modules/apps/transfer/types"; +option go_package = "github.com/cosmos/ibc-go/v2/modules/apps/transfer/types"; import "ibc/applications/transfer/v1/transfer.proto"; import "gogoproto/gogo.proto"; diff --git a/proto/ibc/applications/transfer/v1/query.proto b/proto/ibc/applications/transfer/v1/query.proto index cd428413ebf..f2faa87b837 100644 --- a/proto/ibc/applications/transfer/v1/query.proto +++ b/proto/ibc/applications/transfer/v1/query.proto @@ -7,7 +7,7 @@ import "cosmos/base/query/v1beta1/pagination.proto"; import "ibc/applications/transfer/v1/transfer.proto"; import "google/api/annotations.proto"; -option go_package = "github.com/cosmos/ibc-go/modules/apps/transfer/types"; +option go_package = "github.com/cosmos/ibc-go/v2/modules/apps/transfer/types"; // Query provides defines the gRPC querier service. service Query { diff --git a/proto/ibc/applications/transfer/v1/transfer.proto b/proto/ibc/applications/transfer/v1/transfer.proto index 69c0486c088..909ac3c1440 100644 --- a/proto/ibc/applications/transfer/v1/transfer.proto +++ b/proto/ibc/applications/transfer/v1/transfer.proto @@ -2,7 +2,7 @@ syntax = "proto3"; package ibc.applications.transfer.v1; -option go_package = "github.com/cosmos/ibc-go/modules/apps/transfer/types"; +option go_package = "github.com/cosmos/ibc-go/v2/modules/apps/transfer/types"; import "gogoproto/gogo.proto"; diff --git a/proto/ibc/applications/transfer/v1/tx.proto b/proto/ibc/applications/transfer/v1/tx.proto index eb56b4702c8..d185ac8640a 100644 --- a/proto/ibc/applications/transfer/v1/tx.proto +++ b/proto/ibc/applications/transfer/v1/tx.proto @@ -2,7 +2,7 @@ syntax = "proto3"; package ibc.applications.transfer.v1; -option go_package = "github.com/cosmos/ibc-go/modules/apps/transfer/types"; +option go_package = "github.com/cosmos/ibc-go/v2/modules/apps/transfer/types"; import "gogoproto/gogo.proto"; import "cosmos/base/v1beta1/coin.proto"; diff --git a/proto/ibc/applications/transfer/v2/packet.proto b/proto/ibc/applications/transfer/v2/packet.proto index d7caa354106..fbd0f0462ce 100644 --- a/proto/ibc/applications/transfer/v2/packet.proto +++ b/proto/ibc/applications/transfer/v2/packet.proto @@ -2,7 +2,7 @@ syntax = "proto3"; package ibc.applications.transfer.v2; -option go_package = "github.com/cosmos/ibc-go/modules/apps/transfer/types"; +option go_package = "github.com/cosmos/ibc-go/v2/modules/apps/transfer/types"; // FungibleTokenPacketData defines a struct for the packet payload // See FungibleTokenPacketData spec: diff --git a/proto/ibc/core/channel/v1/channel.proto b/proto/ibc/core/channel/v1/channel.proto index edb39d04b59..ae95a77bad4 100644 --- a/proto/ibc/core/channel/v1/channel.proto +++ b/proto/ibc/core/channel/v1/channel.proto @@ -2,7 +2,7 @@ syntax = "proto3"; package ibc.core.channel.v1; -option go_package = "github.com/cosmos/ibc-go/modules/core/04-channel/types"; +option go_package = "github.com/cosmos/ibc-go/v2/modules/core/04-channel/types"; import "gogoproto/gogo.proto"; import "ibc/core/client/v1/client.proto"; diff --git a/proto/ibc/core/channel/v1/genesis.proto b/proto/ibc/core/channel/v1/genesis.proto index 75bf1fdb02a..38b57ed6c34 100644 --- a/proto/ibc/core/channel/v1/genesis.proto +++ b/proto/ibc/core/channel/v1/genesis.proto @@ -2,7 +2,7 @@ syntax = "proto3"; package ibc.core.channel.v1; -option go_package = "github.com/cosmos/ibc-go/modules/core/04-channel/types"; +option go_package = "github.com/cosmos/ibc-go/v2/modules/core/04-channel/types"; import "gogoproto/gogo.proto"; import "ibc/core/channel/v1/channel.proto"; diff --git a/proto/ibc/core/channel/v1/query.proto b/proto/ibc/core/channel/v1/query.proto index 9690e24edfc..212cb645a95 100644 --- a/proto/ibc/core/channel/v1/query.proto +++ b/proto/ibc/core/channel/v1/query.proto @@ -2,7 +2,7 @@ syntax = "proto3"; package ibc.core.channel.v1; -option go_package = "github.com/cosmos/ibc-go/modules/core/04-channel/types"; +option go_package = "github.com/cosmos/ibc-go/v2/modules/core/04-channel/types"; import "ibc/core/client/v1/client.proto"; import "cosmos/base/query/v1beta1/pagination.proto"; diff --git a/proto/ibc/core/channel/v1/tx.proto b/proto/ibc/core/channel/v1/tx.proto index 59af0d3f240..dab45080ff3 100644 --- a/proto/ibc/core/channel/v1/tx.proto +++ b/proto/ibc/core/channel/v1/tx.proto @@ -2,7 +2,7 @@ syntax = "proto3"; package ibc.core.channel.v1; -option go_package = "github.com/cosmos/ibc-go/modules/core/04-channel/types"; +option go_package = "github.com/cosmos/ibc-go/v2/modules/core/04-channel/types"; import "gogoproto/gogo.proto"; import "ibc/core/client/v1/client.proto"; diff --git a/proto/ibc/core/client/v1/client.proto b/proto/ibc/core/client/v1/client.proto index 88a6c343adb..07337702017 100644 --- a/proto/ibc/core/client/v1/client.proto +++ b/proto/ibc/core/client/v1/client.proto @@ -2,7 +2,7 @@ syntax = "proto3"; package ibc.core.client.v1; -option go_package = "github.com/cosmos/ibc-go/modules/core/02-client/types"; +option go_package = "github.com/cosmos/ibc-go/v2/modules/core/02-client/types"; import "gogoproto/gogo.proto"; import "google/protobuf/any.proto"; diff --git a/proto/ibc/core/client/v1/genesis.proto b/proto/ibc/core/client/v1/genesis.proto index 30592cf725f..6668f2cad6e 100644 --- a/proto/ibc/core/client/v1/genesis.proto +++ b/proto/ibc/core/client/v1/genesis.proto @@ -2,7 +2,7 @@ syntax = "proto3"; package ibc.core.client.v1; -option go_package = "github.com/cosmos/ibc-go/modules/core/02-client/types"; +option go_package = "github.com/cosmos/ibc-go/v2/modules/core/02-client/types"; import "ibc/core/client/v1/client.proto"; import "gogoproto/gogo.proto"; diff --git a/proto/ibc/core/client/v1/query.proto b/proto/ibc/core/client/v1/query.proto index 36a5135702d..b6f8eb47445 100644 --- a/proto/ibc/core/client/v1/query.proto +++ b/proto/ibc/core/client/v1/query.proto @@ -2,7 +2,7 @@ syntax = "proto3"; package ibc.core.client.v1; -option go_package = "github.com/cosmos/ibc-go/modules/core/02-client/types"; +option go_package = "github.com/cosmos/ibc-go/v2/modules/core/02-client/types"; import "cosmos/base/query/v1beta1/pagination.proto"; import "ibc/core/client/v1/client.proto"; diff --git a/proto/ibc/core/client/v1/tx.proto b/proto/ibc/core/client/v1/tx.proto index 35386adb8a8..5671d733c33 100644 --- a/proto/ibc/core/client/v1/tx.proto +++ b/proto/ibc/core/client/v1/tx.proto @@ -2,7 +2,7 @@ syntax = "proto3"; package ibc.core.client.v1; -option go_package = "github.com/cosmos/ibc-go/modules/core/02-client/types"; +option go_package = "github.com/cosmos/ibc-go/v2/modules/core/02-client/types"; import "gogoproto/gogo.proto"; import "google/protobuf/any.proto"; diff --git a/proto/ibc/core/commitment/v1/commitment.proto b/proto/ibc/core/commitment/v1/commitment.proto index 47d8239422c..b460b9a1e4d 100644 --- a/proto/ibc/core/commitment/v1/commitment.proto +++ b/proto/ibc/core/commitment/v1/commitment.proto @@ -2,7 +2,7 @@ syntax = "proto3"; package ibc.core.commitment.v1; -option go_package = "github.com/cosmos/ibc-go/modules/core/23-commitment/types"; +option go_package = "github.com/cosmos/ibc-go/v2/modules/core/23-commitment/types"; import "gogoproto/gogo.proto"; import "confio/proofs.proto"; diff --git a/proto/ibc/core/connection/v1/connection.proto b/proto/ibc/core/connection/v1/connection.proto index 72c0ff7daa0..9aa829b984c 100644 --- a/proto/ibc/core/connection/v1/connection.proto +++ b/proto/ibc/core/connection/v1/connection.proto @@ -2,7 +2,7 @@ syntax = "proto3"; package ibc.core.connection.v1; -option go_package = "github.com/cosmos/ibc-go/modules/core/03-connection/types"; +option go_package = "github.com/cosmos/ibc-go/v2/modules/core/03-connection/types"; import "gogoproto/gogo.proto"; import "ibc/core/commitment/v1/commitment.proto"; diff --git a/proto/ibc/core/connection/v1/genesis.proto b/proto/ibc/core/connection/v1/genesis.proto index 64f2e026aca..ec5be64285e 100644 --- a/proto/ibc/core/connection/v1/genesis.proto +++ b/proto/ibc/core/connection/v1/genesis.proto @@ -2,7 +2,7 @@ syntax = "proto3"; package ibc.core.connection.v1; -option go_package = "github.com/cosmos/ibc-go/modules/core/03-connection/types"; +option go_package = "github.com/cosmos/ibc-go/v2/modules/core/03-connection/types"; import "gogoproto/gogo.proto"; import "ibc/core/connection/v1/connection.proto"; diff --git a/proto/ibc/core/connection/v1/query.proto b/proto/ibc/core/connection/v1/query.proto index ca90e0eeb4f..d668c3d28da 100644 --- a/proto/ibc/core/connection/v1/query.proto +++ b/proto/ibc/core/connection/v1/query.proto @@ -2,7 +2,7 @@ syntax = "proto3"; package ibc.core.connection.v1; -option go_package = "github.com/cosmos/ibc-go/modules/core/03-connection/types"; +option go_package = "github.com/cosmos/ibc-go/v2/modules/core/03-connection/types"; import "gogoproto/gogo.proto"; import "cosmos/base/query/v1beta1/pagination.proto"; diff --git a/proto/ibc/core/connection/v1/tx.proto b/proto/ibc/core/connection/v1/tx.proto index 6318f9fd251..9d4e577e21b 100644 --- a/proto/ibc/core/connection/v1/tx.proto +++ b/proto/ibc/core/connection/v1/tx.proto @@ -2,7 +2,7 @@ syntax = "proto3"; package ibc.core.connection.v1; -option go_package = "github.com/cosmos/ibc-go/modules/core/03-connection/types"; +option go_package = "github.com/cosmos/ibc-go/v2/modules/core/03-connection/types"; import "gogoproto/gogo.proto"; import "google/protobuf/any.proto"; diff --git a/proto/ibc/core/port/v1/query.proto b/proto/ibc/core/port/v1/query.proto index ed61b14e3af..3c7fb7cb908 100644 --- a/proto/ibc/core/port/v1/query.proto +++ b/proto/ibc/core/port/v1/query.proto @@ -2,7 +2,7 @@ syntax = "proto3"; package ibc.core.port.v1; -option go_package = "github.com/cosmos/ibc-go/modules/core/05-port/types"; +option go_package = "github.com/cosmos/ibc-go/v2/modules/core/05-port/types"; import "ibc/core/channel/v1/channel.proto"; diff --git a/proto/ibc/core/types/v1/genesis.proto b/proto/ibc/core/types/v1/genesis.proto index 2451da3233a..e39f6cdbba8 100644 --- a/proto/ibc/core/types/v1/genesis.proto +++ b/proto/ibc/core/types/v1/genesis.proto @@ -2,7 +2,7 @@ syntax = "proto3"; package ibc.core.types.v1; -option go_package = "github.com/cosmos/ibc-go/modules/core/types"; +option go_package = "github.com/cosmos/ibc-go/v2/modules/core/types"; import "gogoproto/gogo.proto"; import "ibc/core/client/v1/genesis.proto"; diff --git a/proto/ibc/lightclients/localhost/v1/localhost.proto b/proto/ibc/lightclients/localhost/v1/localhost.proto index 77e17bc3276..4fe05b78570 100644 --- a/proto/ibc/lightclients/localhost/v1/localhost.proto +++ b/proto/ibc/lightclients/localhost/v1/localhost.proto @@ -2,7 +2,7 @@ syntax = "proto3"; package ibc.lightclients.localhost.v1; -option go_package = "github.com/cosmos/ibc-go/modules/light-clients/09-localhost/types"; +option go_package = "github.com/cosmos/ibc-go/v2/modules/light-clients/09-localhost/types"; import "gogoproto/gogo.proto"; import "ibc/core/client/v1/client.proto"; diff --git a/proto/ibc/lightclients/solomachine/v1/solomachine.proto b/proto/ibc/lightclients/solomachine/v1/solomachine.proto index 4ba0da259a7..b9b8a3a2afe 100644 --- a/proto/ibc/lightclients/solomachine/v1/solomachine.proto +++ b/proto/ibc/lightclients/solomachine/v1/solomachine.proto @@ -2,7 +2,7 @@ syntax = "proto3"; package ibc.lightclients.solomachine.v1; -option go_package = "github.com/cosmos/ibc-go/modules/core/02-client/legacy/v100"; +option go_package = "github.com/cosmos/ibc-go/v2/modules/core/02-client/legacy/v100"; import "ibc/core/connection/v1/connection.proto"; import "ibc/core/channel/v1/channel.proto"; diff --git a/proto/ibc/lightclients/solomachine/v2/solomachine.proto b/proto/ibc/lightclients/solomachine/v2/solomachine.proto index fdb659f60c6..0c8c638c132 100644 --- a/proto/ibc/lightclients/solomachine/v2/solomachine.proto +++ b/proto/ibc/lightclients/solomachine/v2/solomachine.proto @@ -2,7 +2,7 @@ syntax = "proto3"; package ibc.lightclients.solomachine.v2; -option go_package = "github.com/cosmos/ibc-go/modules/light-clients/06-solomachine/types"; +option go_package = "github.com/cosmos/ibc-go/v2/modules/light-clients/06-solomachine/types"; import "ibc/core/connection/v1/connection.proto"; import "ibc/core/channel/v1/channel.proto"; diff --git a/proto/ibc/lightclients/tendermint/v1/tendermint.proto b/proto/ibc/lightclients/tendermint/v1/tendermint.proto index 17a6cce40cc..54e229b28df 100644 --- a/proto/ibc/lightclients/tendermint/v1/tendermint.proto +++ b/proto/ibc/lightclients/tendermint/v1/tendermint.proto @@ -2,7 +2,7 @@ syntax = "proto3"; package ibc.lightclients.tendermint.v1; -option go_package = "github.com/cosmos/ibc-go/modules/light-clients/07-tendermint/types"; +option go_package = "github.com/cosmos/ibc-go/v2/modules/light-clients/07-tendermint/types"; import "tendermint/types/validator.proto"; import "tendermint/types/types.proto"; diff --git a/scripts/protocgen.sh b/scripts/protocgen.sh index 1c22cdda784..1015709e861 100755 --- a/scripts/protocgen.sh +++ b/scripts/protocgen.sh @@ -36,5 +36,5 @@ go mod tidy # move proto files to the right places -cp -r github.com/cosmos/ibc-go/* ./ +cp -r github.com/cosmos/ibc-go/v*/modules/* modules/ rm -rf github.com diff --git a/testing/README.md b/testing/README.md index 17023bfc2e4..1befdd04ee8 100644 --- a/testing/README.md +++ b/testing/README.md @@ -255,8 +255,8 @@ import ( "github.com/tendermint/tendermint/libs/log" dbm "github.com/tendermint/tm-db" - "github.com/cosmos/ibc-go/modules/apps/transfer/simapp" - ibctesting "github.com/cosmos/ibc-go/testing" + "github.com/cosmos/ibc-go/v2/modules/apps/transfer/simapp" + ibctesting "github.com/cosmos/ibc-go/v2/testing" ) func SetupTransferTestingApp() (ibctesting.TestingApp, map[string]json.RawMessage) { diff --git a/testing/app.go b/testing/app.go index f14178b9d53..6a2bb551e2f 100644 --- a/testing/app.go +++ b/testing/app.go @@ -23,8 +23,8 @@ import ( tmtypes "github.com/tendermint/tendermint/types" dbm "github.com/tendermint/tm-db" - "github.com/cosmos/ibc-go/modules/core/keeper" - "github.com/cosmos/ibc-go/testing/simapp" + "github.com/cosmos/ibc-go/v2/modules/core/keeper" + "github.com/cosmos/ibc-go/v2/testing/simapp" ) var DefaultTestingAppInit func() (TestingApp, map[string]json.RawMessage) = SetupTestingApp diff --git a/testing/chain.go b/testing/chain.go index e9b2a38241a..ac63935b8ef 100644 --- a/testing/chain.go +++ b/testing/chain.go @@ -26,14 +26,14 @@ import ( tmtypes "github.com/tendermint/tendermint/types" tmversion "github.com/tendermint/tendermint/version" - clienttypes "github.com/cosmos/ibc-go/modules/core/02-client/types" - commitmenttypes "github.com/cosmos/ibc-go/modules/core/23-commitment/types" - host "github.com/cosmos/ibc-go/modules/core/24-host" - "github.com/cosmos/ibc-go/modules/core/exported" - "github.com/cosmos/ibc-go/modules/core/types" - ibctmtypes "github.com/cosmos/ibc-go/modules/light-clients/07-tendermint/types" - "github.com/cosmos/ibc-go/testing/mock" - "github.com/cosmos/ibc-go/testing/simapp" + clienttypes "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" + commitmenttypes "github.com/cosmos/ibc-go/v2/modules/core/23-commitment/types" + host "github.com/cosmos/ibc-go/v2/modules/core/24-host" + "github.com/cosmos/ibc-go/v2/modules/core/exported" + "github.com/cosmos/ibc-go/v2/modules/core/types" + ibctmtypes "github.com/cosmos/ibc-go/v2/modules/light-clients/07-tendermint/types" + "github.com/cosmos/ibc-go/v2/testing/mock" + "github.com/cosmos/ibc-go/v2/testing/simapp" ) // TestChain is a testing struct that wraps a simapp with the last TM Header, the current ABCI diff --git a/testing/chain_test.go b/testing/chain_test.go index 5a30b0c6e80..d77d60dcd18 100644 --- a/testing/chain_test.go +++ b/testing/chain_test.go @@ -6,8 +6,8 @@ import ( "github.com/stretchr/testify/require" tmtypes "github.com/tendermint/tendermint/types" - ibctesting "github.com/cosmos/ibc-go/testing" - "github.com/cosmos/ibc-go/testing/mock" + ibctesting "github.com/cosmos/ibc-go/v2/testing" + "github.com/cosmos/ibc-go/v2/testing/mock" ) func TestCreateSortedSignerArray(t *testing.T) { diff --git a/testing/config.go b/testing/config.go index 7db94150cfb..35e1b608fa6 100644 --- a/testing/config.go +++ b/testing/config.go @@ -3,11 +3,11 @@ package ibctesting import ( "time" - connectiontypes "github.com/cosmos/ibc-go/modules/core/03-connection/types" - channeltypes "github.com/cosmos/ibc-go/modules/core/04-channel/types" - "github.com/cosmos/ibc-go/modules/core/exported" - ibctmtypes "github.com/cosmos/ibc-go/modules/light-clients/07-tendermint/types" - "github.com/cosmos/ibc-go/testing/mock" + connectiontypes "github.com/cosmos/ibc-go/v2/modules/core/03-connection/types" + channeltypes "github.com/cosmos/ibc-go/v2/modules/core/04-channel/types" + "github.com/cosmos/ibc-go/v2/modules/core/exported" + ibctmtypes "github.com/cosmos/ibc-go/v2/modules/light-clients/07-tendermint/types" + "github.com/cosmos/ibc-go/v2/testing/mock" ) type ClientConfig interface { diff --git a/testing/endpoint.go b/testing/endpoint.go index bc03c5482e6..73dbc949da5 100644 --- a/testing/endpoint.go +++ b/testing/endpoint.go @@ -6,13 +6,13 @@ import ( // sdk "github.com/cosmos/cosmos-sdk/types" "github.com/stretchr/testify/require" - clienttypes "github.com/cosmos/ibc-go/modules/core/02-client/types" - connectiontypes "github.com/cosmos/ibc-go/modules/core/03-connection/types" - channeltypes "github.com/cosmos/ibc-go/modules/core/04-channel/types" - commitmenttypes "github.com/cosmos/ibc-go/modules/core/23-commitment/types" - host "github.com/cosmos/ibc-go/modules/core/24-host" - "github.com/cosmos/ibc-go/modules/core/exported" - ibctmtypes "github.com/cosmos/ibc-go/modules/light-clients/07-tendermint/types" + clienttypes "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" + connectiontypes "github.com/cosmos/ibc-go/v2/modules/core/03-connection/types" + channeltypes "github.com/cosmos/ibc-go/v2/modules/core/04-channel/types" + commitmenttypes "github.com/cosmos/ibc-go/v2/modules/core/23-commitment/types" + host "github.com/cosmos/ibc-go/v2/modules/core/24-host" + "github.com/cosmos/ibc-go/v2/modules/core/exported" + ibctmtypes "github.com/cosmos/ibc-go/v2/modules/light-clients/07-tendermint/types" ) // Endpoint is a which represents a channel endpoint and its associated diff --git a/testing/events.go b/testing/events.go index b8eb2822a4d..eae742b5201 100644 --- a/testing/events.go +++ b/testing/events.go @@ -4,9 +4,9 @@ import ( "fmt" sdk "github.com/cosmos/cosmos-sdk/types" - clienttypes "github.com/cosmos/ibc-go/modules/core/02-client/types" - connectiontypes "github.com/cosmos/ibc-go/modules/core/03-connection/types" - channeltypes "github.com/cosmos/ibc-go/modules/core/04-channel/types" + clienttypes "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" + connectiontypes "github.com/cosmos/ibc-go/v2/modules/core/03-connection/types" + channeltypes "github.com/cosmos/ibc-go/v2/modules/core/04-channel/types" ) // ParseClientIDFromEvents parses events emitted from a MsgCreateClient and returns the diff --git a/testing/mock/mock.go b/testing/mock/mock.go index 75de08c3d4b..8967f0aceb2 100644 --- a/testing/mock/mock.go +++ b/testing/mock/mock.go @@ -18,10 +18,10 @@ import ( "github.com/spf13/cobra" abci "github.com/tendermint/tendermint/abci/types" - channeltypes "github.com/cosmos/ibc-go/modules/core/04-channel/types" - porttypes "github.com/cosmos/ibc-go/modules/core/05-port/types" - host "github.com/cosmos/ibc-go/modules/core/24-host" - "github.com/cosmos/ibc-go/modules/core/exported" + channeltypes "github.com/cosmos/ibc-go/v2/modules/core/04-channel/types" + porttypes "github.com/cosmos/ibc-go/v2/modules/core/05-port/types" + host "github.com/cosmos/ibc-go/v2/modules/core/24-host" + "github.com/cosmos/ibc-go/v2/modules/core/exported" ) const ( diff --git a/testing/mock/privval_test.go b/testing/mock/privval_test.go index b076f544272..2d3c3abb14d 100644 --- a/testing/mock/privval_test.go +++ b/testing/mock/privval_test.go @@ -7,7 +7,7 @@ import ( tmproto "github.com/tendermint/tendermint/proto/tendermint/types" tmtypes "github.com/tendermint/tendermint/types" - "github.com/cosmos/ibc-go/testing/mock" + "github.com/cosmos/ibc-go/v2/testing/mock" ) const chainID = "testChain" diff --git a/testing/path.go b/testing/path.go index 7b6e06731fe..63e1e85da45 100644 --- a/testing/path.go +++ b/testing/path.go @@ -4,7 +4,7 @@ import ( "bytes" "fmt" - channeltypes "github.com/cosmos/ibc-go/modules/core/04-channel/types" + channeltypes "github.com/cosmos/ibc-go/v2/modules/core/04-channel/types" ) // Path contains two endpoints representing two chains connected over IBC diff --git a/testing/sdk_test.go b/testing/sdk_test.go index 4d41e96dac9..71a21e2ede1 100644 --- a/testing/sdk_test.go +++ b/testing/sdk_test.go @@ -22,14 +22,14 @@ import ( authcli "github.com/cosmos/cosmos-sdk/x/auth/client/cli" authrest "github.com/cosmos/cosmos-sdk/x/auth/client/rest" authtypes "github.com/cosmos/cosmos-sdk/x/auth/types" - "github.com/cosmos/ibc-go/testing/simapp/params" + "github.com/cosmos/ibc-go/v2/testing/simapp/params" "github.com/spf13/cobra" "github.com/stretchr/testify/suite" tmrand "github.com/tendermint/tendermint/libs/rand" dbm "github.com/tendermint/tm-db" - ibcclientcli "github.com/cosmos/ibc-go/modules/core/02-client/client/cli" - "github.com/cosmos/ibc-go/testing/simapp" + ibcclientcli "github.com/cosmos/ibc-go/v2/modules/core/02-client/client/cli" + "github.com/cosmos/ibc-go/v2/testing/simapp" ) /* diff --git a/testing/simapp/app.go b/testing/simapp/app.go index 230ad71ae24..f16cbc112c3 100644 --- a/testing/simapp/app.go +++ b/testing/simapp/app.go @@ -42,7 +42,7 @@ import ( "github.com/cosmos/cosmos-sdk/x/capability" capabilitykeeper "github.com/cosmos/cosmos-sdk/x/capability/keeper" capabilitytypes "github.com/cosmos/cosmos-sdk/x/capability/types" - simappparams "github.com/cosmos/ibc-go/testing/simapp/params" + simappparams "github.com/cosmos/ibc-go/v2/testing/simapp/params" "github.com/cosmos/cosmos-sdk/x/crisis" crisiskeeper "github.com/cosmos/cosmos-sdk/x/crisis/keeper" @@ -80,17 +80,17 @@ import ( upgradeclient "github.com/cosmos/cosmos-sdk/x/upgrade/client" upgradekeeper "github.com/cosmos/cosmos-sdk/x/upgrade/keeper" upgradetypes "github.com/cosmos/cosmos-sdk/x/upgrade/types" - transfer "github.com/cosmos/ibc-go/modules/apps/transfer" - ibctransferkeeper "github.com/cosmos/ibc-go/modules/apps/transfer/keeper" - ibctransfertypes "github.com/cosmos/ibc-go/modules/apps/transfer/types" - ibc "github.com/cosmos/ibc-go/modules/core" - ibcclient "github.com/cosmos/ibc-go/modules/core/02-client" - ibcclientclient "github.com/cosmos/ibc-go/modules/core/02-client/client" - ibcclienttypes "github.com/cosmos/ibc-go/modules/core/02-client/types" - porttypes "github.com/cosmos/ibc-go/modules/core/05-port/types" - ibchost "github.com/cosmos/ibc-go/modules/core/24-host" - ibckeeper "github.com/cosmos/ibc-go/modules/core/keeper" - ibcmock "github.com/cosmos/ibc-go/testing/mock" + transfer "github.com/cosmos/ibc-go/v2/modules/apps/transfer" + ibctransferkeeper "github.com/cosmos/ibc-go/v2/modules/apps/transfer/keeper" + ibctransfertypes "github.com/cosmos/ibc-go/v2/modules/apps/transfer/types" + ibc "github.com/cosmos/ibc-go/v2/modules/core" + ibcclient "github.com/cosmos/ibc-go/v2/modules/core/02-client" + ibcclientclient "github.com/cosmos/ibc-go/v2/modules/core/02-client/client" + ibcclienttypes "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" + porttypes "github.com/cosmos/ibc-go/v2/modules/core/05-port/types" + ibchost "github.com/cosmos/ibc-go/v2/modules/core/24-host" + ibckeeper "github.com/cosmos/ibc-go/v2/modules/core/keeper" + ibcmock "github.com/cosmos/ibc-go/v2/testing/mock" authz "github.com/cosmos/cosmos-sdk/x/authz" authzkeeper "github.com/cosmos/cosmos-sdk/x/authz/keeper" diff --git a/testing/simapp/encoding.go b/testing/simapp/encoding.go index d94d5a8de76..90206105383 100644 --- a/testing/simapp/encoding.go +++ b/testing/simapp/encoding.go @@ -2,7 +2,7 @@ package simapp import ( "github.com/cosmos/cosmos-sdk/std" - simappparams "github.com/cosmos/ibc-go/testing/simapp/params" + simappparams "github.com/cosmos/ibc-go/v2/testing/simapp/params" ) // MakeTestEncodingConfig creates an EncodingConfig for testing. This function diff --git a/testing/simapp/genesis_account_test.go b/testing/simapp/genesis_account_test.go index a9d65ad7cb8..8f41703e4a4 100644 --- a/testing/simapp/genesis_account_test.go +++ b/testing/simapp/genesis_account_test.go @@ -7,7 +7,7 @@ import ( "github.com/cosmos/cosmos-sdk/crypto/keys/secp256k1" sdk "github.com/cosmos/cosmos-sdk/types" authtypes "github.com/cosmos/cosmos-sdk/x/auth/types" - "github.com/cosmos/ibc-go/testing/simapp" + "github.com/cosmos/ibc-go/v2/testing/simapp" "github.com/stretchr/testify/require" "github.com/tendermint/tendermint/crypto" diff --git a/testing/simapp/sim_bench_test.go b/testing/simapp/sim_bench_test.go index 3a422ecb8b3..7ea54e7b854 100644 --- a/testing/simapp/sim_bench_test.go +++ b/testing/simapp/sim_bench_test.go @@ -12,7 +12,7 @@ import ( ) // Profile with: -// /usr/local/go/bin/go test -benchmem -run=^$ github.com/cosmos/ibc-go/testing/simapp -bench ^BenchmarkFullAppSimulation$ -Commit=true -cpuprofile cpu.out +// /usr/local/go/bin/go test -benchmem -run=^$ github.com/cosmos/ibc-go/v2/testing/simapp -bench ^BenchmarkFullAppSimulation$ -Commit=true -cpuprofile cpu.out func BenchmarkFullAppSimulation(b *testing.B) { b.ReportAllocs() config, db, dir, logger, _, err := SetupSimulation("goleveldb-app-sim", "Simulation") diff --git a/testing/simapp/sim_test.go b/testing/simapp/sim_test.go index f37dffad742..7812dd470c6 100644 --- a/testing/simapp/sim_test.go +++ b/testing/simapp/sim_test.go @@ -29,9 +29,9 @@ import ( "github.com/cosmos/cosmos-sdk/x/simulation" slashingtypes "github.com/cosmos/cosmos-sdk/x/slashing/types" stakingtypes "github.com/cosmos/cosmos-sdk/x/staking/types" - ibctransfertypes "github.com/cosmos/ibc-go/modules/apps/transfer/types" - ibchost "github.com/cosmos/ibc-go/modules/core/24-host" - "github.com/cosmos/ibc-go/testing/simapp/helpers" + ibctransfertypes "github.com/cosmos/ibc-go/v2/modules/apps/transfer/types" + ibchost "github.com/cosmos/ibc-go/v2/modules/core/24-host" + "github.com/cosmos/ibc-go/v2/testing/simapp/helpers" ) // Get flags every time the simulator is run diff --git a/testing/simapp/simd/cmd/cmd_test.go b/testing/simapp/simd/cmd/cmd_test.go index 1ae137a62c7..3db9177380b 100644 --- a/testing/simapp/simd/cmd/cmd_test.go +++ b/testing/simapp/simd/cmd/cmd_test.go @@ -8,8 +8,8 @@ import ( svrcmd "github.com/cosmos/cosmos-sdk/server/cmd" "github.com/cosmos/cosmos-sdk/x/genutil/client/cli" - "github.com/cosmos/ibc-go/testing/simapp" - "github.com/cosmos/ibc-go/testing/simapp/simd/cmd" + "github.com/cosmos/ibc-go/v2/testing/simapp" + "github.com/cosmos/ibc-go/v2/testing/simapp/simd/cmd" ) func TestInitCmd(t *testing.T) { diff --git a/testing/simapp/simd/cmd/genaccounts_test.go b/testing/simapp/simd/cmd/genaccounts_test.go index cba1016b875..c63fb4baaef 100644 --- a/testing/simapp/simd/cmd/genaccounts_test.go +++ b/testing/simapp/simd/cmd/genaccounts_test.go @@ -16,8 +16,8 @@ import ( "github.com/cosmos/cosmos-sdk/types/module" "github.com/cosmos/cosmos-sdk/x/genutil" genutiltest "github.com/cosmos/cosmos-sdk/x/genutil/client/testutil" - "github.com/cosmos/ibc-go/testing/simapp" - simcmd "github.com/cosmos/ibc-go/testing/simapp/simd/cmd" + "github.com/cosmos/ibc-go/v2/testing/simapp" + simcmd "github.com/cosmos/ibc-go/v2/testing/simapp/simd/cmd" ) var testMbm = module.NewBasicManager(genutil.AppModuleBasic{}) diff --git a/testing/simapp/simd/cmd/root.go b/testing/simapp/simd/cmd/root.go index b8b1f5a560d..f7541f713d7 100644 --- a/testing/simapp/simd/cmd/root.go +++ b/testing/simapp/simd/cmd/root.go @@ -30,8 +30,8 @@ import ( "github.com/tendermint/tendermint/libs/log" dbm "github.com/tendermint/tm-db" - "github.com/cosmos/ibc-go/testing/simapp" - "github.com/cosmos/ibc-go/testing/simapp/params" + "github.com/cosmos/ibc-go/v2/testing/simapp" + "github.com/cosmos/ibc-go/v2/testing/simapp/params" ) // NewRootCmd creates a new root command for simd. It is called once in the diff --git a/testing/simapp/simd/main.go b/testing/simapp/simd/main.go index a389f795fa5..80b0b50f774 100644 --- a/testing/simapp/simd/main.go +++ b/testing/simapp/simd/main.go @@ -5,8 +5,8 @@ import ( "github.com/cosmos/cosmos-sdk/server" svrcmd "github.com/cosmos/cosmos-sdk/server/cmd" - "github.com/cosmos/ibc-go/testing/simapp" - "github.com/cosmos/ibc-go/testing/simapp/simd/cmd" + "github.com/cosmos/ibc-go/v2/testing/simapp" + "github.com/cosmos/ibc-go/v2/testing/simapp/simd/cmd" ) func main() { diff --git a/testing/simapp/state.go b/testing/simapp/state.go index ebf1d301069..7dea332368a 100644 --- a/testing/simapp/state.go +++ b/testing/simapp/state.go @@ -19,7 +19,7 @@ import ( authtypes "github.com/cosmos/cosmos-sdk/x/auth/types" banktypes "github.com/cosmos/cosmos-sdk/x/bank/types" stakingtypes "github.com/cosmos/cosmos-sdk/x/staking/types" - simappparams "github.com/cosmos/ibc-go/testing/simapp/params" + simappparams "github.com/cosmos/ibc-go/v2/testing/simapp/params" ) // AppStateFn returns the initial application state using a genesis or the simulation parameters. diff --git a/testing/simapp/test_helpers.go b/testing/simapp/test_helpers.go index 8d92dbdeb5b..0773465501c 100644 --- a/testing/simapp/test_helpers.go +++ b/testing/simapp/test_helpers.go @@ -25,7 +25,7 @@ import ( authtypes "github.com/cosmos/cosmos-sdk/x/auth/types" banktypes "github.com/cosmos/cosmos-sdk/x/bank/types" minttypes "github.com/cosmos/cosmos-sdk/x/mint/types" - "github.com/cosmos/ibc-go/testing/simapp/helpers" + "github.com/cosmos/ibc-go/v2/testing/simapp/helpers" ) // DefaultConsensusParams defines the default Tendermint consensus params used in diff --git a/testing/simapp/utils.go b/testing/simapp/utils.go index 8ee1a1f729e..7bfb087c9ff 100644 --- a/testing/simapp/utils.go +++ b/testing/simapp/utils.go @@ -13,7 +13,7 @@ import ( "github.com/cosmos/cosmos-sdk/types/kv" "github.com/cosmos/cosmos-sdk/types/module" simtypes "github.com/cosmos/cosmos-sdk/types/simulation" - "github.com/cosmos/ibc-go/testing/simapp/helpers" + "github.com/cosmos/ibc-go/v2/testing/simapp/helpers" ) // SetupSimulation creates the config, db (levelDB), temporary directory and logger for diff --git a/testing/solomachine.go b/testing/solomachine.go index 75d4b58b5ad..048ac4c8c33 100644 --- a/testing/solomachine.go +++ b/testing/solomachine.go @@ -12,11 +12,11 @@ import ( cryptotypes "github.com/cosmos/cosmos-sdk/crypto/types" "github.com/cosmos/cosmos-sdk/crypto/types/multisig" "github.com/cosmos/cosmos-sdk/types/tx/signing" - clienttypes "github.com/cosmos/ibc-go/modules/core/02-client/types" - commitmenttypes "github.com/cosmos/ibc-go/modules/core/23-commitment/types" - host "github.com/cosmos/ibc-go/modules/core/24-host" - "github.com/cosmos/ibc-go/modules/core/exported" - solomachinetypes "github.com/cosmos/ibc-go/modules/light-clients/06-solomachine/types" + clienttypes "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" + commitmenttypes "github.com/cosmos/ibc-go/v2/modules/core/23-commitment/types" + host "github.com/cosmos/ibc-go/v2/modules/core/24-host" + "github.com/cosmos/ibc-go/v2/modules/core/exported" + solomachinetypes "github.com/cosmos/ibc-go/v2/modules/light-clients/06-solomachine/types" ) // Solomachine is a testing helper used to simulate a counterparty diff --git a/testing/values.go b/testing/values.go index 7a66b683826..9994040423e 100644 --- a/testing/values.go +++ b/testing/values.go @@ -10,12 +10,12 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" - ibctransfertypes "github.com/cosmos/ibc-go/modules/apps/transfer/types" - connectiontypes "github.com/cosmos/ibc-go/modules/core/03-connection/types" - channeltypes "github.com/cosmos/ibc-go/modules/core/04-channel/types" - commitmenttypes "github.com/cosmos/ibc-go/modules/core/23-commitment/types" - ibctmtypes "github.com/cosmos/ibc-go/modules/light-clients/07-tendermint/types" - "github.com/cosmos/ibc-go/testing/mock" + ibctransfertypes "github.com/cosmos/ibc-go/v2/modules/apps/transfer/types" + connectiontypes "github.com/cosmos/ibc-go/v2/modules/core/03-connection/types" + channeltypes "github.com/cosmos/ibc-go/v2/modules/core/04-channel/types" + commitmenttypes "github.com/cosmos/ibc-go/v2/modules/core/23-commitment/types" + ibctmtypes "github.com/cosmos/ibc-go/v2/modules/light-clients/07-tendermint/types" + "github.com/cosmos/ibc-go/v2/testing/mock" ) const ( From 29d44551292309a97f63267e698357e27c86f023 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?colin=20axn=C3=A9r?= <25233464+colin-axner@users.noreply.github.com> Date: Thu, 16 Sep 2021 11:17:16 +0200 Subject: [PATCH 020/107] Add migration docs template and updates migration doc for 1.0 to 2.0 (#401) * add migration template and update v2 migration docs * Update docs/migrations/ibc-migration-v100.md Co-authored-by: Damian Nolan * Update docs/migrations/migration-template.md Co-authored-by: Damian Nolan Co-authored-by: Damian Nolan --- docs/migrations/ibc-migration-v100.md | 45 ++++++++++++++++++++++++++- docs/migrations/migration-template.md | 28 +++++++++++++++++ 2 files changed, 72 insertions(+), 1 deletion(-) create mode 100644 docs/migrations/migration-template.md diff --git a/docs/migrations/ibc-migration-v100.md b/docs/migrations/ibc-migration-v100.md index 5f5c814c3ac..ef7bd6a6914 100644 --- a/docs/migrations/ibc-migration-v100.md +++ b/docs/migrations/ibc-migration-v100.md @@ -1,8 +1,51 @@ # Migrating from ibc-go v1.x.x to v2.0.0 -## Application Callbacks +This document is intended to highlight significant changes which may require more information than presented in the CHANGELOG. +Any changes that must be done by a user of ibc-go should be documented here. + +There are four sections based on the four potential user groups of this document: +- Chains +- IBC Apps +- Relayers +- IBC Light Clients + +**Note:** ibc-go supports golang semantic versioning and therefore all imports must be updated to bump the version number on major releases. +```go +github.com/cosmos/ibc-go -> github.com/cosmos/ibc-go/v2 +``` + +## Chains + +- No relevant changes were made in this release. + +## IBC Apps + +A new function has been added to the app module interface: +```go +// NegotiateAppVersion performs application version negotiation given the provided channel ordering, connectionID, portID, counterparty and proposed version. + // An error is returned if version negotiation cannot be performed. For example, an application module implementing this interface + // may decide to return an error in the event of the proposed version being incompatible with it's own + NegotiateAppVersion( + ctx sdk.Context, + order channeltypes.Order, + connectionID string, + portID string, + counterparty channeltypes.Counterparty, + proposedVersion string, + ) (version string, err error) +} +``` + +This function should perform application version negotiation and return the negotiated version. If the version cannot be negotiated, an error should be returned. This function is only used on the client side. + +#### sdk.Result removed sdk.Result has been removed as a return value in the application callbacks. Previously it was being discarded by core IBC and was thus unused. +## Relayers + +A new gRPC has been added to 05-port, `AppVersion`. It returns the negotiated app version. This function should be used for the `ChanOpenTry` channel handshake step to decide upon the application version which should be set in the channel. +## IBC Light Clients +- No relevant changes were made in this release. diff --git a/docs/migrations/migration-template.md b/docs/migrations/migration-template.md new file mode 100644 index 00000000000..701b74290dd --- /dev/null +++ b/docs/migrations/migration-template.md @@ -0,0 +1,28 @@ +# Migrating from to + +This document is intended to highlight significant changes which may require more information than presented in the CHANGELOG. +Any changes that must be done by a user of ibc-go should be documented here. + +There are four sections based on the four potential user groups of this document: +- Chains +- IBC Apps +- Relayers +- IBC Light Clients + +**Note:** ibc-go supports golang semantic versioning and therefore all imports must be updated to bump the version number on major releases. + +## Chains + +- No relevant changes were made in this release. + +## IBC Apps + +- No relevant changes were made in this release. + +## Relayers + +- No relevant changes were made in this release. + +## IBC Light Clients + +- No relevant changes were made in this release. From 9e393490e074ccf45a8b79b2975887c3ed07ac43 Mon Sep 17 00:00:00 2001 From: Carlos Rodriguez Date: Fri, 17 Sep 2021 08:40:40 +0200 Subject: [PATCH 021/107] add releases.md file (#408) * add releases.md file * address review comment Co-authored-by: Carlos Rodriguez --- RELEASES.md | 44 +++++++++++++++++++++++++++++++++++++ releases-decision-tree.png | Bin 0 -> 49528 bytes 2 files changed, 44 insertions(+) create mode 100644 RELEASES.md create mode 100644 releases-decision-tree.png diff --git a/RELEASES.md b/RELEASES.md new file mode 100644 index 00000000000..90ba9675d42 --- /dev/null +++ b/RELEASES.md @@ -0,0 +1,44 @@ +# Releases + +IBC-Go follows [semantic versioning](https://semver.org), but with the following deviations: + +- A state-machine breaking change will result in an increase of the minor version Y (x.Y.z | x > 0). +- An API breaking change will result in an increase of the major number (X.y.z | x > 0). Please note that these changes **will be backwards compatible** (as opposed to canonical semantic versioning; read [Backwards compatibility](#backwards) for a detailed explanation). + +This is visually explained in the following decision tree: + +![](releases-decision-tree.png) + +When bumping the dependencies of [Cosmos SDK](https://github.com/cosmos/cosmos-sdk) and [Tendermint](https://github.com/tendermint/tendermint) we will only treat patch releases as non state-machine breaking. + +## Backwards compatibility + +[ibc-go](https://github.com/cosmos/ibc-go) and the [IBC protocol specification](https://github.com/cosmos/ibc) maintain different versions. Furthermore, ibc-go serves several different user groups (chains, IBC app developers, relayers, IBC light client developers). Each of these groups has different expectations of what *backwards compatible* means. It simply isn't possible to categorize a change as backwards or non backwards compatible for all user groups. We are primarily interested in when our API breaks and when changes are state machine breaking (thus requiring a coordinated upgrade). This is scoping the meaning of ibc-go to that of those interacting with the code (IBC app developers, relayers, IBC light client developers), not chains using IBC to communicate (that should be encapsulated by the IBC protocol specification versioning). + +To summarize: **All our ibc-go releases allow chains to communicate successfully with any chain running any version of our code**. That is to say, we are still using IBC protocol specification v1.0. + +We ensure all major releases are supported by relayers ([hermes](https://github.com/informalsystems/ibc-rs) and [ts-relayer](https://github.com/confio/ts-relayer) at the moment) which can relay between the new major release and older releases. We have no plans of upgrading to an IBC protocol specification v2.0, as this would be very disruptive to the ecosystem. + +## Graphics + +The decision tree above was generated with the following code: + +``` +%%{init: + {'theme': 'default', + 'themeVariables': + {'fontFamily': 'verdana', 'fontSize': '13px'} + } +}%% +flowchart TD + A(Change):::c --> B{state-machine breaking?} + B:::c --> |Yes| C{API breaking?} + B:::c --> |No| D{API breaking?} + C:::c --> |Yes| E(Increase major version):::c + C:::c --> |No| F(Increase minor version):::c + D:::c --> |Yes| G(Increase major version):::c + D:::c --> |No| H(Increase patch version):::c + classDef c fill:#eee,stroke:#aaa +``` + +using [Mermaid's live editor](https://mermaid-js.github.io/). \ No newline at end of file diff --git a/releases-decision-tree.png b/releases-decision-tree.png new file mode 100644 index 0000000000000000000000000000000000000000..3b03462c6b065fe690ee698e8eccc2ca28f3ede7 GIT binary patch literal 49528 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%0D6~8^+R1dQLb1`l}jR?7}$fM zf|&PF>A#$id;#CjNuF7{*XAwm#4;u4m0{tswm0YuPrd+Pjb0?vlR)v$w0hP?ueG*s zYGq!|z(YOBq%*@LD)*NF3j^6yydgh-Hv6pA%I0}%L=xuoWB51n(C3Dc9PY2e*wVkU zm|XKG9J8lK1fTsIsst=IB%35TPjM?{JbB^;5ZqJ|X%c#`qMdPl<}=p=gRe#DqXij@ zO^Jl6>goTbh-Cm(@HQ@9ta8L%h!|jnu~O^V*2ot3+AmVMa_mercv~c1Q;+c*W9tIo zmB(Z-B%AZdacXBbpJ_x!g{r*y^*Vj6-(5=_zy|&2mi!oqDi3oP%K=2Z|9m3j9AJXN zj2ZX4|9iZDAy3B#R!{?C3Aaha^y3Hru~piXTca}EAsI zXC=BZ#5*2YMfE?AM;co`*6mZw$4G=r1m`KI82K#EY1I z#COA<0`KC*O+c8?{{>`Y#i0xyJ0RHx@fqNoZge+9iU3TGZ^sDc;7w0{BQOZ08ya2yK)fAbnwUMm3#lnML-?yH>iqLUU)k`1rG&9dRpO8zX6G>5r~l;b2gf<&sxb> zxgBSek4-+ohRaQn`eaLMj4LupQfE!$`$>-LTP5P0v}ZDkx2h@Q#ror@BweZFa4oaZ zZ=eaR4G3J4y>CURUenmE>PzNnw5%h5>9G~uo;{Q{v2@)i!iVw>2(sSwQQD)-`;8Kh znA)?l*%?lNPn%aZK7fR{ig``BI#aH4>dGZECMKqCD+}|BIv<5+Gnxj*!Y_9#n{%k& zKn=-J{ss5^zrO+qJe8O|xRFv>3hlr8UspG9rB49d#e(d+jR1i2KVLz91jGWI{htd1 z&cy#TW#nc9`@=7W|1YTT{|1V}6fj)-VQ~+j|25hKlf!}iHC2^2{_7wLEX}H$f4&IC W Date: Fri, 17 Sep 2021 08:50:55 +0200 Subject: [PATCH 022/107] fix broken links (#415) * fix for a large portion of the broken links and adding config file for the markdown link checker * modify link checker yaml to use config file * fix link checker yaml * fix some more links and the path to the config file for the markdown link checker * fix some more dead links * tweak markdown link checker configuration and remove deprecated section from docs * address review comments * fix url for png Co-authored-by: Carlos Rodriguez --- .github/workflows/link-check-config.json | 10 +++++++++ .github/workflows/link-check.yml | 4 +++- CHANGELOG.md | 2 +- SECURITY.md | 22 +++++++++---------- docs/DOCS_README.md | 12 +--------- docs/OLD_README.md | 2 ++ .../adr-001-coin-source-tracing.md | 4 ++-- .../adr-015-ibc-packet-receiver.md | 2 +- docs/ibc/apps.md | 8 +++---- docs/ibc/integration.md | 2 +- docs/ibc/overview.md | 10 ++++----- docs/ibc/proto-docs.md | 6 ++--- docs/migrations/ibc-migration-043.md | 2 +- modules/apps/transfer/keeper/msg_server.go | 2 +- modules/apps/transfer/keeper/relay.go | 2 +- modules/apps/transfer/spec/01_concepts.md | 2 +- modules/apps/transfer/spec/02_state.md | 2 +- modules/apps/transfer/spec/04_messages.md | 2 +- modules/apps/transfer/spec/06_metrics.md | 2 +- modules/apps/transfer/spec/07_params.md | 6 ++--- modules/apps/transfer/spec/README.md | 2 +- modules/apps/transfer/types/packet.pb.go | 2 +- modules/apps/transfer/types/trace.go | 2 +- modules/apps/transfer/types/tx.pb.go | 2 +- modules/core/02-client/client/cli/query.go | 4 ++-- modules/core/02-client/doc.go | 2 +- modules/core/02-client/keeper/client.go | 2 +- modules/core/04-channel/keeper/handshake.go | 2 +- modules/core/04-channel/types/channel.pb.go | 2 +- modules/core/24-host/keys.go | 8 +++---- modules/core/24-host/validate.go | 2 +- modules/core/exported/commitment.go | 2 +- modules/core/spec/01_concepts.md | 11 ++++------ modules/core/spec/02_state.md | 2 +- modules/core/spec/05_callbacks.md | 2 +- modules/light-clients/06-solomachine/doc.go | 2 +- .../06-solomachine/spec/01_concepts.md | 4 ++-- .../06-solomachine/spec/README.md | 2 +- .../applications/transfer/v1/transfer.proto | 1 - proto/ibc/applications/transfer/v1/tx.proto | 2 +- .../ibc/applications/transfer/v2/packet.proto | 3 +-- proto/ibc/core/channel/v1/channel.proto | 2 +- proto/ibc/core/connection/v1/connection.proto | 2 +- 43 files changed, 83 insertions(+), 86 deletions(-) create mode 100644 .github/workflows/link-check-config.json diff --git a/.github/workflows/link-check-config.json b/.github/workflows/link-check-config.json new file mode 100644 index 00000000000..27d3868fe31 --- /dev/null +++ b/.github/workflows/link-check-config.json @@ -0,0 +1,10 @@ +{ + "ignorePatterns": [ + { + "pattern": "(localhost)" + } + ], + "retryOn429": true, + "retryCount": 3, + "fallbackRetryDelay": "10s" +} \ No newline at end of file diff --git a/.github/workflows/link-check.yml b/.github/workflows/link-check.yml index 6d2c00bb0f0..c802efe8616 100644 --- a/.github/workflows/link-check.yml +++ b/.github/workflows/link-check.yml @@ -5,4 +5,6 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - - uses: gaurav-nelson/github-action-markdown-link-check@v1 \ No newline at end of file + - uses: gaurav-nelson/github-action-markdown-link-check@v1 + with: + config-file: '.github/workflows/link-check-config.json' \ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md index d3516b2eea0..36ae3f23248 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -120,7 +120,7 @@ The IBC module was originally released in [v0.40.0](https://github.com/cosmos/co Please see the [Release Notes](https://github.com/cosmos/cosmos-sdk/blob/v0.40.0/RELEASE_NOTES.md). The IBC module is also contained in the releases for [v0.41.x](https://github.com/cosmos/cosmos-sdk/releases/tag/v0.41.0) and [v0.42.x](https://github.com/cosmos/cosmos-sdk/releases/tag/v0.42.0). -Please see the Release Notes for [v0.41.x](https://github.com/cosmos/cosmos-sdk/blob/release/v0.41.x/RELEASE_NOTES.md) and [v0.42.x](https://github.com/cosmos/cosmos-sdk/blob/release/v0.42.x/RELEASE_NOTES.md). +Please see the Release Notes for [v0.41.x](https://github.com/cosmos/cosmos-sdk/blob/v0.41.0/RELEASE_NOTES.md) and [v0.42.x](https://github.com/cosmos/cosmos-sdk/blob/v0.42.0/RELEASE_NOTES.md). The IBC module was removed in the commit hash [da064e13d56add466548135739c5860a9f7ed842](https://github.com/cosmos/cosmos-sdk/commit/da064e13d56add466548135739c5860a9f7ed842) on the SDK. The release for SDK v0.43.0 will be the first release without the IBC module. diff --git a/SECURITY.md b/SECURITY.md index d9094b6566a..adc0d5f08e5 100644 --- a/SECURITY.md +++ b/SECURITY.md @@ -1,32 +1,32 @@ # Security > **IMPORTANT**: If you find a security issue, you can contact our team directly at -security@interchain.berlin, or report it to our [bug bounty program](https://hackerone.com/tendermint) on HackerOne. *DO NOT* open a public issue on the repository. +security@interchain.berlin, or report it to our [bug bounty program](https://hackerone.com/cosmos) on HackerOne. *DO NOT* open a public issue on the repository. ## Bug Bounty As part of our [Coordinated Vulnerability Disclosure Policy](https://tendermint.com/security), we operate a -[bug bounty program](https://hackerone.com/tendermint) with Hacker One. +[bug bounty program](https://hackerone.com/cosmos) with Hacker One. See the policy linked above for more details on submissions and rewards and read this [blog post](https://blog.cosmos.network/bug-bounty-program-for-tendermint-cosmos-833c67693586) for the program scope. The following is a list of examples of the kinds of bugs we're most interested -in for the IBC Golang repository. Please refer to the corresponding repositories for vulnerabilities on the [Cosmos SDK]((https://github.com/cosmos/cosmos-sdk/blob/master/SECURITY.md)) and [Tendermint](https://github.com/tendermint/tendermint/blob/master/SECURITY.md) repositories. +in for the IBC Golang repository. Please refer to the corresponding repositories for vulnerabilities on the [Cosmos SDK](https://github.com/cosmos/cosmos-sdk/blob/master/SECURITY.md) and [Tendermint](https://github.com/tendermint/tendermint/blob/master/SECURITY.md) repositories. ### IBC Core -- [`02-client`](https://github.com/cosmos/ibc-go/tree/modules/core/02-client) -- [`03-connection`](https://github.com/cosmos/ibc-go/tree/modules/core/03-connection) -- [`04-channel`](https://github.com/cosmos/ibc-go/tree/modules/core/04-channel) -- [`05-port`](https://github.com/cosmos/ibc-go/tree/modules/core/05-port) -- [`23-commitment`](https://github.com/cosmos/ibc-go/tree/modules/core/23-commitment) -- [`24-host`](https://github.com/cosmos/ibc-go/tree/modules/core/24-host) +- [`02-client`](https://github.com/cosmos/ibc-go/tree/main/modules/core/02-client) +- [`03-connection`](https://github.com/cosmos/ibc-go/tree/main/modules/core/03-connection) +- [`04-channel`](https://github.com/cosmos/ibc-go/tree/main/modules/core/04-channel) +- [`05-port`](https://github.com/cosmos/ibc-go/tree/main/modules/core/05-port) +- [`23-commitment`](https://github.com/cosmos/ibc-go/tree/main/modules/core/23-commitment) +- [`24-host`](https://github.com/cosmos/ibc-go/tree/main/modules/core/24-host) ### IBC Applications -- [`transfer`](https://github.com/cosmos/ibc-go/tree/modules/apps/transfer) +- [`transfer`](https://github.com/cosmos/ibc-go/tree/main/modules/apps/transfer) ### Light Clients -- [`07-tendermint`](https://github.com/cosmos/ibc-go/tree/modules/light-clients/07-tendermint) +- [`07-tendermint`](https://github.com/cosmos/ibc-go/tree/main/modules/light-clients/07-tendermint) diff --git a/docs/DOCS_README.md b/docs/DOCS_README.md index b309c2fdb14..fb6e4f2acc3 100644 --- a/docs/DOCS_README.md +++ b/docs/DOCS_README.md @@ -10,7 +10,7 @@ If you want to update the documentation please open a pr on ibc-go. ## Docs Build Workflow -The documentation for the Cosmos SDK is hosted at https://ibc.cosmos.network/ +The documentation for IBC-Go is hosted at https://ibc.cosmos.network. built from the files in this (`/docs`) directory for [main](https://github.com/cosmos/ibc-go/tree/main/docs). @@ -87,16 +87,6 @@ Run `pre` and `post` hooks and start a hot-reloading web-server. See output of t To build documentation as a static website run `npm run build`. You will find the website in `.vuepress/dist` directory. -## Build RPC Docs - -TODO: is this still true? - -First, run `make tools` from the root of repo, to install the swagger-ui tool. - -Then, edit the `swagger.yaml` manually; it is found [here](https://github.com/cosmos/cosmos-sdk/blob/master/client/lcd/swagger-ui/swagger.yaml) - -Finally, run `make update_gaia_lite_docs` from the root of the repo. - ## Search TODO: update or remove diff --git a/docs/OLD_README.md b/docs/OLD_README.md index 7a19ba345f4..47bb2547732 100644 --- a/docs/OLD_README.md +++ b/docs/OLD_README.md @@ -5,6 +5,7 @@ parent: title: "ibc" --> + # `ibc` ## Abstract @@ -113,3 +114,4 @@ x/ibc │   └── 09-localhost/ └── testing/ ``` + \ No newline at end of file diff --git a/docs/architecture/adr-001-coin-source-tracing.md b/docs/architecture/adr-001-coin-source-tracing.md index d5364d1c0d1..4aeb59aecab 100644 --- a/docs/architecture/adr-001-coin-source-tracing.md +++ b/docs/architecture/adr-001-coin-source-tracing.md @@ -12,7 +12,7 @@ Accepted, Implemented ## Context The specification for IBC cross-chain fungible token transfers -([ICS20](https://github.com/cosmos/ics/tree/master/spec/ics-020-fungible-token-transfer)), needs to +([ICS20](https://github.com/cosmos/ibc/tree/master/spec/app/ics-020-fungible-token-transfer)), needs to be aware of the origin of any token denomination in order to relay a `Packet` which contains the sender and recipient addressed in the [`FungibleTokenPacketData`](https://github.com/cosmos/ibc/tree/master/spec/app/ics-020-fungible-token-transfer#data-structures). @@ -199,7 +199,7 @@ func (msg MsgTransfer) ValidateBasic() error { // ValidateIBCDenom validates that the given denomination is either: // // - A valid base denomination (eg: 'uatom') -// - A valid fungible token representation (i.e 'ibc/{hash}') per ADR 001 https://github.com/cosmos/cosmos-sdk/blob/master/docs/architecture/adr-001-coin-source-tracing.md +// - A valid fungible token representation (i.e 'ibc/{hash}') per ADR 001 https://github.com/cosmos/ibc-go/blob/main/docs/architecture/adr-001-coin-source-tracing.md func ValidateIBCDenom(denom string) error { denomSplit := strings.SplitN(denom, "/", 2) diff --git a/docs/architecture/adr-015-ibc-packet-receiver.md b/docs/architecture/adr-015-ibc-packet-receiver.md index 77059fd89dd..26f9bdecc88 100644 --- a/docs/architecture/adr-015-ibc-packet-receiver.md +++ b/docs/architecture/adr-015-ibc-packet-receiver.md @@ -296,4 +296,4 @@ Proposed ## References - Relevant comment: [cosmos/ics#289](https://github.com/cosmos/ics/issues/289#issuecomment-544533583) -- [ICS26 - Routing Module](https://github.com/cosmos/ics/blob/master/spec/ics-026-routing-module) +- [ICS26 - Routing Module](https://github.com/cosmos/ibc/tree/master/spec/core/ics-026-routing-module) diff --git a/docs/ibc/apps.md b/docs/ibc/apps.md index c43afbba841..4d1b3d0c218 100644 --- a/docs/ibc/apps.md +++ b/docs/ibc/apps.md @@ -7,7 +7,7 @@ order: 3 Learn how to configure your application to use IBC and send data packets to other chains. {synopsis} This document serves as a guide for developers who want to write their own Inter-blockchain -Communication Protocol (IBC) applications for custom [use-cases](https://github.com/cosmos/ics/blob/master/ibc/4_IBC_USECASES.md). +Communication Protocol (IBC) applications for custom use cases. Due to the modular design of the IBC protocol, IBC application developers do not need to concern themselves with the low-level details of clients, @@ -255,7 +255,7 @@ to implement callbacks for handling the packet flow through a channel. Once a module A and module B are connected to each other, relayers can start relaying packets and acknowledgements back and forth on the channel. -![IBC packet flow diagram](https://media.githubusercontent.com/media/cosmos/ics/master/spec/ics-004-channel-and-packet-semantics/packet-state-machine.png) +![IBC packet flow diagram](https://media.githubusercontent.com/media/cosmos/ibc/old/spec/ics-004-channel-and-packet-semantics/channel-state-machine.png) Briefly, a successful packet flow works as follows: @@ -353,7 +353,7 @@ receive acknowledegments with the IBC modules as byte strings. Thus, modules must agree on how to encode/decode acknowledgements. The process of creating an acknowledgement struct along with encoding and decoding it, is very similar to the packet data -example above. [ICS 04](https://github.com/cosmos/ics/tree/master/spec/ics-004-channel-and-packet-semantics#acknowledgement-envelope) +example above. [ICS 04](https://github.com/cosmos/ibc/blob/master/spec/core/ics-004-channel-and-packet-semantics#acknowledgement-envelope) specifies a recommended format for acknowledgements. This acknowledgement type can be imported from [channel types](https://github.com/cosmos/ibc-go/tree/main/modules/core/04-channel/types). @@ -366,7 +366,7 @@ While modules may choose arbitrary acknowledgement structs, a default acknowledg // conflicts with other protobuf message formats used for acknowledgements. // The first byte of any message with this format will be the non-ASCII values // `0xaa` (result) or `0xb2` (error). Implemented as defined by ICS: -// https://github.com/cosmos/ics/tree/master/spec/ics-004-channel-and-packet-semantics#acknowledgement-envelope +// https://github.com/cosmos/ibc/tree/master/spec/core/ics-004-channel-and-packet-semantics#acknowledgement-envelope message Acknowledgement { // response contains either a result or an error and must be non-empty oneof response { diff --git a/docs/ibc/integration.md b/docs/ibc/integration.md index 162fbc35b7c..f823ffe07e4 100644 --- a/docs/ibc/integration.md +++ b/docs/ibc/integration.md @@ -178,7 +178,7 @@ connection handhake. The IBC module also has [`BeginBlock`](https://github.com/cosmos/ibc-go/blob/main/modules/core/02-client/abci.go) logic as well. This is optional as it is only required if your application uses the [localhost -client](https://github.com/cosmos/ics/blob/master/spec/ics-009-loopback-client) to connect two +client](https://github.com/cosmos/ibc/blob/master/spec/client/ics-009-loopback-client) to connect two different modules from the same chain. ::: tip diff --git a/docs/ibc/overview.md b/docs/ibc/overview.md index ff1f46dac70..724b2c46953 100644 --- a/docs/ibc/overview.md +++ b/docs/ibc/overview.md @@ -11,7 +11,7 @@ Learn what IBC is, its components and use cases. {synopsis} ## What is the Interblockchain Communication Protocol (IBC)? This document serves as a guide for developers who want to write their own Inter-blockchain -Communication Protocol (IBC) applications for custom [use-cases](https://github.com/cosmos/ics/blob/master/ibc/4_IBC_USECASES.md). +Communication Protocol (IBC) applications for custom use cases. Due to the modular design of the IBC protocol, IBC application developers do not need to concern themselves with the low-level details of clients, @@ -61,12 +61,12 @@ must use for committing IBC messages is defined in [ICS-24](https://github.com/cosmos/ics/tree/master/spec/core/ics-024-host-requirements) and the proof format that all implementations must be able to produce and verify is defined in this [ICS-23 implementation](https://github.com/confio/ics23). -### [Capabilities](./ocap.md) +### [Capabilities](https://github.com/cosmos/cosmos-sdk/blob/master/docs/core/ocap.md) IBC is intended to work in execution environements where modules do not necessarily trust each other. Thus IBC must authenticate module actions on ports and channels so that only modules with the appropriate permissions can use them. This is accomplished using [dynamic -capabilities](../architecture/adr-003-dynamic-capability-store.md). Upon binding to a port or +capabilities](https://github.com/cosmos/cosmos-sdk/blob/master/docs/architecture/adr-003-dynamic-capability-store.md). Upon binding to a port or creating a channel for a module, IBC will return a dynamic capability that the module must claim in order to use that port or channel. This prevents other modules from using that port or channel since they will not own the appropriate capability. @@ -175,8 +175,8 @@ Once an acknowledgement is received successfully on the original sender the chai If you want to learn more about IBC, check the following specifications: -* [IBC specification overview](https://github.com/cosmos/ics/blob/master/ibc/README.md) -* [IBC SDK specification](../../modules/ibc) +* [IBC specification overview](https://github.com/cosmos/ibc/blob/master/README.md) +* [IBC SDK specification](../../modules/core/spec/README.md) ## Next {hide} diff --git a/docs/ibc/proto-docs.md b/docs/ibc/proto-docs.md index 878de3687c5..1eb896d016c 100644 --- a/docs/ibc/proto-docs.md +++ b/docs/ibc/proto-docs.md @@ -616,7 +616,7 @@ upgrade. ### MsgTransfer MsgTransfer defines a msg to transfer fungible tokens (i.e Coins) between ICS20 enabled chains. See ICS Spec here: -https://github.com/cosmos/ics/tree/master/spec/ics-020-fungible-token-transfer#data-structures +https://github.com/cosmos/ibc/tree/master/spec/app/ics-020-fungible-token-transfer#data-structures | Field | Type | Label | Description | @@ -675,7 +675,7 @@ Msg defines the ibc/transfer Msg service. ### FungibleTokenPacketData FungibleTokenPacketData defines a struct for the packet payload See FungibleTokenPacketData spec: -https://github.com/cosmos/ics/tree/master/spec/ics-020-fungible-token-transfer#data-structures +https://github.com/cosmos/ibc/tree/master/spec/app/ics-020-fungible-token-transfer#data-structures | Field | Type | Label | Description | @@ -715,7 +715,7 @@ NOTE: The field numbers 21 and 22 were explicitly chosen to avoid accidental conflicts with other protobuf message formats used for acknowledgements. The first byte of any message with this format will be the non-ASCII values `0xaa` (result) or `0xb2` (error). Implemented as defined by ICS: -https://github.com/cosmos/ics/tree/master/spec/ics-004-channel-and-packet-semantics#acknowledgement-envelope +https://github.com/cosmos/ibc/tree/master/spec/core/ics-004-channel-and-packet-semantics#acknowledgement-envelope | Field | Type | Label | Description | diff --git a/docs/migrations/ibc-migration-043.md b/docs/migrations/ibc-migration-043.md index 0e07c448189..55c3d68d400 100644 --- a/docs/migrations/ibc-migration-043.md +++ b/docs/migrations/ibc-migration-043.md @@ -104,7 +104,7 @@ The IBC Keeper now takes in the Upgrade Keeper. Please add the chains' Upgrade K ### UpdateClientProposal -The `UpdateClient` has been modified to take in two client-identifiers and one initial height. Please see the [documentation](../proposals.md) for more information. +The `UpdateClient` has been modified to take in two client-identifiers and one initial height. Please see the [documentation](../ibc/proposals.md) for more information. ### UpgradeProposal diff --git a/modules/apps/transfer/keeper/msg_server.go b/modules/apps/transfer/keeper/msg_server.go index dbd455715af..42b5b8f03b1 100644 --- a/modules/apps/transfer/keeper/msg_server.go +++ b/modules/apps/transfer/keeper/msg_server.go @@ -9,7 +9,7 @@ import ( var _ types.MsgServer = Keeper{} -// See createOutgoingPacket in spec:https://github.com/cosmos/ics/tree/master/spec/ics-020-fungible-token-transfer#packet-relay +// See createOutgoingPacket in spec:https://github.com/cosmos/ibc/tree/master/spec/app/ics-020-fungible-token-transfer#packet-relay // Transfer defines a rpc handler method for MsgTransfer. func (k Keeper) Transfer(goCtx context.Context, msg *types.MsgTransfer) (*types.MsgTransferResponse, error) { diff --git a/modules/apps/transfer/keeper/relay.go b/modules/apps/transfer/keeper/relay.go index dbbf98a0c53..f346bc3d976 100644 --- a/modules/apps/transfer/keeper/relay.go +++ b/modules/apps/transfer/keeper/relay.go @@ -81,7 +81,7 @@ func (k Keeper) SendTransfer( } // begin createOutgoingPacket logic - // See spec for this logic: https://github.com/cosmos/ics/tree/master/spec/ics-020-fungible-token-transfer#packet-relay + // See spec for this logic: https://github.com/cosmos/ibc/tree/master/spec/app/ics-020-fungible-token-transfer#packet-relay channelCap, ok := k.scopedKeeper.GetCapability(ctx, host.ChannelCapabilityPath(sourcePort, sourceChannel)) if !ok { return sdkerrors.Wrap(channeltypes.ErrChannelCapabilityNotFound, "module does not own channel capability") diff --git a/modules/apps/transfer/spec/01_concepts.md b/modules/apps/transfer/spec/01_concepts.md index 5b513d1f957..e70185fcae5 100644 --- a/modules/apps/transfer/spec/01_concepts.md +++ b/modules/apps/transfer/spec/01_concepts.md @@ -6,7 +6,7 @@ order: 1 ## Acknowledgements -ICS20 uses the recommended acknowledgement format as specified by [ICS 04](https://github.com/cosmos/ics/tree/master/spec/ics-004-channel-and-packet-semantics#acknowledgement-envelope). +ICS20 uses the recommended acknowledgement format as specified by [ICS 04](https://github.com/cosmos/ibc/tree/master/spec/core/ics-004-channel-and-packet-semantics#acknowledgement-envelope). A successful receive of a transfer packet will result in a Result Acknowledgement being written with the value `[]byte(byte(1))` in the `Response` field. diff --git a/modules/apps/transfer/spec/02_state.md b/modules/apps/transfer/spec/02_state.md index 9cab8d677fd..a0b2f99a4c5 100644 --- a/modules/apps/transfer/spec/02_state.md +++ b/modules/apps/transfer/spec/02_state.md @@ -4,7 +4,7 @@ order: 2 # State -The transfer IBC application module keeps state of the port to which the module is binded and the denomination trace information as outlined in [ADR 01](./../../../../../docs/architecture/adr-001-coin-source-tracing.md). +The transfer IBC application module keeps state of the port to which the module is binded and the denomination trace information as outlined in [ADR 01](./../../../../docs/architecture/adr-001-coin-source-tracing.md). - `Port`: `0x01 -> ProtocolBuffer(string)` - `DenomTrace`: `0x02 | []bytes(traceHash) -> ProtocolBuffer(DenomTrace)` diff --git a/modules/apps/transfer/spec/04_messages.md b/modules/apps/transfer/spec/04_messages.md index 9da7673eb36..611e2423da7 100644 --- a/modules/apps/transfer/spec/04_messages.md +++ b/modules/apps/transfer/spec/04_messages.md @@ -29,7 +29,7 @@ This message is expected to fail if: - `Sender` is empty - `Receiver` is empty - `TimeoutHeight` and `TimeoutTimestamp` are both zero -- `Token.Denom` is not a valid IBC denomination as per [ADR 001 - Coin Source Tracing](./../../../../../docs/architecture/adr-001-coin-source-tracing.md). +- `Token.Denom` is not a valid IBC denomination as per [ADR 001 - Coin Source Tracing](./../../../../docs/architecture/adr-001-coin-source-tracing.md). This message will send a fungible token to the counterparty chain represented by the counterparty Channel End connected to the Channel End with the identifiers diff --git a/modules/apps/transfer/spec/06_metrics.md b/modules/apps/transfer/spec/06_metrics.md index 21bb51c0a10..3d2ce5000e6 100644 --- a/modules/apps/transfer/spec/06_metrics.md +++ b/modules/apps/transfer/spec/06_metrics.md @@ -4,7 +4,7 @@ order: 6 # Metrics -The transfer IBC application module exposes the following set of [metrics](./../../../../../docs/core/telemetry.md). +The transfer IBC application module exposes the following set of [metrics](https://github.com/cosmos/cosmos-sdk/blob/master/docs/core/telemetry.md). | Metric | Description | Unit | Type | |:--------------------------------|:------------------------------------------------------------------------------------------|:----------------|:--------| diff --git a/modules/apps/transfer/spec/07_params.md b/modules/apps/transfer/spec/07_params.md index 8d2b97c580d..142091a9433 100644 --- a/modules/apps/transfer/spec/07_params.md +++ b/modules/apps/transfer/spec/07_params.md @@ -17,8 +17,7 @@ The transfers enabled parameter controls send cross-chain transfer capabilities tokens. To prevent a single token from being transferred from the chain, set the `SendEnabled` parameter to `true` and -then set the bank module's [`SendEnabled` parameter](./../../../../bank/spec/05_params.md#sendenabled) for -the denomination to `false`. +then set the bank module's [`SendEnabled` parameter](https://github.com/cosmos/cosmos-sdk/blob/master/x/bank/spec/05_params.md#sendenabled) for the denomination to `false`. ## ReceiveEnabled @@ -26,5 +25,4 @@ The transfers enabled parameter controls receive cross-chain transfer capabiliti tokens. To prevent a single token from being transferred to the chain, set the `ReceiveEnabled` parameter to `true` and -then set the bank module's [`SendEnabled` parameter](./../../../../bank/spec/05_params.md#sendenabled) for -the denomination to `false`. +then set the bank module's [`SendEnabled` parameter](https://github.com/cosmos/cosmos-sdk/blob/master/x/bank/spec/05_params.md#sendenabled) for the denomination to `false`. diff --git a/modules/apps/transfer/spec/README.md b/modules/apps/transfer/spec/README.md index 5230fdde41b..05d1cc156d0 100644 --- a/modules/apps/transfer/spec/README.md +++ b/modules/apps/transfer/spec/README.md @@ -11,7 +11,7 @@ parent: This paper defines the implementation of the ICS20 protocol on the Cosmos SDK. -For the general specification please refer to the [ICS20 Specification](https://github.com/cosmos/ics/tree/master/spec/ics-020-fungible-token-transfer). +For the general specification please refer to the [ICS20 Specification](https://github.com/cosmos/ibc/tree/master/spec/app/ics-020-fungible-token-transfer). ## Contents diff --git a/modules/apps/transfer/types/packet.pb.go b/modules/apps/transfer/types/packet.pb.go index a814dc2faf1..f3b3f59825e 100644 --- a/modules/apps/transfer/types/packet.pb.go +++ b/modules/apps/transfer/types/packet.pb.go @@ -24,7 +24,7 @@ const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package // FungibleTokenPacketData defines a struct for the packet payload // See FungibleTokenPacketData spec: -// https://github.com/cosmos/ics/tree/master/spec/ics-020-fungible-token-transfer#data-structures +// https://github.com/cosmos/ibc/tree/master/spec/app/ics-020-fungible-token-transfer#data-structures type FungibleTokenPacketData struct { // the token denomination to be transferred Denom string `protobuf:"bytes,1,opt,name=denom,proto3" json:"denom,omitempty"` diff --git a/modules/apps/transfer/types/trace.go b/modules/apps/transfer/types/trace.go index 1d692e503ce..9e3179f1efc 100644 --- a/modules/apps/transfer/types/trace.go +++ b/modules/apps/transfer/types/trace.go @@ -163,7 +163,7 @@ func ValidatePrefixedDenom(denom string) error { // ValidateIBCDenom validates that the given denomination is either: // // - A valid base denomination (eg: 'uatom') -// - A valid fungible token representation (i.e 'ibc/{hash}') per ADR 001 https://github.com/cosmos/cosmos-sdk/blob/master/docs/architecture/adr-001-coin-source-tracing.md +// - A valid fungible token representation (i.e 'ibc/{hash}') per ADR 001 https://github.com/cosmos/ibc-go/blob/main/docs/architecture/adr-001-coin-source-tracing.md func ValidateIBCDenom(denom string) error { if err := sdk.ValidateDenom(denom); err != nil { return err diff --git a/modules/apps/transfer/types/tx.pb.go b/modules/apps/transfer/types/tx.pb.go index 37c26a1fb27..9440631dd96 100644 --- a/modules/apps/transfer/types/tx.pb.go +++ b/modules/apps/transfer/types/tx.pb.go @@ -32,7 +32,7 @@ const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package // MsgTransfer defines a msg to transfer fungible tokens (i.e Coins) between // ICS20 enabled chains. See ICS Spec here: -// https://github.com/cosmos/ics/tree/master/spec/ics-020-fungible-token-transfer#data-structures +// https://github.com/cosmos/ibc/tree/master/spec/app/ics-020-fungible-token-transfer#data-structures type MsgTransfer struct { // the port on which the packet will be sent SourcePort string `protobuf:"bytes,1,opt,name=source_port,json=sourcePort,proto3" json:"source_port,omitempty" yaml:"source_port"` diff --git a/modules/core/02-client/client/cli/query.go b/modules/core/02-client/client/cli/query.go index 6de4cf1a3f5..7f163423a47 100644 --- a/modules/core/02-client/client/cli/query.go +++ b/modules/core/02-client/client/cli/query.go @@ -58,7 +58,7 @@ func GetCmdQueryClientStates() *cobra.Command { } // GetCmdQueryClientState defines the command to query the state of a client with -// a given id as defined in https://github.com/cosmos/ics/tree/master/spec/ics-002-client-semantics#query +// a given id as defined in https://github.com/cosmos/ibc/tree/master/spec/core/ics-002-client-semantics#query func GetCmdQueryClientState() *cobra.Command { cmd := &cobra.Command{ Use: "state [client-id]", @@ -165,7 +165,7 @@ func GetCmdQueryConsensusStates() *cobra.Command { } // GetCmdQueryConsensusState defines the command to query the consensus state of -// the chain as defined in https://github.com/cosmos/ics/tree/master/spec/ics-002-client-semantics#query +// the chain as defined in https://github.com/cosmos/ibc/tree/master/spec/core/ics-002-client-semantics#query func GetCmdQueryConsensusState() *cobra.Command { cmd := &cobra.Command{ Use: "consensus-state [client-id] [height]", diff --git a/modules/core/02-client/doc.go b/modules/core/02-client/doc.go index cfe3c76c6af..abb7f35fff3 100644 --- a/modules/core/02-client/doc.go +++ b/modules/core/02-client/doc.go @@ -1,6 +1,6 @@ /* Package client implements the ICS 02 - Client Semantics specification -https://github.com/cosmos/ics/tree/master/spec/ics-002-client-semantics. This +https://github.com/cosmos/ibc/tree/master/spec/core/ics-002-client-semantics. This concrete implementations defines types and method to store and update light clients which tracks on other chain's state. diff --git a/modules/core/02-client/keeper/client.go b/modules/core/02-client/keeper/client.go index 4537432329d..dbd626e5063 100644 --- a/modules/core/02-client/keeper/client.go +++ b/modules/core/02-client/keeper/client.go @@ -13,7 +13,7 @@ import ( ) // CreateClient creates a new client state and populates it with a given consensus -// state as defined in https://github.com/cosmos/ics/tree/master/spec/ics-002-client-semantics#create +// state as defined in https://github.com/cosmos/ibc/tree/master/spec/core/ics-002-client-semantics#create func (k Keeper) CreateClient( ctx sdk.Context, clientState exported.ClientState, consensusState exported.ConsensusState, ) (string, error) { diff --git a/modules/core/04-channel/keeper/handshake.go b/modules/core/04-channel/keeper/handshake.go index ef1cbd01fea..402188af1d8 100644 --- a/modules/core/04-channel/keeper/handshake.go +++ b/modules/core/04-channel/keeper/handshake.go @@ -426,7 +426,7 @@ func (k Keeper) ChanOpenConfirm( // Closing Handshake // // This section defines the set of functions required to close a channel handshake -// as defined in https://github.com/cosmos/ics/tree/master/spec/ics-004-channel-and-packet-semantics#closing-handshake +// as defined in https://github.com/cosmos/ibc/tree/master/spec/core/ics-004-channel-and-packet-semantics#closing-handshake // // ChanCloseInit is called by either module to close their end of the channel. Once // closed, channels cannot be reopened. diff --git a/modules/core/04-channel/types/channel.pb.go b/modules/core/04-channel/types/channel.pb.go index 5bc0bab0a92..34415f20731 100644 --- a/modules/core/04-channel/types/channel.pb.go +++ b/modules/core/04-channel/types/channel.pb.go @@ -353,7 +353,7 @@ var xxx_messageInfo_PacketState proto.InternalMessageInfo // conflicts with other protobuf message formats used for acknowledgements. // The first byte of any message with this format will be the non-ASCII values // `0xaa` (result) or `0xb2` (error). Implemented as defined by ICS: -// https://github.com/cosmos/ics/tree/master/spec/ics-004-channel-and-packet-semantics#acknowledgement-envelope +// https://github.com/cosmos/ibc/tree/master/spec/core/ics-004-channel-and-packet-semantics#acknowledgement-envelope type Acknowledgement struct { // response contains either a result or an error and must be non-empty // diff --git a/modules/core/24-host/keys.go b/modules/core/24-host/keys.go index 481919ca2b2..4d9a7a4b011 100644 --- a/modules/core/24-host/keys.go +++ b/modules/core/24-host/keys.go @@ -56,7 +56,7 @@ func FullClientKey(clientID string, path []byte) []byte { } // ICS02 -// The following paths are the keys to the store as defined in https://github.com/cosmos/ics/tree/master/spec/ics-002-client-semantics#path-space +// The following paths are the keys to the store as defined in https://github.com/cosmos/ibc/tree/master/spec/core/ics-002-client-semantics#path-space // FullClientStatePath takes a client identifier and returns a Path under which to store a // particular client state @@ -101,7 +101,7 @@ func ConsensusStateKey(height exported.Height) []byte { } // ICS03 -// The following paths are the keys to the store as defined in https://github.com/cosmos/ics/tree/master/spec/ics-003-connection-semantics#store-paths +// The following paths are the keys to the store as defined in https://github.com/cosmos/ibc/blob/master/spec/core/ics-003-connection-semantics#store-paths // ClientConnectionsPath defines a reverse mapping from clients to a set of connections func ClientConnectionsPath(clientID string) string { @@ -124,7 +124,7 @@ func ConnectionKey(connectionID string) []byte { } // ICS04 -// The following paths are the keys to the store as defined in https://github.com/cosmos/ics/tree/master/spec/ics-004-channel-and-packet-semantics#store-paths +// The following paths are the keys to the store as defined in https://github.com/cosmos/ibc/tree/master/spec/core/ics-004-channel-and-packet-semantics#store-paths // ChannelPath defines the path under which channels are stored func ChannelPath(portID, channelID string) string { @@ -227,7 +227,7 @@ func sequencePath(sequence uint64) string { } // ICS05 -// The following paths are the keys to the store as defined in https://github.com/cosmos/ics/tree/master/spec/ics-005-port-allocation#store-paths +// The following paths are the keys to the store as defined in https://github.com/cosmos/ibc/tree/master/spec/core/ics-005-port-allocation#store-paths // PortPath defines the path under which ports paths are stored on the capability module func PortPath(portID string) string { diff --git a/modules/core/24-host/validate.go b/modules/core/24-host/validate.go index 2bc7e18132c..7102e66b455 100644 --- a/modules/core/24-host/validate.go +++ b/modules/core/24-host/validate.go @@ -31,7 +31,7 @@ var IsValidID = regexp.MustCompile(`^[a-zA-Z0-9\.\_\+\-\#\[\]\<\>]+$`).MatchStri // // This file defines ValidateFn to validate identifier and path strings // The spec for ICS 024 can be located here: -// https://github.com/cosmos/ics/tree/master/spec/ics-024-host-requirements +// https://github.com/cosmos/ibc/tree/master/spec/core/ics-024-host-requirements // ValidateFn function type to validate path and identifier bytestrings type ValidateFn func(string) error diff --git a/modules/core/exported/commitment.go b/modules/core/exported/commitment.go index b4f2c0c18f5..99f304e2792 100644 --- a/modules/core/exported/commitment.go +++ b/modules/core/exported/commitment.go @@ -5,7 +5,7 @@ import ics23 "github.com/confio/ics23/go" // ICS 023 Types Implementation // // This file includes types defined under -// https://github.com/cosmos/ics/tree/master/spec/ics-023-vector-commitments +// https://github.com/cosmos/ibc/tree/master/spec/core/ics-023-vector-commitments // spec:Path and spec:Value are defined as bytestring diff --git a/modules/core/spec/01_concepts.md b/modules/core/spec/01_concepts.md index 4347fb67415..05c4e8a3104 100644 --- a/modules/core/spec/01_concepts.md +++ b/modules/core/spec/01_concepts.md @@ -4,9 +4,6 @@ order: 1 # Concepts -> NOTE: if you are not familiar with the IBC terminology and concepts, please read -this [document](https://github.com/cosmos/ics/blob/master/ibc/1_IBC_TERMINOLOGY.md) as prerequisite reading. - ## Client Creation, Updates, and Upgrades IBC clients are on chain light clients. The light client is responsible for verifying @@ -140,7 +137,7 @@ The IBC interfaces expect an `ibcexported.Height` interface, however all clients ## Connection Handshake -The connection handshake occurs in 4 steps as defined in [ICS 03](https://github.com/cosmos/ics/tree/master/spec/ics-003-connection-semantics). +The connection handshake occurs in 4 steps as defined in [ICS 03](https://github.com/cosmos/ibc/blob/master/spec/core/ics-003-connection-semantics). `ConnOpenInit` is the first attempt to initialize a connection on the executing chain. The handshake is expected to succeed if the version selected is supported. The connection @@ -219,7 +216,7 @@ versions should have a unique version identifier. ## Channel Handshake -The channel handshake occurs in 4 steps as defined in [ICS 04](https://github.com/cosmos/ics/tree/master/spec/ics-004-channel-and-packet-semantics). +The channel handshake occurs in 4 steps as defined in [ICS 04](https://github.com/cosmos/ibc/tree/master/spec/core/ics-004-channel-and-packet-semantics). `ChanOpenInit` is the first attempt to initialize a channel on top of an existing connection. The handshake is expected to succeed if the version selected for the existing connection is a @@ -367,7 +364,7 @@ Each packet is required to have at least one valid timeout field. ## Closing Channels -Closing a channel occurs in occurs in 2 handshake steps as defined in [ICS 04](https://github.com/cosmos/ics/tree/master/spec/ics-004-channel-and-packet-semantics). +Closing a channel occurs in occurs in 2 handshake steps as defined in [ICS 04](https://github.com/cosmos/ibc/tree/master/spec/core/ics-004-channel-and-packet-semantics). `ChanCloseInit` will close a channel on the executing chain if the channel exists, it is not already closed and the connection it exists upon is OPEN. Channels can only be closed by a @@ -382,7 +379,7 @@ that the counterparty channel has been closed. ## Hostname Validation -Hostname validation is implemented as defined in [ICS 24](https://github.com/cosmos/ics/tree/master/spec/ics-024-host-requirements). +Hostname validation is implemented as defined in [ICS 24](https://github.com/cosmos/ibc/tree/master/spec/core/ics-024-host-requirements). The 24-host sub-module parses and validates identifiers. It also builds the key paths used to store IBC related information. diff --git a/modules/core/spec/02_state.md b/modules/core/spec/02_state.md index 2c85a525a95..8357f923c42 100644 --- a/modules/core/spec/02_state.md +++ b/modules/core/spec/02_state.md @@ -4,7 +4,7 @@ order: 2 # State -The paths for the values stored in state is defined [here](https://github.com/cosmos/ics/blob/master/spec/ics-024-host-requirements/README.md#path-space). +The paths for the values stored in state is defined [here](https://github.com/cosmos/ibc/blob/master/spec/core/ics-024-host-requirements#path-space). Additionally, the SDK adds a prefix to the path to be able to aggregate the values for querying purposes. The client type is not stored since it can be obtained through the client state. diff --git a/modules/core/spec/05_callbacks.md b/modules/core/spec/05_callbacks.md index dd747380259..0720b7c6232 100644 --- a/modules/core/spec/05_callbacks.md +++ b/modules/core/spec/05_callbacks.md @@ -5,7 +5,7 @@ order: 5 # Callbacks Application modules implementing the IBC module must implement the following callbacks as found in [05-port](../05-port/types/module.go). -More information on how to implement these callbacks can be found in the [implementation guide](../../../../docs/ibc/custom.md). +More information on how to implement these callbacks can be found in the [implementation guide](../../../docs/ibc/apps.md). ```go // IBCModule defines an interface that implements all the callbacks diff --git a/modules/light-clients/06-solomachine/doc.go b/modules/light-clients/06-solomachine/doc.go index 3673f3c3dc0..bbd5fb48493 100644 --- a/modules/light-clients/06-solomachine/doc.go +++ b/modules/light-clients/06-solomachine/doc.go @@ -2,6 +2,6 @@ Package solomachine implements a concrete `ConsensusState`, `Header`, `Misbehaviour` and `Equivocation` types for the Solo Machine light client. This implementation is based off the ICS 06 specification: -https://github.com/cosmos/ics/tree/master/spec/ics-006-solo-machine-client +https://github.com/cosmos/ibc/tree/master/spec/client/ics-006-solo-machine-client */ package solomachine diff --git a/modules/light-clients/06-solomachine/spec/01_concepts.md b/modules/light-clients/06-solomachine/spec/01_concepts.md index 49b6ddaa980..75d31bf5340 100644 --- a/modules/light-clients/06-solomachine/spec/01_concepts.md +++ b/modules/light-clients/06-solomachine/spec/01_concepts.md @@ -56,7 +56,7 @@ data := &ClientStateData{ dataBz, err := cdc.Marshal(data) ``` -The helper functions `...DataBytes()` in [proofs.go](../types/proofs.go) handle this +The helper functions `...DataBytes()` in [proof.go](../types/proof.go) handle this functionality. 2. Construct the `SignBytes` and marshal it. @@ -75,7 +75,7 @@ signBytes := &SignBytes{ signBz, err := cdc.Marshal(signBytes) ``` -The helper functions `...SignBytes()` in [proofs.go](../types/proofs.go) handle this functionality. +The helper functions `...SignBytes()` in [proof.go](../types/proof.go) handle this functionality. The `DataType` field is used to disambiguate what type of data was signed to prevent potential proto encoding overlap. diff --git a/modules/light-clients/06-solomachine/spec/README.md b/modules/light-clients/06-solomachine/spec/README.md index 77db1bfeee1..45ad34c3a0e 100644 --- a/modules/light-clients/06-solomachine/spec/README.md +++ b/modules/light-clients/06-solomachine/spec/README.md @@ -10,7 +10,7 @@ parent: ## Abstract This paper defines the implementation of the ICS06 protocol on the Cosmos SDK. For the general -specification please refer to the [ICS06 Specification](https://github.com/cosmos/ics/tree/master/spec/ics-006-solo-machine-client). +specification please refer to the [ICS06 Specification](https://github.com/cosmos/ibc/tree/master/spec/client/ics-006-solo-machine-client). This implementation of a solo machine light client supports single and multi-signature public keys. The client is capable of handling public key updates by header and governance proposals. diff --git a/proto/ibc/applications/transfer/v1/transfer.proto b/proto/ibc/applications/transfer/v1/transfer.proto index 909ac3c1440..10ce92f90d4 100644 --- a/proto/ibc/applications/transfer/v1/transfer.proto +++ b/proto/ibc/applications/transfer/v1/transfer.proto @@ -6,7 +6,6 @@ option go_package = "github.com/cosmos/ibc-go/v2/modules/apps/transfer/types"; import "gogoproto/gogo.proto"; - // DenomTrace contains the base denomination for ICS20 fungible tokens and the // source tracing information path. message DenomTrace { diff --git a/proto/ibc/applications/transfer/v1/tx.proto b/proto/ibc/applications/transfer/v1/tx.proto index d185ac8640a..dfc480d07a4 100644 --- a/proto/ibc/applications/transfer/v1/tx.proto +++ b/proto/ibc/applications/transfer/v1/tx.proto @@ -16,7 +16,7 @@ service Msg { // MsgTransfer defines a msg to transfer fungible tokens (i.e Coins) between // ICS20 enabled chains. See ICS Spec here: -// https://github.com/cosmos/ics/tree/master/spec/ics-020-fungible-token-transfer#data-structures +// https://github.com/cosmos/ibc/tree/master/spec/app/ics-020-fungible-token-transfer#data-structures message MsgTransfer { option (gogoproto.equal) = false; option (gogoproto.goproto_getters) = false; diff --git a/proto/ibc/applications/transfer/v2/packet.proto b/proto/ibc/applications/transfer/v2/packet.proto index fbd0f0462ce..593392a9005 100644 --- a/proto/ibc/applications/transfer/v2/packet.proto +++ b/proto/ibc/applications/transfer/v2/packet.proto @@ -6,7 +6,7 @@ option go_package = "github.com/cosmos/ibc-go/v2/modules/apps/transfer/types"; // FungibleTokenPacketData defines a struct for the packet payload // See FungibleTokenPacketData spec: -// https://github.com/cosmos/ics/tree/master/spec/ics-020-fungible-token-transfer#data-structures +// https://github.com/cosmos/ibc/tree/master/spec/app/ics-020-fungible-token-transfer#data-structures message FungibleTokenPacketData { // the token denomination to be transferred string denom = 1; @@ -17,4 +17,3 @@ message FungibleTokenPacketData { // the recipient address on the destination chain string receiver = 4; } - diff --git a/proto/ibc/core/channel/v1/channel.proto b/proto/ibc/core/channel/v1/channel.proto index ae95a77bad4..c7f42dbf99a 100644 --- a/proto/ibc/core/channel/v1/channel.proto +++ b/proto/ibc/core/channel/v1/channel.proto @@ -138,7 +138,7 @@ message PacketState { // conflicts with other protobuf message formats used for acknowledgements. // The first byte of any message with this format will be the non-ASCII values // `0xaa` (result) or `0xb2` (error). Implemented as defined by ICS: -// https://github.com/cosmos/ics/tree/master/spec/ics-004-channel-and-packet-semantics#acknowledgement-envelope +// https://github.com/cosmos/ibc/tree/master/spec/core/ics-004-channel-and-packet-semantics#acknowledgement-envelope message Acknowledgement { // response contains either a result or an error and must be non-empty oneof response { diff --git a/proto/ibc/core/connection/v1/connection.proto b/proto/ibc/core/connection/v1/connection.proto index 9aa829b984c..74c39e26e3c 100644 --- a/proto/ibc/core/connection/v1/connection.proto +++ b/proto/ibc/core/connection/v1/connection.proto @@ -8,7 +8,7 @@ import "gogoproto/gogo.proto"; import "ibc/core/commitment/v1/commitment.proto"; // ICS03 - Connection Data Structures as defined in -// https://github.com/cosmos/ics/tree/master/spec/ics-003-connection-semantics#data-structures +// https://github.com/cosmos/ibc/blob/master/spec/core/ics-003-connection-semantics#data-structures // ConnectionEnd defines a stateful object on a chain connected to another // separate one. From 2d3181bf37239325002bb6a496a2115b6e88a615 Mon Sep 17 00:00:00 2001 From: Carlos Rodriguez Date: Mon, 20 Sep 2021 10:21:51 +0200 Subject: [PATCH 023/107] chore: update changelog (#422) Co-authored-by: Carlos Rodriguez --- CHANGELOG.md | 36 ++++++++++++++++++++++++++++++++---- 1 file changed, 32 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 36ae3f23248..d24699f445a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -43,15 +43,42 @@ Ref: https://keepachangelog.com/en/1.0.0/ ### State Machine Breaking -* (24-host) [#\344](https://github.com/cosmos/ibc-go/pull/344) Increase port identifier limit to 128 characters. - ### Improvements -* [\#373](https://github.com/cosmos/ibc-go/pull/375) Added optional field `PacketCommitmentSequences` to `QueryPacketAcknowledgementsRequest` to provide filtering of packet acknowledgements ### Features -* [\#372](https://github.com/cosmos/ibc-go/pull/372) New CLI command `query ibc client status ` to get the current activity status of a client + * [\#384](https://github.com/cosmos/ibc-go/pull/384) Added `NegotiateAppVersion` method to `IBCModule` interface supported by a gRPC query service in `05-port`. This provides routing of requests to the desired application module callback, which in turn performs application version negotiation. +## [v1.2.0](https://github.com/cosmos/ibc-go/releases/tag/v1.2.0) - 2021-09-10 + +### State Machine Breaking + +* (24-host) [\#344](https://github.com/cosmos/ibc-go/pull/344) Increase port identifier limit to 128 characters. + +### Improvements + +* [\#373](https://github.com/cosmos/ibc-go/pull/375) Added optional field `PacketCommitmentSequences` to `QueryPacketAcknowledgementsRequest` to provide filtering of packet acknowledgements. + +### Features + +* [\#372](https://github.com/cosmos/ibc-go/pull/372) New CLI command `query ibc client status ` to get the current activity status of a client. + +### Dependencies + +* [\#386](https://github.com/cosmos/ibc-go/pull/386) Bump [tendermint](https://github.com/tendermint/tendermint) from 0.34.12 to 0.34.13. + +## [v1.1.0](https://github.com/cosmos/ibc-go/releases/tag/v1.1.0) - 2021-09-03 + +### Dependencies + +* [\#367](https://github.com/cosmos/ibc-go/pull/367) Bump [cosmos-sdk](https://github.com/cosmos/cosmos-sdk) from 0.43 to 0.44. + +## [v1.0.1](https://github.com/cosmos/ibc-go/releases/tag/v1.0.1) - 2021-08-25 + +### Improvements + +* [\#343](https://github.com/cosmos/ibc-go/pull/343) Create helper functions for publishing of packet sent and acknowledgement sent events. + ## [v1.0.0](https://github.com/cosmos/ibc-go/releases/tag/v1.0.0) - 2021-08-10 ### Bug Fixes @@ -66,6 +93,7 @@ Ref: https://keepachangelog.com/en/1.0.0/ * (modules/light-clients/06-solomachine) [\#153](https://github.com/cosmos/ibc-go/pull/153) Fix solo machine proof height sequence mismatch bug. * (modules/light-clients/06-solomachine) [\#122](https://github.com/cosmos/ibc-go/pull/122) Fix solo machine merkle prefix casting bug. * (modules/light-clients/06-solomachine) [\#120](https://github.com/cosmos/ibc-go/pull/120) Fix solo machine handshake verification bug. +* (modules/light-clients/06-solomachine) [\#153](https://github.com/cosmos/ibc-go/pull/153) fix solo machine connection handshake failure at `ConnectionOpenAck`. ### API Breaking From 4f63be02e5d11fc72f3f29d63dab2161c0492458 Mon Sep 17 00:00:00 2001 From: Aditya Date: Tue, 21 Sep 2021 16:55:18 +0200 Subject: [PATCH 024/107] Adds Generic Middleware helper functions (#383) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * add generic middleware helper functions * Update modules/core/04-channel/types/version.go Co-authored-by: colin axnér <25233464+colin-axner@users.noreply.github.com> * remove app capability, add merge fn, changelog * add back newline Co-authored-by: colin axnér <25233464+colin-axner@users.noreply.github.com> --- CHANGELOG.md | 2 + modules/core/04-channel/types/version.go | 27 +++++++ modules/core/04-channel/types/version_test.go | 77 +++++++++++++++++++ 3 files changed, 106 insertions(+) create mode 100644 modules/core/04-channel/types/version.go create mode 100644 modules/core/04-channel/types/version_test.go diff --git a/CHANGELOG.md b/CHANGELOG.md index d24699f445a..81eac3c769c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -45,6 +45,8 @@ Ref: https://keepachangelog.com/en/1.0.0/ ### Improvements +* [\#383](https://github.com/cosmos/ibc-go/pull/383) Adds helper functions for merging and splitting middleware versions from the underlying app version. + ### Features * [\#384](https://github.com/cosmos/ibc-go/pull/384) Added `NegotiateAppVersion` method to `IBCModule` interface supported by a gRPC query service in `05-port`. This provides routing of requests to the desired application module callback, which in turn performs application version negotiation. diff --git a/modules/core/04-channel/types/version.go b/modules/core/04-channel/types/version.go new file mode 100644 index 00000000000..15477635e7f --- /dev/null +++ b/modules/core/04-channel/types/version.go @@ -0,0 +1,27 @@ +package types + +import "strings" + +const ChannelVersionDelimiter = ":" + +// SplitChannelVersion splits the channel version string +// into the outermost middleware version and the underlying app version. +// It will use the default delimiter `:` for middleware versions. +// In case there's no delimeter, this function returns an empty string for the middleware version (first return argument), +// and the full input as the second underlying app version. +func SplitChannelVersion(version string) (middlewareVersion, appVersion string) { + // only split out the first middleware version + splitVersions := strings.Split(version, ChannelVersionDelimiter) + if len(splitVersions) == 1 { + return "", version + } + middlewareVersion = splitVersions[0] + appVersion = strings.Join(splitVersions[1:], ChannelVersionDelimiter) + return +} + +// MergeChannelVersions merges the provided versions together with the channel version delimiter +// the versions should be passed in from the highest-level middleware to the base application +func MergeChannelVersions(versions ...string) string { + return strings.Join(versions, ChannelVersionDelimiter) +} diff --git a/modules/core/04-channel/types/version_test.go b/modules/core/04-channel/types/version_test.go new file mode 100644 index 00000000000..4011aeade2c --- /dev/null +++ b/modules/core/04-channel/types/version_test.go @@ -0,0 +1,77 @@ +package types_test + +import ( + "testing" + + "github.com/stretchr/testify/require" + + "github.com/cosmos/ibc-go/v2/modules/core/04-channel/types" +) + +func TestSplitVersions(t *testing.T) { + testCases := []struct { + name string + version string + mwVersion string + appVersion string + }{ + { + "single wrapped middleware", + "fee29-1:ics20-1", + "fee29-1", + "ics20-1", + }, + { + "multiple wrapped middleware", + "fee29-1:whitelist:ics20-1", + "fee29-1", + "whitelist:ics20-1", + }, + { + "no middleware", + "ics20-1", + "", + "ics20-1", + }, + } + + for _, tc := range testCases { + mwVersion, appVersion := types.SplitChannelVersion(tc.version) + require.Equal(t, tc.mwVersion, mwVersion, "middleware version is unexpected for case: %s", tc.name) + require.Equal(t, tc.appVersion, appVersion, "app version is unexpected for case: %s", tc.name) + } +} + +func TestMergeVersions(t *testing.T) { + testCases := []struct { + name string + versions []string + merged string + }{ + { + "single version", + []string{"ics20-1"}, + "ics20-1", + }, + { + "empty version", + []string{}, + "", + }, + { + "two versions", + []string{"fee29-1", "ics20-1"}, + "fee29-1:ics20-1", + }, + { + "multiple versions", + []string{"fee29-1", "whitelist", "ics20-1"}, + "fee29-1:whitelist:ics20-1", + }, + } + + for _, tc := range testCases { + actual := types.MergeChannelVersions(tc.versions...) + require.Equal(t, tc.merged, actual, "merged versions string does not equal expected value") + } +} From 37eac690bed7ac6afebdfd9b5f7d2f2ebe51b674 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 22 Sep 2021 10:23:43 +0000 Subject: [PATCH 025/107] Bump github.com/spf13/viper from 1.8.1 to 1.9.0 (#427) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Bumps [github.com/spf13/viper](https://github.com/spf13/viper) from 1.8.1 to 1.9.0. - [Release notes](https://github.com/spf13/viper/releases) - [Commits](https://github.com/spf13/viper/compare/v1.8.1...v1.9.0) --- updated-dependencies: - dependency-name: github.com/spf13/viper dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: colin axnér <25233464+colin-axner@users.noreply.github.com> --- go.mod | 4 +-- go.sum | 100 +++++++++++++++++++++++++++++++++++++++++++++++++-------- 2 files changed, 89 insertions(+), 15 deletions(-) diff --git a/go.mod b/go.mod index 6d89f7912f2..ed78b394e44 100644 --- a/go.mod +++ b/go.mod @@ -16,11 +16,11 @@ require ( github.com/rakyll/statik v0.1.7 github.com/spf13/cast v1.4.1 github.com/spf13/cobra v1.2.1 - github.com/spf13/viper v1.8.1 + github.com/spf13/viper v1.9.0 github.com/stretchr/testify v1.7.0 github.com/tendermint/tendermint v0.34.13 github.com/tendermint/tm-db v0.6.4 - google.golang.org/genproto v0.0.0-20210602131652-f16073e35f0c + google.golang.org/genproto v0.0.0-20210828152312-66f60bf46e71 google.golang.org/grpc v1.40.0 google.golang.org/protobuf v1.27.1 ) diff --git a/go.sum b/go.sum index 854384596a5..7ec64ae0a55 100644 --- a/go.sum +++ b/go.sum @@ -19,6 +19,11 @@ cloud.google.com/go v0.74.0/go.mod h1:VV1xSbzvo+9QJOxLDaJfTjx5e+MePCpCWwvftOeQmW cloud.google.com/go v0.78.0/go.mod h1:QjdrLG0uq+YwhjoVOLsS1t7TW8fs36kLs4XO5R5ECHg= cloud.google.com/go v0.79.0/go.mod h1:3bzgcEeQlzbuEAYu4mrWhKqWjmpprinYgKJLgKHnbb8= cloud.google.com/go v0.81.0/go.mod h1:mk/AM35KwGk/Nm2YSeZbxXdrNK3KZOYHmLkOqC2V6E0= +cloud.google.com/go v0.83.0/go.mod h1:Z7MJUsANfY0pYPdw0lbnivPx4/vhy/e2FEkSkF7vAVY= +cloud.google.com/go v0.84.0/go.mod h1:RazrYuxIK6Kb7YrzzhPoLmCVzl7Sup4NrbKPg8KHSUM= +cloud.google.com/go v0.87.0/go.mod h1:TpDYlFy7vuLzZMMZ+B6iRiELaY7z/gJPaqbMx6mlWcY= +cloud.google.com/go v0.90.0/go.mod h1:kRX0mNRHe0e2rC6oNakvwQqzyDmg57xJ+SZU1eT2aDQ= +cloud.google.com/go v0.93.3/go.mod h1:8utlLll2EF5XMAV15woO4lSbWQlk8rer9aLOfLh7+YI= cloud.google.com/go/bigquery v1.0.1/go.mod h1:i/xbL2UlR5RvWAURpBYZTtm/cXjCha9lbfbpx4poX+o= cloud.google.com/go/bigquery v1.3.0/go.mod h1:PjpwJnslEMmckchkHFfq+HTD2DmtT67aNFKH1/VBDHE= cloud.google.com/go/bigquery v1.4.0/go.mod h1:S8dzgnTigyfTmLBfrtrhyYhwRxG72rYxvftPBK2Dvzc= @@ -28,6 +33,7 @@ cloud.google.com/go/bigquery v1.8.0/go.mod h1:J5hqkt3O0uAFnINi6JXValWIb1v0goeZM7 cloud.google.com/go/datastore v1.0.0/go.mod h1:LXYbyblFSglQ5pkeyhO+Qmw7ukd3C+pD7TKLgZqpHYE= cloud.google.com/go/datastore v1.1.0/go.mod h1:umbIZjpQpHh4hmRpGhH4tLFup+FVzqBi1b3c64qFpCk= cloud.google.com/go/firestore v1.1.0/go.mod h1:ulACoGHTpvq5r8rxGJ4ddJZBZqakUQqClKRT5SZwBmk= +cloud.google.com/go/firestore v1.6.0/go.mod h1:afJwI0vaXwAG54kI7A//lP/lSPDkQORQuMkv56TxEPU= cloud.google.com/go/pubsub v1.0.1/go.mod h1:R0Gpsv3s54REJCy4fxDixWD93lHJMoZTyQ2kNxGRt3I= cloud.google.com/go/pubsub v1.1.0/go.mod h1:EwwdRX2sKPjnvnqCa270oGRyludottCI76h+R3AArQw= cloud.google.com/go/pubsub v1.2.0/go.mod h1:jhfEVHT8odbXTkndysNHCcx0awwzvfOlguIAii9o8iA= @@ -103,6 +109,7 @@ github.com/armon/go-metrics v0.0.0-20180917152333-f0300d1749da/go.mod h1:Q73ZrmV github.com/armon/go-metrics v0.3.9 h1:O2sNqxBdvq8Eq5xmzljcYzAORli6RWCvEym4cJf9m18= github.com/armon/go-metrics v0.3.9/go.mod h1:4O98XIr/9W0sxpJ8UaYkvjk10Iff7SnFrb4QAOwNTFc= github.com/armon/go-radix v0.0.0-20180808171621-7fddfc383310/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= +github.com/armon/go-radix v1.0.0/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= github.com/aryann/difflib v0.0.0-20170710044230-e206f873d14a/go.mod h1:DAHtR1m6lCRdSC2Tm3DSWRPvIPr6xNKyeHdqDQSQT+A= github.com/aws/aws-lambda-go v1.13.3/go.mod h1:4UKl9IzQMoD+QF79YdCuzCwp8VbmG4VAQwij/eHl5CU= github.com/aws/aws-sdk-go v1.25.48/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo= @@ -262,6 +269,7 @@ github.com/facebookgo/subset v0.0.0-20150612182917-8dac2c3c4870 h1:E2s37DuLxFhQD github.com/facebookgo/subset v0.0.0-20150612182917-8dac2c3c4870/go.mod h1:5tD+neXqOorC30/tWg0LCSkrqj/AR6gu8yY8/fpw1q0= github.com/fatih/color v1.3.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4= github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4= +github.com/fatih/color v1.9.0/go.mod h1:eQcE1qtQxscV5RaZvpXrrb8Drkc3/DdQ+uUYCNjL+zU= github.com/fatih/color v1.10.0/go.mod h1:ELkj/draVOlAH/xkhN6mQ50Qd0MPOk5AAr3maGEBuJM= github.com/felixge/httpsnoop v1.0.1 h1:lvB5Jl89CsZtGIWuTcDM1E/vkVs49/Ml7JJe07l8SPQ= github.com/felixge/httpsnoop v1.0.1/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= @@ -272,8 +280,9 @@ github.com/franela/goblin v0.0.0-20200105215937-c9ffbefa60db/go.mod h1:7dvUGVsVB github.com/franela/goreq v0.0.0-20171204163338-bcd34c9993f8/go.mod h1:ZhphrRTfi2rbfLwlschooIH4+wKKDR4Pdxhh+TRoA20= github.com/frankban/quicktest v1.11.3/go.mod h1:wRf/ReqHper53s+kmmSZizM8NamnL3IM0I9ntUbOk+k= github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= -github.com/fsnotify/fsnotify v1.4.9 h1:hsms1Qyu0jgnwNXIxa+/V/PDsU6CfLf6CNO8H7IWoS4= github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ= +github.com/fsnotify/fsnotify v1.5.1 h1:mZcQUHVQUQWoPXXtuf9yuEXKudkV2sx1E06UadKWpgI= +github.com/fsnotify/fsnotify v1.5.1/go.mod h1:T3375wBYaZdLLcVNkcVbzGHY7f1l/uK5T5Ai1i3InKU= github.com/gballet/go-libpcsclite v0.0.0-20190607065134-2772fd86a8ff/go.mod h1:x7DCsMOv1taUwEWCzT4cmDeAkigA5/QCwUodaVOe8Ww= github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= github.com/gin-contrib/sse v0.1.0 h1:Y/yl/+YNO8GZSjAhjMsSuLt29uWRFHdHYUb5lYOV9qE= @@ -354,8 +363,9 @@ github.com/golang/protobuf v1.5.2 h1:ROPKBNFfQgOUMifHyP+KYbvpjbdoFNs+aK7DXlji0Tw github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= github.com/golang/snappy v0.0.0-20180518054509-2e65f85255db/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= github.com/golang/snappy v0.0.1/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= -github.com/golang/snappy v0.0.3-0.20201103224600-674baa8c7fc3 h1:ur2rms48b3Ep1dxh7aUV2FZEQ8jEVO2F6ILKx8ofkAg= github.com/golang/snappy v0.0.3-0.20201103224600-674baa8c7fc3/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= +github.com/golang/snappy v0.0.3 h1:fHPg5GQYlCeLIPB9BZqMVR5nR9A+IM5zcgeTdjMYmLA= +github.com/golang/snappy v0.0.3/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= github.com/google/btree v1.0.0 h1:0udJVsspx3VBr5FwtLhQQtuAsVc79tTq0ocGIPAU6qo= github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= @@ -369,8 +379,9 @@ github.com/google/go-cmp v0.5.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/ github.com/google/go-cmp v0.5.2/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.3/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.5 h1:Khx7svrCpmxxtHBq5j2mp/xVjsi8hQMfNLvJFAlrGgU= github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= +github.com/google/go-cmp v0.5.6/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/gofuzz v0.0.0-20170612174753-24818f796faf/go.mod h1:HP5RmnzzSNb993RKQDq4+1A4ia9nllfqcQFTQJedwGI= github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/gofuzz v1.1.1-0.20200604201612-c04b05f3adfa h1:Q75Upo5UN4JbPFURXZ8nLKYUvF85dyFRop/vQ0Rv+64= @@ -378,6 +389,7 @@ github.com/google/gofuzz v1.1.1-0.20200604201612-c04b05f3adfa/go.mod h1:dBl0BpW6 github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs= github.com/google/martian/v3 v3.0.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= github.com/google/martian/v3 v3.1.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= +github.com/google/martian/v3 v3.2.1/go.mod h1:oBOf6HBosgwRXnUGWUB05QECsc6uvmMiJ3+6W4l/CUk= github.com/google/orderedcode v0.0.1 h1:UzfcAexk9Vhv8+9pNOgRu41f16lHq725vPwnSeiG/Us= github.com/google/orderedcode v0.0.1/go.mod h1:iVyU4/qPKHY5h/wSd6rZZCDcLJNxiWO6dvsYES2Sb20= github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= @@ -391,13 +403,16 @@ github.com/google/pprof v0.0.0-20201023163331-3e6fc7fc9c4c/go.mod h1:kpwsk12EmLe github.com/google/pprof v0.0.0-20201203190320-1bf35d6f28c2/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/pprof v0.0.0-20210122040257-d980be63207e/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/pprof v0.0.0-20210226084205-cbba55b83ad5/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +github.com/google/pprof v0.0.0-20210601050228-01bbb1931b22/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +github.com/google/pprof v0.0.0-20210609004039-a478d1d731e9/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +github.com/google/pprof v0.0.0-20210720184732-4bb14d4b1be1/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= github.com/google/uuid v1.0.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg= github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk= -github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1 h1:EGx4pi6eqNxGaHF6qqu48+N2wcFQ5qg5FXgOdqsJ5d8= +github.com/googleapis/gax-go/v2 v2.1.0/go.mod h1:Q3nei7sK6ybPYH7twZdmQpAd1MKb7pfu6SK+H1/DsU0= github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY= github.com/gordonklaus/ineffassign v0.0.0-20200309095847-7953dde2c7bf/go.mod h1:cuNKsD1zp2v6XfE/orVX2QE1LC+i254ceGcVeDT3pTU= github.com/gorilla/context v1.1.1/go.mod h1:kBGZzfjB9CEq2AlWe17Uuf7NDRt0dE0s8S51q0aT7Yg= @@ -438,17 +453,22 @@ github.com/gtank/ristretto255 v0.1.2 h1:JEqUCPA1NvLq5DwYtuzigd7ss8fwbYay9fi4/5uM github.com/gtank/ristretto255 v0.1.2/go.mod h1:Ph5OpO6c7xKUGROZfWVLiJf9icMDwUeIvY4OmlYW69o= github.com/hashicorp/consul/api v1.1.0/go.mod h1:VmuI/Lkw1nC05EYQWNKwWGbkg+FbDBtguAZLlVdkD9Q= github.com/hashicorp/consul/api v1.3.0/go.mod h1:MmDNSzIMUjNpY/mQ398R4bk2FnqQLoPndWW5VkKPlCE= +github.com/hashicorp/consul/api v1.10.1/go.mod h1:XjsvQN+RJGWI2TWy1/kqaE16HrR2J/FWgkYjdZQsX9M= github.com/hashicorp/consul/sdk v0.1.1/go.mod h1:VKf9jXwCTEY1QZP2MOLRhb5i/I/ssyNV1vwHyQBF0x8= github.com/hashicorp/consul/sdk v0.3.0/go.mod h1:VKf9jXwCTEY1QZP2MOLRhb5i/I/ssyNV1vwHyQBF0x8= +github.com/hashicorp/consul/sdk v0.8.0/go.mod h1:GBvyrGALthsZObzUGsfgHZQDXjg4lOjagTIwIR1vPms= github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= github.com/hashicorp/go-cleanhttp v0.5.0/go.mod h1:JpRdi6/HCYpAwUzNwuwqhbovhLtngrth3wmdIIUrZ80= github.com/hashicorp/go-cleanhttp v0.5.1/go.mod h1:JpRdi6/HCYpAwUzNwuwqhbovhLtngrth3wmdIIUrZ80= +github.com/hashicorp/go-hclog v0.12.0/go.mod h1:whpDNt7SSdeAju8AWKIWsul05p54N/39EeqMAyrmvFQ= github.com/hashicorp/go-immutable-radix v1.0.0 h1:AKDB1HM5PWEA7i4nhcpwOrO2byshxBjXVn/J/3+z5/0= github.com/hashicorp/go-immutable-radix v1.0.0/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60= github.com/hashicorp/go-msgpack v0.5.3/go.mod h1:ahLV/dePpqEmjfWmKiqvPkv/twdG7iPBM1vqhUKIvfM= github.com/hashicorp/go-multierror v1.0.0/go.mod h1:dHtQlpGsu+cZNNAkkCN/P3hoUDHhCYQXV3UM06sGGrk= +github.com/hashicorp/go-multierror v1.1.0/go.mod h1:spPvp8C1qA32ftKqdAHm4hHTbPw+vmowP0z+KUhOZdA= github.com/hashicorp/go-retryablehttp v0.5.3/go.mod h1:9B5zBasrRhHXnJnui7y6sL7es7NDiJgTc6Er0maI1Xs= github.com/hashicorp/go-rootcerts v1.0.0/go.mod h1:K6zTfqpRlCUIjkwsN4Z+hiSfzSTQa6eBIzfwKfwNnHU= +github.com/hashicorp/go-rootcerts v1.0.2/go.mod h1:pqUvnprVnM5bf7AOirdbb01K4ccR319Vf4pU3K5EGc8= github.com/hashicorp/go-sockaddr v1.0.0/go.mod h1:7Xibr9yA9JjQq1JpNB2Vw7kxv8xerXegt+ozgdvDeDU= github.com/hashicorp/go-syslog v1.0.0/go.mod h1:qPfqrKkXGihmCqbJM2mZgkZGvKG1dFdvsLplgctolz4= github.com/hashicorp/go-uuid v1.0.0/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= @@ -464,8 +484,11 @@ github.com/hashicorp/hcl v1.0.0 h1:0Anlzjpi4vEasTeNFn2mLJgTSwt0+6sfsiTG8qcWGx4= github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ= github.com/hashicorp/logutils v1.0.0/go.mod h1:QIAnNjmIWmVIIkWDTG1z5v++HQmx9WQRO+LraFDTW64= github.com/hashicorp/mdns v1.0.0/go.mod h1:tL+uN++7HEJ6SQLQ2/p+z2pH24WQKWjBPkE0mNTz8vQ= +github.com/hashicorp/mdns v1.0.1/go.mod h1:4gW7WsVCke5TE7EPeYliwHlRUyBtfCwuFwuMg2DmyNY= github.com/hashicorp/memberlist v0.1.3/go.mod h1:ajVTdAv/9Im8oMAAj5G31PhhMCZJV2pPBoIllUwCN7I= +github.com/hashicorp/memberlist v0.2.2/go.mod h1:MS2lj3INKhZjWNqd3N0m3J+Jxf3DAOnAH9VT3Sh9MUE= github.com/hashicorp/serf v0.8.2/go.mod h1:6hOLApaqBFA1NXqRQAsxw9QxuDEvNxSQRwA/JwenrHc= +github.com/hashicorp/serf v0.9.5/go.mod h1:UWDWwZeL5cuWDJdl0C6wrvrUwEqtQ4ZKBKKENpqIUyk= github.com/hdevalence/ed25519consensus v0.0.0-20210204194344-59a8610d2b87 h1:uUjLpLt6bVvZ72SQc/B4dXcPBw4Vgd7soowdRl52qEM= github.com/hdevalence/ed25519consensus v0.0.0-20210204194344-59a8610d2b87/go.mod h1:XGsKKeXxeRr95aEOgipvluMPlgjr7dGlk9ZTWOjcUcg= github.com/holiman/uint256 v1.1.1/go.mod h1:y4ga/t+u+Xwd7CpDgZESaRcWy0I7XMlTMA25ApIH5Jw= @@ -502,7 +525,6 @@ github.com/json-iterator/go v1.1.11 h1:uVUAXhF2To8cbw/3xN3pxj6kk7TYKs98NIrTqPlMW github.com/json-iterator/go v1.1.11/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU= github.com/jstemmer/go-junit-report v0.9.1/go.mod h1:Brl9GWCQeLvo8nXZwPNNblvFj/XSXhF0NWZEnDohbsk= -github.com/jtolds/gls v4.20.0+incompatible h1:xdiiI2gbIgH/gLH7ADydsJ1uDOEzR8yvV7C0MuV77Wo= github.com/jtolds/gls v4.20.0+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU= github.com/julienschmidt/httprouter v1.1.1-0.20170430222011-975b5c4c7c21/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w= github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w= @@ -543,12 +565,17 @@ github.com/magiconair/properties v1.8.5 h1:b6kJs+EmPFMYGkow9GiUyCyOvIwYetYJ3fSaW github.com/magiconair/properties v1.8.5/go.mod h1:y3VJvCyxH9uVvJTWEGAELF3aiYNyPKd5NZ3oSwXrF60= github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU= github.com/mattn/go-colorable v0.1.0/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU= +github.com/mattn/go-colorable v0.1.4/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE= +github.com/mattn/go-colorable v0.1.6/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= github.com/mattn/go-colorable v0.1.8/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= github.com/mattn/go-ieproxy v0.0.0-20190610004146-91bb50d98149/go.mod h1:31jz6HNzdxOmlERGGEc4v/dMssOfmp2p5bT/okiKFFc= github.com/mattn/go-ieproxy v0.0.0-20190702010315-6dee0af9227d/go.mod h1:31jz6HNzdxOmlERGGEc4v/dMssOfmp2p5bT/okiKFFc= github.com/mattn/go-isatty v0.0.3/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= github.com/mattn/go-isatty v0.0.4/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= github.com/mattn/go-isatty v0.0.5-0.20180830101745-3fb116b82035/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= +github.com/mattn/go-isatty v0.0.8/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s= +github.com/mattn/go-isatty v0.0.10/go.mod h1:qgIWMr58cqv1PHHyhnkY9lrL7etaEgOFcMEpPG5Rm84= +github.com/mattn/go-isatty v0.0.11/go.mod h1:PhnuNfih5lzO57/f3n+odYbM4JtupLOxQOAqxQCu2WE= github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU= github.com/mattn/go-isatty v0.0.13 h1:qdl+GuBjcsKKDco5BsxPJlId98mSWNKqYA+Co0SC1yA= github.com/mattn/go-isatty v0.0.13/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU= @@ -558,11 +585,13 @@ github.com/mattn/go-runewidth v0.0.4/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzp github.com/matttproud/golang_protobuf_extensions v1.0.1 h1:4hp9jkHxhMHkqkrB3Ix0jegS5sx/RkqARlsWZ6pIwiU= github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= github.com/miekg/dns v1.0.14/go.mod h1:W1PPwlIAgtquWBMBEV9nkV9Cazfe8ScdGz/Lj7v3Nrg= +github.com/miekg/dns v1.1.26/go.mod h1:bPDLeHnStXmXAq1m/Ch/hvfNHr14JKNPMBo3VZKjuso= github.com/mimoo/StrobeGo v0.0.0-20181016162300-f8f6d4d2b643 h1:hLDRPB66XQT/8+wG9WsDpiCvZf1yKO7sz7scAjSlBa0= github.com/mimoo/StrobeGo v0.0.0-20181016162300-f8f6d4d2b643/go.mod h1:43+3pMjjKimDBf5Kr4ZFNGbLql1zKkbImw+fZbw3geM= github.com/minio/highwayhash v1.0.1 h1:dZ6IIu8Z14VlC0VpfKofAhCy74wu/Qb5gcn52yWoz/0= github.com/minio/highwayhash v1.0.1/go.mod h1:BQskDq+xkJ12lmlUUi7U0M5Swg3EWR+dLTk+kldvVxY= github.com/mitchellh/cli v1.0.0/go.mod h1:hNIlj7HEI86fIcpObd7a0FcrxTWetlwJDGcceTlRvqc= +github.com/mitchellh/cli v1.1.0/go.mod h1:xcISNoH86gajksDmfB23e/pu+B+GeFRMYmoHXxx3xhI= github.com/mitchellh/go-homedir v1.0.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= github.com/mitchellh/go-homedir v1.1.0 h1:lukF9ziXFxDFPkA1vsr5zpc1XuPDn/wFntq5mG+4E0Y= github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= @@ -572,8 +601,9 @@ github.com/mitchellh/iochan v1.0.0/go.mod h1:JwYml1nuB7xOzsp52dPpHFffvOCDupsG0Qu github.com/mitchellh/mapstructure v0.0.0-20160808181253-ca63d7c062ee/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= github.com/mitchellh/mapstructure v1.3.3/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= -github.com/mitchellh/mapstructure v1.4.1 h1:CpVNEelQCZBooIPDn+AR3NpivK/TIKU8bDxdASFVQag= github.com/mitchellh/mapstructure v1.4.1/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= +github.com/mitchellh/mapstructure v1.4.2 h1:6h7AQ0yhTcIsmFmnAwQls75jp2Gzs4iB8W7pjMO+rqo= +github.com/mitchellh/mapstructure v1.4.2/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= github.com/moby/sys/mountinfo v0.4.1/go.mod h1:rEr8tzG/lsIZHBtN/JjGG+LMYx9eXgW2JI+6q0qou+A= github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg= @@ -654,8 +684,9 @@ github.com/pascaldekloe/goe v0.1.0/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144T github.com/pborman/uuid v0.0.0-20170112150404-1b00554d8222/go.mod h1:VyrYX9gd7irzKovcSS6BIIEwPRkP2Wm2m9ufcdFSJ34= github.com/pborman/uuid v1.2.0/go.mod h1:X/NO0urCmaxf9VXbdlT7C2Yzkj2IKimNn4k+gtPdI/k= github.com/pelletier/go-toml v1.2.0/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/94hg7ilaic= -github.com/pelletier/go-toml v1.9.3 h1:zeC5b1GviRUyKYd6OJPvBU/mcVDVoL1OhT17FCt5dSQ= github.com/pelletier/go-toml v1.9.3/go.mod h1:u1nR/EPcESfeI/szUZKdtJ0xRNbUoANCkoOuaOx1Y+c= +github.com/pelletier/go-toml v1.9.4 h1:tjENF6MfZAg8e4ZmZTeWaWiT2vXtsoO6+iuOjFhECwM= +github.com/pelletier/go-toml v1.9.4/go.mod h1:u1nR/EPcESfeI/szUZKdtJ0xRNbUoANCkoOuaOx1Y+c= github.com/performancecopilot/speed v3.0.0+incompatible/go.mod h1:/CLtqpZ5gBg1M9iaPbIdPPGyKcA8hKdoy6hAWba7Yac= github.com/peterh/liner v1.1.1-0.20190123174540-a2c9a5303de7/go.mod h1:CRroGNssyjTd/qIG2FyxByd2S8JEAZXBl4qUrZf8GS0= github.com/petermattis/goid v0.0.0-20180202154549-b0b1615b78e5 h1:q2e307iGHPdTGp0hoxKjt1H5pDo6utceo3dQVK3I5XQ= @@ -671,6 +702,7 @@ github.com/pkg/sftp v1.10.1/go.mod h1:lYOWFsE0bwd1+KfKJaKeuokY15vzFx25BLbzYYoAxZ github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/posener/complete v1.1.1/go.mod h1:em0nMJCgc9GFtwrmVmEMR/ZL6WyhyjMBndrE9hABlRI= +github.com/posener/complete v1.2.3/go.mod h1:WZIdtGGp+qx0sLrYKtIRAruyNpv6hFCicSgv7Sy7s/s= github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw= github.com/prometheus/client_golang v0.9.3-0.20190127221311-3c4408c8b829/go.mod h1:p2iRAGwDERtqlqzRXnrOVns+ignqQo//hLXqYxZYVNs= github.com/prometheus/client_golang v0.9.3/go.mod h1:/TN21ttK/J9q6uSwhBd54HahCDft0ttaMvbicHlPoso= @@ -733,6 +765,7 @@ github.com/rs/zerolog v1.23.0/go.mod h1:6c7hFfxPOy7TacJc4Fcdi24/J0NKYGzjG8FWRI91 github.com/russross/blackfriday v1.5.2/go.mod h1:JO/DiYxRf+HjHt06OyowR9PTA263kcR/rfWxYHBV53g= github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= github.com/ryanuber/columnize v0.0.0-20160712163229-9b3edd62028f/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts= +github.com/sagikazarmark/crypt v0.1.0/go.mod h1:B/mN0msZuINBtQ1zZLEQcegFJJf9vnYIR88KRMEuODE= github.com/samuel/go-zookeeper v0.0.0-20190923202752-2cc03de413da/go.mod h1:gi+0XIa01GRL2eRQVjQkKGqKF3SF9vZR/HnPullcV2E= github.com/sasha-s/go-deadlock v0.2.0/go.mod h1:StQn567HiB1fF2yJ44N9au7wOhrPS3iZqiDbRupzT10= github.com/sasha-s/go-deadlock v0.2.1-0.20190427202633-1595213edefa h1:0U2s5loxrTy6/VgfVoLuVLFJcURKLH49ie0zSch7gh4= @@ -749,9 +782,7 @@ github.com/sirupsen/logrus v1.6.0/go.mod h1:7uNnSEd1DgxDLC74fIahvMZmmYsHGZGEOFrf github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= github.com/sirupsen/logrus v1.8.1 h1:dJKuHgqk1NNQlqoA6BTlM1Wf9DOH3NBjQyu0h9+AZZE= github.com/sirupsen/logrus v1.8.1/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= -github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d h1:zE9ykElWQ6/NYmHa3jpm/yHnI4xSofP+UP6SpjHcSeM= github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc= -github.com/smartystreets/goconvey v1.6.4 h1:fv0U8FUIMPNf1L9lnHLvLhgicrIVChEkdzIKYqbNC9s= github.com/smartystreets/goconvey v1.6.4/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA= github.com/snikch/goodman v0.0.0-20171125024755-10e37e294daa/go.mod h1:oJyF+mSPHbB5mVY2iO9KV3pTt/QbIkGaO8gQ2WrDbP4= github.com/soheilhy/cmux v0.1.4/go.mod h1:IM3LyeVVIOuxMH7sFAkER9+bJ4dT7Ms6E4xg4kGIyLM= @@ -785,8 +816,9 @@ github.com/spf13/viper v1.4.0/go.mod h1:PTJ7Z/lr49W6bUbkmS1V3by4uWynFiR9p7+dSq/y github.com/spf13/viper v1.7.0/go.mod h1:8WkrPz2fc9jxqZNCJI/76HCieCp4Q8HaLFoCha5qpdg= github.com/spf13/viper v1.7.1/go.mod h1:8WkrPz2fc9jxqZNCJI/76HCieCp4Q8HaLFoCha5qpdg= github.com/spf13/viper v1.8.0/go.mod h1:o0Pch8wJ9BVSWGQMbra6iw0oQ5oktSIBaujf1rJH9Ns= -github.com/spf13/viper v1.8.1 h1:Kq1fyeebqsBfbjZj4EL7gj2IO0mMaiyjYUWcUsl2O44= github.com/spf13/viper v1.8.1/go.mod h1:o0Pch8wJ9BVSWGQMbra6iw0oQ5oktSIBaujf1rJH9Ns= +github.com/spf13/viper v1.9.0 h1:yR6EXjTp0y0cLN8OZg1CRZmOBdI88UcGkhgyJhu6nZk= +github.com/spf13/viper v1.9.0/go.mod h1:+i6ajR7OX2XaiBkrcZJFK21htRk7eDeLg7+O6bhUPP4= github.com/status-im/keycard-go v0.0.0-20190316090335-8537d3370df4/go.mod h1:RZLeN1LMWmRsyYjvAu+I6Dm9QmlDaIIt+Y+4Kd7Tp+Q= github.com/steakknife/bloomfilter v0.0.0-20180922174646-6819c0d2a570/go.mod h1:8OR4w3TdeIHIh1g6EMY5p0gVNOovcWC+1vpc7naMuAw= github.com/steakknife/hamming v0.0.0-20180906055917-c99c65617cd3/go.mod h1:hpGUWaI9xL8pRQCTXQgocU38Qw1g0Us7n5PxxTwTCYU= @@ -900,6 +932,7 @@ golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8U golang.org/x/crypto v0.0.0-20190701094942-4def268fd1a4/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20190820162420-60c769a6c586/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20190909091759-094676da4a83/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20190923035154-9ee001bba392/go.mod h1:/lpIB1dKB+9EgE3H3cr1v9wB50oz8l4C4h62xy7jSTY= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20191206172530-e9b2fee46413/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20200115085410-6d4e4cb37c7d/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= @@ -910,8 +943,9 @@ golang.org/x/crypto v0.0.0-20200728195943-123391ffb6de/go.mod h1:LzIPMQfyMNhhGPh golang.org/x/crypto v0.0.0-20200820211705-5c72a883971a/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20201016220609-9e8e0b390897/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20201117144127-c1f2f97bffc9/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I= -golang.org/x/crypto v0.0.0-20201221181555-eec23a3978ad h1:DN0cp81fZ3njFcrLCytUHRSUkqBjfTo4Tx9RJTWs0EY= golang.org/x/crypto v0.0.0-20201221181555-eec23a3978ad/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I= +golang.org/x/crypto v0.0.0-20210817164053-32db794688a5 h1:HWj/xjIHfjYU5nVXpTM0s39J9CbLn7Cc5a7IC5rwsMQ= +golang.org/x/crypto v0.0.0-20210817164053-32db794688a5/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= @@ -1003,6 +1037,7 @@ golang.org/x/net v0.0.0-20210119194325-5f4716e94777/go.mod h1:m0MpNAwzfU5UDzcl9v golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20210316092652-d523dce5a7f4/go.mod h1:RBQZq4jEuRlivfhVLdyRGr576XBO4/greRjx4P4O3yc= golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= +golang.org/x/net v0.0.0-20210503060351-7fd8e65b6420/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20210525063256-abc453219eb5/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20210903162142-ad29c8ab022f h1:w6wWR0H+nyVpbSAQbzVEIACVyr/h8l/BEkY6Sokc7Eg= golang.org/x/net v0.0.0-20210903162142-ad29c8ab022f/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= @@ -1019,6 +1054,9 @@ golang.org/x/oauth2 v0.0.0-20210220000619-9bb904979d93/go.mod h1:KelEdhl1UZF7XfJ golang.org/x/oauth2 v0.0.0-20210313182246-cd4f82c27b84/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20210402161424-2e8d93401602/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20210514164344-f6687ab2804c/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20210628180205-a41e5a781914/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20210805134026-6f1e6394065a/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20210819190943-2bc19b11175f/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -1041,6 +1079,7 @@ golang.org/x/sys v0.0.0-20181122145206-62eef0e2fa9b/go.mod h1:STP8DvDyc/dI5b8T5h golang.org/x/sys v0.0.0-20181205085412-a5c9d58dba9a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190130150945-aca44879d564/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190222072716-a9d3bda3a223/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -1054,9 +1093,11 @@ golang.org/x/sys v0.0.0-20190712062909-fae7ac547cb7/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20190726091711-fc99dfbffb4e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190826190057-c7b8b68b1456/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190904154756-749cb33beabd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190922100055-0a153f010e69/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190924154521-2837fb4f24fe/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191001151750-bb3f8db39f24/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191005200804-aed5e4c7ecf9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191008105621-543471e840be/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191115151921-52ab43148777/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191120155948-bd437916bb0e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -1067,6 +1108,7 @@ golang.org/x/sys v0.0.0-20200106162015-b016eb3dc98e/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20200113162924-86b910548bc1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200116001909-b77594299b42/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200122134326-e047566fdf82/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200124204421-9fbb57f87de9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200202164722-d101bd2416d5/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200212091648-12a6c2dcc1e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -1102,8 +1144,14 @@ golang.org/x/sys v0.0.0-20210403161142-5e06dd20ab57/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210426230700-d19ff857e887/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210514084401-e8d321eab015/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210603081109-ebe580a85c40/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210603125802-9665404d3644/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210616094352-59db8d763f22/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210806184541-e5e7981a1069/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210823070655-63515b42dcdf/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210903071746-97244b99971b h1:3Dq0eVHn0uaQJmPO+/aYPI/fRMqdrVDbu7MQcku54gg= golang.org/x/sys v0.0.0-20210903071746-97244b99971b/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw= @@ -1137,6 +1185,7 @@ golang.org/x/tools v0.0.0-20190606124116-d0a3d012864b/go.mod h1:/rFqwRUd4F7ZHNgw golang.org/x/tools v0.0.0-20190621195816-6e04913cbbac/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= golang.org/x/tools v0.0.0-20190628153133-6cdbf07be9d0/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= golang.org/x/tools v0.0.0-20190816200558-6889da9d5479/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20190907020128-2ca718005c18/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20190911174233-4f2ddba30aff/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191012152004-8de300cfc20a/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191029041327-9cc4af7d6b2c/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= @@ -1181,6 +1230,9 @@ golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4f golang.org/x/tools v0.1.0/go.mod h1:xkSsbof2nBLbhDlRMhhhyNLN/zl3eTqcnHD5viDpcZ0= golang.org/x/tools v0.1.1/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.2/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= +golang.org/x/tools v0.1.3/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= +golang.org/x/tools v0.1.4/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= +golang.org/x/tools v0.1.5/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= @@ -1209,6 +1261,12 @@ google.golang.org/api v0.40.0/go.mod h1:fYKFpnQN0DsDSKRVRcQSDQNtqWPfM9i+zNPxepjR google.golang.org/api v0.41.0/go.mod h1:RkxM5lITDfTzmyKFPt+wGrCJbVfniCr2ool8kTBzRTU= google.golang.org/api v0.43.0/go.mod h1:nQsDGjRXMo4lvh5hP0TKqF244gqhGcr/YSIykhUk/94= google.golang.org/api v0.44.0/go.mod h1:EBOGZqzyhtvMDoxwS97ctnh0zUmYY6CxqXsc1AvkYD8= +google.golang.org/api v0.47.0/go.mod h1:Wbvgpq1HddcWVtzsVLyfLp8lDg6AA241LmgIL59tHXo= +google.golang.org/api v0.48.0/go.mod h1:71Pr1vy+TAZRPkPs/xlCf5SsU8WjuAWv1Pfjbtukyy4= +google.golang.org/api v0.50.0/go.mod h1:4bNT5pAuq5ji4SRZm+5QIkjny9JAyVD/3gaSihNefaw= +google.golang.org/api v0.51.0/go.mod h1:t4HdrdoNgyN5cbEfm7Lum0lcLDLiise1F8qDKX00sOU= +google.golang.org/api v0.54.0/go.mod h1:7C4bFFOvVDGXjfDTAsgGwDgAxRDeQ4X8NvUedIt6z3k= +google.golang.org/api v0.56.0/go.mod h1:38yMfeP1kfjsl8isn0tliTjIb1rJXcQi4UXlbqivdVE= google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= google.golang.org/appengine v1.2.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= @@ -1263,8 +1321,19 @@ google.golang.org/genproto v0.0.0-20210303154014-9728d6b83eeb/go.mod h1:FWY/as6D google.golang.org/genproto v0.0.0-20210310155132-4ce2db91004e/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20210319143718-93e7006c17a6/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20210402141018-6c239bbf2bb1/go.mod h1:9lPAdzaEmUacj36I+k7YKbEc5CXzPIeORRgDAUOu28A= -google.golang.org/genproto v0.0.0-20210602131652-f16073e35f0c h1:wtujag7C+4D6KMoulW9YauvK2lgdvCMS260jsqqBXr0= +google.golang.org/genproto v0.0.0-20210513213006-bf773b8c8384/go.mod h1:P3QM42oQyzQSnHPnZ/vqoCdDmzH28fzWByN9asMeM8A= google.golang.org/genproto v0.0.0-20210602131652-f16073e35f0c/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0= +google.golang.org/genproto v0.0.0-20210604141403-392c879c8b08/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0= +google.golang.org/genproto v0.0.0-20210608205507-b6d2f5bf0d7d/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0= +google.golang.org/genproto v0.0.0-20210624195500-8bfb893ecb84/go.mod h1:SzzZ/N+nwJDaO1kznhnlzqS8ocJICar6hYhVyhi++24= +google.golang.org/genproto v0.0.0-20210713002101-d411969a0d9a/go.mod h1:AxrInvYm1dci+enl5hChSFPOmmUF1+uAa/UsgNRWd7k= +google.golang.org/genproto v0.0.0-20210716133855-ce7ef5c701ea/go.mod h1:AxrInvYm1dci+enl5hChSFPOmmUF1+uAa/UsgNRWd7k= +google.golang.org/genproto v0.0.0-20210728212813-7823e685a01f/go.mod h1:ob2IJxKrgPT52GcgX759i1sleT07tiKowYBGbczaW48= +google.golang.org/genproto v0.0.0-20210805201207-89edb61ffb67/go.mod h1:ob2IJxKrgPT52GcgX759i1sleT07tiKowYBGbczaW48= +google.golang.org/genproto v0.0.0-20210813162853-db860fec028c/go.mod h1:cFeNkxwySK631ADgubI+/XFU/xp8FD5KIVV4rj8UC5w= +google.golang.org/genproto v0.0.0-20210821163610-241b8fcbd6c8/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= +google.golang.org/genproto v0.0.0-20210828152312-66f60bf46e71 h1:z+ErRPu0+KS02Td3fOAgdX+lnPDh/VyaABEJPD4JRQs= +google.golang.org/genproto v0.0.0-20210828152312-66f60bf46e71/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= google.golang.org/grpc v1.17.0/go.mod h1:6QZJwpn2B+Zp71q/5VxRsJ6NXXVCE5NRUHRo+f3cWCs= google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= google.golang.org/grpc v1.19.1/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= @@ -1292,9 +1361,13 @@ google.golang.org/grpc v1.35.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAG google.golang.org/grpc v1.36.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= google.golang.org/grpc v1.36.1/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= google.golang.org/grpc v1.37.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM= +google.golang.org/grpc v1.37.1/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM= google.golang.org/grpc v1.38.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM= +google.golang.org/grpc v1.39.0/go.mod h1:PImNr+rS9TWYb2O4/emRugxiyHZ5JyHW5F+RPnDzfrE= +google.golang.org/grpc v1.39.1/go.mod h1:PImNr+rS9TWYb2O4/emRugxiyHZ5JyHW5F+RPnDzfrE= google.golang.org/grpc v1.40.0 h1:AGJ0Ih4mHjSeibYkFGh1dD9KJ/eOtZ93I6hoHhukQ5Q= google.golang.org/grpc v1.40.0/go.mod h1:ogyxbiOoUXAkP+4+xa6PZSE9DZgIHtSpzjDTB9KAK34= +google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.1.0/go.mod h1:6Kw0yEErY5E/yWrBtf03jp27GLLJujG4z/JK95pnjjw= google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= @@ -1322,8 +1395,9 @@ gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys= gopkg.in/gcfg.v1 v1.2.3/go.mod h1:yesOnuUOFQAhST5vPY4nbZsb/huCgGGXlipJsBn0b3o= gopkg.in/ini.v1 v1.51.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= -gopkg.in/ini.v1 v1.62.0 h1:duBzk771uxoUuOlyRLkHsygud9+5lrlGjdFBb4mSKDU= gopkg.in/ini.v1 v1.62.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= +gopkg.in/ini.v1 v1.63.2 h1:tGK/CyBg7SMzb60vP1M03vNZ3VDu3wGQJwn7Sxi9r3c= +gopkg.in/ini.v1 v1.63.2/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= gopkg.in/natefinch/npipe.v2 v2.0.0-20160621034901-c1b8fa8bdcce/go.mod h1:5AcXVHNjg+BDxry382+8OKon8SEWiKktQR07RKPsv1c= gopkg.in/olebedev/go-duktape.v3 v3.0.0-20200619000410-60c24ae608a6/go.mod h1:uAJfkITjFhyEEuUfm7bsmCZRbW5WRq8s9EY8HZ6hCns= gopkg.in/resty.v1 v1.12.0/go.mod h1:mDo4pnntr5jdWRML875a/NmxYqAlA73dVijT2AXvQQo= From 46a1224354d52cf9fc4a01520f9119ac2ccd1c98 Mon Sep 17 00:00:00 2001 From: Carlos Rodriguez Date: Wed, 22 Sep 2021 13:42:30 +0200 Subject: [PATCH 026/107] update releases decision tree (#429) Co-authored-by: Carlos Rodriguez --- RELEASES.md | 12 +++++------- releases-decision-tree.png | Bin 49528 -> 90013 bytes 2 files changed, 5 insertions(+), 7 deletions(-) diff --git a/RELEASES.md b/RELEASES.md index 90ba9675d42..778ac3b8bab 100644 --- a/RELEASES.md +++ b/RELEASES.md @@ -31,14 +31,12 @@ The decision tree above was generated with the following code: } }%% flowchart TD - A(Change):::c --> B{state-machine breaking?} - B:::c --> |Yes| C{API breaking?} - B:::c --> |No| D{API breaking?} - C:::c --> |Yes| E(Increase major version):::c - C:::c --> |No| F(Increase minor version):::c - D:::c --> |Yes| G(Increase major version):::c + A(Change):::c --> B{API breaking?} + B:::c --> |Yes| C(Increase major version):::c + B:::c --> |No| D{state-machine breaking?} + D:::c --> |Yes| G(Increase minor version):::c D:::c --> |No| H(Increase patch version):::c classDef c fill:#eee,stroke:#aaa ``` -using [Mermaid's live editor](https://mermaid-js.github.io/). \ No newline at end of file +using [Mermaid](https://mermaid-js.github.io)'s [live editor](https://mermaid.live). \ No newline at end of file diff --git a/releases-decision-tree.png b/releases-decision-tree.png index 3b03462c6b065fe690ee698e8eccc2ca28f3ede7..934ebf151f731309633c76beb6f695fb96d9430a 100644 GIT binary patch literal 90013 zcmeFZbyQVr)HezU5-MFHjUrtt(rf_%l@du25RfjFZnlEbsH6e{B1%dl4U!5fNJt4N z-Q9WTBF^!=-}jAi$GG>OJH|a{INW=$wdR`j%=kU?(O*SL?i2wH0R{%fscZ5wsu&p9 zPL@wWh{~fpOBzTv}S?nzS^d%0pWdb1P#E40-LIh1?Xz4-JfB8M4?NOllj3r11EwwuK*8;%c1*YppR-ZWiA$r^KLHV{GOcHohWC z6VK>KxpdVK3^SojFY{!m(~K%~G1y)^b>!dJylI zl_843c9ktuUUf1_R_yedpG16&j-z(cZx{t12`R*$AwQ2_#!Z21qtX5N@ikyD~OkGfbVXBq0#u*ou~Y&c}~qNKhN; z`(~Kh?-HZqi;=T3srL2c_}%={BC0NB%$_&=hHwVw?@ZF-J%xdNR7ItbR(3&Jb zh@Znf8x>8Rm_g+Ds(~(uVf0Y}er?8ECQ+>J_3^|z>yMtP7|(Xup@rD57{6CmC8o`a z4ZL->_yLELVmdr6h zJWK_~r`*RBaJo_LJ-P#@yx8TcF{tFPP!eOvQCzslVtilbWITQX-ZtiQjL%QTaEL+( zP)x&;M0t(xSw7R!a?{2>KlWNG7WWN`XPcWL_8k3ck;N5aSb)nfuaW7;802e=gt&YW_O2cDivWUE&XWV%)sn z{kWDZMdDZUQJcEqMptn28Q!H`t^Zh1m6@nWBu2gV^k<@REcy(V+%LLKgFon&JluQT zX+;$32A-x{wx`{f1l3&cnF?H|ze32|>nVAwMz6-GE8xw~fuC}xE$i=>ch|5CY?*r9 z@{pKLs_3kxGX#rVhS1OYup1{LXg@d;|E~05{bhc< z3R??9CpwgK9@~=<&*zam@d?r^9MLD!xqPPX5WGWc-<4p)G`@?Yb%NuQN%pB}EVoZr zRERLTd zhzdhmd*jX_(?)iA!vQdc?W|vBEGo_W^M72zr;ck-7)M2~};pe;Xm1L>DON%S=iLs%o z6`@8zgi%MAL4!I1kna=)($5j8iA{l2kq-JMGBX?%UwAkhN- z_6f8sAF~j#J3ei-vlOKPO`?yAQr8tB1)*bWs^|aEJ(s^nZ0)CapZ6VUp8o~^8~$hf zxBL}r9S4mJdHrPs7=@p0U&}emlj^M|bz8YdTI5QJ)a2Qf)YSBsX~k*2smZDS9h4~% z=`$Ll9~`gFyu2-`9cXoR^<2Y?jp5V7Bf~SpvWvzK&lktPQOrqPzeUR49ljAx&?wP( zx>3AQ$HBqD&Vga&!6fsF%Ou4lZhLdOq}m>;BeCaJce}ruu)}GG^9BB{F`JRHN!o3X z%*^w#dIWBtnjxRT%v65-;m_MoKYm+&?MP`&X)AiOa6K%;Jo!s&Y=-t*?GG;UOSvW= zDYct!2WHlFyh>6}c95BRr;#P7+j~`1LsZ!hT0gcmw}?9Umk5^7_F44_^p%%nmWaEGxX!wMacx^kTMn6U;NyF8>2b|x zV=hzLd%y0w(;A39x+KMC_{GnI4a?J7Q0EN!z*L)tI+KqCfi@y?#nwx~ae6H>D@|RV*cDiE=qqi#r_Y^k7Idw-3dnZB`CH>Sh9J+ZKr zy&1z*>X8fA#nN2c73I=cnsQolel8@E)v))Nqi>bBrT>UbYLm^P^{`o{G9?GbGf_*Q)OP| z)G>)>9^M;S_F1R&E|)u$50yo^#;-B0V{d(35uRN7)Yl^oQp8H-&CF z&_1~Ht0?V(@{sPJXosP8)8k8mJS+G zd@5Qz)08<^Bi?j&lXS=A4UE-}PJcc9S@BC>{QJnL*G@7SEZ<4uUt0(`Y_>c4KYlCI z`g|^?Qm|5v=3F0>^u4fqr*KNvX|fTzM6cCU%4-6x%yN1b8L|CH#_c8%I29^Dhb<8_r~qmjY{tOdf67A z^iSNP6r?;u)y(O+Exk@uaE|6&>x-DcZAxpsAYMvt8{NUedpj?9leb#~jlUa@7{^C0 zM(S<<7-PHKvDBR{c5fpXBv=SI!+A_|_I7f4npwwChmmGyrojhx-KEYRc1zyy z(kNR!IqmcMoi|Bze`NPR+zD8T=kSf_On;QVYRlJ?eXnLKcsp2A5XZXbW4E(i_h_h& zjE;@+H>7bPaT^d0ETG-Pv8b2Xq&ot}>j_>#o=wX-<&TajjpouZXOmcg|bR z{L~xgRlL{n>rCg?Z{7aV-L+(o;~u3F&R#-m{3AnoyXNuo@f;Gp9yZ&gDCb)7ajT1kHr={jx6;%1#gxyeX?BWS)=DUaSyedyO%D5{uEC9^=P+ zP%ge8r(bHeChZ@x#~72Ng1^+5o9yk>d)`#X5GUH+{hi5=@m3Z?;s);V&C7%*-TMh2 zm!Cr2s#qjUBW5nUV3l(#;U}fa$qKTOo#hzX$~iPMmeah)9#FIph!KHPy587#LU%=4x8@T8auHMz+>G2KQ_Yjd`4{?;~_D#GFOo zqqVWU0i(0Em5rT6=*4D;0_7eYUTx|bM|GD@tp9c@B zm^&L=Y0H?ylXf7J1i!!q!NbS?=cWJcqgsDG%6IYN-;e%v>90o-Aw-lPnggc>h!!RI z#d!ah-~Q+Qs>XJNe)~5(0;h{EwdxpAzFm4D*+v4!mIhS8xLf0x{lyTuOq# zyx24p0|SL|P3DT4Gv;(3ZqZrwxXZsUTsT>C(!2`uN$hFjFId%V9Nj)#>CEdzFV2?W zQGbr6jH0C=zM`S2bwx6$lv*C^k<2-QH+XpR^mn}t?pBXg{wnG9Fr6*$TXRfF^PF-q zDNQe#Y!{w0*WGebj=Ny7I^At|>v3<&%_JJJyp6UVZO5g82RN8m*m%T@C~u5|4}8&8 zXDIpZ_oPu?dQO{s(PTf&nI4szy!e>=7G> zf;>dyEMDFxoluIEXWFdPEWUQLq~-D`|IE^6r@6?e3dNvX@*Z{k~7Nd&sI?qatHOC0xbI zxiiZWD)wTwcqxvAqh_vW8cnYsBvRh|=I?i5=bLNQ9bu27jj+J+X#EdE;=uUkv z@txI=m5R#ZD{2~Rb(A_>TTPB-^_2@l4N)Hy%kTUVwi|s*t-jcLgV%WPwa04rMZ3|j zmCgGhlL9G!Nk@&KT>+%n|TR}1}1&puX_S#u_TJ|0P&$Lbb31H$v-? zn{lZ4RetC~zTX|jQWjf~5ww-s{{8EI&8fDc2Sc)YDWn9P#7k_o<33%?@&R(XR!1+- zJ#mqOExbHuQW-pf8Ba#Yty9;@SY6vF_>yXnO18TGU0(`~&#Wdv!W6TWd%KgDwN4!P z54!OL9y!NA9gVy<>Ib$VR{ccVds8x=`cMU(IlS5-qMW)i0{+TJ!G~U@VuJobZ^UM| zmMV&gWlZkZKxe4q*lnEGz1P%r+=2de)tf+`SAzp*Y|Ea%b{T#7hhmW9(0fr=u!B_C zHfQf|G#@TijwVXoao2Y!i#R6w|qrk{*MsAR#t`Oo0UjF3X2@2gJbeN z_N7Vl>$v)$(_!_&XF7knvBw@gkst!9nOshe1Q%p1-`$*=_#wxjNF=#^e{)KI?-k{3 zv&8(b0!{b!e%`jsyy!UH`!UhG`_;}=_?+2+t z*VkF+m)n%z=Y1F9>~o#UH2)qeyp*|vcuZlpNlgAwi0HcxO?{8oc4FTJiTscKW3*Gpzv|6HdY^Y`u3JC-NPr#_Un24C)vMxq3H(gjwf*yx|SPJQ_^g}o*YL3WqB z?mnK@nsM0JqAq?g5~2A{a(5wgqSvJn9bNy~}eS1k4TesxUIm;uLD>uF^hsAH7J$0%0UeMrrl-EX-%Opv< zVeI{CeC=qy=BHkge4g9uR=fV7qw=M#qCZACSPk*J%kRlU-)DU6cRi&)CUX?deqbv! zYUR`4WPl$oG7{gA9_<~Cv6YzSW8!7ed#@N1$x|}^#%kgV9)=~->wyO5YT zE$3Evp=!^+fm09ydw!o|Z?aS6R-btth341qK@1xMTm5UT>YBQjsv=lQ_fp@#ex;~% zdd%lhp<>HYyp}AOSP^7?mG8!Mw#RKd1P!Wvmi?98nRRXp^fx%pm9M=^3K8Kb z-<(XJ0BtG40ua0Y%yy_gxXIJGLG09mbj2Q9p0m&Iw_!?+vV^rm@QYW1wb0sL-<)UE zhvLy!8K3cpLL@fFxrjf{kucR{d9I{e*bceahguF6OWe%OZZz zS*)LA49U_vf!UC{_5<>`FeVGR>xZUG(HLkBy!PV+I}BH-ZMFF+}23D-=XN-jPR{Yu7Ki_1T0xHa>!`MdwdX+xWTE09iD zr{%k+T09|!vCsdqYhLLP9hESvD{PTEacbSUDxCe+rp*GxwzcxPz0tX)#d~DT^(j6# zc*`&9v@V9={|8o|9ZhE*$lCq>D(rh8&`P>yA0XsIsLBD zJuN+DzZb2*KftQ^D!kHqa%G``VNSGC@Zz|rQ2b?n(wd|EJMI8gW|r5n{CEtsDgjvX z@wXc-{`GMVKeas!q_#UGb{iQ&af41@csIA&z~JRxvf5+0wW_niI;#8m)ea)e3UUW9jKPqXrj@TD~x~1`#+oX~=su>~eG~nSRh{YHwGQCX6DJeEzb*$Su z>b6BH`5&o0b^0Fd_dRlw7IK^y?V7X8c2;}yZWt;(aZhbBX}r&KSOz3e;V3kA1(tvK zhK(1l$2dyh8jdtAxXy(Tf%KY#Es z&7LM)kiTk`<35ZERsR~z&mwB-x%XZ$*8j`dBaLHX1w$^Rv3p1fFC;jhJy)@{x)UAZ z{rfXZr~;I;?cOUvax8=r>%XnYKi%cLbW*FzT_VL}7+^`cyFa{2Aq3}=kne+HrwILHzYf+Ak;#+_qn&};M&b>Dmy(-5LR%qjw(f;j?3lN`OV%nd zEDF_JrWihTBrg^gy-Nz}yag6iWbE1NgMsgrJr~0!+HWa;!x+T%@Hx3~%q{rRPkAJ^ zu2OAjY4GpX5sk>o@?T6k&B+;b<}%N>Sm6tGssa4MLzFsJ&-+AYU8XWWzKgM~D1ONt zBe7P)uzP=VA=E2&a3OGOu2K>tu<71O%3PqX-IfaJiK$JZ;h&QZTJ*CE6&{V=4~3Z@ z`$dpw&mLLgKK}{#78kF}&PwNdr0f^<`r}LWfxF)ACFKWDD;v7o&}O?~Ie>e~)&j+0ys!(Dgu`61Fp`Dt6k9njS@i0i3N+7>N%E zQ!XwpcJ@pytrf&~R5VNKLywZH!ZN$iAi2vgzV^$GU6#HUFJRt3fr*GbQqOf_JGY_} zPmEA__?gwc>dO@i!B#R-d&x{Jets^@{VN}wlBwwok1FZqlB$%-J)(Eh=uQ*U5u4R* zlZ0Mv#|ta_>!XKhekp!WOfgeR-(4u_q$2VVjX+TyEjZo+b$smvO3xN zuQ7=zX09&#HpRTEyDyC+zpyI1Lx0y+N2MQ2?=t*6<4fsu?u|6vmv1Zxd!&!D(_82% z!g^+}BHyh^{3z%RXMMEP4HLLEthyi#;cj+4ID8)lniXf4pR99$cTy6q88#vmx1Zqb z6&Xi`q6h8;-%NDI9yVgw(h}L*UTTA8u|z}eGKjc;mzrV~o^RSp$|_Xi3Ai{R;;UUq zn>_vF36;J(e;xL7e*WRbCf<0(cS0&%Esxb+DI79r_7WI04kus+LTDR;TGi;BhyV0% zsDukx9-(6PqmHxStA~N$@P$`U2`avN?Z=O}Ke*b0AO%l9^@aT3yc=DD`qcWI?x&OJ zf9a^G!j;6g)+*Nj{r&$*H?~~py%FGAx>xY}KxNlJg5>^oN=Va8+2B|vEA9|HZrs$5 zu*yXB&lxp@SX+O(e&q1>TBw8;gZm%hdsVGJ*##enlAp$}pplZ<(qUJ8{0f%hp*1*| z8C6o`ixj&n{CiEzh9?HB8!BCqd}f}@=!!nCpI>L zZjzG`7PhN8;$hcdU7Nk)H98-K#KR*` zYm2%q<&CkcXuhK{5v6;mXUcTgB*(*0q!HFR8KLZ0L)pa5nvq+Bq6vw;BM!-_~m?)s>6zv3L{pM^VdJ$Md!Yb zHbo<#h=DH!O<9lmQIyWBuH_<71^6fFqspBb z+qPTE;t}dbIdzmbZgAzu1az)nhEm){qq#hWJogmlLn=jh6zP)Dt_>`dh4W8nA&H38W zhuZEZhGIxo(()W8);VIoKMO~&m!OM&S-pO#^#}>IxU2nb=x+0Fvhuf{mGW`Us5=Tz zDQ`g40p)3mAT?V`)lE6N2v5ims~xlH`a2dq(2H)ZmNOl$Yht!g?`x-<+B7Y$|91fr zurR8yDQKqP{byAox1$opJd)oXs`N-wK9IE9-Zuck!(VjJi{Lhm|3C5n_te5xUIoDK zWDlRy?5`3J(SNKk0w6&6`>gix|HegfS%^W=A5=&n1gPml2%lWbp+tZexUC#4JRVo^ zQ}w?QutfkOY!e%W404Y&K6N5r__O9CbocMqBm?jpUUA~mk-b~a1HGjAC;#Pu*h~%L zT1xoRK8#q4CCe5Rt%7;9AgjSY2-+w({zvq0M4V4qKb0Na>pJgUAE}8_m19Tnwgub`k~QVoE-IZtY8da3BXN6e;~O zYAzuFLLWIXoBgeU@*|aHQV_G{|Gc#ygZTWsQ3eOl(Z1HMvx1!3Pg9Yazme;1_h*5% z*Cj{o)+DrfEA*@Tat4Fm@<}v*9O;b^+6|GDvySk6+!*Y|yH-(n_?$W!F`HVZT)|V| z1&4C}vou;%uH#5|icoUA!nWHFP$v<8_|seb;?Q6!7lF_ZR~ZkuSp`Y6zM`6K2M?lO z1JUI>QI>qbXvukK182KSFC4A?4lsyDAV(-d=Quf^lmUu{;V2GV2d7}ujY>rxY~%z> zx@;+ZJ5tRKNVs!#8etsO3(?&=NgcUwU*aJk8WL8DfKjfRV5aikwcCgIftoUyuw0^p z88M*-2vO}A9B_oKy@EdSqT(nPLWcSSsJrOlha>ZnBM+8I++=}^Y8vpl`$Grc;rnob z7xAtMq;5gmfH_Of%~c#}`zL7owr$!z*g}oE3;mQs{MXmwr8WbEhwOTzT!8IB zK$Zy{z?MCzEDjZmN`Uva$o<*xbnPTSE5vgBLzJG3k_*}N48ARBm}TbrBG2vLTYX2;k;49?*J+ zo7UE$DfLLfl&ZFtoN%p#3ts*Zw@Cbms4r-p(vTxy-;`8ZchNYLO3{}rHTo*(4)g>s z`zxlSTTf6Ys%-MKV;o*Z#lyk~tv-W%HT#I#Lm9ws)l5b5;*rU*dw?}FvJ6Ayhr4>{ z-B2+AWG_ARIdVcu5KG(jx;R`{!NhEm)kq+_gg(4DUx|f+~8UH)N1={o-Z4D{ntdk>sKKj zl9xYiN7exa={N%$s3!4y2l+mAFfJHVymN#Gaj;qZXz4_^)!BcFmOGmn$bqZ-`;> z8#jiN+p!Oi)o%58J?I1c`?V*4&8xa&N5FwMY7MO3H+Sq3!t4YNG@8lzD?fEUX3~+d zD#*jmlWuRL=22krMlAu(VAlVYV&CY>cemFUc0%$UJ3klvbmchOSZW~vH{>LbxB@z- zr=k{hw7Lycd*986IF%(?8*@eZ&mlO;+N5A3KdkGc=^VS5GIQ!_xR<)jl7d^G zoU!T3T_oR6=KBJRfM8Qx5%2^0H5F1tiU2mHGkVwlpPUc3nH7USj=Uv+;DWL}VO7wf zVP3xS^9+AAvNr+1TOdhP($SK~K(9g)?-@!{0}ht+QJk{u&`r>@YdB{g#biA4Ti{z? zJ#TWtE#bHCwkcj#jIl24&hFiB0{~=k?dmN3XDd2k2Xwl6rt}!1DAnHyj|pj3@g6I? z50bHu8vR97vuf`)r_DghX}Iq?clK<_)H|p0DP6^n28+XACd%hLY}-1EkE#po)e3Dy$RB;bHYhx^HBI=xLOdiX^z}%-KB_>B)3XzjFTc z@DvZfn0U;veYa*z^q-CG1UI02m=0Z~?pE%s-atCLluU-5ak)0B6Wr}B#Y#sph*T83UNj$zbE40UgY6Re&ChZY0>ds!VDbb1VtWF2Q|}~Df=yELt6&2` zeE9QYBG_$Vm-+_}_C^UKxo7-*0b;IH9DqU9E^jifT7G;mRG$oReCF!2HN^J&RB@0f zRrXj7iBjq$U9hi{OM=&HQ)(Ts#&2L$Q703`&y;ku3{VMTSV<Eu-ojzXMno&PazS&3022I zFNI1Fz#?H4TmSu-T{Z#Po;Ppe{;0tDp~#R1+0+K;xh+gtLi=T*#ZmK;pa~i(Z*A+j z25RTQZ-0W105z^{G5z5k_Zq|5wNv;^zsK4`7$Tr3X_vG)DjNSTAka)W#|g+5Pb{f0 zjou>W80PqACZpz1_O^( z2KA70D}4Up^Vg6H$_bpO?|~CCv;yWyfw!Ok`|Tpg+sleY543-ki0q-v-@>Z_#Iv?xRz4;()q3P}ljJdOlK_O6Z(}ECYs9KSB1;{y)6a1MhBkBESzGt(hsL+`6pJysvka6+Wi9|Jc3dHau=A9s$S%JidHA`kB*z>~0nZig$>- z4$%>0a|OkV{>Se5i0m|S$%v1WW0iyKasRQqEDxg!b#Wr;fm`Vjku56y$L=i9wFG@_ z?${UJn=i2<#^SRutC@ZMqJ8xEE-Z>&=GB8j)*3;H4<-1zMaky4fkfkW%k$MguPJoBY<9O7}va(u{avfCi5F$xqpO=L) zJPdCZY1@$U{Vr5`;vf>KNPxXJHWh;5?q@#uaXX}V6e3eIHU}dACr!lz?a((#wmt-O zBaVk7WeM1zF;e>%9I%pLs*H7*w9kct!@i+U_wen8zQ`0)rtMeu70BLoDj z5*-lZE*qvnwTe{TCXmS3RoU;0fW!qLai}&LN@CWF3hF6jz68FLgb|0hoCrb!BUcA` z-%aqXB-J`G<&>im3i(wWNF16?5iIeFm2((J%2&!U@cLoZWepCNkE#9~l3A=lxRF#6$xU-OQ0*%wGSg*G0N;6_Mb+#~@KkO}#ql^!Wl zN>K^%RJ{SZ1TOxrepx_}py+IJ96XBaKNLA2(;^B#389VZvjam;14;B^MusPK=>l!`>wgVOCrEMJ1;X~Bp?zDvN|_9tY1OGhXzw?uzG82_B$^)ozWPdx=sMZt5}n%M!H$ zv8H3ri2E$E0a5Kk_*iq;QOY;K{;dgU4&wK#w%QnJC=)p6+nL)j|}v zTw+BfFam)`_A+(pOlm34xR&($1lV$bKyBRnNg$vM1jM)W%JP5%H{F;60t>)F-5kp$ zP{Cb@_5x`QRsy zzk8kaRwZ$)5)0$N%>VAd1aL7busxhh(eVNTUL=Qu1gP`CLY#^t5mbuj;0AT4)ag9} zJPLP;{pT^zN)UiWxMw{P@Dd~#pS@YkgzZBhjj?gqlA5Ig3(2trEU1L9AOiv@j$!>( zF|^o#l1hCeAc7yT$Qog#f=X#&3_rs9NFck&){Yqhbi~N0kRruvA^l$-)4@=gl&3c}dq4qvF-6tZq6q~&pzj?453(GPxKk6R@QK-y z!BF9S?^z| zzuxD;At{BKSdE9Ndx#RYgBX)S(~z8v!Bi1$n!Pj>#2gnnM#T14Bodm@5Sk@mMUsM| zuG=Tc=F5X3nC0sZmmG9T%j;CACH&<_z$CI%Vh{?PqwWV35-LH}m42|oIlxvaYEBjk zfjB+{+{e{v_dR}`A5;40;vW49F&S`q%8vg!-8fq#>` zb^9F@iXz2bV3xUu>99nPd^8kDgA83!RB!q)U7F=43_EBM6n*P?#|Zn*+R{29Y>(E6$=Lar^K@1VyLXN7>1L)iH%1Uyxw zamM6;KYK7?tHVnIGR9|MA*3DYInStO7N7azV7+&P1&!yftekI20{-b|oWIQm{GH7S zfIl{Os#HcytQ`;l0gBBk;f9_1*@HaWh@j^>p{cw8(SQJmsY*E@AaGR19B7~#G(gaK zjzi`smD8SY5e5~EW%T*)XD4!9kYSl#RT2wZ0Mp%c0hid;<)0C@&YG8A_25xYDeuDB&_$~2XQ5htf;$M zpeKWzVn387xS8&V(*Xq7LIHNt?CJ~0K%*h(9Qz`q1RWtTanKRMJ2Zfa+o`EsSlF_# z9;r#<1M$hFP$?>YHY)fB>4^kL$VK=0V4xF$gf#v}ECAX*M}Riy>fa&Ld>QaYQdwW< zc|j8@eTf1G=H>=-7iMz+7qVb2q;5uSASCuv0#Xco14&=~cnG1Gn*uUe_$>o$P@meN z`hbX;KS+8mh=2)|pbe_XGyHyDMGwsN&z3>eU3kYQdv{rw8wNJ54b<7tQYY{z2>Qf1 z_6KRPpPb{f_?e+?XPHI&e}EoaFo87gGu)!OU&VH9Fzl79Oa)`a7hUZyT^Q+c+lIe{mEJtHc6dJ|MySMhk^@%H}w>*!0<)}?02cxEAO7!YWsvCMeBW103zS4cah z1;_s5fdJOT^QJL^2^=q=p2kUoid#}O$zj20H@AtW$@BBK-X1Sn7nlQXy@E@3v893i zkuUY}-A_cGe1NjerET5VEa=pW`7Sb*fte+~_?e~cr;e@o?=fkQXSgiVahj{mPusqS zDT%P3uzxcnx&4QzjX97@mHG)X&@cn@yzCV^$E2;0u|Tk=gQ^Qh4vvMU2)EX z{u6#IA>&)=&f&uCN&3Dy1*9SJfJLMWJY!_#WW5MjH z<||=46AfpvSE~8kqZQ6$q605sBCRyPkt6->x?ZjRrY(T3%ldmO`s}j&V#uiViyJ%> zTi+=%Pq}ym{R2UuAHwo(?6$Q~L|S+}GOW$jUfX8Rw{=@Y9^=vzot3)|tJ9m-ANwNp zU|=902J0H+9@~(eS5iPgus-2Ak2$xzKmGdKgH(CNrwzx~+LR^ZzGV`#5HD7WjfI{6 zNuSR7S?LB&KTK+T%rDcR6f|#r%XLxf;g@q$0l^z$g9FH%H8N&9owqexnl&5yW)^~I z&xOf-gb(`(?3BDCrm04d`z!AVR&K{zgFLO2-ov#{QR2w!`$a5kQwTMv2PXr z+OtNxKJM7H47>ABxm3&wWBRe?_C(wB?N06jRpT&&`ZNrFkNHNkFvso= zN$#?opkK5bytM1;2_xWd5wDnl8B^tjsI?w$R_W~@p`L1PDRVpJYyB}eOif&Q3IX`! zEVX7PZZPeZC(OA>A@mL=6(wMXd6|M_CUmooXnWT~$C5ZSQ-+#&&*I}#dRI1GkChH{ z*qDi%W5FdEc8B>p1<8#s%9~ihMH1Bk^Lr3uS~Pzl*gOnr%{|8K7uy_9@`$g!&S>1@ zLts3~?Qnpd?jaxwE3{{-XbxX|Ogk8_S`$}h@DdK;mh#1;qW4_?Go97Cu)V2rL*9gn zaNcWiY-MOjmOh?3A^IKR7|W@_H|HX?n9opNzMRx4N5iZy6^0IL~@@8%KSUJtHGeW+3aXKd7g_GpRYIqqcojqKrk%FXEEn zTdA*?NlcIfVVl)d70)VmSF(sodStCXkr3BmN4rE5H%ZmAU~LSYD;OhOsSupkvdXE; zz01QBLqhaJ)yXUcZ<;*E@LHsHInU;S_@c@Aqy<8&A)j&RcDG zw&6atH*`U=Kcv&S-7r*qRenQ1cK{h#tj0h877ktTl=dNq4wfUb+>I+fhR7YSK1(l( zY$)Y2?2yRT>hBo^%CYTkRqlzpRrb41CBrs?;0d1GV_tib4+hvopR6|Ad&GZb1g4QA zyxXAHB@r(>RLdM&u6G@Kq_pl6ju9Xg~_~P?7vdl7sdJgN{Aq(?B2GKVX zpXejOHg9f=hD8ESfki#Z;%@bq@?~CmQgX1QKH6ro0e_cPs>Eic9#I z8fh-u+}Z5(+Ub<2!6Uc$7|p^IwDlDKff8*mjB9Qwh02|L(qkwi?L)IrBxALpRWD!T zgB+>Y`cpaj%5t@UMOI`Q)}BYl#Gd?@k1(rN(M%{hoeh*F{N~hxw9HHb=Wgbo)5kok z@y@Tx*wgV_c<(p6AxYeY_@~if%(8j4LzfN@4?(Fa%SN81-0p{(z#inSThJWr8q8|6 zg?*9holiE@iv-#HNbn1K!7t%*H(`awkZ)~G<#3&cwq{ZbeG zL)ozh*4rIoh3iZkFPq(2w{A+RoX!-JXi1`2cr5f}qJj1}$%|UMot?4Eey;AYgG+y3 z4Rt4~nUnZa6)Fs`-st2X>QJ8Ly+69WKk+W@ZjVWtj``{ah4@)6S|_xy?1{;uYm-P^ zgvbq~g4C$LeD+~;ODH~L*!tNSo0;CjPlaQk`dkl*j#xc^``h3RhsWjh?k7mj4i6;p z?JP!B#zshXIT){VN%_LRMnR9`e@)y-s{MY!VH;KlKrs1x-gY09IgZB0mOIwMwujgN zy>tsi*-BKDM-zjSU*)fc`So3$uc^d|C@X#ik8Bi^Ctv5TLrGyq^ym3!(uAkyab0JM zwQB_{D^U&G6p+pLI;b>Gsny?YNZMXU)7|i@ zr(6=Eg$%_)NOru`)SWWv7&E*#drYUO)`%&mP9`?9i+SCjk7@LkAO6{)n=jyO>Bl$Y zAEHPMr0BzIlTg(@ADsLN4qO}=Ls@zz1R!x97IGA2RhrvVNH&F7vVZXOy1-Kc{z2w= zeo0UA-QLQbUNNq=_sVmkluLx}legk&>>pN92f%Xp9aw48Fm#;1Oq~9-U&|Xd9j>To zTYj2^Zf-9hmP#I?Q;RzrLh<|C@`P)cnEvD-?CClj9@JI zLEkQ}#5}qXyt`(-S!R!0)@`_VTh?PZ{?yo|(Rd-)gMDIW&XfhB(I*Amq+5``_Ep{B za9Ae*8647!Pa%P$8fx5Xek8aXl#=(CD({aqY*tpl^k_HHuk{n_+lAEq5|t{3o@0(% zS`sCUlR1#)1$E=Zg#1qo-FzPEF>NFrd2{QSSY-a!8XvsmT^N`b-f5HExm6fsq^BY# z)heIxEIz)nK8Yx&QR@8p%CB>}mZt}zG;B89=`*?Vbc|sR`e+m=!3El+C6f<;Wn!Sy zd}goFx{1z-&2|d|{LL=lOGzL;PU8TeiFeM{sit1xy0ndL7acUbmC8OFzbX_NJ)xTH^NaX3#T+otINT9Y; zsQrb>zhRi9Bf)z$mLW_eXQUdhiSEsszX%cL944!mHWH`48NYC*9fYHDlUBfVX)fySkm=Qp^Uw{(1Y&L^b-j+dxA2}wQC z(i13*#${x{QE^gzESmGE4plQUl(j*^S{p!6(`PvAzkXv&vvRY8OU_SU}gM=l02tnlA7YQNBEwMNOL z64bTc8dVW4PC#maa@Swv{)JSc$eEex7L|0bGB};s?XqF1r=+dti*G!^zH-n6FHy~Z zuG!Y5J%{`=04^yikqrzVphc*NyuA5X+|#>qYVMD8#fULL1+0?cgRv%siQjF{j*oj) z_6QhhH*b7fA@-U;4#MWCQyed?D1?FXkuCn0BfeC6(K{5Lo@)V1h8thCaG0fh+yfbQ zZa$?Jhhw5YPBCn@Je{nL+;vFp%kqeiqF55$Klq79-T-G$d$L(R#tjq{G*}Fb8INVT zoGutZZ|4>Kyv=#Sju21@I8W?#V?nQqa_54XU>Z2nf*iMY-Ck(O+fxc?3?0kcv_;DFo5&FxZL(&urLR{sPqU{#=1a^Ff8T!q7wG}=HfIou zfffYNu*WZb{5qb@XEGKlW*L7t#s8xI`PYb>GLY;MjD0`ORn0?ctFg1AfQ{QjtT=*X z|ImytPK-^7xnO6#KoeKkpd=N4Rvj{r65Qxl51rQs^LUTdRE5$cCICqt-q#=G$+If+ z=K$s(0-Ow{ObyW3gd*b!R=$Cs(#Y*@#JbHE*XR}6W#^WzyyQ#NS)4uCit0Jv@{7x0 zCjBWOnBz?7T*dY-Y2Bn$I^t+CmqqU|`+6@y!xxQ!y68u@peybp;|lP$yZ4Zx=lyNy zAXJsSFUjxX{C2DhCSO0(Tl*!W0QeapPftKbfx6QOjql_bWPj%qFyNz$->**o-EvJ> z24-8G5|0y8BYVP(!9)k~{~Wg1qKdywJ08{u#r(STK3aAXAX#dK2Gavw(?Eu>SWeO) zW-9>5uD$R5BK9Z=G3!_9!F?2zI0ZRG^rA2ACUzqrv~2qEsr<-6d9u-igYvNXgA9PY z+DTJ~1E+9<@yFDQXbHg47<>=@frJEP+d}-uH=1iOFeK%>xE%3{GzCDub_?f&W3;Xi zJ6g`{WJDm_8fwV41{eCQ0%8KhJIfK6^_yp>1(q)rF$Z}?pxQGO2rz&3@G^|2jQ3S^ zKK$o$b^}0+;=4F4`$+sal9rpja4?A33PHZEog~L{PJpEMA3-z#_%r$bI1IT4pq^bH zZsyPfbIWE8mIvE=D!p`(SGt_8!;{_8tgWKml;D zLOv7^kIeOL(xtF{BU}U>n2~;kK@HfW-rsKyoCMfBZJ^=y!3ur?TA={UgHJ9=J&x6aEmUWrcOKXF9HISldGAL2cDz>Qrte5N((#GtN=mN zl%LU5gFU1lAsv7WgPK|lL63n~DCE3h5BkIHxm-d_YP z3=P|8@q-uCiKy8fxMB=I`qsxa#4xeqV5`FZXK!B`3+!zu>099M?`e#OgCG50Tzz*u z)$jX1rz0E{vMV|oRuoxfhxTBei{sT4{LDc&hJU>1a0?mhsfCHzDN5t2op z_dvr87kq>L!@krd_=ed($?TMK`;VGkYzD;+Z!2j50N#@axic0id;J6K^@BdaJpkDw z?ASjb=G-|L;|7LII1O7>Wt9FGoPJl>tIz%udX5UyQQi-oC}3j3 zeE<40qE*29#XizKg~6J@QaEs>hG^`8a^DHHOg{2N381by8}76+h?Z30JAniPT-~^J zt}Ya{3}LN|{k1FTnK%oBbu8b6;sl<Nnw^D- zxbRoCk+N6@FcAi$Cnmu{b;3kgw!SDJ!9;|3M>tXT%SHhy7;JASvb_c~FcELZStKbu z6$6+E{Sx~Un20o}NNC-AL84S{uZ>Yw>joS=q5fA7U`JhqR}8;=XtoQDVNpqoGKPFO zH-4$%`)h1pWILdgIMV*8!;Q?w z5ZZELF!Ugto3dVNw>8sq7EI4KbE-yug2j25h|kB4O+JE|`bWQB4{WH2Yo*lZ-(Vir znh#){qPw9|cv)u`qA9IaLi?cb>3On0fLzIRYxlLjXYdu>+7p|}s|kE*iv)Xv0ngH55stWg>XHi*Cyq zl9Z;AZHz$+{CzxX_MXdi4{(02Qnucj+3Z0){S?Tfrlw=ivgG7LdwF2QcN4p49qpvB ze`L?%HCR0@1~RS<>GKIBae~^Ay8%pXMV_2bGcFQAM-pzm&(l75D!MZOZxci%OxXAI z0+1RYusU~YHTw3Euh%5(8saLg`^i%Q^HatPk-KzTA8aZOx?cb33P(V=K>o;~8Dh8= zsK7i((@L;=qO{-d`OjM!TUkB<#*f5f=E?__^YZqPOBKoCJP!hD$Bq?jG}mgV$O3pzgbP$Hh znVN;NhFHMty(EczrNkR+4HcwTIH#12kjn9VFzRH>m+;+>kTgZvGZ!Eek3PKEgw$5_ z{h&S|sGreVC>~e6R1>#Zc@AM%#QwxgUgX0Qml@*0lvVpynU4NvEcU zh5)KA5%A$xs~;Y{*dmzzFzO&Q68r8bhU6l3)3zh{_9p6|Fw%7M)y0lc2wO$dYvio9 z4Pvf@(JvgG*^y#tRe2i$`@hedc>br-`kp`OVgKT%(ofu_>yrb!jX>FLP)jfLQ*I~< zdc9S;t;8NGY3gb`zBY@WX%&oojiXO_V;JP@S3vXGYhCg9uZ66nNqf>^)wp zup93~xG948GvzC$0vg^_LCd<`Neyji7ncX29!F?8&}Kf~>1T?#w#9pnbh?#K7M(s+ zvX{+jt^w7w0`k8y)33MFlUUFS36#?!Wr|Cn0?@khcRC4mWS2>4K9W0{2+<;<$7jnP ztKv?sSt&AFrENeh~OGjBP5DtC>8s7Xu{ z%(hGW-7-etR!|D@Ci@^RV18nSHW@+gCT#d1`2YkOq$`q1@Rs4+QeTq?mBM@-{J#=p zfrNUH=lxOOZ?~eR{oVEFzWw)*j?K_K;8)o}S?Ik-bZe6+FUK|8{a`(sJwY*MIJ~GMPEH~=rWg9?$8Yzn@#*Ly zpbJq{SFwWyuR~9S&T8A&@1|knmHmE`vUTQ~vfNnn7(CJGKdaadfTKVIA-^J4#NEmG z{nMSY9^ z`Ljv(Q0}vCC$C!5ioN;{B@P$r$35dBOXXr?B5e2agL#C?Zfu$Degu8Yfq^zQJX|}w zMum(}ho-r`UoS#PYRgX6Y&cUn8{-?>3vv&QEhqRBqrZ0j)OO_w8j1F_pK8q&O%58* zdpTS0*?Xb3@hA6y)lHEi1I<028~qml;!lB+YLwjGBE-r1xS7d9l9xWgHODE_KMGUm zIP<$VU%*nSzwA|PjNG>f@fHLhCylLh!JAPCD0q+`7Q!2;+}Yj}21O%TN3g^KTw z{AZQBoaMS%?##bQIkv8?MG(iNBpmH}0ftl{yPD;c+}+>Mf#F*d3fZMx;>D(;ned(S zs?{@~t0AuS@Q4^$sR)X%rvMriJ`ixKt$f5%$+HHkw(;`AECadSlSB8-wUL5TE2`^v zzwReToM5W2vKG|8jyw*XAEXJ)pFSV+-$#@~aV0%aii%#YegLiPlV6lxmM$vumL(@^ zMDqfJKkCqd1(@2#r#XYbP#9;uv*J?po^N4vqb=bIl!Z4B%|HjGEyr_^vS~#=?dyf` zZdd3yuLHRz@j;coP#lP&uV$Z#2TuQ|g`z0HnSRK@o^^=hPrBSv6m>LqO{>vD2RzA^ z`ft!GRxkVm!Tv}$2Z^S6HFiQw(8^IY|90ZPkTOPGnYDJ9mA59>>(G^`GiF`}GQT^m zzZ)BR{A`r|IBamO`PF)-I;T1u%E*XsaH0(Hh8{-%L}^9MExz3auq0_91R%PzTmEA> z%`r%s48QBcXRCn1P}3YLFd${bh2#lI!@wh8{q^pu&9oVGQpk?@X4D*6`@S!dis+5o zQXHi$CmRUx-;+e2{uha*?#@7Yel{z0_EHRd^?#d04!mg7J(()rbYw5vg-3T^POVKL zwCO<~sQq*k1mQ+_KC_6fu~n!gw8gvxjM;84dscz)Bc0?tXW2@#X>HXC>NhW^p05QD!NCSRmuX>pR#bx`OX9NaFW6vt&L=CQ zUIT^0)aT`dtYOf|Wky4Jn7MENk)Y>_uMyOM+HdQlvs(s;*wgnrrTaWvTN)LkNhBa9weEm_=L7d*!<;h20I>1RSuP?=I7u|LyK*0c&LLqg$CX zh@=2FtR-=b!APoz+#{fIi0MN+x8F!|=4w$S%&ZE~d7id_0LjULcZQPHQBkk&v+`|m z}b|nyV$?R0}T{}t^J>79T(Ysra zJ7{UfvG@4}uiD8c`}7@FOo0y9D_j!-f~0Z`vu@|74>Jra| zH_WIJEmPLb-U715YN?s)qL$~ARF74_270O%b?(xau(DPpq2yxx9x&>njYIiQv@#=< zutaqXj!O&hPK-MqT`K;9BsfqcZ|u|C)C?){!cKaY;pxKz)A3g?`o5jwYv|Xd28$Doh~{) zz1j%V^gCdwRH1g@_oJYd1-BBQ??GwzmqPa=W_mVOO1CMRPibe@JKv7X2JfrO*(jTdZdy0UPZV7*4va`8GQM3C(}Vp{kGD)jlz zuT7ym?TG{{=c%on6A6dHajJa9Q~nZ0C&YZ6j&+<6-W%^;_;L`aa!HeJ$V*zT^~Mpd z!=&z?k~83kV}%H0JL7*q5AP?*Az-GN%AoKC1VK$;R-LhaV){T^94>Fw6lC5ZT+*gX zKB1dI7Mqi@l0!t3mj@E< zrhb4z+!G)$1Zg2n;67Wig)umTiF~IXo%QKm^T0Zn!2{3yRo_alulgCbs`2k5uOa}I7_!qPJfbe8e!l;|kNHCIfxSoqvt&_zOXb5N5ioGLcrkx~i+e^&ADNOgksv-)$V zn>iz*nlbRl6;Fs@Q@cfZ`D|{g?LIb_%xI97XzQkKphRP-R9F?3|8iDial&39!42}V zvKvS%5b4Ni?Q|_Z{qOi+pwY}f+go{B90P>}Al)Qr0~i5B3d0@qP}vjE6wos?W_MY z=wDB#V@9RJ%50>Li$Ze=;N2k}%^dfiHIWqogv*l~Glh7`f~`<{sLB%oh0K%b4?Q$) z?EmKSmQ}zy1E9rWAIAcdw@ZRxR~uumRY3h{Q9E%h2GG0AC=G&TmEYDOl(&GoQHUY? zv54O}w|jMFx0h=?SWl@oUx?%KW!=&*VQg`100;hEky6-}~02vf0CoJKQAcF;FQ@0};CG0A7Oyf;G^?P;ZuI~t= zA6huL)u5H^{Jq*vlTEm+B+soyRNT8|lkvBDJJh*>N9Bfs4(biN1J(Eq0IQHCtX_`yja|q?H*;&o(l;M?_FiGozZrDUvS- zvOPh=aFDDu7;7p6MaGt6e<$uC<=lS;8=7ZG&GP;}d|pi5TqpZ&!xH8 zC@rP_XDC8+y9&m{Dd7H9CoQ>yY$rcfPP)2h!&-!0yGxe1{CAkXgCR|n_ECfE>l&O( zibGviyvptdv`(*7z9Who&(%LoH&tJLuBNdV$BXn8JKfagzeV)Un=wRE0F z77Z6_x&OTF_P@PDGRxbi`p>OL(iYTLE;lz7(Z0yN16*q*{EFHN;-{4zm=(2bH#n0E ztL%rdeiv~9b%6u;liq^J)kq5&=?|KgX0HKDQhVza8}^D4k1Yagndw<`P7@Beq~ znDeI`Poy4lScjIjglQU2NaBApWS&&X{l&N9U-+Deb>O1S+!pU`L&EZvBHQR zq=mRoGsAlHdZIU)@kjGG$@V%esjhu*dvP-v%5vUprZ4*eQ53Aa2@%x=y`iIPs@j}T zD6q5%%;Rg;!vHXHUZ-3HY<$-nN5hL52BW!uCh1`3SN!63N-HUxRhAn*-{;kl%9$ML z4t~hg4^cKx?2?y>&t40%CfT4&Y|pgHJhM6-uwyx>2Il_Z7(i`b+G-&VdEyD7&XZPc z+1%S!z{dDc6Dp{e*2Z1hnt;i#TJc*1;3p9UMy&Tn-ic@9y~)A&!$rq3YHBZouu zEKUY~e*+E}20`uaw@*g=CwByPA$*kC<&zttXp*thJ)eu#Q1^}IXN^PW5t)@m`$+P% z?~p_D{LHsj1Y28;6y74_R;#1!nfv6=ExH^i{C8O!K~$e5y9|6_EpoDs1nxFG8#Fbq zB}YR0nO=8TtIteyJ^kCwroj2}$hU}MkPiRF{qrgzh-kMP4V0sJAfg)Rk+G=2JU9RC zPKOzLvVD#Q%f$+^vOXk(pFl*X*-vl(_KeVKk<#9%+j6sYWulfKeLD(tjqQB;kHdR< zuGy&yK|!F0qe5p9@vTv#LNTZ%bV$M;p4LiQ8su*k|0t*TZ=5?|uQ~6EQ6lMLK#TJf z@`t8>w#<(Fm(q%$pgFKA6}qnNalh#$wxdUXA8_7(2!%BX150*(A58moJLV8scM^^f z5YRV9i<(KsGbJ#o9P=Q;`4BnoGW$E$LowF3kMg+!6qV|pwAs_pq5!$~uF8?H^0(Mq zz|vS%EBbo+8fPZc>ayJ$0A|7uvNE5Hg|35a%Ojxf7sI!F6qlO^sOBW3K>njW>C}BJ zBMRv?LfJV{KnPc`xfg)IcSnGiC(aG^zVN`z1jqt9)C#)edL7T=PV(|aPb%CZYIPbX<*=8+mY`Qq(vA^}cackD`=I{G z4JGj4MC;{JIGsMutT}TBO+eL9w<;l(25B5mh=qg6gp^-MGsE+v&$A09cNE?vhS4Yf znl3571&on^FAV1DGXvHoro#JuQ6LU`sqA;bnjQyKb>8g)!nS!%#lc50ZZ^(yFIDTu zg0y8nOa&eKi}f?ZuQ=_xBZ2tkUaZr;AN^a9n%~m*!rO0~=xDyG_1`#<7l%Sb){~1} zbj5o3mA}qoZJAvul86O9kZU!kgvBAo2H>_Oi?{vP@OlZP;047vE!Y}x9mRV-(KVCX#PV{iU5 zBS_R>co?`iI;y6yc-m}dhpBso=Q}R@Cm=#XabCp33~!D{K*n+w;SS?UVW=F!a7wz{ zA?2|2sXj_m*cog?axzdp!N51xgaYfagA!E5FkM>xJCLM()^d0fHJnh1;6dnyV0jLG11)#ec;dg_4Zm#al$lBfS|;MZF2$ko z>!1D%GU-h`UZ8fVYW5Sc)}MR~n7TN8J5#TaGFzKb`-00i7EBE5wf7v59Idk66C3WS zVL0@#5(10|4~1zV#32mPOaU_GQW6g0n;j)ypzc#Y9Lpu&jc=0Sq-;ftW3Uq!NJoy7 zvM>-!n72OipNdD;vXbxJo16BDUa^v0e~-U}?x!PmF`!-9F4)PwQ+Tgp90_uvKSFfID$WHN$p zcnWH;3AP-+y9ckL$P|qaWyj-*Od0~j$jzfejqaAQU5$?_?LWp&%boIgHr-&~Bwzk_ zpv$;5Q!l;RQK1YDYY(E`yVB?eWEwAbD!BiMJ*3-eIa;$}) z1TXSp+x!;*n|11C`3w4C*uq8UV#i+c z=M2&K{Tj1H^~X9=jacn2<&$Bvmm5^j(*=M45{A(~tRj578Wf?NroccGh>(|9PrI2| z?4kU<0sY)WS1W^14k%m^hkngp3BgUJ*b-?t711LIBr1$&y-~16+O@Y#oRUt_9oIXT z7Je>c#&2yK3q8&MW*>RB7HQH>CAmSvlEY7sET)xu-0>qTIA0~ zU`>t{w4S2r4_XblSWQjK`AgGH?+%ZA12iVlvIM4=C4S^5|JD_Q6B?Ohgy@q#=Q&t5 zf5ot-L|NL6XZ6!u8swdp)Lig5MAGJjl=%$-bTuma9zvZ5%i>}Fmz9Yc8^x;QoDYJs zZCiFq2^aLFKk}>J1%R1qRV{hU)Yu#Q2!v$y5-sD4g69G9NZ*m3TXtdyZ!n=AyEr%ctwi4l(4$R9AvE~g z01RVm_Je0R|9u(@d|K&_RJj)%MgQH zf_-qRa88+|T70i37}f;fGQLlIBT8AW7tAERcfI=iY2KFy%dB<>tu8mJ?G6~^FyPOV zIlXm&?I(u?dE?_x6AP_tAM9TGOl#L&?6?y6%cvW~w^&d^-rrVEw5Ci1JR_!9r%qW! z_i8Ug#sK!$-Orm@+WhB1xc?+riTnWEH7bnp_U7z;LC}zem8moM9)Y})??`fZkv{9} z4a(6_p~m3Yt{b7SwHG>E>;~)Z5+inbHY?geS&2^5nrxDwRUB@wN_zpZyVm!n#N~$0 zZC=3GJ`uEI6L}lb*_eU3_~ab9^!?mtNCameeehx^1Gc80mQ$Z2Wn!MFS-iQ%+@HNy z)_Y>a-f61$#V{1MMImo{tZ)l`4}4USFkv^&I8T1|kv|b;xM5`LHi+APeCRIsaZh>l zdQ|!qza@FCa;pK?oR%+2W5-GT8f*W6RL7*R&@w)|H-DTmIrq@y*p%EIeN6Wdbf}3I zAu_*p&2dT00V-btHkr@r zoGq~s*vnr8SaWlIIczIG{v_gc%DZfo2-Gw*?7dL4zXTw6ZCt##ec3%O^0p-4K~9JD zu%3ZUu>i)e>34Cfw)mLBt2D504Z3TCFPwypqyz#A5$6njGu^xAe!pQf!y?@ddMHK|WXE0v8T z?}%C6<_dqGi;$IqPNzb(jp8`X)ICh$L%M@(xbeU)ByH23j()O z>wc<>quKqhd(dCglDInPU5+3hYrW*Sh3qx)k%q))Dit_dKdP)}j$S1n z+Vy_exs^X!D%gf;WNl8_24F(cf8(!R#(GNg7oeHb2Ch!BT(@F+M7XA;cVsKm&+i}q zoXlX~0{2o>aEV$3Z=8=7J_18naXa0D;KORDL2%LW36Rn{RJUsi^qwJN_68FaX{35w z#HZWuy3HscLoL0enIP4e*sx}QGPi?G%^JgttFT-Gu%J;(x{p=hH#9d`O2O4j>+WJ! z1l4OFT-hcgpi>8m?5z(WmwPvvBV9m6aobQoh2wtnKyV+&83O+`s1zTHcyzxcGiY^X z7{b-Ul*@a_F_AjDd_f zjCA|?oQ&9ZvM-*&dhSBdVk3Z-ECNg5-K^&{PLThN3gd{3`m-Ip3Smr~(ryn=6JBXS zAab({aFumq%&JL(3loP!7!HaeB#AV5=In(qWB@m8I;kD=awxf7vU-JqpQN@6t{c<& z3Aw<$tvLvUHbR%L9Yi=or>x0Fh4dT)Rn2D|={0ScdI6ya&C22+|Le{HjA=z;GkL!< zIiymFfI7p+N(RC6AO*QOgkDJ}-4x4$Tks+^BNzH4*hBz%!!&?ySC&9CKLOx`Pnr*p z{Fn5OY?7%kxvY3nvqr#gvm-&@t+3cNA7S z8H5@hNFESPTssyfybxfpjZHi)z(9w7a{RG?GV?&M>Pz5|7rw3S*3Y<%phPIkHz(Sh z3;1P_|MOiK1INFpsRhG*ub=ntfxK$qI5|Pwai1%=zrw%vK?jOwkYFRx6&2Rfz;CWc zEcnm3T>$b9L&$gd&auS|g$3Zh{a(~N0tRx)acDD8_1G_IU3g)eAb)7;oAcA3AAU0< z%df%EENJbxbNG$$4+wJNUR?bC?q&P1>%k_5fEfRQfIq*q>0EDzZ{v1yd;Vo}YrnQK zuX7E>>J?W54X}YXe3um%AITu<3cFd*RF#B$wL~GeEtn@JP9Z2Tv+KI{ouBg$9Nu+t zp`BH2g*p3PShWU={mSti?s?nv3QNNbJ>*7Q98zHsT*VP14h@J#6tDj$*TVu#!3?w|Fz9)I*=nu6NL+o;yOa%9cJ>K`Zo z(uaTk4)6OxK#Y1>swiw!P`z=owK!nQcv^Yu*bt%O{Auai?o~P_)PV;^^d7 zqr;A1ZbbV(8jiCTy&ZmAcS<#kT%cV$bhqes zK`WFUz>Zs?(cU>7i{wPriJ-zX}SLbWJ4f~RA?J^(l z7d$|=ff6dg>^Ln;+mzE7hy*ja#H>Q4Px4D3oryN9m10PyJ}~mRK&9pSW|k$*wxj34 z@6v|Qo0WS@qNsAbcSrWxCJ`ak@<6FDq+g#2bpm zx~mg>PRsaAO}HxG!A9&>IOgFG1+TeH+nnB>hi$5M@cz5&yD$GBCix^(q2;#&*!Ag} z$;LA!R09$(pHf|(kOvhqalbhSAKmv~;0z>y9j_R?Y)5f)IvQZT1-a6sRY>Mlfp*Z7 zGxJP7Xyx)nXw;^W5h<2!|HcG_#NVo3VwI5KcN=G}>Wk|o_}CiyB3hVklKWu@PazD` zBL4pEJ$<+4Sis^uO|zKcvLHCr*GcR=&3m^%Qv8SSK%D|;M*r9oK@P8hDNnNQdeLy4 zM33>){s~Z!7-SE5aI;|qvg-|?xG_F`LSBFT*BOoMoT3{r9J3`~Z-U6qVjwGgYk-e% zMLrk63l;Ip^XH!eYb5^JGpTZi&w3w2jseN++;?3+_dh_Cu3!i(;h7&hQ{^<*n<-P4 zC0zjra2Uv9)(7E);O|;u2AcU2IyPd8ZJEq16_eB`f$N^96Y1xEU>8cr2-TP^(Lg>rp z2Y`ke;g|mDy2k3ta>ZLf-e^#m*lF&eNvZEA%qPEi3K47Xfkn_19}2n)x@$ z+tNzuS|0bYNBDHL?%1{ewqC>99bU_V8!$3c8MeU*o=X?6^i9cm?a0B0M%~WEb#_Dn zO;%GOj#SG(C&kBI1w;|<>G^cmb8zKu|4c>fWRWmAV3EQ)BuC!ztG7J}DKyhhc%#4k zNd@qf{ol5h-Fy5bkQQC$iLKA|vFoX&2d28##d^W?IPj`}KV;<7RNOP|X?wd2{Q9L* z4J4AGny4+PQo(bw!gK%@Ow~O$LpoD|PCE0utK_eJ6vGf19V~O~(}4%=r&CG0v5ez}FWiEtZY@_#eBclfsLkPz@N_IZ4})UQEt6dFlybl6{6)F?WUs3a6; zDI3tHMO7j7Ae4M2cT<}P45l9xKNE$5@#!3$JBLRuPFmkhz zjeZ}r^4cE|d}h7ul{tnJWxNji9Z))w$%yUi(^>qku)RbeUFSL_IV z_L5^ur%z}}cs)*y#mUg?7AOYDWSqL{7d4wwD%<(w7)x7C2zhye3E9}TvCrs2NE1xA z+V1)xmD+D8it|6K^dZwd1K)zm3i1+Ju+8>wm#*FZ)O>Y^b` zJ#1jM(2#R*1c0|Fo{Mx_=n%aD67YLJ zelw%33^^W!17pu8Kc1B!b?6CY9-{HTSe;NEMBWqe9HcO%;p_rV8l6LJQklkSlXttd zZ!YRP(@Ia44g~fmaJNwp0zU2l^oFffud~4HU&`-laRx5bS6qJ5W}iOY*G`F~$<8OA z=#k16_YeyiSs=#Zb^%FX7-G>p8OE`O8Muz`ckC+MAZP)g>QbH8FIC!vxv@Hr_s=3n znv<{mr$EU+K$j66go|cTkbEu%`7` zz0yaYcePt@@l%d!0gA8%T-rR^^gH}l{db^vz1cYp@v1^1W#%r^G3nH)$+JIZCEI50 z#NxBiHDa6edI@U2u7K*g4GaP7D(&}BF@Wdz{=ar~jd~WO2R5?4#UG##<5?hMm-mjf z$m)rr1z6}DnVkpnUlw%%asB0xt0>-S2(IR>Nys^)+YfVfQ{=IA-Xed|`-ASa3uG*( zu9E7GoK4j>20e_Iu%ySJdP=GEh}*SAAsutvSlelz6LX6~ef0m0=SjSTQuczBd&RHV zg`R;GJE-7jyO(Ll&iUn_1j%3dHDo1Yhq5~i4K?69pP-rjNsJuu;PxzIL8pZ5uR}eYjbnaWX$~-RpQ$|2g9P z_k=)<{V%a6+T5-l9VM-EN4^4=-lc8!(8J<@lEqf*@Y6qEe-OV-b}I6KjL7#L@_cGG z`q}D!uJ_UM%OXjQz1|`V7G0NU=5`H(Ewt{-cyLA=q6N+P!*4ToV}Idux9vK)zak!8 z0iinm@l*O#o&$Gs$t6jnSNYmD-f&S#+FS(jee-F@A6IW7T-Z1jBE?cduMX z>j=?tx85P)5INeC`oSte$m_D1iy|L6h<$P{SdB;5T*ao~A>rdA`CBF;`U$KOI;|&{ zv-uG%bQq#b`kbu(g0%n}`T^O}Qp_#ffgaXiz{TYj6a2vAs%!$fyt6fHqQLxre?=gr0up6X|FP-mzVo1` z<(vPm$oG?TVcRAt`v3DdfyYz<0#I!-)wh#3ePQt`gnhE2uuo_Ju|O>LB37Da?d>Ic z8XXF9t)5EAKUWbU!{>cZ=H#*O4=-YBhXFqwfFMa`%8CNd;&pU`vy-DF8m^g=0GYVp zezSEwFS#!)&Zzy9wg{HX8X<};;*C*7ek8kZ?85;fES!mse+A>P4 zBFWQ2WT(IEi*-D`xl;t=$kCj=Ckem~f)pZ1R3BNhrZ%T7!q^N&(WR&Oaa3Khc(?|D zXwWn12<(6DiLGSPv5#;YV0<0UDD7vqk1~@)Il5ivtEq`r5j!O7m!^YO*8yEBq5x#| zr-d|?KQj=0e-6hZcJ^n*0eb3fs^kSdd{ESLL`U4}%{77`;v;Shs@DwbH_$*URPEPU1UzNa2H1vCsg^xrh0ZSajgS6V5HBBavrZ{ivtLn>!`;Q+4mDr za3fxzjG3wKN^t*N0dxq`-0%QY>H!(&SzCkP0|dgWb_-5wwa+lKTRq=p*lV6Kb(OTI z-%N2Ib$6RMtz(v(pBY=&(z+e4OQ{C;!7lI#cy3nE z5X!t!%z?UQNX%yzYBhYXj3uN9(iMKcJYp@N>V}e~CHj$Hcb6A`{bZ23IIQ_|B<0TH zKe!8KNs?35;%>0tvp|FbvLl(ojU6*9Kx*RprMg#I9@6|Nf!7o`U>=U-W!z?_`LmxP zjui(~`Oi_PURg_ZJM7&!53|Bdfp4avE_@gfGB4g0+(`~k6X9>iLaj@daJ_JYG_hv% zO_p-_whcHY@(dAB+^#J=a-D|&t@zncwesuG#xrxMsA&$o;>X;?qW)IZ+q<|5Ivvv! zG2bXf1AL?p5jBA59QSHcU$cIcO>`-lrp>1Y%xSYZXs@z0(1jBf2o&+(Kfeqmb`4|x&)8!P^3)xi%QwLsP)4T*Sq#G*)7yQsv z($Zb#6}|BF_)oyx7I<7;UF{HGu9k~p`bg@SFWasoZJ#}CNkwEpL?7XjxP9z`SF54g z>B25-^qIrEv%u2sb2V`T>|#A(0gRw6tUf?j-q^!~3iR+sQIy<1D z=8>cO>a6|@aKit{96HFk=`E!Sz4yn^>BkL94NCZF49bOk0lr_h8oLmFp0Q&^b2G(6 z3j`zk*bvF9ycCtiHUO;K={w?NXfBvCF~ZxMzingSI5;PAm2tP*;_u1v^?xTYlPMX5 zLbW?Q+?{E|Gy8sTm9t3 zy$JtWl{>Pb165mDDVdTAD`JCU-lF^iBeIAQr&M$VkWZ;GI7+jP0i}vJEBcZFiuv-E zQ;h;vpU0r)qSNL$ser}Nbi0~Rdhh5{#KAFj7joy zuT$?i=us=U9hCVh-;xxsM6BFhbBCWV5+Smo6?k`N_wMxxc#bB_^iTBVyVVeiu%GXQ zhVV`6`&`G9n16Zb0Cfn6vhs^kD&K?)kod8dPBECzF8uuNFT#5E8VVx0Z8<4cpoU?~ zt|Ourg!BlC*#=!<_+-yt9OXZtBQ7Lf%JspW0_YNp|MEKg@49^m4i*de`&$yQ$T>k^ z#<)PU`_S4t>zpMXy0h)ABx#U_Z5{$&Zh-{^hIIE_FI;!BbtTnM6{z^U2nRW0Ii3CT zmoJax{ddr8kA||g!^(WEf?xi<;tyF0k7*d#FD-9>G42NL+77NjuPfmVQ-(FW0mnDF zuEhLDQMR(Gv@0|=Y#5=zbDvRR8u|CeA;iVaGD!zu7t5LzWyK3Chfl!t-fpz3xI4a? z27y@B{>8GMBNkG<=U;CwtskQ-q|Hf!2;+nJxg)$}ABeAlS)Vm6jn0XvuDiQ;)5Uh5 zkg3O%vKx~?RJGrDZb#eK7U|P^zFkLPCpLS4r5DM^9B#%D&l41v`PYB?pc;T+S9B42 z8mp;$xDgQP5{g`<$OYy|;P~K1GiW{Tl7eM!`N2lqJoQjs>ziF69T2gOzK_NUr zw;SCQ+;lr(&j(fTJH$EgY3irUBJYJ_-$ih-Tr#tn?yqQUPF7~=mMvc^X_{fc+L%w= zSq7$?haEUJ?K6t+w~|fo1bmzozwH%Aj!VEF#uy_S&WkJCnJg&Y> z-$@>gdMW&wX9wepo5mJ!OQPM}$bZD#tT4=4ys?MDbNo{yDy$bWL0S*x+jm7GQsgKo z(hbc~-fj<$r`0GMLzuF=7u4sZQJ%SBOEWMKilmSBl)5Xw?Klwk2PXaMvsd-xv2`&+ znvqzxCtZvVHO~`sBRIwOteq7qj0)RG?~A9v=}_Jwv;q|L*5VEwsc11na)H?a?z#(0 zD=7M}7$*na^u!!UlKj?>Gm}6O+4n=`GpvlR%xBuI60TG3C^>k53_jWD0SYWNe(P)p zFKLAZwZv3Ez_Ma?Q9KmuSrRnv4FjP*_oU(-nUTAcA_Cz8V&kOeF_`Ppu+%K`ODyI% zd^t@`iIWqnLH^QWGb7Jgy%%MkqgHKPd&v_>GD0T8U?A+^B;Xqy0;{MZxMn`!=tMZW zyGuh4(IqWbNRmul@)L6$YlX>BPO~oBwnO&cPvAzjGP>;{eRdM1U_90LF%X!;%scAi}00FQ_AuhuyGD!PVa};POzClySov z$S_XxUiSu2S4?9YhXc4TjuY`6_rJlFo-k;hPjpiDbfmt@vRP%pGUN(5p1XE1Tn?akl36ESc&9KVrt<_~byF+YYF4X{M!ab_hFD zzPe>*5#N%)EpdxHK{_rlnzwnYO3{H(Pat}<$naLbT0`q^(uZE5A3K@s+>zJ6Gm2GT zX9tMOlW0C$?X<*@7anR$gS>wXG^yK_UTI-j&u*n))l77_XdGW>>V)(C+S}aYG;9)P zxvLZ>33oKWRkSjP&Rz%AgLXnZR4RA;+nvWaGFUYWw6SbCScHTS3X$_FU%6=R=T$ck zjFQD6{qTrqnQ01l$=(b8N3?x2i!hraIsT)=>zqX&llxaG`fQ_E-!?9JsG&Snd3Dv`T_jV z+`E(L@v}}jcrB6)!M)+uEQr{6u^4)B$|DBjdhqMDP`mzc$Uo^=Km+vrOs*deh^`*6 zX%@t8{Lu8%eKKY)CjSykA-5YSjAD1L%$zkgqBxWhEqDPG=89Y9z?e8*m#Vt z$aXrPI&}t`N_Mj8Rbh275PfCBqF=C`g4Q8gLX}MF@tfE-u5Y3AESGOWh3hHEP;b=T zb+AN3T9zEK^@)o-1QWNAbxPxBSapJXrQ=+;dcx*yyBx~AC!N$NAQ%Dv2jfW3XXLQ) zg>cCQ>#W}W=r_!W{Q&xNpI=?suuPHm#9|tj9LbG0FrqhPsA(_*9>s*QWF=3UD8_Ls zUndTqVX>b~n<_d47VEE_pY6K!fk93k7j{^;`(yhoP_0kHg>bukoO1h zC23;!kk%6lJU_;lp09K4-@NRFd6D%}(avV2qh+0-*NDk}%84um6(*CT&Q$bONRPEt zfRGXMF%-CXLa3?kvm9A213SEp_)duY!+7R8XVF)NR2wrB2s1O9zt_VkC0NGRvlWQE zBexH)6(8(qW?`^w%IkxDVhV#T8xQYo7ZCNGwGj_k^bE=c5>h-=H$QFUb~!lK{c#rK z;Usc;42;Hn@B?$7wjRw^{tRh5eNIUY?m*nLXV3nD3J(bXh0s3>q!Titr;Hs6`0Dl* zk=Zgdk1;qew;S!0s9imbaQX^8d(y_ElhC8v>5n=QU}T#v8RBDF7MC!l^|LUF z(9gU@y!2Kas?rlh)?)x*CbHt=m~tdTaEgrY;2lH>6z(aDM22@_YpBBjZh!a8Rf^*4 z2ymr6%i~mfq2uMEY_RSQAU+ai`2OiY8l7gGC~rX@s3aWQ2zDGf@NqhoSLuYJ|5zS` zMT&d^zus5Ubw-Z{U<6BawgAa+i8XaQDqByckf2qBzcFKD*3W3Vo{C0e2W#l?Otj~e zCV&hmtxBt?kS|<*x)*jG_-42nGfpRgM=`AXrO^&FqO0%@yNsg7Sh|-0PZ5`ApKsVb zRt6@`jC>C|p|J(LtyB73VPd{!GKb)1juf#WGiV5#s^muDWhby`Po6o| zk#{K}l7H9eIj@CIAW0(3<%3%>DFkDBf%R0~;Vw)Y z`>Sy8lR9Lq3Wz$O?HCq^@6vRpsktLJH`!BK!eup0ery=*pvb&@D#b9*cG?$;RK)eV zNhK@b=ohL9iHD;oM+tWCt5C!D_XiGbEV2_DL=V}VAJTR4V14Fd7xM5L|)e(8Be z44w&T1x$boAdGc}0e5@01G!az`n3((jl|Cm5R07TVyBm(n@s2OcOf7=^(>>@TgUS5*#GGV|%`oF95fXGHF z^F{#1sM^5leuJcR<3M;0aM-iJxJa zF|5}>kVc7$$Oq=l0V9;4iMle1`X^Ae7*PCIp?f}+iDB6wT#E)nk_9X-oeH*-Y5Eq> znoNB7YpPFn!?3|Uc$yB!5B(kAu3s0(4K|U<0ovHYhP#S}LSZcXu#Il$-55B-0v4%i ztnno17Q2W3lM0-M`5iVU7QjETgWNQb3t2$O=B73RtqK_NSj>m-elWep`O!GAaS+Ee z$L)45HL`#nG~zB{xGj4lEzD30wosCHS}+eMDXomhZQm1209(ZB^wVlInm%+B4j@?# z<8AM^Aty=rgr(!N$$b~q2s_@Uq6?tW4S#096bCXp7W5_?r!M0(Jo%OdjoCwzlH!3! zR(law56jBF*HS4KJOhmhu&IC79YBWtAQ+R;tUJZuuacCyov$syqHM zL-z)tFy3>gp2Zd*{^X9%z5ljTH1Z#t!;K{wnDjH^BiLYf)51r3=v-Ghh@lSK({aoe zfp}xcEmd(l$Fk!ybh@t|g)yCijl7W4Q4>7|tym1vG3>bYy2Kus<>Mq#K`H7GT;b^= zUMy1`pqF7=^tT%ei@`wuBiGoZLC2&|v3zwe;p-aCSYBW#IR8b7Wt#x>OkJpAj7D`&I<7RCz%6{Z#wgozEsi*O|7XU~QBswJ2)x_4W!Bvj>lyge3**Nc_k+tB z?&fs|O9WcHVSa5!{A`$FZFLpNNP1+6yx_3tp4o3x$BfVTY#|CnHux42e2cIfHGqa} z0&>gifG^g~8oSg_Q0h^yG6V|d=u>K+RVOdkXtg$2|x2&iTyp9okU|8*;8`?kZM5I^eOD)2k(t|!3?nJ>T}u9P-C6I>*8kjw}IAxd4cHz)5SB2*~=CIASxxj8| zWVibZyCnk#p-N+1Ws4eW=_eA9J4FQ%yfiGmhh7ZplWp*0FH#{qVILoiLd?mVwG_(1 zZ$#>UBa=G^k(|1DVr0r7%+Wq*Nrj+923Dy3XrVrirbdJnEbzmcvr+rWyW05)8IrAGK^v!>azL@yYralYd09YQ6ziNWk+3L#cidB z2VT1q1Lsv0#wli1lxYL!HB38EW`6?p@2hAhF=fN78XfI2YJ!g%d>JChgW*C>`0kB8 z2{#$w?Q*jP&zbem_ve7Ks?*TA`%wa(tFGr7$$`Bg_?dmm_`_NtMf4LuP<->igUjMB$r*tQKchUkJ`peld&1EgE}DBY69 z&Z6?y$C8AfMa(*NzBGDrU;6FN&Mc*}}2q9cNovryaHcN*~D z(qXg6d@;)Xh54e*CF?yn-n(eRON&l`FKn%$fVi6k&^2ZIs$;VgetnDTj77UZp{5WD z(Thy#P>}~}?-oiYcG%&W%E2Iap6J43=#E3gaE)N8D+RB&NqJPaAAX02=UrxGQa=YD zGdn!NOneLuNx1MAD^f%|+8drp{{LVTGLTJxaYNwEniXnQ2)kGZ?P8SnRI}mZ5Ohj#hQ%-blvJ@d z@(eu2H@EBIeP@J^eyIry6zu8g(K0nnSgQ`B-|~@v%e0@M!>bYI2xsdWp^=*AVE2wM zc74yWP{zBzuLl9>U%?$PRSB9N$Ae$TT{uz1jb(~NKkZ~vzXB)&wAE4iJwKr^G=MvD z6Bg1X{fvEYE<-P?A!)D3wyadE7ZUW4V@l6lr9E>6Y%PH#2`fuZ3Ls=5LCBH=Zrl?1 zjiD->9}#!~4Kn;rG7Wd+q^y^&Pbw#n;(H`NHl)ZtlpN9`z7{FvX zXu?`q2j<)&96%GHn-s7&GJyC1gOlUAyNvsIk{-@jDxV-N1~tW5kelN6T5M6Isic8* z&L?PrKk=#YqkALrx$>}X4__x+sb~+vdxhZj87^b>Kse*gdRoRHCwSs9^l z5NY6raENSD^QhviUL+qm_#lEu_p*>gMeo2fM8cx*_A!RSfdD5Tp^Md0> zK7TqlXfN0QOs^V_BN2nSZJv!Vlv+Q2cKA#eK9igYzQonB7kNp%O(NB(7EH?abU7Ul zcMATVU1kLMQf~NB{@lH#0XTWEc=~`V;#AfsG~5vk&)>msN1(&#@#y|N=#Y>NhXk&R z|Dytt(sIrSdDKciV`&iX6>5d@swb5-yh6&~5eUgAJtCt+J+xBM&w`l(tBsi7;PRv@ zN7kJ;+V6ZGUCI+yUi%9CL-zg)fnq!NJB|tjOOG>AkQ(!ypH8^5)A>}?MhZcLbB;P?&31w<}35*a%b$DQp>37Rrp;OL) zFZB#)6Xa8PFgeuNpp$ea&l)w)9HZNQ(IL-uMqddYwK&l+Rp*j~^*%y0a*Ia65$xo~ z$MNpa4>Fdkeu>p{|1G_*?1F#P4jWHvD1rf87z&XNJ*?Fi(0P~%QHu^L-^F#qg@cXw zEsMVVt>U3u)Ikm6a2=@MKsp$~P9+_g5n+`H5mqS(0~E$b@Kl!>dy;*7NG~nmqc6ZP z&pvCaA^8;=@GICtoIW&r>6f@w;@g4?swCi+KMv@A40hsH`^f3;!DQ3Tz0xCJ6vpf0 zxSYrXsBeUnN~0JCIRyi{6k$;V8k!B*NKB|9hEPXcemo^YT%iSa9dd}khU7(TNI^_L zMDd7%4elzcvxv8#E!RT|+&E59BxN|QXJpNUtXdDO`jI0!=+CF%_Z-RlYafbWA4d72 ziw}Wg2)Sd~aI+|;0=7W5{=+fIq+pZ4!a@8;3&;5#=HRp$!TKmc06eK4;SD!*1bSm_ z1STD8A6|DX!V$XLUnuJmj^lw17ZVgu%K!awcffmDKVNK?#7ID<7ZLR!{m?(R{Fe^n zMF&%T*EoGI)#!QHWir!`bU5iCx1wXVAmQ)8tDra~$D>0|?!pT$5K*k@4B^;JC?Z2M z0wEoyEuxGj<3FlVWoRNyAnF-sv2uzfF14UwA9iPI>6-7scpmC8_A8{kgz?Z^T4$8@ z#4zoqsTMp1$4eM7jx!4;&c(Qdk(R)QCe9*5CtV)hm{?cn+M;G)F`z3Zp*kGoizlHg zf85onmrmlvQeJ-Fzy1ekPhkuZrE~ImpR?l6SUELvDVf2QFinN z^auTv&purlC{_bMb< zN@tr2|BCrrnLXT%D)`6J+!rZhAh$ed8*U@$Ku$P>#0;3e_XH#wgJ4$x!y)9APalV| zo{v#9fc%Y%jDqRT-ouvYJ)cVB9|Mg`a>asrPnGtJCP{N<-z)hTIt zI&4XePtV9(9Bf7>clC=$6QKLdaA340ldM(XJPs#)XfFM=tpNG7BO0Kd-q8fGL+}f{ zfBgbnmC6NEG4gUnq~IV3e(~#Pg7TZhK~+KzwLU``CmfRSu$r_#`$geJNFMqjocl=L zS`W_7&~%!pVT42P0Q#6>-4d@(ep(o;=R1=!a2z=y5n=}4U-aNr{<@?2ZlTn zA%o3u4AMVV+TjZ+2;Xv#Hh-8D*X!&>mcA@s@qCA8_@!DOFxYGy_$ zQ&JCgw@%5WBjf_4H9TT>{~W9#KeU`-9gmzpTw&nR6~-MLKjDoDmhL51pGm#wLW&NW zYrV8)z&Ll%z~=?{tMIUiw+26|Sm@i59E}?c0F;YZ4O~)een4Pe^(4t|L`8;ozPwJ2 zQW*>n1+(wfHb5vjjDLK3)R6R$3q_d`43qGj0wE1zFS)3E0^B| z&5m;ffGD&+WS8ohd^Zlh;R67S9#@^Ie28l#KSG1O1pw`F03x475(SNYSo8|;qZ$V^ zp|&4iU)O)Z@KOO*Q=Np>gq$TGCL0}bZ;(&ZU?|Ys{_%m0-4#RUE zNHYc)J-?oc?Me!}{a6HG1(x5i+uT5RK2X#$ z0g2Yn%(;fX48(ZP&VWSmkBya%?+4&;;CMYGKN${$)T9F;Nk1f;q#vR}OI(iKGZd^V zB3Ez_vL93ZS-5}b66na%I$Cs;VoZzuPHv#F&JBo&0K4LsfcSadze*MzOl-u+bN6E> zCBAm1Dfwg^Ic-fP#89f;FiKBGPET(Lgw8r8j%AY^nJda~;Yf=A;GIQ;S(ipJH}8zg z6HP+yZW_el>zv_=Gqj{GBkARy9fgw`IP913su?PolLWBVgmYdlw63oTP2gaIn9b;o zF#9r?{+37neSfBG$&{2P_GrY>_dZqSO?rzB^ADi*4o!~?C{F)|Jf5bht_~yzaj@dI zy7@9x%u=TPUjgKw9#SZ18{3W_2Z^J8vrb7V)b?gOcT~+ue=w|`fkGjyON>c*50N5NlY?pP` zwu5sa>JJ=B${~HDsJAlB0bjS=6OWQ3#!D}^FAR))2yh*(`2~U8w4QN4T(BeO>>s1~ zh?N<}*YP8{4?ZPj4dCi`5)xQuls8ZXX_E`UkuiJM8xm`fjQkQTb0H-{vEsJDVn&NJ z`L&lI1v>jNR)~~~kD`-IyFm0e)F2Oh676qs8Uq6JG+cBDf`wcQT;|bbygCc<8o|Yw z5M1np48cQkf5?F-AvALIE^bbG7e{}JA!pP(blUn}r)bphwg{A*s44xRAc#G1c zBaB~u-lZfng5=4MmLle%0Znz@WttttNE&>1q|p$i7ZALJm}m^XGFIgSO{!&41lbx6 z(5$eqdV|sE5fUsfmS$zJ@>js=?EG~Q+p2RT6{qmED=~)FRldU=l=i=2;z8HwZLMbf*=v#OARbn?;Eud7V7IKm!<*?QM482>$aj64J*k1YPss>`cWuzB z`JHLKt_58DGEmKpd-8EF`8URnM%6vG8AwhGN!#6bU2@2yBuhGO3i{r|M}UxiR|23( z_J)ay2eU7yU>k!FBL=-V4=1$&s<7Cvn8u#B;weo(_VcW_RCoI)XXkoKqs>yHZhLv} z5~yHUgBbmVGV{iO=IIWJ0gy&FEd$)XV!KwWLICN0^ietP85xD>CxJMDwv$!DD3l^2 zP=p^NPaxr<0PlxfZ)O5naQdpQnsga3LeoufLfFsd0fl>(e?2gc6o5K0-IoAdHCzro z=jjgS%8r6qagA#AuHE+s@ zAb1P6lko%^w@>YNuQ%z$w6(GxWBYaY5>S-6aPo~Fxg{f32cD|L#A42n`T4jSr1Ct7 z3ih7wEqba=t2m|~E;H>tx<2t#9JuPT9{_AS9y5#RTL=ipa!5#+;92V5=2VxB%K!^!*m6-T%6c4-kWe{cUYT?Jry7{ zgCd9v!q*Pn0_!q6?gCr_QNUa#Ys>DPE+0eO1BB28u-7SAT<3n<49syLZ#C41g`kLi z#-@eQc?hrrkD-`SGh%NNxbLpzB|si5Dzd5u z-pFf|oY-y#Qtmr#mylX_C+e|h&iPa%kzmGmwk7VdJAYp(;Dx^p59+8$pA+=X z+dns&W^i=+iOL`1{kGm0tD>^^7>4hhAo8a!ZUUwx0pWkQb_q!S1|ik@`B(u9S;xVi zK~Q|Mz5_}YFF;qvd$YJeXEc|p{DfYWK-sjSJ8QRh%E4LydNyST;>C0P^v1K(CAAYq zp=#EDMcc5OY);+=9<`~;NO54L>68y+#ceMHh8sRHS9NLP(Nn*ToNAbwdYkU|Q^3zY z*k>(0qU)ZXd*y>F=rfkAB^hXa+Ss1lRrCT&x%ZH{*vKu{+m|K3W;K!2fre9C+tZ$A8V_P1B-)^|HaLn^kZGC)O~v7I@7pH!L*a>pE9@b& zGOrpeYBqC55~09!=jOgoOZ}3(Q=SS<4m?{1)1C`}>{ty`bLp%DQe{s*WPQV@zy4Vs zJZ(qBE>vkZtVm|Inly>9e_9^Q^zHj@cGFj?aBebT4a6mVny%E>;~FL;M>?IotJ|mS zwtNNG23b8mtrPruS0*2Zb)SyBzwtuA^O8>Ww8W}mxUr18W_nGx*R%Ez;@8r438;{) zRtDfjB`1Mf4?E;z!n#+YvxXZAn$_dtvm4yEgaoF}xqx`Y@|~#Mt4V>wK=2qIiD^%8 z`-H#kyfHlOlfO{je#6~qA`_$yo~IEk9M8LFFYV)T?~9L7z;g+TD$1}j*_te;JufC+ zSXOd~nk#mK8doJzM>h1zcujvt&m%bkg- zFW#V0M&8S!wq zu+D3hJkrzf_tmJ*IeHQs@!+!%h`@OGD8g-wNGT2)PK!6-=5Lf0439_dIpKpTglUJdRCwL zLaie&&x6G3+(nxx;n||vdC8OEAh1xljwshx75%1xe)m2T*= zYDvcv-DMTVGE>e9LYl9{DmjjKyQnl=hVnK?>lCNA91GlK2aL+X6)Qi?JI6a|VwF=ulCF1|WD3{)kY5N;n%F0K zfQoPH1)E2o#T5|EqWQS!mxjvOzRj#AVq#K~f z_ONs4KC_L(A%{9bi;W}O59m?yBz?!ejL1mm4ENJo-aKXbhU$#1HfLB6E}2|sNWM{C z3shce4LhH2A6ikBFuj%AWS4Yl>eV>7crhdkX!>@OC^xo8_7}nPE{?&C67Xt&5`Te&MiEos9+g;dzR)OZ z`XO%mdg1WMqwL=zLOvKTDqiLK9&on8`;6TdbH69;YqtNakzw4}y*Oz6(JxYxx!R^e z==oVksQ$6Kjoj+>Ex$=i(}tg7FAJ>FF`3|NZ{~iF4EQO@A*g&f#;q~Sz(7)1P&w7= zD-aRBI9_ZDg*tUZv@(-7=XiV1H=TDp-y~Q;BuWtGw*{Oxqz`0W`SYThK;K<~;oi{f zcco*`a+fRmo}Tzka`pM(2~h`=u4^x*FEmk^Hs?6$Kb6et^onhdd8Q-UH2u6qw{^ro z&+PRlqQL8Yypx|DfBpFS^{qfyugOQrILWU;48I##hwxqNmD_&SnasyF26OnX4bm83 zr<^nOXy18PCJ`me^^{c~ZL+`} z+${>HXl~gW`K%c(xiz|X$nEj!R28)$ihWL(lBtPGJ!(-AalNWQ>g6h~uohDz^@TU- z*Jq%wj{~CpI-gGg7Ua9G1H zt??RM#h#bv4@eVdfuOt1Et#WxSnmK$B=))sQCn$!>GkfI7fN5pUVryqR%~S9Sy!ZB zbZab((&UkDNn>D6JhGlV;5ezflChBUcy9Wc*&YwyKP$eUJU=Jr&nOs=xUbb_tgNh= zF9g}uJx*VEwvTtOu^ZPis13iO_3wAD(9qD8{tQZkW@?-i7SD8~8;)rYS{PT7FVd@L zPdKYLFl}V@D6R?}pm`amy0Tr_Q*%^QNo&z?H1?vGzTj@3$fA)jxCa^bN!O60;GsD0 zUWRM(-5Q^gas$~XuL;_Xt=_lx&x2Drg7Fuc%n7fee5_*dW_vy%Qg0G;(BE}#fo@V`i%c| zPT@LDZa}JkLz@`vmXqG3=0-@LSY7$3;pD0zy?IzuGNJQ8QL?V(s zZodMwT9E+zGKN}G`7AviUq9t!eDkPe-{i9{nF}ejp54KTZkCxF-KOkG_ojkAQnHp` zI_5F&r@AlCta}5e!siZ>#Ggjf8Qe@iOyhF=4qF#UnSIrRgw#yN?vhuBV(EMe*7@s~ zgr1TDhO-V&@Ah0z8_{)q%{w&I$$oB4p|4%nzn$_&`K9N>6;HM~mOldC&b`&QhOa|% z>cCn<%G}fzQL^)shx@DSh3o%yFGuYR*#0V zWS}yqGpqZq3EnNS$*tAZ67d!4l#tsMXNy$`&IR@-$=!NIpAePgbJDE}!`3Q!GQy_j z7qVGj_9#}fs&|ORut*oCCbDYF{Q!TaSlzGG#)!vvNyI09I|qJDNR-XpRdFSANfwk= zG$^vWza5*t(XQGweWCT!!v>)Wf$p>-n*aFYQ&@SugUW{Ww50PcAFG(u)8W*dp!%A= zw3fY;_QPfVxv?o0pPG0_bz`$j!Yh_RF8D+*hu2BIi2MEl$rQ8zoK7XCw@@+?^9MX? z(#G}0rX*b0v8p_S1DxkB?_nEC5RP$EYUCY~6OLizul(pY<8Qy4W`6O(?DTx;WBqA) zlRYw~3WE%LLT9vh4JJexpY03$1xMRaQ`}VH_5Z2?(@Ev53k@DBh zNro^tCn98mq4_mcm=-zzd)gj__bf%zjDHockEV|t|Wz3F9^z*SE*7B)LF1A(dk4!NIj zSY0sT7q9q2ln8Ctf91>Y)@zo3?5k$)h^L;;m-B=}D_W@w$pLcOWWliH|FtqSjl??r z%B~2m%;@2#;fOA=&Zv9v+r_*E`%(VpB?@0@bb0-R1iSD*wnJt`1Fk ze^v@Nm>ktDIQZE=fMfm9-ALiWp+H@>5nb`48F$>fGL?iFXYsyM3QByo8^Y6t!2!M- z`8-qPpL^=<*@y377$ucwj3&LO8@EhKHfa|Ee>%`i`lND9u1MvKoY^W2db-rE`u_1x zac2G1E8CTJw?jEX7#*sFD4s1AU6U+)-Vm4(TlQ%Pr(552+)-_dH|H3Xfp=Wfp4Oe9 zsKM%$hBHJPS0+!jZTo&&Wx`Ya@!)lz&3X66k>c?FTY67C7&%_opR%ko&vdfnyJyBe?#Crcd_hYrM`WskWfp(#ayQf&0`*8 ztJfx~+ly{@khpwGrf=Jy4V8x~Us6SB4n# zMNftbI|BhPdx($j(2nE%b?u4vOI@(8kHBEO;B>r8NhlS9-20(zN;Kaw#4@zE`8+>?)l2+Su3rKa|1mI#=_H&9;wdQ`=yQD zUvh303J=TkejT`RC|5MXK%-hv=(~4rhU1e7`2ws~#$wNzrwEaqAH_rX3^7E#MNCj< zx%}`!P0_~6%?@_jDiza=lLX;kj#;<8&2;xX_V)X)JF3KYtqfjBVl~2LC+GIt8E1t^ z)F*2fFn#9z{`jJrpI{8%`}G_BF|B2rY^jfxa;-jQk5;M{*Q+WCvGkS~`Oev!ee$C? zNK_(t>lk!251$H|ZcTf%a7}u>=WQLw`%YON>DPs^Vl7!)KAmrIqGZ9>rK4NJ3ur}e zcm}$R^;npdK*p$NJL-Jm^NFD?$~WtS#!j+c63o>eG}ylM5u3G&dJpd$t=`x5gC=(C z`RZC5eY)*$IgXaA*H6fVM)S2d2*t=H9n7nED%sn!{$!Xu^Tml*&TqO(+cYJ|2hw{Q zGd9{wTlF^daP7l~-oIvt>IpG+Pu9KYewEUGKNtOuKhWo8aZrpD#E&d!U|sU`0l0()qdK?zUoD77!k^ zt#Ld^XU2Q(Bn0voe5(rjd-&@sb@=F2H`qiCOB&du2t^wWS7d9s$0dV7PK)2wVk(HDQP+~y;)^6vlcm2jRoL6&DwDJ)dnMNxn_I-adGo1pGgK-S>SpBWvH5IO=v#NnZcmKy;Q@EI z7b&HaPkjXglHw|~;IR;?pcmnscGDcY@bJgekRHLUS4F1f<~4mXP*QQ$R^zE8f5pc! z5QQ~0YxUP*#h?5*UD4xFHz{`T6SV@7I$1KQD`_Y@oq3-(v5}JJRqOMQ7B%(yGY6@8 zOyiS43)zn^^y`Xfq12aYCJDzJ?OMB*GN6xcwyj#HR5=7iX}(xduZ$GdAto5mtB_In z>@geJ&3fnoD82nYyC_|dac(+Dy{M>^EdNIh25zJfKkb}KL?H5{K`L`V+&F3S9Cv=Gg5>OUh@J3 z3wGCNVzg-y@u6hp%sIKHV}n;U&3E&&sZ96j=1eXgk@c&qikIA9IpG-7L;KM={oIY; zj{UzU4egE!c7RTsYGX3PCC?%EanRMN2;p7Ku__eR4>6PuyB77L%)7Ran(xV%`mOhx zCtvXa5rlZ!rW|u$W-%q~`m!-7snwP3Pp%Qs)miS{>RjRNS%3Oib!J7>JLBnm^JIN{ zjcd^rOYcnW^^P;c4>B*XKhNtg5Dp_Q5X>%T9M#y$Mn%Mj??m_|Mhj;mbK;G|~UAhwwB|G@L@}#b4$!?Y3E;$mz!p_Eotp+)>`im^nkHX|ak_Gk4 zWTaJZARW%U>Y@}K1_{OKZfi5oTPre7D;X&(F(-#gJ`I_H4yi>w^QoPcOOu-N-qz>y z-x%fq`QhO_33nx&dnPVmxZNVk>}oX8b+d*wN6Os0EO4K~)TkwNv#g)`me`{7K8NgA z_X2F}PNm|aCGQaP1evTm@88+pznlawCUJEIlM5Y{=dz29T)z(F1d4S znZ{3!2M9B|&&HWD>*zFb*r)oJ%?IS26sY)xKdLYJu@>FCE4n@GDXAGIDtmqVH7F3{ zoOA%`B@b%|CNWH22yCB-q$!-yriJ^rI^FPLGf>hq8!?p(?^<`vi4D$ZNvleq{A@af zYUQXV4@Miy?)yZ|o1V(td_EGrkGZ9$9+ecI`r-vO0&YeT6Z7irzY6Ov{DAA>84AJW z&y~WMZV3y$+*QqM#G0C7?U_A_)+^@=$0sVOy@`t+kD(BUaCRCuk15;q<^TBU9Zw#4 zy>zyaHW!|lPT0kYJHl(r%KkzRGIs$t(9G~&5bU|1KJPTsB&)_RT&rp`4ANC~<`Iue zr$^_Z3_-{xML8CVz)1ChtWDp3C@|kb`5mredvtk|@RM(^p}h(IP#F6~GW#a&;gGj%UCMY>(&_*5!*XRgSm^;9kC6<+V3U7UBTt%G~^ zq@g=9j%tTJAG606aOifP_E*v?h+i`c>n!T_q-b z9zNbr6u<+Ahh+}V^=Z}SZ%(zl-mOrt9x?MY^6VR`tlc*_JDfDqT+%e8nPVY-SyK2y z(x+@2!t@2t&a}v(J22vRn)d1ELbt(3_iH8cZRRZWff~y9&}sQg6O}bn>BL#@o}Z>o zx07524|tzb_;dCa=+*d$lg|o1pR>|7d&j-)+B&gc>BQq2l^p^QmJ37;Kk5pfs5rT~ zJ6&sY)+IKPLC`yws`4@C^xXnb$9u%`AmdzaLg9pNw_4fo#e9YUps*j_x_N=!c5Zdq zA;WAvy9ZOFtUux1Vj`;Y$kzQ!dZzD&URH?RmCRn^CbG>=M&1 z4tSJJh+AgWblp$b+kNgbA6rHwM@Xlsbj1bj`swbBVHrjQGMCIu#VmO;`1rN}L zM-Foq&nWoXnX>n;XtCIPv+0D_+DMCT_N66~m-b4;zxY&Iw0bL-W6-+=j?o6vUXEju z8!|JzF=2x=zp+0esuV=HoJCc=><(gC@z;+90#2QXd0o2Bf_Lpg>eYhT99-D$F3vyn z(IT3FQ@LTsTU(G%!4%nT0c0(IoG)gYwHrt_8b4A}m= z0o=6@uy+=WkH?Sw~ z9suWZa?NGinDKD32!E}zrQrazfxo_g2=Hh!z~C_!ck!PFXv^^w8P?_aw0&#}j_SS4 z(+@9&ua5H^RBu+(&9o_`~0sJnm19EfhM+P8Z}d?Nj9}V%b8Ke9MN#Kr zCLp721x~W=u*ITa_~*KLZ4eJd6;R1o$JcCtpTf}W;HLnB1kA*2#7sop0th9qbsgrt zA7J|!5w>rqC-B7%6dd?O-=Me5;ubWRF#udef3o;H?EeE<0RT=LI(xX_ztSNc!m8cc zaO(Lz&Ye*9!r=c9W%1(9$rs1N*zfl;r!F$-L4lTi>OMZTs9tj$yya^LS?XRuGvf)r z<#I8D5u6bq>415=Sb7$CuR*2nNPOT~Y6NX)bpwUdvN$i7O9=c{(`SfOm6SsP@4GT&6SzB5BvMo03|Ds{_IFIIV{cp_!I#7 zB@0F>gXI+!3GmJ}0%|+Qib>UkK$R&0a6bu>?zzCs3o!z9C@%hgs9?oigbxV*eTzxQ zpOH$B9S?O(?`q>MfJ6i;4X1{$(kyB*qZQMm%3cV%c-gnRwH36#_W5GdpBdACB$o?* z^S+-8btMkQfW||3i(rVhZJ_9e>hmN(6(&@zL%8x3N$pjU5udUGI@G6;Isr`2DX0#h zdhjrIi3LzvzXXsi0hJ`4L?!8`&*o3*sCKwB$|LgZdCAx=_Q$ z;Q(g`PUf?*wj%GsOoLJ^m2kN9KsULKncIXS(_6Gq_zH2R@m(12$AQDNS3wD*;YGM)eHHSR_8_yU(wo?l z!I!dR1+(8S@obQCu+lMcc)uaw=)uOWA{)E#K8)@MIcR*^&WyFj4T8c-lH8G@`l;lv zQ0VFULNP7+iRdT(-ZoRa-vfKMu4XFanG^LV^M}XDEy3lzc_4y_6^v#882s8MVd+I> z&4$131^8dMn){Wuq&5T+%ClFNkd{bvxxY8}WM@QyNmb>$P}Vp%)0|7Iuu`Ss)(6lY z%!Ce|j&?TwFBdIlxI zf|0xgD0Ji9#^a#G+I$VibzsaYjqqct z3cxdPbEjmxV)HdCp^~BNoMi z(OV?6C}%`4v~uD{AE-yP$ipW_XV1huyayD4duJI*AZR-5QGf=Ied-~?CtZjIk<4O$ zEW#PQ@jCOBKRa`4%?XpT`>YrUZA8MZ#do!-jd25yi0j!tr4mwiRS`0Hs_K*|@VSVv z4b#Wp7(=CFpopcumH6w9uK_ned3T6DV7h^Wz#DB{rjtVtgjPKFJ{3{YlB-@styBt$ zg8IfNm|Wy$F(bheX-Rs}UI*SGG7BB#_%ZZAPQs}GtQ?y&o_?AKaheoZW9>+Tj!uR# zciHROL8Sf(KlH|vi-k}O+)65w5Io0DE0L%#0k64Xa;af*c{(5JJyS=)L*=}#25E`9 zP;ixWRMCL_h~y|H8`&@xK)0q_Wqx*RXIkFCCvWCUAS<$G6Zwe5B~!UnVd1aRhb2qv!WEZ1_m9oD#|dL>5+ zObo_|82IqagHQ?xW4u9|hK(BH2~vv->m%9?9aa_@LGL*65Fs03^^HTc z&B*DIvXaAV`kjt)1Fw}Uvh70ZK`bpY$IcIWr4P}JXm|%?jO9sxAFWMpqz6?_`g{EYv zGUEzW5SkK0lRGY45mL~T>N0CBQb(wQjKS2h6Ysv_!h^O4gKDls&Rz^P?49H3AhAsP zCIehS>heJJ5iUAVd7!qiKiCq8u-(|vkFnA_^h!D;d64SBOcRV2N_}Uc(h)J*M!7kt>N}OGYk_=(>7sau)wHBqdHO=rEz{J$T=pCdeG6>})I>&|5=B4+~tJZXpQFv)(iu@RIZ=HGK$ z(!NPv%A9gnz9(pwWDmOtlQ7Ho{8)9sxd{QhzvCO*0m2XJ|Hvr3`Gblqum^X3GZ;~n zZEu9##ks*YQmC54N?@uPp&?;Wpn{URbr5yyCuRCCDn=Z1i!4Hd9CHx%G~J^+&*FDx zno$*IIyGHlKc*Ah3thcf+8aQzzof-pA3QIU&@cXXe8@5iR-ctqF(N<36)i!D>7@UG zp?UwHO_wursu+=RVez{l1I0g{Q!SutR)Ft#?HmGeQ?%q5nq?jA7G>6*o!?A91{2CI z)T5Yk7I~U0wK{_2E?mG!vb|d(N8!yk8j#>iiW;1Brm%vYj#40(PziQW%4F?Bu4(Cu%ZK{Fq@T?Io?q(nVEhs8 zFCZ>)o#!T`UDjaT|JQpmat!Q54BH1zd?YfuQllJ3j2Ghcvlt+$4`}88v0Xa#FKjSk zupexC+FRg_f*C+;1MB~yfJ<2hFB@%^sB?^bQ3&j9dRz-}VUpJ0u=q z_~;F5{B+E}{dyNSOhHe{IGGXQ>9c>QE!=zLq!KdIxov>Im-_HXVlH+Ixg7YMnP7W5Wq;?LCqp zz>VjGtw0elF0wNP(IMd9U9Mf5K8%>D+73X-!QF(N8&u_pC6$|lMqm!;`ZLqM@POJ; zY7lE&E*JhdG@=+VQT(@&8fZkv*>cg1GO)at0GA&>a*PXB-}lY^8t!u zeRk0j`CzuM22MxQ61tG4$-tc29LeXqxg1U0}>}mZScgjhF zy3(N%N2HQc?3#-F-vkQkMaTuqtGGVFA}{DNqwPVis)ml{ z1-aU+|K{fze1ok#Vj~<4y@ror;*=G^Hyxi&ifGaND=-CpYet0gOLnD2I%oj}gjA&I zu-?m%#Ekl_wj z93)&}x8Rp~Q+6qW0piKs_JeljH6$Yu5&~3NlD9`%zDy5zKHdmHOs+%IY{0JRLYf1G zhh}!7m_M!)ViaR&@@^JHwtaT2Z2c>%+r^w$J z@J|~zdwEnnJ3G6Wnt`_u)iFWkS6vGyw(rfNM7voNmfge8VMk$X7lwk_u*NON6vVDq zfgaNbBpWT020v*yX;hKjZLRm0jqiAV!^#J$>^ee8Ax%yTIAn=I)rikWqot9Efe}is z=_4TF-kFr^7#faCP)w^-zj!?f_WaZV* zEO>4BDD&sH>uu&wXn>ty+Klzo*uQR)DqY|QAomAB6Zw##FDPSI!kO3zN+nO_&_!7A z(qKv&g8(=S5u(B{R!YpJwI(7 zPx+z+GU?@jY>$`1ACseK*#F6bh$_K*aG{-o>Iy!28!4p?VKjYt-U|%{Um)jFga1rs7X{ zh3$wR@51m?Ptxj-yzq5=AIUSkA!;X5%Gq0Yh00G2U0DR4*5!XGDq@eX(mm8}jL zRzSJ+9vBqPY<90)u;Ib+*PIbfFj#n~rxCzD|C0GOgar(3%c1SD=-qGkAg~E|}V;SiZ&+nYv{Bd>|m|gb(>O6yjMX_v?szRuG>DYd3rS5|O z?_>_1f-Z!XJHinf9p%q@V(FcqE-Sr4)Lk72r$w@P@c{a|H*tY8Mn81tVh(McwEfeXu@%Wp)bRdwo_eosM#rDCW;x%sytZfJ<} z1KUouF=&XXgK8D2LYl7tr>Vz#b@p(x+SNNL@{-2+iGqYnlnkFwPZ=bm!UIm5>#$Nu z9MX~;=tzxChb5J_bA>Y#X(K8Nq$qurUhX(gaF_I$wS}7^>QS51=kZ(&qLuIUIFB}x zSDgUi$0~ROAtt$-@j;ycRQrcB{4g{Cvcr2@;+-v4cLXGm&3#Cg9z->;m;SUEYinB| zDEQRH{!7Ox?LGu^Z)U4!T5v6x%~V|M@JG(y;HzPk@zbZ~KOLhRu1nipvYS zpChIZx{WZS9+SG+T=8_DRPMwtUtMJpDhTah=Yy6pG?UfWvGZe=_dpYq*hGmueviYACBKE(x;+6F=H zp6w=g%Rq%adNQiK{`Hkx-n$JnU{wfPI+m7y^A!mCFX0k&F7SX1)$Agwv<(b1%0(K9 z^Z3+=flgV2cwqcqX^j<1Dq;AobtMrlkWE33yq!Vg^9rQ?WaKV9FAvdFM_S85+bB>( zM81T3*EuLGbo!6~jhc@pUfz1vrx>gR7()d z3+R@j0w0Tyh4sM4wrOVUml`;AiKev}A6S<%1DNzBu;mhd46F?J840~7d44rLmZ%pw?LCFzE(4umR6?OXDM?DPnajyK024cu` zLOBNiEprP7B&B`6lz0sM_`US;fQ^Wpjg>kDf5asMmV!ZV9000Brx)wvFC7&^SWbF? zlN36L&c>W@UCii`+AOoP4RM?~sCLF2l>SvRPXg$~M|k`l#hLY8p%MrxP<)`9oK3-S zDFaxCgXo>PU9#x1-+G4Y%z4fzlD{|)+2-L_C4UbIRO!4T7O%)BZg^~00L|ACRfPRx zySzPS@t8N8F0%)F%jnq=_3Igo<%2-O`)o9^0^6vz9;lRrb62241a7jlF$xI;Hd z6m$ICO|qIUbW|U(cGyV)KrNZdHhtZ`u$mXhP##dC;@%|@xv|Ww0LB)+7*!EDq0FXK zD1ldCQ0w7XM0PRX&;oHb>mx}Wge=8cpvmK({po!HmS{N?3da_=-)LgL3dL;qjw)UQ z#~p1fxKtXeBhsjE+gq4q3OWe$`Ad>O@Vxrv9gdge4UWK4biK4B-SxmuR@Q*03z_27 z^LHr?=0Ud>%Hi=vu)IASK%?zYL2SMB09^N~65EX+b|?i2jRCi>XaGoWtUIw?S>OK@ zqfU(FUo|5-WffG2qy0H`jq{*}chC@2CbQ5;6mu`*{?igq^T_#?Die0hJix@LyTo&0 zSnOKYaq-q_rf*PUvT}89(8o(1ZLu7xj`LhhJU#zg5Q73^8${Jx52XH^g2d>F$Q@eN zQ=W>x_d#`xP91Lr`D_!ACYkdtH@xT-LkSK%8dCu2DVWr#3i#FIjTV3JM5xmFQcem$ zzG!Nm79w2J48nqJ&4Mv7?2OLHF?#juCTii1sC4n}aK~;2PE<3x53;?#YnuyK)_9(S zf;;{IPjdC0Z zX*o`ly~8VKzCQggkg9xvV#^hXKSXpN(C~gypX^#RF%);+QayOG!lfEQa;z~VoJsCI zMyrr+KR3!WiJoux<2MMR=5^fD zK*&Y7F}XJGa)9@_kSL^^SuCC3-i8dFu~s>Ao0eDk8TszPg7$NcN!muYyo;Tvx=@| z5aji5a01uiVVRQSOjgWC0L!QjWkk)VKV+uY!#Y_ps4IVLaGhxPn6I9o6x#s5oTQ{e zc{%|N&kqiWFR%S`LHx9JAP%6pcJ&XX&s;@Z60oYaPh?ubq4AABqirm_Jal9|ad|KY zg{TRkNPyc1>e%k~`hd**Vd_hX|7(X@{i)0lL?0U{16x+*hhpaqh9hDQlVhhI8Ty}M zq8}Xfrfv+HRfs!bWXbpBdO%x}RPW%U?RKOsW8e8KIIaoKG|^SNq#0Xkw{oO+PRel9 zXf=XlXm?`}1oc6rVFD6RLG7xr&4&aMMX7nM)7C~DSw-!vfpK06X67wrf=-j}-TDu+ zzT8LG#^j9u?fDyIKqnKRqi=aN9y1y)fILYBIG8<)@j2+mxcfqXzMKdbYyFo>@4d4W zESKn-K|tl?93)1xqo?4kKL+!kdTTKG@lF~BAs+=SIQi1#50+ikk^WUDncGNTScG%p-=_E>eHiPXC+-*-gcqWq+-~7QR^9VE8(xPVA2$Zvc=6(S z6yS$yJr9hYin>kaE$~L1H=b@J<4`p~7E0lGdgi*VwC3vnN8W$GWBtE>;CQZV6+)z8 zl#xP7_P8k7Tvn1*Ns(1n*{)DZ85t$(l9^4iXCkAJy=llEnIU}7`^EG9{=UD*_Ye3S z$LE*l@p^^F^|7Q-s~9T-g1qzoOSo~;BqPoiJF$Grc}lge_jt1;}k)hd*I& ztaG1bIJp@b+AsqlPLqX~HPjxz(ci1X%`=N?Y5HDT+p>uyPVs@a9H(@Lv53xH26xD8 zoyL1|6D9(@J&jNLX%eFA;E{9{i-HDE(WJ)bDFnmg1Boee7E*qfU$7P%lmW@%DHVW; z1Fp4G@O`Q~zoVoTp4mp%T14e)TjoV~*(tLUFc2zk-=e2YNh#oW=;C~-o+Zn%pbq`T zpp>%@W{r3RhgJhfOF5uQ$;pj_4zPtqMYh~4iA6h+Vj>4&>R%OpuMILGSJwYvT|g=! z66}l^nTm8OfVa_O#(YVW;9e*0zuZbROxprg5F%E9KX}mp2oARiNH*@Y4jPgH&cq#~ zDZR}2ll!mKTQP$)Iq+#(Qb&BuWgsC@FVt9T2a9LLz^%69p1C-2mizo3E-ySVepVPQ zwetiz|Ht03zwgx@zS9G{Rfc&m-dc^+L~NbrFTFjlrDDbh5O1@KzMk?OP{3dvaO%x7 zA4&r@gUEi2VYZ1h@vit+U_TzG-b(vsSe;!hytBFA7+argY;A5(JfeCYMfbJ9QPr4F znhDZ&{%fq+{DuYj>Dd($xJZCP`eEqZL1OIsRxnr_E7y4v>Tz|+X35_30_YOoxu<2T1?j!fl2t%B4ZPXZQY&(_FGtL$4@1 zto^PUCge`TsCJPLg;52NtsMcWv^iM;%52I@R|$35#>XhQPglzNkHl#d>~GrjmF!0` zr>|t>fRaKB=roQqr2@z&0?0`Jtx$D{Dpf9G&2Emz+1eQ7TZA|?-BnOf80S+w%i*a0 zvJf-jk$nGW-3ka)xP86~3h@lrTg|v3a-_3?z|r4%L(6q%^IuYbnlh2PUbRPu*+tuu z+IMpWb}Pwch%3DlMn+r0WI@UdArMR00AT;#*Svc+pN3YI(Bd#X0pN6_S6HJJ$9M?3JsQxZS9g)Q4YHJQC#BKs(m3^%t; zwp;t%4UnSBgqTSLG->Rd_Mf~4=eZvy(-MPrb_s|Z{WT1=KxhqJHSL2%Q(2{8c$M)^ z*+oC7t=f~-;Vl>Fc%3z2pGWVF9P~3-1k&_ zCuxV!B~>e7y7x}p{tP$h$nS+n`*^)savA9}CS>_c#tisA=+XLt+E6u&bo-TAar-N4 zI}42~-+n-P-f}@4`oG^+iT5msxRpYi$=)WEYj19>f@9K&#rPe7UEpn5JQIFR)T-+X z@U7oerNPwSLda&MiLd2r%AV={=&~8te=yWvQb1Vm07>lwzi~;&X(K2+M9Z~0dI?dH zP%-j>dBQJd^5GFW5C}tNs_r5f42lc8PcvkxVe@zLuN>%Hg> z6aHdY&uv1gu%Gc3XpiK9kCj2+Bnw;d2ppc#4HF&u9*cw*(I&bGBEDi;U>)fo>Fa6? zGh5mJVW`-SM4lmxTsa-?G~ncda3o~l2WZZil=Zk=`UQoQ@)%K@zK*T+?#ee1+sLzr zV6)gxDWByC5ngK`6&ZBYv1%pYAyZTwx{IXDJX+AyPog9C)nT`#_0!!;29v$*Aj3J6 zL}Z9S6k+U>UAg6oFf4t82c*kD0z;=ZSczR9nZuI@xn-H~W`W{$9qEm65T?;@fI88p zff~?jDN)V1jh_eR=G0!@twB$dArTFb1zW{PN&qOmrYFe$QB4oiOAZgy<@&OaM!ID7 z8)>hozY+d(#kkV5++oVci(p{K0YDcWD?S>O?T!Go!cvEtIJ6T-jv4k>FOmOG3&3l; zd=SQg;@>z!($);Lak8gfV>*^TkKZs?Kv5z9JEVsmAS8Gzg1I}yn_O2)&L7%Njg0Sk05e{T{IgvPRS z;b~?6wL-icSyl4nsJ;I(%tS#aE0S6lUCH2gXZn*kaqn-dql=blQtmo5Ir#x)+Wn9h z5#t-M*8>Z5fzAZRopY~y3XSs^yF%en$bBgW`$r{D(BwW5u9-=D?OCgiyU`re(`bI5E_JeW>BMbG#1LF?PNZUIo}e zG|Az?nu1u9H9dT?mTGpuV^rYTj{b%RajLC2ThoeO*55Y_H}ujBD60 zk$!82p5IUb64~DYQ_Ar_pz6t+C9Alb^~HOWR|Rb9&C+`P^*IK!aj6Q4TqoRJ3>cyU zWXP8$lL3$K1Jx-z)|?0kVrvVRhCpHJ?x$m|eMB z!Z4tUzW0%;02-u7Co@Q_QZ(bh;XoyjngLt%n?A|6PG!CN|#B4D~ ztRYu)ZWbRS-2rzRwFn9Uhnzv$ks@siz_K1N;k$1FvkBwRHXq$hIQYnfi(Y$rv|l%~ zeJ08hS^6B6B?w2!V5;ufen`Xi>Un`*nckSI1aAlEz#1A{<7F1O1BgJq0W|}@I3_8Q zGYeHRJDdK3{lwp+3@b(FHv{6M<26uuiosh01hrE!`u}-GI0h<9xlo=K%ozd|h`TWC z)qSTtwuj{XvuD&(!nJW~rNgBQIYH7escG&5^~BMyF2MP=lb zspoxi`bAk;yWgE~R<2ZE@`V00d zdi@GfR0|q~$O!96x^Nta%LO-(6C6i=3st=#17#?JgJA>Z2$Sk%3#At-CQx7_=0Xrr zERkhFfCz?YUZmsaLpz|+jl=^Oec`X ze`bQI{BM8Tm|Jz&z{q;FwL8Xou3Hir62T|%kAO+0d)paKJ$mVrWRB@Ro~ITmdQkmV z68s&f0UI@fJAJhXAmrIq?zW2k2A!B&g01JzF@#f&FFZ_18vM-BvWnuScENtGfgXph;U#VLn^efypnhI&e*}_ zu^Clx5iQ~%{$Sq#*tZa@5enwe$>NRnwiPX1Xgs}_f`|x%4mc%okP{1{EH!?SZ?YB|LLDafMR-9*6(w;`udaoCW!r0l`C z5eRv5z)QO}EeBi$V_WWmsy8I0&rTDLn{8F!Uyg;y_yKbv?&vYRKVq9()M!}~kN!Lr z5_$!ABAbl*kXwuGbq?e+fn3FG0W64#^4>TTmr*9DOhn5DSVDd{P`xz%`)$TogmUz8!jCjNYDHwD%oas49ns6fmZV+=O{1 z=q1w_SwyT~e|>$f#!$0GvJ%=DzibaU5W{|W5d|i6Hh>f*JAYi-X;Sydxto`?nrf@* z{og<&oce)fl$Z}u##BKdd>y!1R|!T)CNmSo&cvcDMEED5Xiu^6lWm)Yx3z{=)*4D2 zJ6`oEltWJz+}LI6ouW#Ong-um?gX{hyTI9s{qIDGks%5RwCRNC7eNHk2ST_LU(dr0 zX+RHHy|K#=RVFj>+H^W1>1=&H1|^3;?qb_1ZerQpVQM;W>WHRY`EtYyfNkSy0dP7= z2iRCE;p8ssn@&j}=Vt9Ql^|A-m>rz1+Dofe!J$g@Wb!8n{l`JO@(I?(wsb~>++v?U zI4yU?;{BWc@;{1|Cm!Zr)FZsryc2j0>nk%;#Mguj%9CV&Z2GG0HhT#G0Pj;`UHSg` zrT9`ZqEUk(N4#r@)rm_w*aZA%&mO6X#Lx^VSAWZ(OF}oa@haA5d}~6}i<;8HyAJAb z#IOiY0KzJ!P?|LU^$vrqN{}#{11DiQ?^?da4QN|_^WOsIlM27K1u|;6{8T{!5{Hhu z1L!&*&B=Ydx+dZOkyC>azVPF~r>iL%$GnM$gOd-D_#^=r+?(Vz8m>PLw{7PVRZ^YY z&)cf{U6ePO_?vXWRcU(Z(-81bU$lHt&yi>F55VHy>n?aWDD`QGHFS!TV%m=$RXmf&>(~PNvqX=ecte!|sbOHm6Lt zpV=k>`yKip3Big+&O~#7yN1Tq<$gZyb_Vwjo&UakONRdrKnW&B@<9PYn{arJi;rIe zvI|}sM`$E2VfD@u0;_y~^D=muhkF3+cLvxfN$h<+r<3^#y; z@g#9`x0zCf2z!8_Ni+wqJ%9+e0>LmTZ?o*SJ0$*cyTKoD{Kp%ldE(sd37k-8%s~?k zVTlL>aE8M+4r4co2Q7`U^|}!hPoJ#0&DcQ4EIM;~#r!)3YB(P-pXlow7eCW-*9$=* zOTw?QBcMyqD8{g}390hfp#ALxBil5Hn2L_w1b#qDmNX~8E$5%prXl4*;vvdk1FX9~lOD26piAbl%0JlGsY;_d^ytnnLktYOj=YNc*{3R|h zJ@elSImaehtszNC_OeAnnE(#601&?i2HYgGlZ;Y zG`@a+)pz0=zdb?td}#${%Sw~OW3m)?&p{QbO6ojiSOVBZduyl3oq6yf zRrHESL%unq@&i}_4?Mi!S5{$*5xrZ8hAGTI8J3RK!caedb}cLA$TGU@Z~1ZWxi8Wx zl#-o7<<#I}EDVOvfH@qIbKd;)ymI(3NERsf{4$H<>XFeUCI#?U#3h&KyoXfj>)JUu zysNy(o~`QyJffD8f2o5Ayu5aJo@r`rtoU!YrEt~QZf=r|vqj=0IOd7)4WcEi)QCz*KFTjI`7BatV!LfmMoM_M` zA9`QD9Pkxbg+C7250$x?RLPaIK%N?1G!+76M)au_WPu=v?^{kiU|6#KC&;TO&%9~D zm~kZtt3@Wyfa6WWP!O|!-Zxb!SqE#C;qVU@pf{M~;t%rIPLiL%kVY>HH#+nE@s&T`>ym}T&1 zL@5VO6m-#EDS!du*C4$KJrKAIXiz`+k2`>|0TOb493rw-kzU7B+7B06;NhEKg**L{nr~Gp}uNd|M zSYigngR{rYr@L>KT*buG@G{ao`biAa7&WnM&zdFYq)H(|iI(4YOrk^h@<*_<)|LMj z0;C~k)2O&yT`~SPfbYfQOzbCUS%zKy_W@Udp%*M)dKq)S?y$!7>PmNbV`nHr_CUt- zv*myq?GceL8WIyH+Y>(SVi`r4l1&ZMbu%46m8TKO5OJVU0ec`T#Y$gd0zi}pSyryB zzOw4kV&6Rw1eW(Q!6X)*>0$MKN?`S`5VNn?VE9m<<3VckT47Pp<;d=6$Q zc&_!rUQGvIJdm4ZTuN^H?rPpGFc z(qk;8PaCx`cAHiFQ|^}mdLqzNh&GrG$}Mt}3>sq9v!!z~?aP;gBBucu3Gbg+v6HrK zJC?BpMfmg5$!+SBf9|zNufBfty(CFq?g9BJXQzk!kAZLUEWY_1@lijht@9eVhuHPk z&nB6Wu^y3A*7U)xYJ06iLQtN|w1ht`@|xfz={!9?V3lUM`SxdEQRbh6j*@%GRfl^!!%6j1&%XwKh0MD9eP9_D!3 zCyG%C*M<#Xb=R_lNop&QbBR@QiXT3=JrVhHHy&+6iP>d#rP-mzSJrG>1RvYQfLDyV zVt+?`Vic%Ltk`cJ#MB-fiFk6e!NG{=k>Kn)eSbtFkOQ3wV#YF70F38IrjQ#u>f{N; z0kQhNzC-Mf97x&36U?keKBF;G6J+OLF3*@}H)OWrBrlw2`t+!+A4(z$6tdrpq$>js zns=tzq}9hEWH>*lk}_oX^yQJIE_-Q9UabYec9GKQJk_^)4T|j92+lh#C`mML^_Q?_ zJVk@zPEkIRIeOC-|JceHg_V|CDr01e2t1;HWy3b1Vxi&v-Og(xilMcYvaclb5z$L} zBU#XwNGWXqo>tGh>@cVM_bYnJI)u z=-R5!Q}8Sm@xN%F2YrHmK>O^VdXx#^H}{MD!E94mN%-uTv1g@g#JB;RY#J5_2Qem8 zlQHvv{`LYZn86m+_3R?+*6!PVT@>0D%>}O|s9J~(rsItOAOAmVorjf@NM`w|{ag>ySrt{7;sH_#oY&uLw|6Q9UCxY*#hHnt!&xRZ3q%VwmS~e5qSWo{&7|~ zjv=FmL;L8g10C^I-6>I(6-K4lpzeUhOa3syC^6zCpyc7O>F7eoWK2rrJaRZg*BuUir#CfmSN52{=~n7nKdZQFKn(GSs5u0*)J57f zmeLlKjvPLDRnF!`IKgoK2bb|S^o|rh45+_IxQ^*8ei47YYo{%QeLo%wG-6i3Bl|Zi z<-}G#|B)u9pBdt2=G9kkpp8*{H4EOin~KijbHDZb7cm|yy;P;oCYj@a4Bv;^T-NoT z?rsVv$?CPyp|)TP>1C`Kj7-1;4B8B;Er%VEdYBXQ@W<1k8QNK)a;RhXtgp`5fuXOE zjj|+t#tF=$@t((N8tz^VZ3f+y#uDv*VwWXGZx|Ez>mSvZ7)j9-Nz+2xme1DbgFGP&CTc5S>;urqMzZO?KF5Yl5T_#O{9HS5NG}6M1TvDnyLjcmDH#GwmJd266@n$`t^8CpN7T zkn#742pXczfnn_Gf-dtn_YB%O8q|<7#Y~Xk&Nd(bHRdCAoWicL1G(hf*h5 zyTHPL)5znw2l`q4aummYeI2uZWTgvT+WKjj3p&Oj%RAn>{t1>tX3xYsS`?ub2dQ+O zC~+S4cyRht?&6I)8REHvcKA-GL>OJyy!@Ge22mFQbaMi9j(q_Y4pCn&@%!mfp+R^w z+!n?jRqY8Ji0=#E01Fn@h16|)`+k6k{VUOmjZ&LAYi?X;v2~( zB(ee@?84+<{u>RTa*;kRsYnQh6qWkj*IeSarWPQM-}0olZ$|;&daeKNY2_eA)S9Xr zXp||?C=m?~s|z0W(uYxAVpBSlXL5~I&18F$@)@q|-m{A&WO+~|pS3BsA5}p>8G<~t z&XS#ZPO}5OvQ4{0FES?7Ea^1f%5m=t^e>`aVZRIKOF3(;5%PzYcj7oRcV<6rl`|m(PV=$U+HPV{folzx!n~oC6Yy^wa)e_-7 zB~7fcqSxQ=6m|*V2m9gf{QTebAOonkzv?@*;~jl{2ktm@9Q$iqX2Y(6r`_iuv= z(rOo?YyE zYK3Q2eNWMdVg3L2LH`OREk=hoXCLU<)=(3lLdmE?fOSLNFmv~y_>ynl6oF1A9hx;w zZ1YDJ7nf88IKkd2YnYYwzh^7iyKd!=?1Y^88ia8H1}6hwV39b9P_h}3U5h_UjpVj) z8TUW=(UP5D_7o3(9oVptV;)r(1is%6a1; z#9ZbCvE1$~;)>_OiqnZ6P}p5@R8-1^%CpOn&J2V0HzGDWkRN;wmW6bQl+)`Cke0n7 zEJ-<`49y{=t{}Iwxd%bK%;Y)~8G~as-|nF}OC=1Q&A8~EDSd?U`(E|dG~lp3`i$5r z7aUs!AO+?~t0eT{62AvliS*`P>cz1ZTIB{_a?Av3A#VxzKzzLX8M-4l3vfgJs;b|J z*RWBK@b)by&PiJ0r7xBd+05Kd-t%ZZuts=jn59?{?Y$L>ZVJ%``O2}25JuRxdG?Ja z?1NTmcz3;1JB(<`a;!Br9?IPDg6GM0;wM==uzU@H)K&J(3ilnc7SZ-G;qL;}JV^M6 z=qZ^(DW#qgk}YEu?WZWFh?mg!A_44#3x7TIdMuQ9ITMjSoD9b3ePc@IyLXY@7jM*% z^JIDNg8%UhDAyTpyoBGeEB-vVQsnZpDdf6_`ZiTD#0`4Px{8w{l>ul(0s zX@2S+OavUu9Fn3Ix67Xv`~U7L!+s})>|400n|a%v{4_PsC*X8}E%?aU3dE8oeL+8j z2%qUpJW44BCrgZ;_)~eo9ANAk%2fP?SwPpxc6X3S?ig73rYcv?&@A@zxe-(7Cj0+2 zB5Q~06$Q!2PBCWeRI1s7Rq^gi+PFDi5u3hWd9SBw@ENc>x76zo5I=~TBY4V$dP#%# zQu=+={z8x#Admkg0nQtUyGnCXngEM4~R1l# zuL?JapL8-3m#K^!-RqrvDoA}AkBYwOFSs|Q~{`2LXTfq@* zi$2=-Z7(k>+Cq2c#ELfIfxJO1cSwdXiJy|l5kDg3I~Xg09#JK}Q!7)$JEGN!f6ZT; z+m5tf0uSvTVHNgH^wE@h@3oM48i{zeDkEFISnnr2iQnZ6VEj}UKc$A??9xX zumixDMNz?8WK{X*%w>RATiO7-<2Sb)~b zr^2!f-n1xi5`t+IR-i%`>y4p8d>GWF4ZVM(qo{0085V$rKh1=&wkzjGjr}|OUsLZ0 z)j*7n@dA|Msk=ui(J6#u6%_oOfKUjQ_gZI~@+$_MQe%xg6halTl?R{+?{l-DWS>Sz z3(x|^D~Be0E>s>&NoW9N9xzXFUR%9uNm}K39Y<6v?WbhMk3AUp25sJ@sk#Z)P48kI zk)q*;gqN<-<8P9@-gJqbA-1(mVi2I%?sm1CZ~2qG+W|Y6%H0KM==0$zFsqwi2>&R3 zFJY^F!CHxz9|X$16+F_Wi@qgT_r*tQHSL+AB)jxYKC1EVB81dD zbxzyp0Am(*KkR*5a|629oV;hfw%k$WTb-=~I1YEAPs*IsN~=$yE87W{JQ-+_ZKxOs zE&HN%fB0rZQk-FN7+b}TLtQ(v-B3=JeDb_|$}_QL*oRG>CLL#RFsjWxGfe`(_NwI7l$#TyhRSy;!x zv96W|(T!KxVOTH9RsKW0 zY#p_+FgSYiU`nE)mPnsP!ac@k+Gtl44&EE4xsWqo=CatvM@Hh8Uvw4Zxo(mT;6E=7 z+#)^(i^KYK*a9s|W5fv!h4k{nkonJoMbY^2C24RkKE5HoP#p? zN^BSkNGb8yF%nLwet-W}$Wx%G00VG3Min(`>Sb#v zmR(Iq{n8$xW%+J_e++6v2vDOU0bs`*IukUDqRA+I;aMRedVi)ODDbGW zErgpq{7!}n($joj6fb!fJXg9He*fIC%h<6}NQ)V$mq7Xk#!|=L6Q=>qr4ble`U+Kz zkcoq4QWd_aTlvkvuMz6Y8W7cK0t+bRoi)-%fxYDpmgF9(5K=#SceEc0^39|J z0?z9SYlwri(x0Nqwo${jb={r4>9B*r^f;;s4AQ10_M0nxVyMTuxWb0XHSP2(9a;Ewk_>*I5NEua!1=RL;FwI6yjgb#tm4%|7s0r zLLt&TIvgT?@9glGUk#zhULgQ(px7Y>UoAZHlDtUwuwlN%cSA|BNaaW$H-FhxNQwI) zGl{m10wtxQpYa77Frd+9>)%>ema!yidN~THWI5`_f~w$H{tRFq7HO4zqeVXh9i(ms zEkT8)4@_D`%q;NnuHEi;|}jUhI6_~*T%zOvh=gVPrUVys>@ z9(6Mso#=aO^=im$dFunrQ6S&yI`3k76~^E7bF$A+2}0T))6>c*xN> zU^UEF&3GwNE{;ujJnp3o#dDT(A0wT&t$K3eYspR9rDX>^inEJ7W!-^nWBu)|Li4PX zao4iA7OS*tetY1xtRY$8rQr3>TmE!x*>-G^^QZ%*iNa|6$wh;=Bl6tc={;69B5{V8 zVDZ>@D^nCdswj`Xa~9NaDpzZaYVo+EeY^mi^mQD*<4HV^`XL(gYS*ncp2imgu`w{{oBQ|@#q?Y=m3Pv#xG`6n+tpgKqp{NDP zJ=F)qd}BTyZYsCWtBv9n>hgwAZnPy!ICJByro==d)>Fj%z%+05b8@~mrM5iicCDEP z@gDm}Lb>TvSC|JEI4i-rO3g~JDzBl@qcVx>g_VHS%|Pez{lGuKa#?4NtVBnyE{Kh& z^ab3VQ#oD_E|Ua-&`z3m|KFgvM)6;>f0b;#&J$xdJ zZ6_IOxf)+}I@c+fp|UQYMyo`|g(kL>M<@7+#LF(hvxYwU6j5w zBQH+-!HsZDwxR*k8>qZ9)>LVD*<+8Mt_honaNCEz%WMxjEAD<)(@q|1275{zHNJX7 zd#np=;avVx*M?N%4xQgncD?sVS)%Yql5TVS!~SBI^_!?G{IjynIt=Ff9QokYhUxND z@Jm;ZqtNLw#JRZ;PkU{>Q&qYAHjun1#`Z=xGc9|!J_#tDtLV2p(Rtn^Elr>|I`mIq zN}16IAI}R8KHd^7jskppQWw?mbiFbl(j{_lr0S9a2OB=0Oh|ezuiSaUy^Gmpwfo0I zvX;(`N1g^(g2c-8C+t+Zuaw(OZK4`v!SLpKdWGvmv2u4RYA`AFoGM9KJz+fT$lvud z$!SKX^>R1Hi?8E@sxL$D5@N4tl5j z-fS4|KheKA<kBtwGcxg9GuQdl z6Ng&tTut9H-fPYNzGW)86t5`F;Mgx$mMB=Vz7XGkpo2`ubbUEVjqOa>l2vwKdIu0s zQxyF;w{6?9Kdp}>X2q{_rUs-|94)a#0(TXOe1Zj~9|Ge|_DejLxjw<{Ymcn)PLQW#=u2`oYV15|3d0HXEs}*@VgciHldp@|sU=KXJ>< zc2HQ8$j;B|Z<1^JcgnyxPn>7-^StI*-m!es&6)JifhFA~b9*O?6HTo<2d^0iGLh=E zupYz|AFTgX*0j=>lsBcCP~kh-mtwpAg7t!Z1>ID{`6TNhX2wsz+$==p=wfrFIsUCg z(}B+S8eTP%9N)cKzHKCLn0dP%N@Mnso#73?z zC)QM#35V1EG!(bwr)&Bn+)=LG;iH-CQmSORr@4~jX+KY=V(2w47hKrdw7RC5)~ayH z^v&|9=!$B&jFHj9?|vHWa#OW%Vrfm@CVHf)5;g+f%?>}gSCF)9t17fW|{} zs@eULa;5WL*!CwnqAc;Qe`R}0pR~KYoh@GvPN^jG=n3ln$!TEB7~QlK?bt-W@utbS zwK(DUp)G7cV2XphS09Sbs9qu0QUqK2?Wb}jLBIk)~t7Ed;y=X9#U~u|mQF&0F zhiNObwQ<}*uFc5|!*7m*ZL(h4^X=+?Y%hNMpoy1#5tp!fO_XV&FKMI+I)JWO{)+_> zFX-GaFEc#3Y*i*p2!0V@*pg=AaNqNmy~!0lfd|D|vL(xM%H3Scfr~uG=a)|eyu=u9 zd0))xD@t3GZFguj4eFUNGRYQN8#rhf>;6^0r8}@!5K_%xJABWdy#qfdx|vr4f=Y7M zLdo|yhR$*Y?dL9PTAJL(j#q$)7&rnwT+FK68bC|E2|mg@EkpR z)8}vlugOC8i8wWF*e_4x`=PV10$(jvf7|?#Wm}xf_GZxLWz5A{3BB^k2$sUBRM+1{ zrk;Z{9SU7An0UGKiHWFXG?nPPl#6c@kBiunx_x<=U2IJe6YzBFveS{U zsGGxz1MVjD^_SQ~7X_HR1zvO~#OiIWdU>rmtW^+JPa4y7o|aqvcpB>t)jPLxI>tTA z!zBdMoWZ3}44PtvLB)$(`d+;>9y4tlrFG#?U;PUzzH(1iOQoCZo9E5NogJu)IPtB_ z^;3~_m7@mqaB%0O!KmA{5tEA_Z23-Y#zlALQ5t~3%~QukI=@hZ6D}J z;L);g(c?m{Ev4N53z{sFQwGA!~y3@hqWsBQifB)=Dvi}xw%?g=GMiK5 z0r4`rz|U~NcP`5*Xoj>3Zj`*9`lj;d<>f8?LU(CuHRZ~Y(^Vr|u9>FM7aseNk2vTQ zm^-hA2I#Ne4{2CQ%4J%JJQyRnE4HP#TPriFj%{xx>Ue^5Qk73Qc3HLa*r_D{b%%2%258a!+-bw9U3d7$E z2fY1l-!Gc_(Dc?tM*HMCJ&zIWSZ=gCWcXPA3s7T0fEkJnt(4=IRJLv9gIlSkQE^|> zOZJs0uO@A~QX$!V7<#KR`+9QJ?w9rr-w*<#!y=Ey{~=7w9J|CCPI^~lZ*XSL3Z$cjKq^0g|j z*fBVE3+uxaLN2DQ{4TaZlFPTX1u4jKH}N-LXf8Ex*NHv5&?ZK@&SYpRazP`o!oL)+ zwm&${kb{x8vxsM5{*`Fxl+E;?_c7f%_rq=u+r4*EPBQWnlhr<@nCB$?u)vn9J?MCe z%!EXe;gQZEaFDZvGWo*$C1V7`*-P2EGe6>1?HHD)m`KRHtb_pF;}RsuZ3#aNdCB>? zc$Rg1ZZ=CGFxQ9r3R#Btqo^g{J=GyAO@z0k4KjrI>0JizxLyu zjiX)qhJTiIQ?$xql^e$f?SF6=Dtb%Kc`XZ`zJ!%y>l>^J^(^j4$X-$s;fk62b6IWG zOR4=To1cbWOlU(RLzlDCmD>>lg4qL@44&3o2i5#9XtQfqT1@Hx zbZ8d;Y&h*aN8A2EwUDVq&dAGf^kZ%LAa?Ie$>;gATcY1(Z_CK^e>yJM?y^1doO)k5 zbj}Qgdf#;88E2`r{h8KWop!Ww)Kvi+|3BZ;Ri?o0ewW$i!51I1Y0rRu=9kpj$-H-o zrrfA&$u79=p=7&YBa%2Qtly^m1Z7^AwOL=zCDwD2CT)8HsacEI3T}3PqmbIPU)r9D z>2K1jJ>vZ;MW}=B>jLNaiHk}&(ifk~X4-1Z9eWj+LwfZr?!LOI&-o*X_tEzkBbD^z zk5nG+QKypV!MEu0se4J+%zapku=3i-Ss9uw?>zw#x+;C#!M!rNWIzh(&3!F=pI zt@Af|?;bh368?Ii{fn8wW?7E^|nG1IA5}jaHXjU~^DA89c7<$yU!aSjwu@=(N zs1?CQQF*q6mg_z~42pj@PI{zo#_6@NXK2J(hmY|VUQ8D{A`?makaj+>uJ*Xa5EtoGla@e=d)=&QUo9x?tP9CI#NBv#|{COr$^YJyGXokq_2ihy);ve4# zndlW7;aXpLlb$?Fih(NOnhsmTzSe(cLiW(ES`qOBFj7?pnU&!4Yt>ac;Z6E-X+I48 zIPfVNphl#$S0=so$$?{c!`&~7G3@m{ti~8T^nQ~5G+RipoajD1g{!j+Pq;>NlA}N0 z|EhwJf2k8i8j*Ky34fOb7TxAj$k#5$zA=ElQZvrUb8@%WI7%_#<;4Pr-prWYhTdi6 zixd|F)h2tm=?%F!gFM&Dml}Fwr5k6?8Wz8ZI)kCKGwA$sO#U$xUxmqLdf)RwP>io#!zU9 z1z&Ttlvh+f>hI;yCv8P=le(1OJDU4Nqu43UEKrOTYLpGl#VhbZrkuG&y*#IsH2386$Ie1{dxX z<4mv)x${?RXrSfi!j#mD?yuafS*DlR4yc64{G)8yloF`qRu?p5UR99!&d}8eCm&Fd z6PdC4~sK&2VkxrN{KdS#E(+3*)xR$NC$)h8UFL0#k$Tlb4K0@&Yr}yjdT7-}NP=+r%mm*n^ z)vN(17KTdy8(kV5wlKN(jO@(;v5r|Wv%|_>DOvqO58lirCYq`4OIPUmeqFl|>ZU3r zokbn5Hj9@I7aZ4OTc>e*uyH|dLNPAmrucywZxNc$Bk}iZW3LUq=fbjme#kf1$(NAS zQs5XP>%n5CFE~fmu`RwpKO^Ov!Lskxm#I(ZhVBc|f7bkA_UrYZ05dDeO_}l49zQ}X z|MewiVe)gHs%xn{<|oP+^q;8yqGhOa>hoKpo}0L0gzSP*&C13gIK7Q;6pQ~BrnK0y z#nu_WavsXL-Ok!D_2~n~Pl(=26^l8>@R|`X|Cvc7p7bO;{x~HsZk(iVk6k1q{^K6{ zNT~I&bJOA_SQ4BTX;U67=Hefje=W|K~@~595LEf99~wY+>&2b2ZoRbG5#NXGB;$ z|G%I5M(z6DyJ-!bg|i1ORIB)DZRjI+U*~^69lnzg2^qCH=T^l3ePi@11b+C@{}cae zFZ(=rL6Tp0BX$-VzePXpoS{uIrwmXL{6my z8c{Xu&JFINx+Hn2bl<$zZGQNk*R3f(NuC=Di8*A1mrqGl;~}AvQn(I97czOj%B}U& zn{Iq~65=P}z<=^k3s(GnD|{Iy#MXeKu9g(E&ylL!qDT8J<%R*@s_f_g;8qG3yw9mq z?aEk;COt@+YW#u5u*7+&*nNNZa4-60;g~9*t?K*(_>8Is0Q0Covy+pRAbNij#)OjD zIBcxUgz$#?p-r97p!#G~(Vwe=|M=ckJWddQj%OY!aw)6>WiIa@LR9j)yY2^^)`R1M zc(}YwsUZTU6;d9bRzx2-OogL{?6%DAY*WFKLBWBk^W~awDyvct{smc=mm-7E$7Wgv zTv%f!9lX4Lk=hv&sxT_{T4a0Meb?Z{MlH}yIB0PO5BcyRkpEO#HicrHnfUXYwcw|p zfyO-}v}v5C;~OV_ukbzcb4{-VQzntzrKO~U=ov;{$BRw*2ZOO(`28@*;1z9}w#Du* z$Ly)Q3o4?)E8__bAE4n$;og+0)4Ufm__D+9WJ?MmS-AJN@mAt#xxH-cW2 zzwp)puS{Iufz+*NiDw4JFDt~whx8Idjb)`IO7RwsJiO;2SMf5NDAjb#_zFSDv3G|=!ABUa(spftE+04W54-0c^@qeD(PuEYu#_QV;!M*sR^8Z=G z;vExe9vM3Z_m+gkxOq7+CHpl@%{3AFah%Ise$lRvN(}`ah1}I#J+YTBU!KQc80VXj z39MqwSOjD?+|@p|3b=@N>(0fsTbNqE_4p_PgIJ}(fH7Hr&d;@zK@G7?76G{(YZEU; zZS_bNOPbXKr>@ufe@8Gyjk)z4*}Q$iB}MRsco literal 49528 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%0D6~8^+R1dQLb1`l}jR?7}$fM zf|&PF>A#$id;#CjNuF7{*XAwm#4;u4m0{tswm0YuPrd+Pjb0?vlR)v$w0hP?ueG*s zYGq!|z(YOBq%*@LD)*NF3j^6yydgh-Hv6pA%I0}%L=xuoWB51n(C3Dc9PY2e*wVkU zm|XKG9J8lK1fTsIsst=IB%35TPjM?{JbB^;5ZqJ|X%c#`qMdPl<}=p=gRe#DqXij@ zO^Jl6>goTbh-Cm(@HQ@9ta8L%h!|jnu~O^V*2ot3+AmVMa_mercv~c1Q;+c*W9tIo zmB(Z-B%AZdacXBbpJ_x!g{r*y^*Vj6-(5=_zy|&2mi!oqDi3oP%K=2Z|9m3j9AJXN zj2ZX4|9iZDAy3B#R!{?C3Aaha^y3Hru~piXTca}EAsI zXC=BZ#5*2YMfE?AM;co`*6mZw$4G=r1m`KI82K#EY1I z#COA<0`KC*O+c8?{{>`Y#i0xyJ0RHx@fqNoZge+9iU3TGZ^sDc;7w0{BQOZ08ya2yK)fAbnwUMm3#lnML-?yH>iqLUU)k`1rG&9dRpO8zX6G>5r~l;b2gf<&sxb> zxgBSek4-+ohRaQn`eaLMj4LupQfE!$`$>-LTP5P0v}ZDkx2h@Q#ror@BweZFa4oaZ zZ=eaR4G3J4y>CURUenmE>PzNnw5%h5>9G~uo;{Q{v2@)i!iVw>2(sSwQQD)-`;8Kh znA)?l*%?lNPn%aZK7fR{ig``BI#aH4>dGZECMKqCD+}|BIv<5+Gnxj*!Y_9#n{%k& zKn=-J{ss5^zrO+qJe8O|xRFv>3hlr8UspG9rB49d#e(d+jR1i2KVLz91jGWI{htd1 z&cy#TW#nc9`@=7W|1YTT{|1V}6fj)-VQ~+j|25hKlf!}iHC2^2{_7wLEX}H$f4&IC W Date: Wed, 22 Sep 2021 16:26:29 +0200 Subject: [PATCH 027/107] refactor: making IsBound a public function (#425) * refactor: making IsBound a public function * chore: make 05-port keeper function IsBound public * test: adding test for IsBound * chore: updating changelog * fix: changelog --- CHANGELOG.md | 1 + modules/core/05-port/keeper/keeper.go | 6 +++--- modules/core/05-port/keeper/keeper_test.go | 6 ++++++ 3 files changed, 10 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 81eac3c769c..f246be20c62 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -46,6 +46,7 @@ Ref: https://keepachangelog.com/en/1.0.0/ ### Improvements * [\#383](https://github.com/cosmos/ibc-go/pull/383) Adds helper functions for merging and splitting middleware versions from the underlying app version. +* (modules/core/05-port) [\#288](https://github.com/cosmos/ibc-go/issues/288) Making the 05-port keeper function IsBound public. The IsBound function checks if the provided portID is already binded to a module. ### Features diff --git a/modules/core/05-port/keeper/keeper.go b/modules/core/05-port/keeper/keeper.go index d864e60456c..0ef9850a709 100644 --- a/modules/core/05-port/keeper/keeper.go +++ b/modules/core/05-port/keeper/keeper.go @@ -31,8 +31,8 @@ func (k Keeper) Logger(ctx sdk.Context) log.Logger { return ctx.Logger().With("module", "x/"+host.ModuleName+"/"+types.SubModuleName) } -// isBounded checks a given port ID is already bounded. -func (k Keeper) isBound(ctx sdk.Context, portID string) bool { +// IsBound checks a given port ID is already bounded. +func (k Keeper) IsBound(ctx sdk.Context, portID string) bool { _, ok := k.scopedKeeper.GetCapability(ctx, host.PortPath(portID)) return ok } @@ -46,7 +46,7 @@ func (k *Keeper) BindPort(ctx sdk.Context, portID string) *capabilitytypes.Capab panic(err.Error()) } - if k.isBound(ctx, portID) { + if k.IsBound(ctx, portID) { panic(fmt.Sprintf("port %s is already bound", portID)) } diff --git a/modules/core/05-port/keeper/keeper_test.go b/modules/core/05-port/keeper/keeper_test.go index 1bfc7428f19..2222517c05a 100644 --- a/modules/core/05-port/keeper/keeper_test.go +++ b/modules/core/05-port/keeper/keeper_test.go @@ -44,6 +44,12 @@ func (suite *KeeperTestSuite) TestBind() { capKey := suite.keeper.BindPort(suite.ctx, validPort) require.NotNil(suite.T(), capKey, "capabilityKey is nil on valid BindPort") + isBound := suite.keeper.IsBound(suite.ctx, validPort) + require.True(suite.T(), isBound, "port is bound successfully") + + isNotBound := suite.keeper.IsBound(suite.ctx, "not-a-port") + require.False(suite.T(), isNotBound, "port is not bound") + // Test that rebinding the same portid causes panic require.Panics(suite.T(), func() { suite.keeper.BindPort(suite.ctx, validPort) }, "did not panic on re-binding the same port") } From 6e56b04a1ba36deea17ff94a53c475b977a0fe90 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?colin=20axn=C3=A9r?= <25233464+colin-axner@users.noreply.github.com> Date: Mon, 27 Sep 2021 12:02:50 +0200 Subject: [PATCH 028/107] feat: Reusability of Mock module for middleware integration tests (#432) * proof of concept for mock middleware * add mock base app implementation and add documentation * add changelog * update wording * Update CHANGELOG.md * rename BaseApp to IBCApp * fix testing readme * Update testing/README.md Co-authored-by: Aditya --- CHANGELOG.md | 1 + testing/README.md | 16 +++++++ testing/mock/ibc_app.go | 95 +++++++++++++++++++++++++++++++++++++++++ testing/mock/mock.go | 62 ++++++++++++++++++++++----- testing/simapp/app.go | 5 +++ 5 files changed, 169 insertions(+), 10 deletions(-) create mode 100644 testing/mock/ibc_app.go diff --git a/CHANGELOG.md b/CHANGELOG.md index f246be20c62..c9c9df3f04a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -51,6 +51,7 @@ Ref: https://keepachangelog.com/en/1.0.0/ ### Features * [\#384](https://github.com/cosmos/ibc-go/pull/384) Added `NegotiateAppVersion` method to `IBCModule` interface supported by a gRPC query service in `05-port`. This provides routing of requests to the desired application module callback, which in turn performs application version negotiation. +* [\#432](https://github.com/cosmos/ibc-go/pull/432) Introduce `MockIBCApp` struct to the mock module. Allows the mock module to be reused to perform custom logic on each IBC App interface function. This might be useful when testing out IBC applications written as middleware. ## [v1.2.0](https://github.com/cosmos/ibc-go/releases/tag/v1.2.0) - 2021-09-10 diff --git a/testing/README.md b/testing/README.md index 1befdd04ee8..f7a71bb1348 100644 --- a/testing/README.md +++ b/testing/README.md @@ -287,3 +287,19 @@ func GetTransferSimApp(chain *ibctesting.TestChain) *simapp.SimApp { return app } ``` + +### Middleware Testing + +When writing IBC applications acting as middleware, it might be desirable to test integration points. +This can be done by wiring a middleware stack in the app.go file using existing applications as middleware and IBC base applications. +The mock module may also be leveraged to act as a base application in the instance that such an application is not available for testing or causes dependency concerns. + +The mock module contains a `MockIBCApp`. This struct contains a function field for every IBC App Module callback. +Each of these functions can be individually set to mock expected behaviour of a base application. + +For example, if one wanted to test that the base application cannot affect the outcome of the `OnChanOpenTry` callback, the mock module base application callback could be updated as such: +```go + mockModule.IBCApp.OnChanOpenTry = func(ctx sdk.Context, portID, channelID, version string) error { + return fmt.Errorf("mock base app must not be called for OnChanOpenTry") + } +``` diff --git a/testing/mock/ibc_app.go b/testing/mock/ibc_app.go new file mode 100644 index 00000000000..92e36a697ef --- /dev/null +++ b/testing/mock/ibc_app.go @@ -0,0 +1,95 @@ +package mock + +import ( + sdk "github.com/cosmos/cosmos-sdk/types" + capabilitytypes "github.com/cosmos/cosmos-sdk/x/capability/types" + + channeltypes "github.com/cosmos/ibc-go/v2/modules/core/04-channel/types" + "github.com/cosmos/ibc-go/v2/modules/core/exported" +) + +type MockIBCApp struct { + OnChanOpenInit func( + ctx sdk.Context, + order channeltypes.Order, + connectionHops []string, + portID string, + channelID string, + channelCap *capabilitytypes.Capability, + counterparty channeltypes.Counterparty, + version string, + ) error + + OnChanOpenTry func( + ctx sdk.Context, + order channeltypes.Order, + connectionHops []string, + portID, + channelID string, + channelCap *capabilitytypes.Capability, + counterparty channeltypes.Counterparty, + version, + counterpartyVersion string, + ) error + + OnChanOpenAck func( + ctx sdk.Context, + portID, + channelID string, + counterpartyVersion string, + ) error + + OnChanOpenConfirm func( + ctx sdk.Context, + portID, + channelID string, + ) error + + OnChanCloseInit func( + ctx sdk.Context, + portID, + channelID string, + ) error + + OnChanCloseConfirm func( + ctx sdk.Context, + portID, + channelID string, + ) error + + // OnRecvPacket must return an acknowledgement that implements the Acknowledgement interface. + // In the case of an asynchronous acknowledgement, nil should be returned. + // If the acknowledgement returned is successful, the state changes on callback are written, + // otherwise the application state changes are discarded. In either case the packet is received + // and the acknowledgement is written (in synchronous cases). + OnRecvPacket func( + ctx sdk.Context, + packet channeltypes.Packet, + relayer sdk.AccAddress, + ) exported.Acknowledgement + + OnAcknowledgementPacket func( + ctx sdk.Context, + packet channeltypes.Packet, + acknowledgement []byte, + relayer sdk.AccAddress, + ) error + + OnTimeoutPacket func( + ctx sdk.Context, + packet channeltypes.Packet, + relayer sdk.AccAddress, + ) error + + // NegotiateAppVersion performs application version negotiation given the provided channel ordering, connectionID, portID, counterparty and proposed version. + // An error is returned if version negotiation cannot be performed. For example, an application module implementing this interface + // may decide to return an error in the event of the proposed version being incompatible with it's own + NegotiateAppVersion func( + ctx sdk.Context, + order channeltypes.Order, + connectionID string, + portID string, + counterparty channeltypes.Counterparty, + proposedVersion string, + ) (version string, err error) +} diff --git a/testing/mock/mock.go b/testing/mock/mock.go index 8967f0aceb2..00dc8e94751 100644 --- a/testing/mock/mock.go +++ b/testing/mock/mock.go @@ -94,6 +94,7 @@ type AppModule struct { AppModuleBasic scopedKeeper capabilitykeeper.ScopedKeeper portKeeper PortKeeper + IBCApp MockIBCApp // base application of an IBC middleware stack } // NewAppModule returns a mock AppModule instance. @@ -153,9 +154,14 @@ func (am AppModule) EndBlock(ctx sdk.Context, req abci.RequestEndBlock) []abci.V // OnChanOpenInit implements the IBCModule interface. func (am AppModule) OnChanOpenInit( - ctx sdk.Context, _ channeltypes.Order, _ []string, portID string, - channelID string, chanCap *capabilitytypes.Capability, _ channeltypes.Counterparty, _ string, + ctx sdk.Context, order channeltypes.Order, connectionHops []string, portID string, + channelID string, chanCap *capabilitytypes.Capability, counterparty channeltypes.Counterparty, version string, ) error { + if am.IBCApp.OnChanOpenInit != nil { + return am.IBCApp.OnChanOpenInit(ctx, order, connectionHops, portID, channelID, chanCap, counterparty, version) + + } + // Claim channel capability passed back by IBC module if err := am.scopedKeeper.ClaimCapability(ctx, chanCap, host.ChannelCapabilityPath(portID, channelID)); err != nil { return err @@ -166,9 +172,13 @@ func (am AppModule) OnChanOpenInit( // OnChanOpenTry implements the IBCModule interface. func (am AppModule) OnChanOpenTry( - ctx sdk.Context, _ channeltypes.Order, _ []string, portID string, - channelID string, chanCap *capabilitytypes.Capability, _ channeltypes.Counterparty, _, _ string, + ctx sdk.Context, order channeltypes.Order, connectionHops []string, portID string, + channelID string, chanCap *capabilitytypes.Capability, counterparty channeltypes.Counterparty, version, counterpartyVersion string, ) error { + if am.IBCApp.OnChanOpenTry != nil { + return am.IBCApp.OnChanOpenTry(ctx, order, connectionHops, portID, channelID, chanCap, counterparty, version, counterpartyVersion) + + } // Claim channel capability passed back by IBC module if err := am.scopedKeeper.ClaimCapability(ctx, chanCap, host.ChannelCapabilityPath(portID, channelID)); err != nil { return err @@ -178,27 +188,47 @@ func (am AppModule) OnChanOpenTry( } // OnChanOpenAck implements the IBCModule interface. -func (am AppModule) OnChanOpenAck(sdk.Context, string, string, string) error { +func (am AppModule) OnChanOpenAck(ctx sdk.Context, portID string, channelID string, counterpartyVersion string) error { + if am.IBCApp.OnChanOpenAck != nil { + return am.IBCApp.OnChanOpenAck(ctx, portID, channelID, counterpartyVersion) + } + return nil } // OnChanOpenConfirm implements the IBCModule interface. -func (am AppModule) OnChanOpenConfirm(sdk.Context, string, string) error { +func (am AppModule) OnChanOpenConfirm(ctx sdk.Context, portID, channelID string) error { + if am.IBCApp.OnChanOpenConfirm != nil { + return am.IBCApp.OnChanOpenConfirm(ctx, portID, channelID) + } + return nil } // OnChanCloseInit implements the IBCModule interface. -func (am AppModule) OnChanCloseInit(sdk.Context, string, string) error { +func (am AppModule) OnChanCloseInit(ctx sdk.Context, portID, channelID string) error { + if am.IBCApp.OnChanCloseInit != nil { + return am.IBCApp.OnChanCloseInit(ctx, portID, channelID) + } + return nil } // OnChanCloseConfirm implements the IBCModule interface. -func (am AppModule) OnChanCloseConfirm(sdk.Context, string, string) error { +func (am AppModule) OnChanCloseConfirm(ctx sdk.Context, portID, channelID string) error { + if am.IBCApp.OnChanCloseConfirm != nil { + return am.IBCApp.OnChanCloseConfirm(ctx, portID, channelID) + } + return nil } // OnRecvPacket implements the IBCModule interface. func (am AppModule) OnRecvPacket(ctx sdk.Context, packet channeltypes.Packet, relayer sdk.AccAddress) exported.Acknowledgement { + if am.IBCApp.OnRecvPacket != nil { + return am.IBCApp.OnRecvPacket(ctx, packet, relayer) + } + // set state by claiming capability to check if revert happens return _, err := am.scopedKeeper.NewCapability(ctx, MockRecvCanaryCapabilityName+strconv.Itoa(int(packet.GetSequence()))) if err != nil { @@ -216,7 +246,11 @@ func (am AppModule) OnRecvPacket(ctx sdk.Context, packet channeltypes.Packet, re } // OnAcknowledgementPacket implements the IBCModule interface. -func (am AppModule) OnAcknowledgementPacket(ctx sdk.Context, packet channeltypes.Packet, _ []byte, _ sdk.AccAddress) error { +func (am AppModule) OnAcknowledgementPacket(ctx sdk.Context, packet channeltypes.Packet, acknowledgement []byte, relayer sdk.AccAddress) error { + if am.IBCApp.OnAcknowledgementPacket != nil { + return am.IBCApp.OnAcknowledgementPacket(ctx, packet, acknowledgement, relayer) + } + _, err := am.scopedKeeper.NewCapability(ctx, MockAckCanaryCapabilityName+strconv.Itoa(int(packet.GetSequence()))) if err != nil { // application callback called twice on same packet sequence @@ -228,7 +262,11 @@ func (am AppModule) OnAcknowledgementPacket(ctx sdk.Context, packet channeltypes } // OnTimeoutPacket implements the IBCModule interface. -func (am AppModule) OnTimeoutPacket(ctx sdk.Context, packet channeltypes.Packet, _ sdk.AccAddress) error { +func (am AppModule) OnTimeoutPacket(ctx sdk.Context, packet channeltypes.Packet, relayer sdk.AccAddress) error { + if am.IBCApp.OnTimeoutPacket != nil { + return am.IBCApp.OnTimeoutPacket(ctx, packet, relayer) + } + _, err := am.scopedKeeper.NewCapability(ctx, MockTimeoutCanaryCapabilityName+strconv.Itoa(int(packet.GetSequence()))) if err != nil { // application callback called twice on same packet sequence @@ -248,6 +286,10 @@ func (am AppModule) NegotiateAppVersion( counterparty channeltypes.Counterparty, proposedVersion string, ) (string, error) { + if am.IBCApp.NegotiateAppVersion != nil { + return am.IBCApp.NegotiateAppVersion(ctx, order, connectionID, portID, counterparty, proposedVersion) + } + if proposedVersion != Version { // allow testing of error scenarios return "", errors.New("failed to negotiate app version") } diff --git a/testing/simapp/app.go b/testing/simapp/app.go index f16cbc112c3..cc2aefc03f6 100644 --- a/testing/simapp/app.go +++ b/testing/simapp/app.go @@ -578,6 +578,11 @@ func (app *SimApp) GetScopedIBCKeeper() capabilitykeeper.ScopedKeeper { return app.ScopedIBCKeeper } +// GetMockModule returns the mock module in the testing application +func (app *SimApp) GetMockModule() ibcmock.AppModule { + return app.mm.Modules[ibcmock.ModuleName].(ibcmock.AppModule) +} + // GetTxConfig implements the TestingApp interface. func (app *SimApp) GetTxConfig() client.TxConfig { return MakeTestEncodingConfig().TxConfig From 50d554215d568d1598370054a1e7e9b4c24ce16b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?colin=20axn=C3=A9r?= <25233464+colin-axner@users.noreply.github.com> Date: Thu, 30 Sep 2021 13:58:06 +0200 Subject: [PATCH 029/107] bump SDK v0.44.0 -> v0.44.1 (#455) * bump SDK v0.44.0 -> v0.44.1 * add changelog entry --- CHANGELOG.md | 4 + go.mod | 2 +- go.sum | 314 +++++++++++++++++++++++++++++++++++++++++++++++---- 3 files changed, 299 insertions(+), 21 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index c9c9df3f04a..de6907da2a1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -36,6 +36,10 @@ Ref: https://keepachangelog.com/en/1.0.0/ ## [Unreleased] +### Dependencies + +* [\#455](https://github.com/cosmos/ibc-go/pull/455) Bump SDK version to v0.44.1 + ### API Breaking * (core) [\#227](https://github.com/cosmos/ibc-go/pull/227) Remove sdk.Result from application callbacks diff --git a/go.mod b/go.mod index ed78b394e44..e748e0ec0d4 100644 --- a/go.mod +++ b/go.mod @@ -7,7 +7,7 @@ replace github.com/gogo/protobuf => github.com/regen-network/protobuf v1.3.3-alp require ( github.com/armon/go-metrics v0.3.9 github.com/confio/ics23/go v0.6.6 - github.com/cosmos/cosmos-sdk v0.44.0 + github.com/cosmos/cosmos-sdk v0.44.1 github.com/gogo/protobuf v1.3.3 github.com/golang/protobuf v1.5.2 github.com/gorilla/mux v1.8.0 diff --git a/go.sum b/go.sum index 7ec64ae0a55..91a8dd30ada 100644 --- a/go.sum +++ b/go.sum @@ -1,4 +1,6 @@ +4d63.com/gochecknoglobals v0.0.0-20201008074935-acfc0b28355a/go.mod h1:wfdC5ZjKSPr7CybKEcgJhUOgeAQW1+7WcyK8OvUilfo= bazil.org/fuse v0.0.0-20160811212531-371fbbdaa898/go.mod h1:Xbm+BRKSBEpa4q4hTSxohYNQpsxXPbPry4JJWOB3LB8= +bitbucket.org/creachadair/shell v0.0.6/go.mod h1:8Qqi/cYk7vPnsOePHroKXDJYmb5x7ENhtiFtfZq8K+M= cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= cloud.google.com/go v0.38.0/go.mod h1:990N+gfupTy94rShfmMCWGDn0LpTmnzTp2qbd1dvSRU= @@ -12,6 +14,7 @@ cloud.google.com/go v0.53.0/go.mod h1:fp/UouUEsRkN6ryDKNW/Upv/JBKnv6WDthjR6+vze6 cloud.google.com/go v0.54.0/go.mod h1:1rq2OEkV3YMf6n/9ZvGWI3GWw0VoqH/1x2nd8Is/bPc= cloud.google.com/go v0.56.0/go.mod h1:jr7tqZxxKOVYizybht9+26Z/gUq7tiRzu+ACVAMbKVk= cloud.google.com/go v0.57.0/go.mod h1:oXiQ6Rzq3RAkkY7N6t3TcE6jE+CIBBbA36lwQ1JyzZs= +cloud.google.com/go v0.60.0/go.mod h1:yw2G51M9IfRboUH61Us8GqCeF1PzPblB823Mn2q2eAU= cloud.google.com/go v0.62.0/go.mod h1:jmCYTdRCQuc1PHIIJ/maLInMho30T/Y0M4hTdTShOYc= cloud.google.com/go v0.65.0/go.mod h1:O5N8zS7uWy9vkA9vayVHs65eM1ubvY4h553ofrNHObY= cloud.google.com/go v0.72.0/go.mod h1:M+5Vjvlc2wnp6tjzE102Dw08nGShTscUx2nZMufOKPI= @@ -38,16 +41,20 @@ cloud.google.com/go/pubsub v1.0.1/go.mod h1:R0Gpsv3s54REJCy4fxDixWD93lHJMoZTyQ2k cloud.google.com/go/pubsub v1.1.0/go.mod h1:EwwdRX2sKPjnvnqCa270oGRyludottCI76h+R3AArQw= cloud.google.com/go/pubsub v1.2.0/go.mod h1:jhfEVHT8odbXTkndysNHCcx0awwzvfOlguIAii9o8iA= cloud.google.com/go/pubsub v1.3.1/go.mod h1:i+ucay31+CNRpDW4Lu78I4xXG+O1r/MAHgjpRVR+TSU= +cloud.google.com/go/pubsub v1.5.0/go.mod h1:ZEwJccE3z93Z2HWvstpri00jOg7oO4UZDtKhwDwqF0w= +cloud.google.com/go/spanner v1.7.0/go.mod h1:sd3K2gZ9Fd0vMPLXzeCrF6fq4i63Q7aTLW/lBIfBkIk= cloud.google.com/go/storage v1.0.0/go.mod h1:IhtSnM/ZTZV8YYJWCY8RULGVqBDmpoyjwiyrjsg+URw= cloud.google.com/go/storage v1.5.0/go.mod h1:tpKbwo567HUNpVclU5sGELwQWBDZ8gh0ZeosJ0Rtdos= cloud.google.com/go/storage v1.6.0/go.mod h1:N7U0C8pVQ/+NIKOBQyamJIeKQKkZ+mxpohlUTyfDhBk= cloud.google.com/go/storage v1.8.0/go.mod h1:Wv1Oy7z6Yz3DshWRJFhqM/UCfaWIRTdp0RXyy7KQOVs= cloud.google.com/go/storage v1.10.0/go.mod h1:FLPqc6j+Ki4BU591ie1oL6qBQGu2Bl/tZ9ullr3+Kg0= +contrib.go.opencensus.io/exporter/stackdriver v0.13.4/go.mod h1:aXENhDJ1Y4lIg4EUaVTwzvYETVNZk10Pu26tevFKLUc= dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= filippo.io/edwards25519 v1.0.0-beta.2 h1:/BZRNzm8N4K4eWfK28dL4yescorxtO7YG1yun8fy+pI= filippo.io/edwards25519 v1.0.0-beta.2/go.mod h1:X+pm78QAUPtFLi1z9PYIlS/bdDnvbCOGKtZ+ACWEf7o= github.com/99designs/keyring v1.1.6 h1:kVDC2uCgVwecxCk+9zoCt2uEL6dt+dfVzMvGgnVcIuM= github.com/99designs/keyring v1.1.6/go.mod h1:16e0ds7LGQQcT59QqkTg72Hh5ShM51Byv5PEmW6uoRU= +github.com/Antonboom/errname v0.1.4/go.mod h1:jRXo3m0E0EuCnK3wbsSVH3X55Z4iTDLl6ZfCxwFj4TM= github.com/Azure/azure-pipeline-go v0.2.1/go.mod h1:UGSo8XybXnIGZ3epmeBw7Jdz+HiUVpqIlpz/HKHylF4= github.com/Azure/azure-pipeline-go v0.2.2/go.mod h1:4rQ/NZncSvGqNkkOsNpOU1tgoNuIlp9AfUH5G1tvCHc= github.com/Azure/azure-storage-blob-go v0.7.0/go.mod h1:f9YQKtsG1nMisotuTPpO0tjNuEjKRYAcJU8/ydDI++4= @@ -65,6 +72,7 @@ github.com/Azure/go-autorest/autorest/mocks v0.3.0/go.mod h1:a8FDP3DYzQ4RYfVAxAN github.com/Azure/go-autorest/logger v0.1.0/go.mod h1:oExouG+K6PryycPJfVSxi/koC6LSNgds39diKLz7Vrc= github.com/Azure/go-autorest/tracing v0.5.0/go.mod h1:r/s2XiOKccPW3HrqB+W0TQzfbtp2fGCgRFtBroKn4Dk= github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= +github.com/BurntSushi/toml v0.4.1/go.mod h1:CxXYINrC8qIiEnFrOxCa7Jy5BFHlXnUU2pbicEuybxQ= github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= github.com/ChainSafe/go-schnorrkel v0.0.0-20200405005733-88cbf1b4c40d h1:nalkkPQcITbvhmL4+C4cKA87NW0tfm3Kl9VXRoPywFg= github.com/ChainSafe/go-schnorrkel v0.0.0-20200405005733-88cbf1b4c40d/go.mod h1:URdX5+vg25ts3aCh8H5IFZybJYKWhJHYMTnf+ULtoC4= @@ -72,7 +80,13 @@ github.com/DataDog/datadog-go v3.2.0+incompatible/go.mod h1:LButxg5PwREeZtORoXG3 github.com/DataDog/zstd v1.4.1/go.mod h1:1jcaCB/ufaK+sKp1NBhlGmpz41jOoPQ35bpF36t7BBo= github.com/DataDog/zstd v1.4.5 h1:EndNeuB0l9syBZhut0wns3gV1hL8zX8LIu6ZiVHWLIQ= github.com/DataDog/zstd v1.4.5/go.mod h1:1jcaCB/ufaK+sKp1NBhlGmpz41jOoPQ35bpF36t7BBo= +github.com/Djarvur/go-err113 v0.0.0-20210108212216-aea10b59be24/go.mod h1:4UJr5HIiMZrwgkSPdsjy2uOQExX/WEILpIrO9UPGuXs= github.com/Knetic/govaluate v3.0.1-0.20171022003610-9aa49832a739+incompatible/go.mod h1:r7JcOSlj0wfOMncg0iLm8Leh48TZaKVeNIfJntJ2wa0= +github.com/Masterminds/goutils v1.1.0/go.mod h1:8cTjp+g8YejhMuvIA5y2vz3BpJxksy863GQaJW2MFNU= +github.com/Masterminds/semver v1.4.2/go.mod h1:MB6lktGJrhw8PrUyiEoblNEGEQ+RzHPF078ddwwvV3Y= +github.com/Masterminds/semver v1.5.0/go.mod h1:MB6lktGJrhw8PrUyiEoblNEGEQ+RzHPF078ddwwvV3Y= +github.com/Masterminds/sprig v2.15.0+incompatible/go.mod h1:y6hNFY5UBTIWBxnzTeuNhlNS5hqE0NB0E6fgfo2Br3o= +github.com/Masterminds/sprig v2.22.0+incompatible/go.mod h1:y6hNFY5UBTIWBxnzTeuNhlNS5hqE0NB0E6fgfo2Br3o= github.com/Microsoft/go-winio v0.4.14/go.mod h1:qXqCSQ3Xa7+6tgxaGTIe4Kpcdsi+P8jBhyzoq1bpyYA= github.com/Microsoft/go-winio v0.5.0 h1:Elr9Wn+sGKPlkaBvwu4mTrxtmOp3F3yV9qhaHbXGjwU= github.com/Microsoft/go-winio v0.5.0/go.mod h1:JPGBdM1cNvN/6ISo+n8V5iA4v8pBzdOpzfwIujj1a84= @@ -80,9 +94,11 @@ github.com/Nvveen/Gotty v0.0.0-20120604004816-cd527374f1e5 h1:TngWCqHvy9oXAN6lEV github.com/Nvveen/Gotty v0.0.0-20120604004816-cd527374f1e5/go.mod h1:lmUJ/7eu/Q8D7ML55dXQrVaamCz2vxCfdQBasLZfHKk= github.com/OneOfOne/xxhash v1.2.2 h1:KMrpdQIwFcEqXDklaen+P1axHaj9BSKzvpUUfnHldSE= github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU= +github.com/OpenPeeDeeP/depguard v1.0.1/go.mod h1:xsIw86fROiiwelg+jB2uM9PiKihMMmUx/1V+TNhjQvM= github.com/Shopify/sarama v1.19.0/go.mod h1:FVkBWblsNy7DGZRfXLU0O9RCGt5g3g3yEuWXgklEdEo= github.com/Shopify/toxiproxy v2.1.4+incompatible/go.mod h1:OXgGpZ6Cli1/URJOF1DMxUHB2q5Ap20/P/eIdh4G0pI= github.com/StackExchange/wmi v0.0.0-20180116203802-5d049714c4a6/go.mod h1:3eOhrUMpNV+6aFIbp5/iudMxNCF27Vw2OZgy4xEx0Fg= +github.com/StackExchange/wmi v1.2.1/go.mod h1:rcmrprowKIVzvc+NUiLncP2uuArMWLCbu9SBzvHz7e8= github.com/VictoriaMetrics/fastcache v1.5.7/go.mod h1:ptDBkNMQI4RtmVo8VS/XwRY6RoTu1dAWCbrk+6WsEM8= github.com/VividCortex/gohistogram v1.0.0 h1:6+hBz+qvs0JOrrNhhmR7lFxo5sINxBCGXrdtl/UvroE= github.com/VividCortex/gohistogram v1.0.0/go.mod h1:Pf5mBqqDxYaXu3hDrrU+w6nw50o/4+TcAqDqk/vUH7g= @@ -98,8 +114,12 @@ github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751/go.mod h1:LOuy github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= github.com/alecthomas/units v0.0.0-20190717042225-c3de453c63f4/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= github.com/alecthomas/units v0.0.0-20190924025748-f65c72e2690d/go.mod h1:rBZYJk541a8SKzHPHnH3zbiI+7dagKZ0cgpgrD7Fyho= +github.com/alexkohler/prealloc v1.0.0/go.mod h1:VetnK3dIgFBBKmg0YnD9F9x6Icjd+9cvfHR56wJVlKE= github.com/allegro/bigcache v1.2.1-0.20190218064605-e24eb225f156/go.mod h1:Cb/ax3seSYIx7SuZdm2G2xzfwmv3TPSk2ucNfQESPXM= +github.com/andybalholm/brotli v1.0.0/go.mod h1:loMXtMfwqflxFJPmdbJO0a3KNoPuLBgiu3qAvBg8x/Y= +github.com/antihax/optional v0.0.0-20180407024304-ca021399b1a6/go.mod h1:V8iCPQYkqmusNa815XgQio277wI47sdRh1dUOLdyC6Q= github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY= +github.com/aokoli/goutils v1.0.1/go.mod h1:SijmP0QR8LtwsmDs8Yii5Z/S4trXFGFC2oO5g9DP+DQ= github.com/apache/thrift v0.12.0/go.mod h1:cp2SuWMxlEZw2r+iP2GNCdIi4C1qmUzdZFSVb+bacwQ= github.com/apache/thrift v0.13.0/go.mod h1:cp2SuWMxlEZw2r+iP2GNCdIi4C1qmUzdZFSVb+bacwQ= github.com/aristanetworks/goarista v0.0.0-20170210015632-ea17b1a17847/go.mod h1:D/tb0zPVXnP7fmsLZjtdUhSsumbK/ij54UXjjVgMGxQ= @@ -111,9 +131,14 @@ github.com/armon/go-metrics v0.3.9/go.mod h1:4O98XIr/9W0sxpJ8UaYkvjk10Iff7SnFrb4 github.com/armon/go-radix v0.0.0-20180808171621-7fddfc383310/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= github.com/armon/go-radix v1.0.0/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= github.com/aryann/difflib v0.0.0-20170710044230-e206f873d14a/go.mod h1:DAHtR1m6lCRdSC2Tm3DSWRPvIPr6xNKyeHdqDQSQT+A= +github.com/ashanbrown/forbidigo v1.2.0/go.mod h1:vVW7PEdqEFqapJe95xHkTfB1+XvZXBFg8t0sG2FIxmI= +github.com/ashanbrown/makezero v0.0.0-20210520155254-b6261585ddde/go.mod h1:oG9Dnez7/ESBqc4EdrdNlryeo7d0KcW1ftXHm7nU/UU= github.com/aws/aws-lambda-go v1.13.3/go.mod h1:4UKl9IzQMoD+QF79YdCuzCwp8VbmG4VAQwij/eHl5CU= +github.com/aws/aws-sdk-go v1.23.20/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo= +github.com/aws/aws-sdk-go v1.25.37/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo= github.com/aws/aws-sdk-go v1.25.48/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo= github.com/aws/aws-sdk-go v1.27.0/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo= +github.com/aws/aws-sdk-go v1.36.30/go.mod h1:hcU610XS61/+aQV88ixoOzUoG7v3b31pl2zKMmprdro= github.com/aws/aws-sdk-go-v2 v0.18.0/go.mod h1:JWVYvqSMppoMJC0x5wdwiImzgXTI9FuZwxzkQq9wy+g= github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8= @@ -124,6 +149,8 @@ github.com/bgentry/speakeasy v0.1.0/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kB github.com/bits-and-blooms/bitset v1.2.0/go.mod h1:gIdJ4wp64HaoK2YrL1Q5/N7Y16edYb8uY+O0FJTyyDA= github.com/bketelsen/crypt v0.0.3-0.20200106085610-5cbc8cc4026c/go.mod h1:MKsuJmJgSg28kpZDP6UIiPt0e0Oz0kqKNGyRaWEPv84= github.com/bketelsen/crypt v0.0.4/go.mod h1:aI6NrJ0pMGgvZKL1iVgXLnfIFJtfV+bKCoqOes/6LfM= +github.com/bkielbasa/cyclop v1.2.0/go.mod h1:qOI0yy6A7dYC4Zgsa72Ppm9kONl0RoIlPbzot9mhmeI= +github.com/bombsimon/wsl/v3 v3.3.0/go.mod h1:st10JtZYLE4D5sC7b8xV4zTKZwAQjCH/Hy2Pm1FNZIc= github.com/btcsuite/btcd v0.0.0-20171128150713-2e60448ffcc6/go.mod h1:Dmm/EzmjnCiweXmzRIAiUWCInVmPgjkzgv5k4tVyXiQ= github.com/btcsuite/btcd v0.0.0-20190115013929-ed77733ec07d/go.mod h1:d3C0AkH6BRcvO8T0UEPu53cnw4IbV63x1bEjildYhO0= github.com/btcsuite/btcd v0.0.0-20190315201642-aa6e0f35703c/go.mod h1:DrZx5ec/dmnfpw9KyYoQyYo7d0KEvTkk/5M/vbZjAr8= @@ -154,6 +181,8 @@ github.com/cespare/xxhash v1.1.0 h1:a6HrQnmkObjyL+Gs60czilIUGqrzKutQD6XZog3p+ko= github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc= github.com/cespare/xxhash/v2 v2.1.1 h1:6MnRN8NT7+YBpUIWxHtefFZOKTAPgGjpQSxqLNn0+qY= github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= +github.com/charithe/durationcheck v0.0.8/go.mod h1:SSbRIBVfMjCi/kEB6K65XEA83D6prSM8ap1UCpNKtgg= +github.com/chavacava/garif v0.0.0-20210405164556-e8a0a408d6af/go.mod h1:Qjyv4H3//PWVzTeCezG2b9IRn6myJxJSr4TD/xo6ojU= github.com/checkpoint-restore/go-criu/v5 v5.0.0/go.mod h1:cfwC0EG7HMUenopBsUf9d89JlCLQIfgVcNsNN0t6T2M= github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI= github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= @@ -188,19 +217,20 @@ github.com/coreos/go-semver v0.2.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3Ee github.com/coreos/go-semver v0.3.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= github.com/coreos/go-systemd v0.0.0-20180511133405-39ca1b05acc7/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= +github.com/coreos/go-systemd v0.0.0-20190620071333-e64a0ec8b42a/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= github.com/coreos/go-systemd/v22 v22.3.2/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= github.com/coreos/pkg v0.0.0-20160727233714-3ac0863d7acf/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA= github.com/coreos/pkg v0.0.0-20180928190104-399ea9e2e55f/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA= -github.com/cosmos/cosmos-sdk v0.44.0 h1:eOSjACNtTnThEJ62IsS+pMm3OIU6hgMVqrp4TZClLZo= -github.com/cosmos/cosmos-sdk v0.44.0/go.mod h1:orG0jzFJ2KsDfzLd/X0JSOMzF4Oxc/BQz2GkcYF4gRE= +github.com/cosmos/cosmos-sdk v0.44.1 h1:UspmTMwKNGf6mH8k388v2T5csP9BYpPJkbQ/eG30PtM= +github.com/cosmos/cosmos-sdk v0.44.1/go.mod h1:fwQJdw+aECatpTvQTo1tSfHEsxACdZYU80QCZUPnHr4= github.com/cosmos/go-bip39 v0.0.0-20180819234021-555e2067c45d/go.mod h1:tSxLoYXyBmiFeKpvmq4dzayMdCjCnu8uqmCysIGBT2Y= github.com/cosmos/go-bip39 v1.0.0 h1:pcomnQdrdH22njcAatO0yWojsUnCO3y2tNoV1cb6hHY= github.com/cosmos/go-bip39 v1.0.0/go.mod h1:RNJv0H/pOIVgxw6KS7QeX2a0Uo0aKUlfhZ4xuwvCdJw= github.com/cosmos/iavl v0.15.0-rc3.0.20201009144442-230e9bdf52cd/go.mod h1:3xOIaNNX19p0QrX0VqWa6voPRoJRGGYtny+DH8NEPvE= github.com/cosmos/iavl v0.15.0-rc5/go.mod h1:WqoPL9yPTQ85QBMT45OOUzPxG/U/JcJoN7uMjgxke/I= github.com/cosmos/iavl v0.15.3/go.mod h1:OLjQiAQ4fGD2KDZooyJG9yz+p2ao2IAYSbke8mVvSA4= -github.com/cosmos/iavl v0.16.0 h1:ICIOB8xysirTX27GmVAaoeSpeozzgSu9d49w36xkVJA= -github.com/cosmos/iavl v0.16.0/go.mod h1:2A8O/Jz9YwtjqXMO0CjnnbTYEEaovE8jWcwrakH3PoE= +github.com/cosmos/iavl v0.17.1 h1:b/Cl8h1PRMvsu24+TYNlKchIu7W6tmxIBGe6E9u2Ybw= +github.com/cosmos/iavl v0.17.1/go.mod h1:7aisPZK8yCpQdy3PMvKeO+bhq1NwDjUwjzxwwROUxFk= github.com/cosmos/ledger-cosmos-go v0.11.1 h1:9JIYsGnXP613pb2vPjFeMMjBI5lEDsEaF6oYorTy6J4= github.com/cosmos/ledger-cosmos-go v0.11.1/go.mod h1:J8//BsAGTo3OC/vDLjMRFLW6q0WAaXvHnVc7ZmE8iUY= github.com/cosmos/ledger-go v0.9.2 h1:Nnao/dLwaVTk1Q5U9THldpUMMXU94BOTWPddSmVB6pI= @@ -209,15 +239,19 @@ github.com/cpuguy83/go-md2man v1.0.10/go.mod h1:SmD6nW6nTyfqj6ABTjUi3V3JVMnlJmwc github.com/cpuguy83/go-md2man/v2 v2.0.0-20190314233015-f79a8a8ca69d/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= github.com/cpuguy83/go-md2man/v2 v2.0.0/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= github.com/creack/pty v1.1.7/go.mod h1:lj5s0c3V2DBrqTV7llrYr5NG6My20zk30Fl46Y7DoTY= +github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= github.com/cyphar/filepath-securejoin v0.2.2/go.mod h1:FpkQEhXnPnOthhzymB7CGsFk2G9VLXONKD9G7QGMM+4= +github.com/daixiang0/gci v0.2.9/go.mod h1:+4dZ7TISfSmqfAGv59ePaHfNzgGtIkHAhhdKggP1JAc= github.com/danieljoos/wincred v1.0.2 h1:zf4bhty2iLuwgjgpraD2E9UbvO+fe54XXGJbOwe23fU= github.com/danieljoos/wincred v1.0.2/go.mod h1:SnuYRW9lp1oJrZX/dXJqr0cPK5gYXqx3EJbmjhLdK9U= +github.com/davecgh/go-spew v0.0.0-20161028175848-04cdfd42973b/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v0.0.0-20171005155431-ecdeabc65495/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/deckarep/golang-set v0.0.0-20180603214616-504e848d77ea/go.mod h1:93vsz/8Wt4joVM7c2AVqh+YRMiUSc14yDtF28KmMOgQ= github.com/decred/dcrd/lru v1.0.0/go.mod h1:mxKOwFd7lFjN2GZYsiz/ecgqR6kkYAl+0pz0tEMk218= +github.com/denis-tingajkin/go-header v0.4.2/go.mod h1:eLRHAVXzE5atsKAnNRDB90WHCFFnBUn4RN0nRcs1LJA= github.com/desertbit/timer v0.0.0-20180107155436-c41aec40b27f h1:U5y3Y5UE0w7amNe7Z5G/twsBW0KEalRQXZzf8ufSh9I= github.com/desertbit/timer v0.0.0-20180107155436-c41aec40b27f/go.mod h1:xH/i4TFMt8koVQZ6WFms69WAsDWr2XsYL3Hkl7jkoLE= github.com/dgraph-io/badger/v2 v2.2007.1/go.mod h1:26P/7fbL4kUZVEVKLAKXkBXKOydDmM2p1e+NhhnBCAE= @@ -259,8 +293,11 @@ github.com/envoyproxy/go-control-plane v0.9.7/go.mod h1:cwu0lG7PUMfa9snN8LXBig5y github.com/envoyproxy/go-control-plane v0.9.9-0.20201210154907-fd9021fe5dad/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk= github.com/envoyproxy/go-control-plane v0.9.9-0.20210217033140-668b12f5399d/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk= github.com/envoyproxy/go-control-plane v0.9.9-0.20210512163311-63b5d3c536b0/go.mod h1:hliV/p42l8fGbc6Y9bQ70uLwIvmJyVE5k4iMKlh8wCQ= +github.com/envoyproxy/protoc-gen-validate v0.0.14/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= +github.com/esimonov/ifshort v1.0.2/go.mod h1:yZqNJUrNn20K8Q9n2CrjTKYyVEmX209Hgu+M1LBpeZE= github.com/ethereum/go-ethereum v1.9.25/go.mod h1:vMkFiYLHI4tgPw4k2j4MHKoovchFE8plZ0M9VMk4/oM= +github.com/ettle/strcase v0.1.1/go.mod h1:hzDLsPC7/lwKyBOywSHEP89nt2pDgdy+No1NBA9o9VY= github.com/facebookgo/ensure v0.0.0-20160127193407-b4ab57deab51 h1:0JZ+dUmQeA8IIVUMzysrX4/AKuQwWhV2dYQuPZdvdSQ= github.com/facebookgo/ensure v0.0.0-20160127193407-b4ab57deab51/go.mod h1:Yg+htXGokKKdzcwhuNDwVvN+uBxDGXJ7G/VN1d8fa64= github.com/facebookgo/stack v0.0.0-20160209184415-751773369052 h1:JWuenKqqX8nojtoVVWjGfOF9635RETekkoH6Cc9SX0A= @@ -271,6 +308,8 @@ github.com/fatih/color v1.3.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5Kwzbycv github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4= github.com/fatih/color v1.9.0/go.mod h1:eQcE1qtQxscV5RaZvpXrrb8Drkc3/DdQ+uUYCNjL+zU= github.com/fatih/color v1.10.0/go.mod h1:ELkj/draVOlAH/xkhN6mQ50Qd0MPOk5AAr3maGEBuJM= +github.com/fatih/color v1.12.0/go.mod h1:ELkj/draVOlAH/xkhN6mQ50Qd0MPOk5AAr3maGEBuJM= +github.com/fatih/structtag v1.2.0/go.mod h1:mBJUNpUnHmRKrKlQQlmCrh5PuhftFbNv8Ys4/aAZl94= github.com/felixge/httpsnoop v1.0.1 h1:lvB5Jl89CsZtGIWuTcDM1E/vkVs49/Ml7JJe07l8SPQ= github.com/felixge/httpsnoop v1.0.1/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= github.com/fjl/memsize v0.0.0-20180418122429-ca190fb6ffbc/go.mod h1:VvhXpOYNQvB+uIk2RvXzuaQtkQJzzIx6lSBe1xv7hi0= @@ -283,12 +322,15 @@ github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMo github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ= github.com/fsnotify/fsnotify v1.5.1 h1:mZcQUHVQUQWoPXXtuf9yuEXKudkV2sx1E06UadKWpgI= github.com/fsnotify/fsnotify v1.5.1/go.mod h1:T3375wBYaZdLLcVNkcVbzGHY7f1l/uK5T5Ai1i3InKU= +github.com/fullstorydev/grpcurl v1.6.0/go.mod h1:ZQ+ayqbKMJNhzLmbpCiurTVlaK2M/3nqZCxaQ2Ze/sM= +github.com/fzipp/gocyclo v0.3.1/go.mod h1:DJHO6AUmbdqj2ET4Z9iArSuwWgYDRryYt2wASxc7x3E= github.com/gballet/go-libpcsclite v0.0.0-20190607065134-2772fd86a8ff/go.mod h1:x7DCsMOv1taUwEWCzT4cmDeAkigA5/QCwUodaVOe8Ww= github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= github.com/gin-contrib/sse v0.1.0 h1:Y/yl/+YNO8GZSjAhjMsSuLt29uWRFHdHYUb5lYOV9qE= github.com/gin-contrib/sse v0.1.0/go.mod h1:RHrZQHXnP2xjPF+u1gW/2HnVO7nvIa9PG3Gm+fLHvGI= github.com/gin-gonic/gin v1.6.3 h1:ahKqKTFpO5KTPHxWZjEdPScmYaGtLo8Y4DMHoEsnp14= github.com/gin-gonic/gin v1.6.3/go.mod h1:75u5sXoLsGZoRN5Sgbi1eraJ4GU3++wFwWzhwvtwp4M= +github.com/go-critic/go-critic v0.5.6/go.mod h1:cVjj0DfqewQVIlIAGexPCaGaZDAqGE29PYDDADIVNEo= github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU= github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= @@ -302,6 +344,7 @@ github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V github.com/go-logfmt/logfmt v0.5.0 h1:TrB8swr/68K7m9CcGut2g3UOihhbcbiMAYiuTXdEih4= github.com/go-logfmt/logfmt v0.5.0/go.mod h1:wCYkCAKZfumFQihp8CzCvQ3paCTfi41vtzG1KdI/P7A= github.com/go-ole/go-ole v1.2.1/go.mod h1:7FAglXiTm7HKlQRDeOQ6ZNUHidzCWXuZWq/1dTyBNF8= +github.com/go-ole/go-ole v1.2.5/go.mod h1:pprOEPIfldk/42T2oK7lQ4v4JSDwmV0As9GaiUsvbm0= github.com/go-playground/assert/v2 v2.0.1 h1:MsBgLAaY856+nPRTKrp3/OZK38U/wa0CcBYNjji3q3A= github.com/go-playground/assert/v2 v2.0.1/go.mod h1:VDjEfimB/XKnb+ZQfWdccd7VUvScMdVu0Titje2rxJ4= github.com/go-playground/locales v0.13.0 h1:HyWk6mgj5qFqCT5fjGBuRArbVDfE4hi8+e8ceBS/t7Q= @@ -310,10 +353,25 @@ github.com/go-playground/universal-translator v0.17.0 h1:icxd5fm+REJzpZx7ZfpaD87 github.com/go-playground/universal-translator v0.17.0/go.mod h1:UkSxE5sNxxRwHyU+Scu5vgOQjsIJAF8j9muTVoKLVtA= github.com/go-playground/validator/v10 v10.2.0 h1:KgJ0snyC2R9VXYN2rneOtQcw5aHQB1Vv0sFl1UcHBOY= github.com/go-playground/validator/v10 v10.2.0/go.mod h1:uOYAAleCW8F/7oMFd6aG0GOhaH6EGOAJShg8Id5JGkI= +github.com/go-redis/redis v6.15.8+incompatible/go.mod h1:NAIEuMOZ/fxfXJIrKDQDz8wamY7mA7PouImQ2Jvg6kA= github.com/go-sourcemap/sourcemap v2.1.2+incompatible/go.mod h1:F8jJfvm2KbVjc5NqelyYJmf/v5J0dwNLS2mL4sNA1Jg= github.com/go-sql-driver/mysql v1.4.0/go.mod h1:zAC/RDZ24gD3HViQzih4MyKcchzm+sOG5ZlKdlhCg5w= +github.com/go-sql-driver/mysql v1.5.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg= github.com/go-stack/stack v1.8.0 h1:5SgMzNM5HxrEjV0ww2lTmX6E2Izsfxas4+YHWRs3Lsk= github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= +github.com/go-task/slim-sprig v0.0.0-20210107165309-348f09dbbbc0/go.mod h1:fyg7847qk6SyHyPtNmDHnmrv/HOrqktSC+C9fM+CJOE= +github.com/go-toolsmith/astcast v1.0.0/go.mod h1:mt2OdQTeAQcY4DQgPSArJjHCcOwlX+Wl/kwN+LbLGQ4= +github.com/go-toolsmith/astcopy v1.0.0/go.mod h1:vrgyG+5Bxrnz4MZWPF+pI4R8h3qKRjjyvV/DSez4WVQ= +github.com/go-toolsmith/astequal v1.0.0/go.mod h1:H+xSiq0+LtiDC11+h1G32h7Of5O3CYFJ99GVbS5lDKY= +github.com/go-toolsmith/astfmt v1.0.0/go.mod h1:cnWmsOAuq4jJY6Ct5YWlVLmcmLMn1JUPuQIHCY7CJDw= +github.com/go-toolsmith/astinfo v0.0.0-20180906194353-9809ff7efb21/go.mod h1:dDStQCHtmZpYOmjRP/8gHHnCCch3Zz3oEgCdZVdtweU= +github.com/go-toolsmith/astp v1.0.0/go.mod h1:RSyrtpVlfTFGDYRbrjyWP1pYu//tSFcvdYrA8meBmLI= +github.com/go-toolsmith/pkgload v1.0.0/go.mod h1:5eFArkbO80v7Z0kdngIxsRXRMTaX4Ilcwuh3clNrQJc= +github.com/go-toolsmith/strparse v1.0.0/go.mod h1:YI2nUKP9YGZnL/L1/DLFBfixrcjslWct4wyljWhSRy8= +github.com/go-toolsmith/typep v1.0.0/go.mod h1:JSQCQMUPdRlMZFswiq3TGpNp1GMktqkR2Ns5AIQkATU= +github.com/go-toolsmith/typep v1.0.2/go.mod h1:JSQCQMUPdRlMZFswiq3TGpNp1GMktqkR2Ns5AIQkATU= +github.com/go-xmlfmt/xmlfmt v0.0.0-20191208150333-d5b6f63a941b/go.mod h1:aUCEOzzezBEjDBbFBoSiya/gduyIiWYRP6CnSFIV8AM= +github.com/gobwas/glob v0.2.3/go.mod h1:d3Ez4x06l9bZtSvzIay5+Yzi0fmZzPgnTbPcKjJAkT8= github.com/gobwas/httphead v0.0.0-20180130184737-2c6c146eadee h1:s+21KNqlpePfkah2I+gwHF8xmJWRjooY+5248k6m4A0= github.com/gobwas/httphead v0.0.0-20180130184737-2c6c146eadee/go.mod h1:L0fX3K22YWvt/FAX9NnzrNzcI4wNYi9Yku4O0LKYflo= github.com/gobwas/pool v0.2.0 h1:QEmUOlnSjWtnpRGHF3SauEiOsy82Cup83Vf2LcMlnc8= @@ -323,6 +381,7 @@ github.com/gobwas/ws v1.0.2/go.mod h1:szmBTxLgaFppYjEmNtny/v3w89xOydFnnZMcgRRu/E github.com/godbus/dbus v0.0.0-20190726142602-4481cbc300e2 h1:ZpnhV/YsD2/4cESfV5+Hoeu/iUR3ruzNvZ+yQfO03a0= github.com/godbus/dbus v0.0.0-20190726142602-4481cbc300e2/go.mod h1:bBOAhwG1umN6/6ZUMtDFBMQR8jRg9O75tm9K00oMsK4= github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= +github.com/gofrs/flock v0.8.1/go.mod h1:F1TvTiK9OcQqauNUHlbJvyl9Qa1QvF/gOUDKA14jxHU= github.com/gogo/gateway v1.1.0 h1:u0SuhL9+Il+UbjM9VIE3ntfRujKbvVpFvNB4HbjeVQ0= github.com/gogo/gateway v1.1.0/go.mod h1:S7rR8FRQyG3QFESeSv4l2WnsyzlCLG0CzBbUUo/mbic= github.com/gogo/googleapis v1.1.0/go.mod h1:gf4bu3Q80BeJ6H1S1vYPm8/ELATdvryBaNFGgqEef3s= @@ -342,6 +401,7 @@ github.com/golang/mock v1.4.4/go.mod h1:l3mdAwkq5BuhzHwde/uurv3sEJeZMXNpwsxVWU71 github.com/golang/mock v1.5.0/go.mod h1:CWnOUgYIOo4TcNZ0wHX3YZCqsaM1I1Jvs6v3mP3KVu8= github.com/golang/mock v1.6.0 h1:ErTB+efbowRARo13NNdxyJji2egdxLGQhRaY+DUumQc= github.com/golang/mock v1.6.0/go.mod h1:p6yTPP+5HYm5mzsMV8JkE6ZKdX+/wYM6Hr+LicevLPs= +github.com/golang/protobuf v1.1.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/golang/protobuf v1.3.0/go.mod h1:Qd/q+1AKNOZr9uGQzbzCmRO6sUih6GTPZv6a1/R87v0= github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= @@ -366,9 +426,21 @@ github.com/golang/snappy v0.0.1/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEW github.com/golang/snappy v0.0.3-0.20201103224600-674baa8c7fc3/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= github.com/golang/snappy v0.0.3 h1:fHPg5GQYlCeLIPB9BZqMVR5nR9A+IM5zcgeTdjMYmLA= github.com/golang/snappy v0.0.3/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= +github.com/golangci/check v0.0.0-20180506172741-cfe4005ccda2/go.mod h1:k9Qvh+8juN+UKMCS/3jFtGICgW8O96FVaZsaxdzDkR4= +github.com/golangci/dupl v0.0.0-20180902072040-3e9179ac440a/go.mod h1:ryS0uhF+x9jgbj/N71xsEqODy9BN81/GonCZiOzirOk= +github.com/golangci/go-misc v0.0.0-20180628070357-927a3d87b613/go.mod h1:SyvUF2NxV+sN8upjjeVYr5W7tyxaT1JVtvhKhOn2ii8= +github.com/golangci/gofmt v0.0.0-20190930125516-244bba706f1a/go.mod h1:9qCChq59u/eW8im404Q2WWTrnBUQKjpNYKMbU4M7EFU= +github.com/golangci/golangci-lint v1.42.1/go.mod h1:MuInrVlgg2jq4do6XI1jbkErbVHVbwdrLLtGv6p2wPI= +github.com/golangci/lint-1 v0.0.0-20191013205115-297bf364a8e0/go.mod h1:66R6K6P6VWk9I95jvqGxkqJxVWGFy9XlDwLwVz1RCFg= +github.com/golangci/maligned v0.0.0-20180506175553-b1d89398deca/go.mod h1:tvlJhZqDe4LMs4ZHD0oMUlt9G2LWuDGoisJTBzLMV9o= +github.com/golangci/misspell v0.3.5/go.mod h1:dEbvlSfYbMQDtrpRMQU675gSDLDNa8sCPPChZ7PhiVA= +github.com/golangci/revgrep v0.0.0-20210208091834-cd28932614b5/go.mod h1:LK+zW4MpyytAWQRz0M4xnzEk50lSvqDQKfx304apFkY= +github.com/golangci/unconvert v0.0.0-20180507085042-28b1c447d1f4/go.mod h1:Izgrg8RkN3rCIMLGE9CyYmU9pY2Jer6DgANEnZ/L/cQ= github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= github.com/google/btree v1.0.0 h1:0udJVsspx3VBr5FwtLhQQtuAsVc79tTq0ocGIPAU6qo= github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= +github.com/google/certificate-transparency-go v1.0.21/go.mod h1:QeJfpSbVSfYc7RgB3gJFj9cbuQMMchQxrWXz8Ruopmg= +github.com/google/certificate-transparency-go v1.1.1/go.mod h1:FDKqPvSXawb2ecErVRrD+nfy23RCzyl7eqVCEmlT1Zs= github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= @@ -398,6 +470,7 @@ github.com/google/pprof v0.0.0-20191218002539-d4f498aebedc/go.mod h1:ZgVRPoUq/hf github.com/google/pprof v0.0.0-20200212024743-f11f1df84d12/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= github.com/google/pprof v0.0.0-20200229191704-1ebb73c60ed3/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= github.com/google/pprof v0.0.0-20200430221834-fc25d7d30c6d/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= +github.com/google/pprof v0.0.0-20200507031123-427632fa3b1c/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= github.com/google/pprof v0.0.0-20200708004538-1a94d8640e99/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= github.com/google/pprof v0.0.0-20201023163331-3e6fc7fc9c4c/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/pprof v0.0.0-20201203190320-1bf35d6f28c2/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= @@ -407,14 +480,20 @@ github.com/google/pprof v0.0.0-20210601050228-01bbb1931b22/go.mod h1:kpwsk12EmLe github.com/google/pprof v0.0.0-20210609004039-a478d1d731e9/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/pprof v0.0.0-20210720184732-4bb14d4b1be1/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= +github.com/google/trillian v1.3.11/go.mod h1:0tPraVHrSDkA3BO6vKX67zgLXs6SsOAbHEivX+9mPgw= +github.com/google/uuid v0.0.0-20161128191214-064e2069ce9c/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.0.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/google/uuid v1.2.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg= github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk= github.com/googleapis/gax-go/v2 v2.1.0/go.mod h1:Q3nei7sK6ybPYH7twZdmQpAd1MKb7pfu6SK+H1/DsU0= +github.com/gookit/color v1.4.2/go.mod h1:fqRyamkC1W8uxl+lxCQxOT09l/vYfZ+QeiX3rKQHCoQ= github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY= github.com/gordonklaus/ineffassign v0.0.0-20200309095847-7953dde2c7bf/go.mod h1:cuNKsD1zp2v6XfE/orVX2QE1LC+i254ceGcVeDT3pTU= +github.com/gordonklaus/ineffassign v0.0.0-20210225214923-2e10b2664254/go.mod h1:M9mZEtGIsR1oDaZagNPNG9iq9n2HrhZ17dsXk73V3Lw= +github.com/gorhill/cronexpr v0.0.0-20180427100037-88b0669f7d75/go.mod h1:g2644b03hfBX9Ov0ZBDgXXens4rxSxmqFBbhvKv2yVA= github.com/gorilla/context v1.1.1/go.mod h1:kBGZzfjB9CEq2AlWe17Uuf7NDRt0dE0s8S51q0aT7Yg= github.com/gorilla/handlers v1.5.1 h1:9lRY6j8DEeeBT10CvO9hGW0gmky0BprnvDI5vfhUHH4= github.com/gorilla/handlers v1.5.1/go.mod h1:t8XrUpc4KVXb7HGyJ4/cEnwQiaxrX/hz1Zv/4g96P1Q= @@ -428,9 +507,18 @@ github.com/gorilla/websocket v1.4.1-0.20190629185528-ae1634f6a989/go.mod h1:E7qH github.com/gorilla/websocket v1.4.1/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= github.com/gorilla/websocket v1.4.2 h1:+/TMaTYc4QFitKJxsQ7Yye35DkWvkdLcvGKqM+x0Ufc= github.com/gorilla/websocket v1.4.2/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= +github.com/gostaticanalysis/analysisutil v0.0.0-20190318220348-4088753ea4d3/go.mod h1:eEOZF4jCKGi+aprrirO9e7WKB3beBRtWgqGunKl6pKE= +github.com/gostaticanalysis/analysisutil v0.0.3/go.mod h1:eEOZF4jCKGi+aprrirO9e7WKB3beBRtWgqGunKl6pKE= +github.com/gostaticanalysis/analysisutil v0.1.0/go.mod h1:dMhHRU9KTiDcuLGdy87/2gTR8WruwYZrKdRq9m1O6uw= +github.com/gostaticanalysis/analysisutil v0.4.1/go.mod h1:18U/DLpRgIUd459wGxVHE0fRgmo1UgHDcbw7F5idXu0= +github.com/gostaticanalysis/comment v1.3.0/go.mod h1:xMicKDx7XRXYdVwY9f9wQpDJVnqWxw9wCauCMKp+IBI= +github.com/gostaticanalysis/comment v1.4.1/go.mod h1:ih6ZxzTHLdadaiSnF5WY3dxUoXfXAlTaRzuaNDlSado= +github.com/gostaticanalysis/forcetypeassert v0.0.0-20200621232751-01d4955beaa5/go.mod h1:qZEedyP/sY1lTGV1uJ3VhWZ2mqag3IkWsDHVbplHXak= +github.com/gostaticanalysis/nilerr v0.1.1/go.mod h1:wZYb6YI5YAxxq0i1+VJbY0s2YONW0HU0GPE3+5PWN4A= github.com/gotestyourself/gotestyourself v2.2.0+incompatible h1:AQwinXlbQR2HvPjQZOmDhRqsv5mZf+Jb1RnSLxcqZcI= github.com/gotestyourself/gotestyourself v2.2.0+incompatible/go.mod h1:zZKM6oeNM8k+FRljX1mnzVYeS8wiGgQyvST1/GafPbY= github.com/graph-gophers/graphql-go v0.0.0-20191115155744-f33e81362277/go.mod h1:9CQHMSxwO4MprSdzoIEobiHpoLtHm77vfxsvsIN5Vuc= +github.com/gregjones/httpcache v0.0.0-20190611155906-901d90724c79/go.mod h1:FecbI9+v66THATjSRHfNgh1IVFe/9kFxbXtjV0ctIMA= github.com/grpc-ecosystem/go-grpc-middleware v1.0.0/go.mod h1:FiyG127CGDf3tlThmgyCl78X/SZQqEOJBCDaAfeWzPs= github.com/grpc-ecosystem/go-grpc-middleware v1.0.1-0.20190118093823-f849b5445de4/go.mod h1:FiyG127CGDf3tlThmgyCl78X/SZQqEOJBCDaAfeWzPs= github.com/grpc-ecosystem/go-grpc-middleware v1.2.1/go.mod h1:EaizFBKfUKtMIF5iaDEhniwNedqGo9FuLFzppDr3uwI= @@ -441,6 +529,7 @@ github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0/go.mod h1:8NvIoxWQoOIhqOTXgf github.com/grpc-ecosystem/grpc-gateway v1.8.5/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY= github.com/grpc-ecosystem/grpc-gateway v1.9.0/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY= github.com/grpc-ecosystem/grpc-gateway v1.9.5/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY= +github.com/grpc-ecosystem/grpc-gateway v1.12.1/go.mod h1:8XEsbTttt/W+VvjtQhLACqCisSPWTxCZ7sBRjU6iH9c= github.com/grpc-ecosystem/grpc-gateway v1.14.7/go.mod h1:oYZKL012gGh6LMyg/xA7Q2yq6j8bu0wa+9w14EEthWU= github.com/grpc-ecosystem/grpc-gateway v1.16.0 h1:gmcG1KaJ57LophUzW0Hy8NmPhnMZb4M0+kPpLofRdBo= github.com/grpc-ecosystem/grpc-gateway v1.16.0/go.mod h1:BDjrQk3hbvj6Nolgz8mAMFbcEtjT1g+wF4CSlocrBnw= @@ -466,6 +555,7 @@ github.com/hashicorp/go-immutable-radix v1.0.0/go.mod h1:0y9vanUI8NX6FsYoO3zeMjh github.com/hashicorp/go-msgpack v0.5.3/go.mod h1:ahLV/dePpqEmjfWmKiqvPkv/twdG7iPBM1vqhUKIvfM= github.com/hashicorp/go-multierror v1.0.0/go.mod h1:dHtQlpGsu+cZNNAkkCN/P3hoUDHhCYQXV3UM06sGGrk= github.com/hashicorp/go-multierror v1.1.0/go.mod h1:spPvp8C1qA32ftKqdAHm4hHTbPw+vmowP0z+KUhOZdA= +github.com/hashicorp/go-multierror v1.1.1/go.mod h1:iw975J/qwKPdAO1clOe2L8331t/9/fmwbPZ6JB6eMoM= github.com/hashicorp/go-retryablehttp v0.5.3/go.mod h1:9B5zBasrRhHXnJnui7y6sL7es7NDiJgTc6Er0maI1Xs= github.com/hashicorp/go-rootcerts v1.0.0/go.mod h1:K6zTfqpRlCUIjkwsN4Z+hiSfzSTQa6eBIzfwKfwNnHU= github.com/hashicorp/go-rootcerts v1.0.2/go.mod h1:pqUvnprVnM5bf7AOirdbb01K4ccR319Vf4pU3K5EGc8= @@ -493,13 +583,17 @@ github.com/hdevalence/ed25519consensus v0.0.0-20210204194344-59a8610d2b87 h1:uUj github.com/hdevalence/ed25519consensus v0.0.0-20210204194344-59a8610d2b87/go.mod h1:XGsKKeXxeRr95aEOgipvluMPlgjr7dGlk9ZTWOjcUcg= github.com/holiman/uint256 v1.1.1/go.mod h1:y4ga/t+u+Xwd7CpDgZESaRcWy0I7XMlTMA25ApIH5Jw= github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= +github.com/huandu/xstrings v1.0.0/go.mod h1:4qWG/gcEcfX4z/mBDHJ++3ReCw9ibxbsNJbcucJdbSo= +github.com/huandu/xstrings v1.2.0/go.mod h1:DvyZB1rfVYsBIigL8HwpZgxHwXozlTgGqn63UyNX5k4= github.com/hudl/fargo v1.3.0/go.mod h1:y3CKSmjA+wD2gak7sUSXTAoopbhU08POFhmITJgmKTg= github.com/huin/goupnp v1.0.0/go.mod h1:n9v9KO1tAxYH82qOn+UTIFQDmx5n1Zxd/ClZDMX7Bnc= github.com/huin/goutil v0.0.0-20170803182201-1ca381bf3150/go.mod h1:PpLOETDnJ0o3iZrZfqZzyLl6l7F3c6L1oWn7OICBi6o= github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= github.com/ianlancetaylor/demangle v0.0.0-20200824232613-28f6c0f3b639/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= -github.com/improbable-eng/grpc-web v0.14.0 h1:GdoK+cXABdB+1keuqsV1drSFO2XLYIxqt/4Rj8SWGBk= -github.com/improbable-eng/grpc-web v0.14.0/go.mod h1:6hRR09jOEG81ADP5wCQju1z71g6OL4eEvELdran/3cs= +github.com/imdario/mergo v0.3.4/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA= +github.com/imdario/mergo v0.3.8/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA= +github.com/improbable-eng/grpc-web v0.14.1 h1:NrN4PY71A6tAz2sKDvC5JCauENWp0ykG8Oq1H3cpFvw= +github.com/improbable-eng/grpc-web v0.14.1/go.mod h1:zEjGHa8DAlkoOXmswrNvhUGEYQA9UI7DhrGeHR1DMGU= github.com/inconshreveable/mousetrap v1.0.0 h1:Z8tu5sraLXCXIcARxBp/8cbvlwVa7Z1NHg9XEKhtSvM= github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8= github.com/influxdata/influxdb v1.2.3-0.20180221223340-01288bdb0883/go.mod h1:qZna6X/4elxqT3yI9iZYdZrWWdeFOOprn86kgg4+IzY= @@ -508,12 +602,20 @@ github.com/jackpal/go-nat-pmp v1.0.2-0.20160603034137-1fa385a6f458/go.mod h1:QPH github.com/jedisct1/go-minisign v0.0.0-20190909160543-45766022959e/go.mod h1:G1CVv03EnqU1wYL2dFwXxW2An0az9JTl/ZsqXQeBlkU= github.com/jessevdk/go-flags v0.0.0-20141203071132-1679536dcc89/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI= github.com/jessevdk/go-flags v1.4.0/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI= -github.com/jhump/protoreflect v1.8.2 h1:k2xE7wcUomeqwY0LDCYA16y4WWfyTcMx5mKhk0d4ua0= -github.com/jhump/protoreflect v1.8.2/go.mod h1:7GcYQDdMU/O/BBrl/cX6PNHpXh6cenjd8pneu5yW7Tg= +github.com/jgautheron/goconst v1.5.1/go.mod h1:aAosetZ5zaeC/2EfMeRswtxUFBpe2Hr7HzkgX4fanO4= +github.com/jhump/protoreflect v1.6.1/go.mod h1:RZQ/lnuN+zqeRVpQigTwO6o0AJUkxbnSnpuG7toUTG4= +github.com/jhump/protoreflect v1.9.0 h1:npqHz788dryJiR/l6K/RUQAyh2SwV91+d1dnh4RjO9w= +github.com/jhump/protoreflect v1.9.0/go.mod h1:7GcYQDdMU/O/BBrl/cX6PNHpXh6cenjd8pneu5yW7Tg= +github.com/jingyugao/rowserrcheck v1.1.0/go.mod h1:TOQpc2SLx6huPfoFGK3UOnEG+u02D3C1GeosjupAKCA= +github.com/jirfag/go-printf-func-name v0.0.0-20200119135958-7558a9eaa5af/go.mod h1:HEWGJkRDzjJY2sqdDwxccsGicWEf9BQOZsq2tV+xzM0= github.com/jmespath/go-jmespath v0.0.0-20180206201540-c2b33e8439af/go.mod h1:Nht3zPeWKUH0NzdCt2Blrr5ys8VGpn0CEB0cQHVjt7k= +github.com/jmespath/go-jmespath v0.4.0/go.mod h1:T8mJZnbsbmF+m6zOOFylbeCJqk5+pHWvzYPziyZiYoo= +github.com/jmespath/go-jmespath/internal/testify v1.5.1/go.mod h1:L3OGu8Wl2/fWfCI6z80xFu9LTZmf1ZRjMHUOPmWr69U= github.com/jmhodges/levigo v1.0.0 h1:q5EC36kV79HWeTBWsod3mG11EgStG3qArTKcvlksN1U= github.com/jmhodges/levigo v1.0.0/go.mod h1:Q6Qx+uH3RAqyK4rFQroq9RL7mdkABMcfhEI+nNuzMJQ= +github.com/jmoiron/sqlx v1.2.0/go.mod h1:1FEQNm3xlJgrMD+FBdI9+xvCksHtbpVBBw5dYhBSsks= github.com/jonboulle/clockwork v0.1.0/go.mod h1:Ii8DK3G1RaLaWxj9trq07+26W01tbo22gdxWY5EU2bo= +github.com/jonboulle/clockwork v0.2.0/go.mod h1:Pkfl5aHPm1nk2H9h0bjmnJD/BcgbGXUBGnn1kMkgxc8= github.com/jpillora/backoff v1.0.0/go.mod h1:J/6gKK9jxlEcS3zixgDgUAsiuZ7yrSoa/FX5e0EB2j4= github.com/jrick/logrotate v1.0.0/go.mod h1:LNinyqDIJnpAur+b8yyulnQw/wDuN1+BYKlTRt3OuAQ= github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU= @@ -526,19 +628,27 @@ github.com/json-iterator/go v1.1.11/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/ github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU= github.com/jstemmer/go-junit-report v0.9.1/go.mod h1:Brl9GWCQeLvo8nXZwPNNblvFj/XSXhF0NWZEnDohbsk= github.com/jtolds/gls v4.20.0+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU= +github.com/juju/ratelimit v1.0.1/go.mod h1:qapgC/Gy+xNh9UxzV13HGGl/6UXNN+ct+vwSgWNm/qk= github.com/julienschmidt/httprouter v1.1.1-0.20170430222011-975b5c4c7c21/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w= github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w= github.com/julienschmidt/httprouter v1.3.0/go.mod h1:JR6WtHb+2LUe8TCKY3cZOxFyyO8IZAc4RVcycCCAKdM= +github.com/julz/importas v0.0.0-20210419104244-841f0c0fe66d/go.mod h1:oSFU2R4XK/P7kNBrnL/FEQlDGN1/6WoxXEjSSXO0DV0= +github.com/k0kubun/colorstring v0.0.0-20150214042306-9440f1994b88/go.mod h1:3w7q1U84EfirKl04SVQ/s7nPm1ZPhiXd34z40TNz36k= github.com/karalabe/usb v0.0.0-20190919080040-51dc0efba356/go.mod h1:Od972xHfMJowv7NGVDiWVxk2zxnWgjLlJzE+F4F7AGU= github.com/keybase/go-keychain v0.0.0-20190712205309-48d3d31d256d h1:Z+RDyXzjKE0i2sTjZ/b1uxiGtPhFy34Ou/Tk0qwN0kM= github.com/keybase/go-keychain v0.0.0-20190712205309-48d3d31d256d/go.mod h1:JJNrCn9otv/2QP4D7SMJBgaleKpOf66PnW6F5WGNRIc= github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= +github.com/kisielk/errcheck v1.6.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= github.com/kkdai/bstream v0.0.0-20161212061736-f391b8402d23/go.mod h1:J+Gs4SYgM6CZQHDETBtE9HaSEkGmuNXF86RwHhHUvq4= github.com/kkdai/bstream v1.0.0/go.mod h1:FDnDOHt5Yx4p3FaHcioFT0QjDOtgUpvjeZqAs+NVZZA= -github.com/klauspost/compress v1.10.3 h1:OP96hzwJVBIHYU52pVTI6CczrxPvrGfgqF9N5eTO0Q8= github.com/klauspost/compress v1.10.3/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs= +github.com/klauspost/compress v1.10.7/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs= +github.com/klauspost/compress v1.11.0/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs= +github.com/klauspost/compress v1.11.7 h1:0hzRabrMN4tSTvMfnL3SCv1ZGeAP23ynzodBgaHeMeg= +github.com/klauspost/compress v1.11.7/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs= github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= +github.com/konsorten/go-windows-terminal-sequences v1.0.2/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= github.com/konsorten/go-windows-terminal-sequences v1.0.3/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= github.com/kr/fs v0.1.0/go.mod h1:FFnZGqtBN9Gxj7eW1uZ42v5BccTP0vu6NEaFoC2HwRg= github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc= @@ -546,23 +656,37 @@ github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORN github.com/kr/pretty v0.2.0/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= -github.com/kr/text v0.1.0 h1:45sCR5RtlFHMR4UwH9sdQ5TC8v0qDQCHnXt+kaKSTVE= github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= +github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= +github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= +github.com/kulti/thelper v0.4.0/go.mod h1:vMu2Cizjy/grP+jmsvOFDx1kYP6+PD1lqg4Yu5exl2U= +github.com/kunwardeep/paralleltest v1.0.2/go.mod h1:ZPqNm1fVHPllh5LPVujzbVz1JN2GhLxSfY+oqUsvG30= github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw= +github.com/kyoh86/exportloopref v0.1.8/go.mod h1:1tUcJeiioIs7VWe5gcOObrux3lb66+sBqGZrRkMwPgg= +github.com/ldez/gomoddirectives v0.2.2/go.mod h1:cpgBogWITnCfRq2qGoDkKMEVSaarhdBr6g8G04uz6d0= +github.com/ldez/tagliatelle v0.2.0/go.mod h1:8s6WJQwEYHbKZDsp/LjArytKOG8qaMrKQQ3mFukHs88= github.com/leodido/go-urn v1.2.0 h1:hpXL4XnriNwQ/ABnpepYM/1vCLWNDfUNts8dX3xTG6Y= github.com/leodido/go-urn v1.2.0/go.mod h1:+8+nEpDfqqsY+g338gtMEUOtuK+4dEMhiQEgxpxOKII= -github.com/lib/pq v1.2.0 h1:LXpIM/LZ5xGFhOpXAQUIMM1HdyqzVYM13zNdjCEEcA0= +github.com/letsencrypt/pkcs11key/v4 v4.0.0/go.mod h1:EFUvBDay26dErnNb70Nd0/VW3tJiIbETBPTl9ATXQag= +github.com/lib/pq v1.0.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= github.com/lib/pq v1.2.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= +github.com/lib/pq v1.8.0/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o= +github.com/lib/pq v1.9.0/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o= +github.com/lib/pq v1.10.2 h1:AqzbZs4ZoCBp+GtejcpCpcxM3zlSMx29dXbUSeVtJb8= +github.com/lib/pq v1.10.2/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o= github.com/libp2p/go-buffer-pool v0.0.2 h1:QNK2iAFa8gjAe1SPz6mHSMuCcjs+X1wlHzeOSqcmlfs= github.com/libp2p/go-buffer-pool v0.0.2/go.mod h1:MvaB6xw5vOrDl8rYZGLFdKAuk/hRoRZd1Vi32+RXyFM= github.com/lightstep/lightstep-tracer-common/golang/gogo v0.0.0-20190605223551-bc2310a04743/go.mod h1:qklhhLq1aX+mtWk9cPHPzaBjWImj5ULL6C7HFJtXQMM= github.com/lightstep/lightstep-tracer-go v0.18.1/go.mod h1:jlF1pusYV4pidLvZ+XD0UBX0ZE6WURAspgAczcDHrL4= +github.com/logrusorgru/aurora v0.0.0-20181002194514-a7b3b318ed4e/go.mod h1:7rIyQOR62GCctdiQpZ/zOJlFyk6y+94wXzv6RNZgaR4= github.com/lucasjones/reggen v0.0.0-20180717132126-cdb49ff09d77/go.mod h1:5ELEyG+X8f+meRWHuqUOewBOhvHkl7M76pdGEansxW4= github.com/lyft/protoc-gen-validate v0.0.13/go.mod h1:XbGvPuh87YZc5TdIa2/I4pLk0QoUACkjt2znoq26NVQ= github.com/magiconair/properties v1.8.0/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ= github.com/magiconair/properties v1.8.1/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ= github.com/magiconair/properties v1.8.5 h1:b6kJs+EmPFMYGkow9GiUyCyOvIwYetYJ3fSaWak/Gls= github.com/magiconair/properties v1.8.5/go.mod h1:y3VJvCyxH9uVvJTWEGAELF3aiYNyPKd5NZ3oSwXrF60= +github.com/maratori/testpackage v1.0.1/go.mod h1:ddKdw+XG0Phzhx8BFDTKgpWP4i7MpApTE5fXSKAqwDU= +github.com/matoous/godox v0.0.0-20210227103229-6504466cf951/go.mod h1:1BELzlh859Sh1c6+90blK8lbYy0kwQf1bYlBhBysy1s= github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU= github.com/mattn/go-colorable v0.1.0/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU= github.com/mattn/go-colorable v0.1.4/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE= @@ -577,24 +701,36 @@ github.com/mattn/go-isatty v0.0.8/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hd github.com/mattn/go-isatty v0.0.10/go.mod h1:qgIWMr58cqv1PHHyhnkY9lrL7etaEgOFcMEpPG5Rm84= github.com/mattn/go-isatty v0.0.11/go.mod h1:PhnuNfih5lzO57/f3n+odYbM4JtupLOxQOAqxQCu2WE= github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU= -github.com/mattn/go-isatty v0.0.13 h1:qdl+GuBjcsKKDco5BsxPJlId98mSWNKqYA+Co0SC1yA= -github.com/mattn/go-isatty v0.0.13/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU= +github.com/mattn/go-isatty v0.0.14 h1:yVuAays6BHfxijgZPzw+3Zlu5yQgKGP2/hcQbHb7S9Y= +github.com/mattn/go-isatty v0.0.14/go.mod h1:7GGIvUiUoEMVVmxf/4nioHXj79iQHKdU27kJ6hsGG94= github.com/mattn/go-runewidth v0.0.2/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU= github.com/mattn/go-runewidth v0.0.3/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU= github.com/mattn/go-runewidth v0.0.4/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU= +github.com/mattn/go-runewidth v0.0.6/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m2gUSrubnMI= +github.com/mattn/go-runewidth v0.0.9/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m2gUSrubnMI= +github.com/mattn/go-sqlite3 v1.9.0/go.mod h1:FPy6KqzDD04eiIsT53CuJW3U88zkxoIYsOqkbpncsNc= +github.com/mattn/goveralls v0.0.2/go.mod h1:8d1ZMHsd7fW6IRPKQh46F2WRpyib5/X4FOpevwGNQEw= github.com/matttproud/golang_protobuf_extensions v1.0.1 h1:4hp9jkHxhMHkqkrB3Ix0jegS5sx/RkqARlsWZ6pIwiU= github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= +github.com/mbilski/exhaustivestruct v1.2.0/go.mod h1:OeTBVxQWoEmB2J2JCHmXWPJ0aksxSUOUy+nvtVEfzXc= +github.com/mgechev/dots v0.0.0-20190921121421-c36f7dcfbb81/go.mod h1:KQ7+USdGKfpPjXk4Ga+5XxQM4Lm4e3gAogrreFAYpOg= +github.com/mgechev/revive v1.1.1/go.mod h1:PKqk4L74K6wVNwY2b6fr+9Qqr/3hIsHVfZCJdbvozrY= github.com/miekg/dns v1.0.14/go.mod h1:W1PPwlIAgtquWBMBEV9nkV9Cazfe8ScdGz/Lj7v3Nrg= github.com/miekg/dns v1.1.26/go.mod h1:bPDLeHnStXmXAq1m/Ch/hvfNHr14JKNPMBo3VZKjuso= +github.com/miekg/dns v1.1.35/go.mod h1:KNUDUusw/aVsxyTYZM1oqvCicbwhgbNgztCETuNZ7xM= +github.com/miekg/pkcs11 v1.0.2/go.mod h1:XsNlhZGX73bx86s2hdc/FuaLm2CPZJemRLMA+WTFxgs= +github.com/miekg/pkcs11 v1.0.3/go.mod h1:XsNlhZGX73bx86s2hdc/FuaLm2CPZJemRLMA+WTFxgs= github.com/mimoo/StrobeGo v0.0.0-20181016162300-f8f6d4d2b643 h1:hLDRPB66XQT/8+wG9WsDpiCvZf1yKO7sz7scAjSlBa0= github.com/mimoo/StrobeGo v0.0.0-20181016162300-f8f6d4d2b643/go.mod h1:43+3pMjjKimDBf5Kr4ZFNGbLql1zKkbImw+fZbw3geM= github.com/minio/highwayhash v1.0.1 h1:dZ6IIu8Z14VlC0VpfKofAhCy74wu/Qb5gcn52yWoz/0= github.com/minio/highwayhash v1.0.1/go.mod h1:BQskDq+xkJ12lmlUUi7U0M5Swg3EWR+dLTk+kldvVxY= github.com/mitchellh/cli v1.0.0/go.mod h1:hNIlj7HEI86fIcpObd7a0FcrxTWetlwJDGcceTlRvqc= github.com/mitchellh/cli v1.1.0/go.mod h1:xcISNoH86gajksDmfB23e/pu+B+GeFRMYmoHXxx3xhI= +github.com/mitchellh/copystructure v1.0.0/go.mod h1:SNtv71yrdKgLRyLFxmLdkAbkKEFWgYaq1OVrnRcwhnw= github.com/mitchellh/go-homedir v1.0.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= github.com/mitchellh/go-homedir v1.1.0 h1:lukF9ziXFxDFPkA1vsr5zpc1XuPDn/wFntq5mG+4E0Y= github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= +github.com/mitchellh/go-ps v1.0.0/go.mod h1:J4lOc8z8yJs6vUwklHw2XEIiT4z4C40KtWVN3nvg8Pg= github.com/mitchellh/go-testing-interface v1.0.0/go.mod h1:kRemZodwjscx+RGhAo8eIhFbs2+BFgRtFPeD/KE+zxI= github.com/mitchellh/gox v0.4.0/go.mod h1:Sd9lOJ0+aimLBi73mGofS1ycjY8lL3uZM3JPS42BGNg= github.com/mitchellh/iochan v1.0.0/go.mod h1:JwYml1nuB7xOzsp52dPpHFffvOCDupsG0QubkSMEySY= @@ -604,6 +740,8 @@ github.com/mitchellh/mapstructure v1.3.3/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RR github.com/mitchellh/mapstructure v1.4.1/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= github.com/mitchellh/mapstructure v1.4.2 h1:6h7AQ0yhTcIsmFmnAwQls75jp2Gzs4iB8W7pjMO+rqo= github.com/mitchellh/mapstructure v1.4.2/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= +github.com/mitchellh/reflectwalk v1.0.0/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw= +github.com/mitchellh/reflectwalk v1.0.1/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw= github.com/moby/sys/mountinfo v0.4.1/go.mod h1:rEr8tzG/lsIZHBtN/JjGG+LMYx9eXgW2JI+6q0qou+A= github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg= @@ -611,12 +749,20 @@ github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJ github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= github.com/modern-go/reflect2 v1.0.1 h1:9f412s+6RmYXLWZSEzVVgPGK7C2PphHj5RJrvfx9AWI= github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= +github.com/mohae/deepcopy v0.0.0-20170929034955-c48cc78d4826/go.mod h1:TaXosZuwdSHYgviHp1DAtfrULt5eUgsSMsZf+YrPgl8= +github.com/moricho/tparallel v0.2.1/go.mod h1:fXEIZxG2vdfl0ZF8b42f5a78EhjjD5mX8qUplsoSU4k= +github.com/mozilla/scribe v0.0.0-20180711195314-fb71baf557c1/go.mod h1:FIczTrinKo8VaLxe6PWTPEXRXDIHz2QAwiaBaP5/4a8= +github.com/mozilla/tls-observatory v0.0.0-20210609171429-7bc42856d2e5/go.mod h1:FUqVoUPHSEdDR0MnFM3Dh8AU0pZHLXUD127SAJGER/s= github.com/mrunalp/fileutils v0.5.0/go.mod h1:M1WthSahJixYnrXQl/DFQuteStB1weuxD2QJNHXfbSQ= github.com/mtibben/percent v0.2.1 h1:5gssi8Nqo8QU/r2pynCm+hBQHpkB/uNK7BJCFogWdzs= github.com/mtibben/percent v0.2.1/go.mod h1:KG9uO+SZkUp+VkRHsCdYQV3XSZrrSpR3O9ibNBTZrns= github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f h1:KUppIJq7/+SVif2QVs3tOP0zanoHgBEVAwHxUSIzRqU= github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= +github.com/mwitkow/go-proto-validators v0.0.0-20180403085117-0950a7990007/go.mod h1:m2XC9Qq0AlmmVksL6FktJCdTYyLk7V3fKyp0sl1yWQo= +github.com/mwitkow/go-proto-validators v0.2.0/go.mod h1:ZfA1hW+UH/2ZHOWvQ3HnQaU0DtnpXu850MZiy+YUgcc= +github.com/mwitkow/grpc-proxy v0.0.0-20181017164139-0f1106ef9c76/go.mod h1:x5OoJHDHqxHS801UIuhqGl6QdSAEJvtausosHSdazIo= +github.com/nakabonne/nestif v0.3.0/go.mod h1:dI314BppzXjJ4HsCnbo7XzrJHPszZsjnk5wEBSYHI2c= github.com/naoina/go-stringutil v0.1.0/go.mod h1:XJ2SJL9jCtBh+P9q5btrd/Ylo8XwT/h1USek5+NqSA0= github.com/naoina/toml v0.1.2-0.20170918210437-9fafd6967416/go.mod h1:NBIhNtsFMo3G2szEBne+bO4gS192HuIYRqfvOWb4i1E= github.com/nats-io/jwt v0.3.0/go.mod h1:fRYCDE99xlTsqUzISS1Bi75UBJ6ljOJQOAAu5VglpSg= @@ -626,28 +772,39 @@ github.com/nats-io/nats.go v1.9.1/go.mod h1:ZjDU1L/7fJ09jvUSRVBR2e7+RnLiiIQyqyzE github.com/nats-io/nkeys v0.1.0/go.mod h1:xpnFELMwJABBLVhffcfd1MZx6VsNRFpEugbxziKVo7w= github.com/nats-io/nkeys v0.1.3/go.mod h1:xpnFELMwJABBLVhffcfd1MZx6VsNRFpEugbxziKVo7w= github.com/nats-io/nuid v1.0.1/go.mod h1:19wcPz3Ph3q0Jbyiqsd0kePYG7A95tJPxeL+1OSON2c= +github.com/nbutton23/zxcvbn-go v0.0.0-20210217022336-fa2cb2858354/go.mod h1:KSVJerMDfblTH7p5MZaTt+8zaT2iEk3AkVb9PQdZuE8= github.com/neilotoole/errgroup v0.1.5/go.mod h1:Q2nLGf+594h0CLBs/Mbg6qOr7GtqDK7C2S41udRnToE= github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e h1:fD57ERR4JtEqsWbfPhv4DMiApHyliiK5xCTNVSPiaAs= github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno= +github.com/nishanths/exhaustive v0.2.3/go.mod h1:bhIX678Nx8inLM9PbpvK1yv6oGtoP8BfaIeMzgBNKvc= +github.com/nishanths/predeclared v0.0.0-20190419143655-18a43bb90ffc/go.mod h1:62PewwiQTlm/7Rj+cxVYqZvDIUc+JjZq6GHAC1fsObQ= github.com/nishanths/predeclared v0.0.0-20200524104333-86fad755b4d3/go.mod h1:nt3d53pc1VYcphSCIaYAJtnPYnr3Zyn8fMq2wvPGPso= -github.com/nxadm/tail v1.4.4 h1:DQuhQpB1tVlglWS2hLQ5OV6B5r8aGxSrPc5Qo6uTN78= +github.com/nishanths/predeclared v0.2.1/go.mod h1:HvkGJcA3naj4lOwnFXFDkFxVtSqQMB9sbB1usJ+xjQE= github.com/nxadm/tail v1.4.4/go.mod h1:kenIhsEOeOJmVchQTgglprH7qJGnHDVpk1VPCcaMI8A= +github.com/nxadm/tail v1.4.8 h1:nPr65rt6Y5JFSKQO7qToXr7pePgD6Gwiw05lkbyAQTE= +github.com/nxadm/tail v1.4.8/go.mod h1:+ncqLTQzXmGhMZNUePPaPqPvBxHAIsmXswZKocGu+AU= github.com/oklog/oklog v0.3.2/go.mod h1:FCV+B7mhrz4o+ueLpx+KqkyXRGMWOYEvfiXtdGtbWGs= github.com/oklog/run v1.0.0/go.mod h1:dlhp/R75TPv97u0XWUtDeV/lRKWPKSdTuV0TZvrmrQA= github.com/oklog/ulid v1.3.1/go.mod h1:CirwcVhetQ6Lv90oh/F+FBtV6XMibvdAFo93nm5qn4U= github.com/olekukonko/tablewriter v0.0.0-20170122224234-a0225b3f23b5/go.mod h1:vsDQFd/mU46D+Z4whnwzcISnGGzXWMclvtLoiIKAKIo= github.com/olekukonko/tablewriter v0.0.1/go.mod h1:vsDQFd/mU46D+Z4whnwzcISnGGzXWMclvtLoiIKAKIo= github.com/olekukonko/tablewriter v0.0.2-0.20190409134802-7e037d187b0c/go.mod h1:vsDQFd/mU46D+Z4whnwzcISnGGzXWMclvtLoiIKAKIo= +github.com/olekukonko/tablewriter v0.0.2/go.mod h1:rSAaSIOAGT9odnlyGlUfAJaoc5w2fSBUmeGDbRWPxyQ= +github.com/olekukonko/tablewriter v0.0.5/go.mod h1:hPp6KlRPjbx+hW8ykQs1w3UBbZlj6HuIJcUGPhkA7kY= github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/ginkgo v1.7.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= +github.com/onsi/ginkgo v1.10.3/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/ginkgo v1.12.1/go.mod h1:zj2OWP4+oCPe1qIXoGWkgMRwljMUYCdkwsT2108oapk= -github.com/onsi/ginkgo v1.14.0 h1:2mOpI4JVVPBN+WQRa0WKH2eXR+Ey+uK4n7Zj0aYpIQA= github.com/onsi/ginkgo v1.14.0/go.mod h1:iSB4RoI2tjJc9BBv4NKIKWKya62Rps+oPG/Lv9klQyY= +github.com/onsi/ginkgo v1.16.2/go.mod h1:CObGmKUOKaSC0RjmoAK7tKyn4Azo5P2IWuoMnvwxz1E= +github.com/onsi/ginkgo v1.16.4 h1:29JGrr5oVBm5ulCWet69zQkzWipVXIol6ygQUe/EzNc= +github.com/onsi/ginkgo v1.16.4/go.mod h1:dX+/inL/fNMqNlz0e9LfyB9TswhZpCVdJM/Z6Vvnwo0= github.com/onsi/gomega v1.4.1/go.mod h1:C1qb7wdrVGGVU+Z6iS04AVkA3Q65CEZX59MT0QO5uiA= github.com/onsi/gomega v1.4.3/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7JYyY= -github.com/onsi/gomega v1.10.1 h1:o0+MgICZLuZ7xjH7Vx6zS/zcu93/BEp1VwkIW1mEXCE= github.com/onsi/gomega v1.10.1/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1ybHNo= +github.com/onsi/gomega v1.13.0 h1:7lLHu94wT9Ij0o6EWWclhu0aOh32VxhkwEJvzuWPeak= +github.com/onsi/gomega v1.13.0/go.mod h1:lRk9szgn8TxENtWd0Tp4c3wjlRfMTMH27I+3Je41yGY= github.com/op/go-logging v0.0.0-20160315200505-970db520ece7/go.mod h1:HzydrMdWErDVzsI23lYNej1Htcns9BCg93Dk0bBINWk= github.com/opencontainers/go-digest v1.0.0-rc1/go.mod h1:cMLVZDEM3+U2I4VmLI6N8jQYUd2OVphdqWwCJHrFt2s= github.com/opencontainers/go-digest v1.0.0 h1:apOUWs51W5PlhuyGyz9FCeeBIOUDA/6nW8Oi/yOhh5U= @@ -688,9 +845,11 @@ github.com/pelletier/go-toml v1.9.3/go.mod h1:u1nR/EPcESfeI/szUZKdtJ0xRNbUoANCko github.com/pelletier/go-toml v1.9.4 h1:tjENF6MfZAg8e4ZmZTeWaWiT2vXtsoO6+iuOjFhECwM= github.com/pelletier/go-toml v1.9.4/go.mod h1:u1nR/EPcESfeI/szUZKdtJ0xRNbUoANCkoOuaOx1Y+c= github.com/performancecopilot/speed v3.0.0+incompatible/go.mod h1:/CLtqpZ5gBg1M9iaPbIdPPGyKcA8hKdoy6hAWba7Yac= +github.com/peterbourgon/diskv v2.0.1+incompatible/go.mod h1:uqqh8zWWbv1HBMNONnaR/tNboyR3/BZd58JJSHlUSCU= github.com/peterh/liner v1.1.1-0.20190123174540-a2c9a5303de7/go.mod h1:CRroGNssyjTd/qIG2FyxByd2S8JEAZXBl4qUrZf8GS0= github.com/petermattis/goid v0.0.0-20180202154549-b0b1615b78e5 h1:q2e307iGHPdTGp0hoxKjt1H5pDo6utceo3dQVK3I5XQ= github.com/petermattis/goid v0.0.0-20180202154549-b0b1615b78e5/go.mod h1:jvVRKCrJTQWu0XVbaOlby/2lO20uSCHEMzzplHXte1o= +github.com/phayes/checkstyle v0.0.0-20170904204023-bfd46e6a821d/go.mod h1:3OzsM7FXDQlpCiw2j81fOmAwQLnZnLGXVKUzeKQXIAw= github.com/pierrec/lz4 v1.0.2-0.20190131084431-473cd7ce01a1/go.mod h1:3/3N9NVKO0jef7pBehbT1qWhCMrIgbYNnFAZCqQ5LRc= github.com/pierrec/lz4 v2.0.5+incompatible/go.mod h1:pdkljMzZIN41W+lC3N2tnIh5sFi+IEE17M5jbnwPHcY= github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= @@ -699,8 +858,10 @@ github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/profile v1.2.1/go.mod h1:hJw3o1OdXxsrSjjVksARp5W95eeEaEfptyVZyv6JUPA= github.com/pkg/sftp v1.10.1/go.mod h1:lYOWFsE0bwd1+KfKJaKeuokY15vzFx25BLbzYYoAxZI= +github.com/pmezard/go-difflib v0.0.0-20151028094244-d8ed2627bdf0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/polyfloyd/go-errorlint v0.0.0-20210722154253-910bb7978349/go.mod h1:wi9BfjxjF/bwiZ701TzmfKu6UKC357IOAtNr0Td0Lvw= github.com/posener/complete v1.1.1/go.mod h1:em0nMJCgc9GFtwrmVmEMR/ZL6WyhyjMBndrE9hABlRI= github.com/posener/complete v1.2.3/go.mod h1:WZIdtGGp+qx0sLrYKtIRAruyNpv6hFCicSgv7Sy7s/s= github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw= @@ -728,6 +889,7 @@ github.com/prometheus/common v0.7.0/go.mod h1:DjGbpBbp5NYNiECxcL/VnbXCCaQpKd3tt2 github.com/prometheus/common v0.9.1/go.mod h1:yhUN8i9wzaXS3w1O07YhxHEBxD+W35wd8bs7vj7HSQ4= github.com/prometheus/common v0.10.0/go.mod h1:Tlit/dnDKsSWFlCLTWaA1cyBgKHSMdTB80sz/V91rCo= github.com/prometheus/common v0.14.0/go.mod h1:U+gB1OBLb1lF3O42bTCL+FK18tX9Oar16Clt/msog/s= +github.com/prometheus/common v0.15.0/go.mod h1:U+gB1OBLb1lF3O42bTCL+FK18tX9Oar16Clt/msog/s= github.com/prometheus/common v0.26.0/go.mod h1:M7rCNAaPfAosfx8veZJCuw84e35h3Cfd9VFqTh1DIvc= github.com/prometheus/common v0.29.0 h1:3jqPBvKT4OHAbje2Ql7KeaaSicDBCxMYwEJU1zRJceE= github.com/prometheus/common v0.29.0/go.mod h1:vu+V0TpY+O6vW9J44gczi3Ap/oXXR10b+M/gUGO4Hls= @@ -738,10 +900,21 @@ github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsT github.com/prometheus/procfs v0.0.8/go.mod h1:7Qr8sr6344vo1JqZ6HhLceV9o3AJ1Ff+GxbHq6oeK9A= github.com/prometheus/procfs v0.1.3/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4OA4YeYWdaU= github.com/prometheus/procfs v0.2.0/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4OA4YeYWdaU= +github.com/prometheus/procfs v0.3.0/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4OA4YeYWdaU= github.com/prometheus/procfs v0.6.0 h1:mxy4L2jP6qMonqmq+aTtOx1ifVWUgG/TAmntgbh3xv4= github.com/prometheus/procfs v0.6.0/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA= github.com/prometheus/tsdb v0.6.2-0.20190402121629-4f204dcbc150/go.mod h1:qhTCs0VvXwvX/y3TZrWD7rabWM+ijKTux40TwIPHuXU= github.com/prometheus/tsdb v0.7.1/go.mod h1:qhTCs0VvXwvX/y3TZrWD7rabWM+ijKTux40TwIPHuXU= +github.com/pseudomuto/protoc-gen-doc v1.3.2/go.mod h1:y5+P6n3iGrbKG+9O04V5ld71in3v/bX88wUwgt+U8EA= +github.com/pseudomuto/protokit v0.2.0/go.mod h1:2PdH30hxVHsup8KpBTOXTBeMVhJZVio3Q8ViKSAXT0Q= +github.com/quasilyte/go-consistent v0.0.0-20190521200055-c6f3937de18c/go.mod h1:5STLWrekHfjyYwxBRVRXNOSewLJ3PWfDJd1VyTS21fI= +github.com/quasilyte/go-ruleguard v0.3.1-0.20210203134552-1b5a410e1cc8/go.mod h1:KsAh3x0e7Fkpgs+Q9pNLS5XpFSvYCEVl5gP9Pp1xp30= +github.com/quasilyte/go-ruleguard v0.3.4/go.mod h1:57FZgMnoo6jqxkYKmVj5Fc8vOt0rVzoE/UNAmFFIPqA= +github.com/quasilyte/go-ruleguard/dsl v0.3.0/go.mod h1:KeCP03KrjuSO0H1kTuZQCWlQPulDV6YMIXmpQss17rU= +github.com/quasilyte/go-ruleguard/dsl v0.3.2/go.mod h1:KeCP03KrjuSO0H1kTuZQCWlQPulDV6YMIXmpQss17rU= +github.com/quasilyte/go-ruleguard/rules v0.0.0-20201231183845-9e62ed36efe1/go.mod h1:7JTjp89EGyU1d6XfBiXihJNG37wB2VRkd125Q1u7Plc= +github.com/quasilyte/go-ruleguard/rules v0.0.0-20210203162857-b223e0831f88/go.mod h1:4cgAphtvu7Ftv7vOT2ZOYhC6CvBxZixcasr8qIOTA50= +github.com/quasilyte/regex/syntax v0.0.0-20200407221936-30656e2c4a95/go.mod h1:rlzQ04UMyJXu/aOvhd8qT+hvDrFpiwqp8MRXDY9szc0= github.com/rakyll/statik v0.1.7 h1:OF3QCZUuyPxuGEP7B4ypUa7sB/iHtqOTDYZXGM8KOdQ= github.com/rakyll/statik v0.1.7/go.mod h1:AlZONWzMtEnMs7W4e/1LURLiI49pIMmp6V9Unghqrcc= github.com/rcrowley/go-metrics v0.0.0-20181016184325-3113b8401b8a/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4= @@ -755,6 +928,7 @@ github.com/rjeczalik/notify v0.9.1/go.mod h1:rKwnCoCGeuQnwBtTSPL9Dad03Vh2n40ePRr github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6SoW27p1b0cqNHllgS5HIMJraePCO15w5zCzIWYg= github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ= github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= +github.com/rogpeppe/go-internal v1.6.2/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc= github.com/rs/cors v0.0.0-20160617231935-a62a804a8a00/go.mod h1:gFx+x8UowdsKA9AchylcLynDq+nNFfI8FkUZdN/jGCU= github.com/rs/cors v1.7.0 h1:+88SsELBHx5r+hZ8TCkggzSstaWNbDvThkVK8H6f9ik= github.com/rs/cors v1.7.0/go.mod h1:gFx+x8UowdsKA9AchylcLynDq+nNFfI8FkUZdN/jGCU= @@ -764,16 +938,25 @@ github.com/rs/zerolog v1.23.0 h1:UskrK+saS9P9Y789yNNulYKdARjPZuS35B8gJF2x60g= github.com/rs/zerolog v1.23.0/go.mod h1:6c7hFfxPOy7TacJc4Fcdi24/J0NKYGzjG8FWRI916Qo= github.com/russross/blackfriday v1.5.2/go.mod h1:JO/DiYxRf+HjHt06OyowR9PTA263kcR/rfWxYHBV53g= github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= +github.com/ryancurrah/gomodguard v1.2.3/go.mod h1:rYbA/4Tg5c54mV1sv4sQTP5WOPBcoLtnBZ7/TEhXAbg= +github.com/ryanrolds/sqlclosecheck v0.3.0/go.mod h1:1gREqxyTGR3lVtpngyFo3hZAgk0KCtEdgEkHwDbigdA= github.com/ryanuber/columnize v0.0.0-20160712163229-9b3edd62028f/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts= github.com/sagikazarmark/crypt v0.1.0/go.mod h1:B/mN0msZuINBtQ1zZLEQcegFJJf9vnYIR88KRMEuODE= github.com/samuel/go-zookeeper v0.0.0-20190923202752-2cc03de413da/go.mod h1:gi+0XIa01GRL2eRQVjQkKGqKF3SF9vZR/HnPullcV2E= +github.com/sanposhiho/wastedassign/v2 v2.0.6/go.mod h1:KyZ0MWTwxxBmfwn33zh3k1dmsbF2ud9pAAGfoLfjhtI= github.com/sasha-s/go-deadlock v0.2.0/go.mod h1:StQn567HiB1fF2yJ44N9au7wOhrPS3iZqiDbRupzT10= github.com/sasha-s/go-deadlock v0.2.1-0.20190427202633-1595213edefa h1:0U2s5loxrTy6/VgfVoLuVLFJcURKLH49ie0zSch7gh4= github.com/sasha-s/go-deadlock v0.2.1-0.20190427202633-1595213edefa/go.mod h1:F73l+cr82YSh10GxyRI6qZiCgK64VaZjwesgfQ1/iLM= github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529/go.mod h1:DxrIzT+xaE7yg65j358z/aeFdxmN0P9QXhEzd20vsDc= github.com/seccomp/libseccomp-golang v0.9.1/go.mod h1:GbW5+tmTXfcxTToHLXlScSlAvWlF4P2Ca7zGrPiEpWo= +github.com/securego/gosec/v2 v2.8.1/go.mod h1:pUmsq6+VyFEElJMUX+QB3p3LWNHXg1R3xh2ssVJPs8Q= github.com/segmentio/fasthash v1.0.3/go.mod h1:waKX8l2N8yckOgmSsXJi7x1ZfdKZ4x7KRMzBtS3oedY= +github.com/sergi/go-diff v1.1.0/go.mod h1:STckp+ISIX8hZLjrqAeVduY0gWCT9IjLuqbuNXdaHfM= +github.com/shazow/go-diff v0.0.0-20160112020656-b6b7b6733b8c/go.mod h1:/PevMnwAxekIXwN8qQyfc5gl2NlkB3CQlkizAbOkeBs= github.com/shirou/gopsutil v2.20.5+incompatible/go.mod h1:5b4v6he4MtMOwMlS0TUMTu2PcXUg8+E1lC7eC3UO/RA= +github.com/shirou/gopsutil/v3 v3.21.7/go.mod h1:RGl11Y7XMTQPmHh8F0ayC6haKNBgH4PXMJuTAcMOlz4= +github.com/shurcooL/go v0.0.0-20180423040247-9e1955d9fb6e/go.mod h1:TDJrrUr11Vxrven61rcy3hJMUqaf/CLWYhHNPmT14Lk= +github.com/shurcooL/go-goon v0.0.0-20170922171312-37c2f522c041/go.mod h1:N5mDOmsrJOB+vfqUK+7DmDyjhSLIIBnXo9lvZJj3MWQ= github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc= github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= github.com/sirupsen/logrus v1.4.1/go.mod h1:ni0Sbl8bgC9z8RoU9G6nDWqqs/fq4eDPysMBDgk/93Q= @@ -786,7 +969,9 @@ github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1 github.com/smartystreets/goconvey v1.6.4/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA= github.com/snikch/goodman v0.0.0-20171125024755-10e37e294daa/go.mod h1:oJyF+mSPHbB5mVY2iO9KV3pTt/QbIkGaO8gQ2WrDbP4= github.com/soheilhy/cmux v0.1.4/go.mod h1:IM3LyeVVIOuxMH7sFAkER9+bJ4dT7Ms6E4xg4kGIyLM= +github.com/sonatard/noctx v0.0.1/go.mod h1:9D2D/EoULe8Yy2joDHJj7bv3sZoq9AaSb8B4lqBjiZI= github.com/sony/gobreaker v0.4.1/go.mod h1:ZKptC7FHNvhBz7dN2LGjPVBz2sZJmc0/PkyDJOjmxWY= +github.com/sourcegraph/go-diff v0.6.1/go.mod h1:iBszgVvyxdc8SFZ7gm69go2KDdt3ag071iBaWPF6cjs= github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= github.com/spaolacci/murmur3 v1.1.0 h1:7c1g84S4BPRrfL5Xrdp6fOJ206sU9y293DDHaoy0bLI= github.com/spaolacci/murmur3 v1.1.0/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= @@ -801,7 +986,6 @@ github.com/spf13/cobra v0.0.3/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3 github.com/spf13/cobra v0.0.5/go.mod h1:3K3wKZymM7VvHMDS9+Akkh4K60UwM26emMESw8tLCHU= github.com/spf13/cobra v1.0.0/go.mod h1:/6GTrnGXV9HjY+aR4k0oJ5tcvakLuG6EuKReYlHNrgE= github.com/spf13/cobra v1.1.1/go.mod h1:WnodtKOvamDL/PwE2M4iKs8aMDBZ5Q5klgD3qfVJQMI= -github.com/spf13/cobra v1.1.3/go.mod h1:pGADOWyqRD/YMrPZigI/zbliZ2wVD/23d+is3pSWzOo= github.com/spf13/cobra v1.2.1 h1:+KmjbUw1hriSNMF55oPrkZcb27aECyrj8V2ytv7kWDw= github.com/spf13/cobra v1.2.1/go.mod h1:ExllRjgxM/piMAM+3tAZvg8fsklGAf3tPfi+i8t68Nk= github.com/spf13/jwalterweatherman v1.0.0/go.mod h1:cQK4TGJAtQXfYWX+Ddv3mKDzgVb68N+wFjFa4jdeBTo= @@ -815,10 +999,10 @@ github.com/spf13/viper v1.3.2/go.mod h1:ZiWeW+zYFKm7srdB9IoDzzZXaJaI5eL9QjNiN/DM github.com/spf13/viper v1.4.0/go.mod h1:PTJ7Z/lr49W6bUbkmS1V3by4uWynFiR9p7+dSq/yZzE= github.com/spf13/viper v1.7.0/go.mod h1:8WkrPz2fc9jxqZNCJI/76HCieCp4Q8HaLFoCha5qpdg= github.com/spf13/viper v1.7.1/go.mod h1:8WkrPz2fc9jxqZNCJI/76HCieCp4Q8HaLFoCha5qpdg= -github.com/spf13/viper v1.8.0/go.mod h1:o0Pch8wJ9BVSWGQMbra6iw0oQ5oktSIBaujf1rJH9Ns= github.com/spf13/viper v1.8.1/go.mod h1:o0Pch8wJ9BVSWGQMbra6iw0oQ5oktSIBaujf1rJH9Ns= github.com/spf13/viper v1.9.0 h1:yR6EXjTp0y0cLN8OZg1CRZmOBdI88UcGkhgyJhu6nZk= github.com/spf13/viper v1.9.0/go.mod h1:+i6ajR7OX2XaiBkrcZJFK21htRk7eDeLg7+O6bhUPP4= +github.com/ssgreg/nlreturn/v2 v2.1.0/go.mod h1:E/iiPB78hV7Szg2YfRgyIrk1AD6JVMTRkkxBiELzh2I= github.com/status-im/keycard-go v0.0.0-20190316090335-8537d3370df4/go.mod h1:RZLeN1LMWmRsyYjvAu+I6Dm9QmlDaIIt+Y+4Kd7Tp+Q= github.com/steakknife/bloomfilter v0.0.0-20180922174646-6819c0d2a570/go.mod h1:8OR4w3TdeIHIh1g6EMY5p0gVNOovcWC+1vpc7naMuAw= github.com/steakknife/hamming v0.0.0-20180906055917-c99c65617cd3/go.mod h1:hpGUWaI9xL8pRQCTXQgocU38Qw1g0Us7n5PxxTwTCYU= @@ -829,6 +1013,8 @@ github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+ github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.2.0 h1:Hbg2NidpLE8veEBkEZTL3CvlkUIVzuU9jDplZO54c48= github.com/stretchr/objx v0.2.0/go.mod h1:qt09Ya8vawLte6SNmTgCsAVtYtaKzEcn8ATUoHMkEqE= +github.com/stretchr/testify v0.0.0-20170130113145-4d4bfba8f1d1/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= +github.com/stretchr/testify v1.1.4/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= @@ -841,6 +1027,7 @@ github.com/subosito/gotenv v1.2.0/go.mod h1:N0PQaV/YGNqwC0u51sEeR/aUtSLEXKX9iv69 github.com/syndtr/gocapability v0.0.0-20200815063812-42c35b437635/go.mod h1:hkRG7XYTFWNJGYcbNJQlaLq0fg1yr4J4t/NcTQtrfww= github.com/syndtr/goleveldb v1.0.1-0.20200815110645-5c35d600f0ca h1:Ld/zXl5t4+D69SiV4JoN7kkfvJdOWlPpfxrzxpLMoUk= github.com/syndtr/goleveldb v1.0.1-0.20200815110645-5c35d600f0ca/go.mod h1:u2MKkTVTVJWe5D1rCvame8WqhBd88EuIwODJZ1VHCPM= +github.com/tdakkota/asciicheck v0.0.0-20200416200610-e657995f937b/go.mod h1:yHp0ai0Z9gUljN3o0xMhYJnH/IcvkdTBOX2fmJ93JEM= github.com/tecbot/gorocksdb v0.0.0-20191217155057-f0fad39f321c h1:g+WoO5jjkqGAzHWCjJB1zZfXPIAaDpzXIEJ0eS6B5Ok= github.com/tecbot/gorocksdb v0.0.0-20191217155057-f0fad39f321c/go.mod h1:ahpPrc7HpcfEWDQRZEmnXMzHY03mLDYMCxeDzy46i+8= github.com/tendermint/btcd v0.1.1 h1:0VcxPfflS2zZ3RiOAHkBiFUcPvbtRj5O7zHmcJWHV7s= @@ -852,20 +1039,26 @@ github.com/tendermint/go-amino v0.16.0/go.mod h1:TQU0M1i/ImAo+tYpZi73AU3V/dKeCoM github.com/tendermint/tendermint v0.34.0-rc4/go.mod h1:yotsojf2C1QBOw4dZrTcxbyxmPUrT4hNuOQWX9XUwB4= github.com/tendermint/tendermint v0.34.0-rc6/go.mod h1:ugzyZO5foutZImv0Iyx/gOFCX6mjJTgbLHTwi17VDVg= github.com/tendermint/tendermint v0.34.0/go.mod h1:Aj3PIipBFSNO21r+Lq3TtzQ+uKESxkbA3yo/INM4QwQ= -github.com/tendermint/tendermint v0.34.10/go.mod h1:aeHL7alPh4uTBIJQ8mgFEE8VwJLXI1VD3rVOmH2Mcy0= -github.com/tendermint/tendermint v0.34.12/go.mod h1:aeHL7alPh4uTBIJQ8mgFEE8VwJLXI1VD3rVOmH2Mcy0= github.com/tendermint/tendermint v0.34.13 h1:fu+tsHudbOr5PvepjH0q47Jae59hQAvn3IqAHv2EbC8= github.com/tendermint/tendermint v0.34.13/go.mod h1:6RVVRBqwtKhA+H59APKumO+B7Nye4QXSFc6+TYxAxCI= github.com/tendermint/tm-db v0.6.2/go.mod h1:GYtQ67SUvATOcoY8/+x6ylk8Qo02BQyLrAs+yAcLvGI= github.com/tendermint/tm-db v0.6.3/go.mod h1:lfA1dL9/Y/Y8wwyPp2NMLyn5P5Ptr/gvDFNWtrCWSf8= github.com/tendermint/tm-db v0.6.4 h1:3N2jlnYQkXNQclQwd/eKV/NzlqPlfK21cpRRIx80XXQ= github.com/tendermint/tm-db v0.6.4/go.mod h1:dptYhIpJ2M5kUuenLr+Yyf3zQOv1SgBZcl8/BmWlMBw= +github.com/tetafro/godot v1.4.9/go.mod h1:LR3CJpxDVGlYOWn3ZZg1PgNZdTUvzsZWu8xaEohUpn8= github.com/tidwall/gjson v1.6.7/go.mod h1:zeFuBCIqD4sN/gmqBzZ4j7Jd6UcA2Fc56x7QFsv+8fI= github.com/tidwall/match v1.0.3/go.mod h1:eRSPERbgtNPcGhD8UCthc6PmLEQXEWd3PRB5JTxsfmM= github.com/tidwall/pretty v1.0.2/go.mod h1:XNkn88O1ChpSDQmQeStsy+sBenx6DDtFZJxhVysOjyk= github.com/tidwall/sjson v1.1.4/go.mod h1:wXpKXu8CtDjKAZ+3DrKY5ROCorDFahq8l0tey/Lx1fg= +github.com/timakin/bodyclose v0.0.0-20200424151742-cb6215831a94/go.mod h1:Qimiffbc6q9tBWlVV6x0P9sat/ao1xEkREYPPj9hphk= +github.com/tklauser/go-sysconf v0.3.7/go.mod h1:JZIdXh4RmBvZDBZ41ld2bGxRV3n4daiiqA3skYhAoQ4= +github.com/tklauser/numcpus v0.2.3/go.mod h1:vpEPS/JC+oZGGQ/My/vJnNsvMDQL6PwOqt8dsCw5j+E= github.com/tmc/grpc-websocket-proxy v0.0.0-20170815181823-89b8d40f7ca8/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= github.com/tmc/grpc-websocket-proxy v0.0.0-20190109142713-0ad062ec5ee5/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= +github.com/tmc/grpc-websocket-proxy v0.0.0-20200427203606-3cfed13b9966/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= +github.com/tomarrell/wrapcheck/v2 v2.3.0/go.mod h1:aF5rnkdtqNWP/gC7vPUO5pKsB0Oac2FDTQP4F+dpZMU= +github.com/tomasen/realip v0.0.0-20180522021738-f0c99a92ddce/go.mod h1:o8v6yHRoik09Xen7gje4m9ERNah1d1PPsVq1VEx9vE4= +github.com/tommy-muehle/go-mnd/v2 v2.4.0/go.mod h1:WsUAkMJMYww6l/ufffCD3m+P7LEvr8TnZn9lwVDlgzw= github.com/tv42/httpunix v0.0.0-20150427012821-b75d8614f926/go.mod h1:9ESjWnEqriFuLhtthL60Sar/7RFoluCcXsuvEwTV5KM= github.com/tyler-smith/go-bip39 v1.0.1-0.20181017060643-dbb3b84ba2ef/go.mod h1:sJ5fKU0s6JVwZjjcUEX2zFOnvq0ASQ2K9Zr6cf67kNs= github.com/tyler-smith/go-bip39 v1.0.2/go.mod h1:sJ5fKU0s6JVwZjjcUEX2zFOnvq0ASQ2K9Zr6cf67kNs= @@ -875,16 +1068,29 @@ github.com/ugorji/go v1.1.7/go.mod h1:kZn38zHttfInRq0xu/PH0az30d+z6vm202qpg1oXVM github.com/ugorji/go/codec v0.0.0-20181204163529-d75b2dcb6bc8/go.mod h1:VFNgLljTbGfSG7qAOspJ7OScBnGdDN/yBr0sguwnwf0= github.com/ugorji/go/codec v1.1.7 h1:2SvQaVZ1ouYrrKKwoSk2pzd4A9evlKJb9oTL+OaLUSs= github.com/ugorji/go/codec v1.1.7/go.mod h1:Ax+UKWsSmolVDwsd+7N3ZtXu+yMGCf907BLYF3GoBXY= +github.com/ultraware/funlen v0.0.3/go.mod h1:Dp4UiAus7Wdb9KUZsYWZEWiRzGuM2kXM1lPbfaF6xhA= +github.com/ultraware/whitespace v0.0.4/go.mod h1:aVMh/gQve5Maj9hQ/hg+F75lr/X5A89uZnzAmWSineA= github.com/urfave/cli v1.20.0/go.mod h1:70zkFmudgCuE/ngEzBv17Jvp/497gISqfk5gWijbERA= github.com/urfave/cli v1.22.1/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0= +github.com/uudashr/gocognit v1.0.5/go.mod h1:wgYz0mitoKOTysqxTDMOUXg+Jb5SvtihkfmugIZYpEA= +github.com/valyala/bytebufferpool v1.0.0/go.mod h1:6bBcMArwyJ5K/AmCkWv1jt77kVWyCJ6HpOuEn7z0Csc= +github.com/valyala/fasthttp v1.16.0/go.mod h1:YOKImeEosDdBPnxc0gy7INqi3m1zK6A+xl6TwOBhHCA= +github.com/valyala/quicktemplate v1.6.3/go.mod h1:fwPzK2fHuYEODzJ9pkw0ipCPNHZ2tD5KW4lOuSdPKzY= +github.com/valyala/tcplisten v0.0.0-20161114210144-ceec8f93295a/go.mod h1:v3UYOV9WzVtRmSR+PDvWpU/qWl4Wa5LApYYX4ZtKbio= +github.com/viki-org/dnscache v0.0.0-20130720023526-c70c1f23c5d8/go.mod h1:dniwbG03GafCjFohMDmz6Zc6oCuiqgH6tGNyXTkHzXE= github.com/vishvananda/netlink v1.1.0/go.mod h1:cTgwzPIzzgDAYoQrMm0EdrjRUBkTqKYppBueQtXaqoE= github.com/vishvananda/netns v0.0.0-20191106174202-0a2b9b5464df/go.mod h1:JP3t17pCcGlemwknint6hfoeCVQrEMVwxRLRjXpq+BU= github.com/vmihailenco/msgpack/v5 v5.1.4/go.mod h1:C5gboKD0TJPqWDTVTtrQNfRbiBwHZGo8UTqP/9/XvLI= github.com/vmihailenco/tagparser v0.1.2/go.mod h1:OeAg3pn3UbLjkWt+rN9oFYB6u/cQgqMEUPoW2WPyhdI= github.com/wsddn/go-ecdh v0.0.0-20161211032359-48726bab9208/go.mod h1:IotVbo4F+mw0EzQ08zFqg7pK3FebNXpaMsRy2RT+Ees= github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2/go.mod h1:UETIi67q53MR2AWcXfiuqkDkRtnGDLqkBTpCHuJHxtU= +github.com/xo/terminfo v0.0.0-20210125001918-ca9a967f8778/go.mod h1:2MuV+tbUrU1zIOPMxZ5EncGwgmMJsa+9ucAQZXxsObs= github.com/xordataexchange/crypt v0.0.3-0.20170626215501-b2862e3d0a77/go.mod h1:aYKd//L2LvnjZzWKhF00oedf4jCCReLcmhLdhm1A27Q= github.com/ybbus/jsonrpc v2.1.2+incompatible/go.mod h1:XJrh1eMSzdIYFbM08flv0wp5G35eRniyeGut1z+LSiE= +github.com/yeya24/promlinter v0.1.0/go.mod h1:rs5vtZzeBHqqMwXqFScncpCF6u06lezhZepno9AB1Oc= +github.com/yudai/gojsondiff v1.0.0/go.mod h1:AY32+k2cwILAkW1fbgxQ5mUmMiZFgLIV+FBNExI05xg= +github.com/yudai/golcs v0.0.0-20170316035057-ecda9a501e82/go.mod h1:lgjkn3NuSvDfVJdfcVVdX+jpBxNmX4rDAzaS45IcYoM= +github.com/yudai/pp v2.0.1+incompatible/go.mod h1:PuxR/8QJ7cyCkFp/aUDS+JY727OFEZkTdatxwunjIkc= github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= @@ -894,12 +1100,15 @@ github.com/zondax/hid v0.9.0 h1:eiT3P6vNxAEVxXMw66eZUAAnU2zD33JBkfG/EnfAKl8= github.com/zondax/hid v0.9.0/go.mod h1:l5wttcP0jwtdLjqjMMWFVEE7d1zO0jvSPA9OPZxWpEM= go.etcd.io/bbolt v1.3.2/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= go.etcd.io/bbolt v1.3.3/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= +go.etcd.io/bbolt v1.3.4/go.mod h1:G5EMThwa9y8QZGBClrRx5EY+Yw9kAhnjy3bSjsnlVTQ= go.etcd.io/bbolt v1.3.5 h1:XAzx9gjCb0Rxj7EoqcClPD1d5ZBxZJk0jbuoPHenBt0= go.etcd.io/bbolt v1.3.5/go.mod h1:G5EMThwa9y8QZGBClrRx5EY+Yw9kAhnjy3bSjsnlVTQ= go.etcd.io/etcd v0.0.0-20191023171146-3cf2f69b5738/go.mod h1:dnLIgRNXwCJa5e+c6mIZCrds/GIG4ncV9HhK5PX7jPg= +go.etcd.io/etcd v0.0.0-20200513171258-e048e166ab9c/go.mod h1:xCI7ZzBfRuGgBXyXO6yfWfDmlWd35khcWpUa4L0xI/k= go.etcd.io/etcd/api/v3 v3.5.0/go.mod h1:cbVKeC6lCfl7j/8jBhAK6aIYO9XOjdptoxU/nLQcPvs= go.etcd.io/etcd/client/pkg/v3 v3.5.0/go.mod h1:IJHfcCEKxYu1Os13ZdwCwIUTUVGYTSAM3YSwc9/Ac1g= go.etcd.io/etcd/client/v2 v2.305.0/go.mod h1:h9puh54ZTgAKtEbut2oe9P4L/oqKCVB6xsXlzd7alYQ= +go.mozilla.org/mozlog v0.0.0-20170222151521-4bb13139d403/go.mod h1:jHoPAGnDrCy6kaI2tAze5Prf0Nr0w/oNkROt2lw3n3o= go.opencensus.io v0.20.1/go.mod h1:6WKK9ahsWS3RSO+PY9ZHZUfv2irvY6gN279GOPZjmmk= go.opencensus.io v0.20.2/go.mod h1:6WKK9ahsWS3RSO+PY9ZHZUfv2irvY6gN279GOPZjmmk= go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU= @@ -916,12 +1125,14 @@ go.uber.org/atomic v1.5.0/go.mod h1:sABNBOSYdrvTF6hTgEIbc7YasKWGhgEQZyfxyTvoXHQ= go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0= go.uber.org/multierr v1.3.0/go.mod h1:VgVr7evmIr6uPjLBxg28wmKNXyqE9akIJ5XnfpiKl+4= +go.uber.org/multierr v1.4.0/go.mod h1:VgVr7evmIr6uPjLBxg28wmKNXyqE9akIJ5XnfpiKl+4= go.uber.org/multierr v1.6.0/go.mod h1:cdWPpRnG4AhwMwsgIHip0KRBQjJy5kYEpYjJxpXp9iU= go.uber.org/tools v0.0.0-20190618225709-2cfd321de3ee/go.mod h1:vJERXedbb3MVM5f9Ejo0C68/HhF8uaILCdgjnY+goOA= go.uber.org/zap v1.10.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q= go.uber.org/zap v1.13.0/go.mod h1:zwrFLgMcdUuIBviXEYEH1YKNaOBnKXsx2IPda5bBwHM= go.uber.org/zap v1.17.0/go.mod h1:MXVU+bhUf/A7Xi2HNOnopQOrmycQ5Ih87HtOu4q5SSo= golang.org/x/crypto v0.0.0-20170930174604-9419663f5a44/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= +golang.org/x/crypto v0.0.0-20180501155221-613d6eafa307/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20181029021203-45a5f77698d3/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20181203042331-505ab145d0a9/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= @@ -944,6 +1155,7 @@ golang.org/x/crypto v0.0.0-20200820211705-5c72a883971a/go.mod h1:LzIPMQfyMNhhGPh golang.org/x/crypto v0.0.0-20201016220609-9e8e0b390897/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20201117144127-c1f2f97bffc9/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I= golang.org/x/crypto v0.0.0-20201221181555-eec23a3978ad/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I= +golang.org/x/crypto v0.0.0-20210513164829-c07d793c2f9a/go.mod h1:P+XmwS30IXTQdn5tA2iutPOUgjI07+tq3H3K9MVA1s8= golang.org/x/crypto v0.0.0-20210817164053-32db794688a5 h1:HWj/xjIHfjYU5nVXpTM0s39J9CbLn7Cc5a7IC5rwsMQ= golang.org/x/crypto v0.0.0-20210817164053-32db794688a5/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= @@ -1023,6 +1235,7 @@ golang.org/x/net v0.0.0-20200506145744-7e3656a0809f/go.mod h1:qpuaurCH72eLCgpAm/ golang.org/x/net v0.0.0-20200513185701-a91f0712d120/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= golang.org/x/net v0.0.0-20200520004742-59133d7f0dd7/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= golang.org/x/net v0.0.0-20200520182314-0ba52f642ac2/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200602114024-627f9648deb9/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= golang.org/x/net v0.0.0-20200625001655-4c5254603344/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= golang.org/x/net v0.0.0-20200707034311-ab3426394381/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= golang.org/x/net v0.0.0-20200813134508-3edf25e44fcc/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= @@ -1037,6 +1250,7 @@ golang.org/x/net v0.0.0-20210119194325-5f4716e94777/go.mod h1:m0MpNAwzfU5UDzcl9v golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20210316092652-d523dce5a7f4/go.mod h1:RBQZq4jEuRlivfhVLdyRGr576XBO4/greRjx4P4O3yc= golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= +golang.org/x/net v0.0.0-20210428140749-89ef3d95e781/go.mod h1:OJAsFXCWl8Ukc7SiCT/9KSuxbyM7479/AVlXFRxuMCk= golang.org/x/net v0.0.0-20210503060351-7fd8e65b6420/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20210525063256-abc453219eb5/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20210903162142-ad29c8ab022f h1:w6wWR0H+nyVpbSAQbzVEIACVyr/h8l/BEkY6Sokc7Eg= @@ -1061,6 +1275,7 @@ golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20190412183630-56d357773e84/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20200317015054-43a5402ce75a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -1093,6 +1308,7 @@ golang.org/x/sys v0.0.0-20190712062909-fae7ac547cb7/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20190726091711-fc99dfbffb4e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190826190057-c7b8b68b1456/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190904154756-749cb33beabd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190916202348-b4ddaad3f8a3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190922100055-0a153f010e69/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190924154521-2837fb4f24fe/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191001151750-bb3f8db39f24/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -1121,6 +1337,7 @@ golang.org/x/sys v0.0.0-20200511232937-7e40ca221e25/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20200515095857-1151b9dac4a9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200519105757-fe76b779f299/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200523222454-059865788121/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200602225109-6fdc65e7d980/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200615200032-f1bc736245b1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200625212154-ddb9806d33ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200803210538-64077c9b5642/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -1133,6 +1350,7 @@ golang.org/x/sys v0.0.0-20201015000850-e3ed0017c211/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20201201145000-ef89a241ccb3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210104204734-6f8348627aad/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210112080510-489259a85091/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210119212857-b64e53b001e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210220050731-9a76102bfb43/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -1170,13 +1388,20 @@ golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2/go.mod h1:tRJNPiyCQ0inRvYxb golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.0.0-20200416051211-89c76fbcd5d1/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/tools v0.0.0-20180525024113-a5b4c53f6e8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20180828015842-6cd1fcedba52/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20190110163146-51295c7ec13a/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= +golang.org/x/tools v0.0.0-20190307163923-6a08e3108db3/go.mod h1:25r3+/G6/xytQM8iWZKq3Hn0kr0rgFKPUNVEL/dr3z4= golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190311215038-5c2858a9cfe5/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20190312151545-0bb0c0a6e846/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20190312170243-e65039ee4138/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190321232350-e250d351ecad/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190322203728-c1a832b0ad89/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20190328211700-ab21143f2384/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20190425150028-36563e24a262/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= golang.org/x/tools v0.0.0-20190506145303-2d16b83fe98c/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= @@ -1186,21 +1411,27 @@ golang.org/x/tools v0.0.0-20190621195816-6e04913cbbac/go.mod h1:/rFqwRUd4F7ZHNgw golang.org/x/tools v0.0.0-20190628153133-6cdbf07be9d0/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= golang.org/x/tools v0.0.0-20190816200558-6889da9d5479/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20190907020128-2ca718005c18/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20190910044552-dd2b5c81c578/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20190911174233-4f2ddba30aff/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20190916130336-e45ffcd953cc/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191010075000-0337d82405ff/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191012152004-8de300cfc20a/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191029041327-9cc4af7d6b2c/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191029190741-b9c20aec41a5/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191108193012-7d206e10da11/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191112195655-aa38f8e97acc/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191113191852-77e3bb0ad9e7/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191115202509-3a792d9c32b2/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191125144606-a911d9008d1f/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191130070609-6e064ea0cf2d/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191216052735-49a3e744a425/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20191216173652-a0e659d51361/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20191227053925-7b8e75db28f4/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200103221440-774c71fcf114/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200117012304-6edc0a871e69/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200117161641-43d50277825c/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200117220505-0cba7a3a9ee9/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200122220014-bf1340f18c4a/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200130002326-2f3ba24bd6e7/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200204074204-1cc6d1ef6c74/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= @@ -1210,21 +1441,46 @@ golang.org/x/tools v0.0.0-20200224181240-023911ca70b2/go.mod h1:TB2adYChydJhpapK golang.org/x/tools v0.0.0-20200227222343-706bc42d1f0d/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200304193943-95d2e580d8eb/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw= golang.org/x/tools v0.0.0-20200312045724-11d5b4c81c7d/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw= +golang.org/x/tools v0.0.0-20200324003944-a576cf524670/go.mod h1:Sl4aGygMT6LrqrWclx+PTx3U+LnKx/seiNR+3G19Ar8= +golang.org/x/tools v0.0.0-20200329025819-fd4102a86c65/go.mod h1:Sl4aGygMT6LrqrWclx+PTx3U+LnKx/seiNR+3G19Ar8= golang.org/x/tools v0.0.0-20200331025713-a30bf2db82d4/go.mod h1:Sl4aGygMT6LrqrWclx+PTx3U+LnKx/seiNR+3G19Ar8= +golang.org/x/tools v0.0.0-20200414032229-332987a829c3/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20200422022333-3d57cf2e726e/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20200426102838-f3a5411a4c3b/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= golang.org/x/tools v0.0.0-20200501065659-ab2804fb9c9d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= golang.org/x/tools v0.0.0-20200512131952-2bc93b1c0c88/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= golang.org/x/tools v0.0.0-20200515010526-7d3b6ebf133d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= golang.org/x/tools v0.0.0-20200522201501-cb1345f3a375/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= golang.org/x/tools v0.0.0-20200618134242-20370b0cb4b2/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20200622203043-20e05c1c8ffa/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20200624225443-88f3c62a19ff/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20200625211823-6506e20df31f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20200626171337-aa94e735be7f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20200630154851-b2d8b0336632/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20200706234117-b22de6825cf7/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= golang.org/x/tools v0.0.0-20200717024301-6ddee64345a6/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= +golang.org/x/tools v0.0.0-20200724022722-7017fd6b1305/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= golang.org/x/tools v0.0.0-20200729194436-6467de6f59a7/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= golang.org/x/tools v0.0.0-20200804011535-6c149bb5ef0d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= +golang.org/x/tools v0.0.0-20200812195022-5ae4c3c160a0/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= +golang.org/x/tools v0.0.0-20200820010801-b793a1359eac/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= golang.org/x/tools v0.0.0-20200825202427-b303f430e36d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= +golang.org/x/tools v0.0.0-20200831203904-5a2aa26beb65/go.mod h1:Cj7w3i3Rnn0Xh82ur9kSqwfTHTeVxaDqrfMjpcNT6bE= golang.org/x/tools v0.0.0-20200904185747-39188db58858/go.mod h1:Cj7w3i3Rnn0Xh82ur9kSqwfTHTeVxaDqrfMjpcNT6bE= +golang.org/x/tools v0.0.0-20201001104356-43ebab892c4c/go.mod h1:z6u4i615ZeAfBE4XtMziQW1fSVJXACjjbWkB/mvPzlU= +golang.org/x/tools v0.0.0-20201002184944-ecd9fd270d5d/go.mod h1:z6u4i615ZeAfBE4XtMziQW1fSVJXACjjbWkB/mvPzlU= +golang.org/x/tools v0.0.0-20201023174141-c8cfbd0f21e6/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/tools v0.0.0-20201028025901-8cd080b735b3/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20201110124207-079ba7bd75cd/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/tools v0.0.0-20201114224030-61ea331ec02b/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/tools v0.0.0-20201118003311-bd56c0adb394/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20201201161351-ac6f37ff4c2a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20201208233053-a543418bbed2/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/tools v0.0.0-20201224043029-2b0845dc783e/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/tools v0.0.0-20201230224404-63754364767c/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/tools v0.0.0-20210101214203-2dba1e4ea05c/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/tools v0.0.0-20210104081019-d8d6ddbec6ee/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20210105154028-b0ab187a4818/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.1.0/go.mod h1:xkSsbof2nBLbhDlRMhhhyNLN/zl3eTqcnHD5viDpcZ0= @@ -1243,6 +1499,7 @@ google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEt google.golang.org/api v0.7.0/go.mod h1:WtwebWUNSVBH/HAw79HIFXZNqEvBhG+Ra+ax0hx3E3M= google.golang.org/api v0.8.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= google.golang.org/api v0.9.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= +google.golang.org/api v0.10.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= google.golang.org/api v0.13.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= google.golang.org/api v0.14.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= google.golang.org/api v0.15.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= @@ -1272,11 +1529,14 @@ google.golang.org/appengine v1.2.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7 google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= google.golang.org/appengine v1.6.1/go.mod h1:i06prIuMbXzDqacNJfV5OdTW448YApPu5ww/cMBSeb0= +google.golang.org/appengine v1.6.2/go.mod h1:i06prIuMbXzDqacNJfV5OdTW448YApPu5ww/cMBSeb0= google.golang.org/appengine v1.6.5/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= google.golang.org/appengine v1.6.6/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= google.golang.org/appengine v1.6.7/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= +google.golang.org/genproto v0.0.0-20170818010345-ee236bd376b0/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= google.golang.org/genproto v0.0.0-20180831171423-11092d34479b/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= +google.golang.org/genproto v0.0.0-20181107211654-5fc9ac540362/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= google.golang.org/genproto v0.0.0-20190307195333-5fe7a883aa19/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= google.golang.org/genproto v0.0.0-20190418145605-e7d98fc518a7/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= google.golang.org/genproto v0.0.0-20190425155659-357c62f0e4bb/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= @@ -1285,6 +1545,7 @@ google.golang.org/genproto v0.0.0-20190530194941-fb225487d101/go.mod h1:z3L6/3dT google.golang.org/genproto v0.0.0-20190801165951-fa694d86fc64/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= google.golang.org/genproto v0.0.0-20190911173649-1774047e7e51/go.mod h1:IbNlFCBrqXvoKpeg0TB2l7cyZUmoaFKYIwrEpbDKLA8= +google.golang.org/genproto v0.0.0-20190927181202-20e1ac93f88c/go.mod h1:IbNlFCBrqXvoKpeg0TB2l7cyZUmoaFKYIwrEpbDKLA8= google.golang.org/genproto v0.0.0-20191108220845-16a3f7862a1a/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= google.golang.org/genproto v0.0.0-20191115194625-c23dd37a84c9/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= google.golang.org/genproto v0.0.0-20191216164720-4f79533eabd1/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= @@ -1306,6 +1567,8 @@ google.golang.org/genproto v0.0.0-20200513103714-09dca8ec2884/go.mod h1:55QSHmfG google.golang.org/genproto v0.0.0-20200515170657-fc4c6c6a6587/go.mod h1:YsZOwe1myG/8QRHRsmBRE1LrgQY60beZKjly0O1fX9U= google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo= google.golang.org/genproto v0.0.0-20200618031413-b414f8b61790/go.mod h1:jDfRM7FcilCzHH/e9qn6dsT145K34l5v+OpcnNgKAAA= +google.golang.org/genproto v0.0.0-20200626011028-ee7919e894b5/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20200707001353-8e8330bf89df/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20200729003335-053ba62fc06f/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20200804131852-c06518451d9c/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20200825200019-8632dd797987/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= @@ -1316,6 +1579,7 @@ google.golang.org/genproto v0.0.0-20201119123407-9b1e624d6bc4/go.mod h1:FWY/as6D google.golang.org/genproto v0.0.0-20201201144952-b05cb90ed32e/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20201210142538-e3217bee35cc/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20201214200347-8c77b98c765d/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20210126160654-44e461bb6506/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20210222152913-aa3ee6e6a81c/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20210303154014-9728d6b83eeb/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20210310155132-4ce2db91004e/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= @@ -1334,6 +1598,7 @@ google.golang.org/genproto v0.0.0-20210813162853-db860fec028c/go.mod h1:cFeNkxwy google.golang.org/genproto v0.0.0-20210821163610-241b8fcbd6c8/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= google.golang.org/genproto v0.0.0-20210828152312-66f60bf46e71 h1:z+ErRPu0+KS02Td3fOAgdX+lnPDh/VyaABEJPD4JRQs= google.golang.org/genproto v0.0.0-20210828152312-66f60bf46e71/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= +google.golang.org/grpc v1.8.0/go.mod h1:yo6s7OP7yaDglbqo1J04qKzAhqBH6lvTonzMVmEdcZw= google.golang.org/grpc v1.17.0/go.mod h1:6QZJwpn2B+Zp71q/5VxRsJ6NXXVCE5NRUHRo+f3cWCs= google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= google.golang.org/grpc v1.19.1/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= @@ -1344,11 +1609,13 @@ google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ij google.golang.org/grpc v1.22.1/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= google.golang.org/grpc v1.23.1/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= +google.golang.org/grpc v1.24.0/go.mod h1:XDChyiUovWa60DnaeDeZmSW86xtLtjtZbwvSiRnRtcA= google.golang.org/grpc v1.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQciAY= google.golang.org/grpc v1.26.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= google.golang.org/grpc v1.27.1/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= google.golang.org/grpc v1.28.0/go.mod h1:rpkK4SK4GF4Ach/+MFLZUBavHOvF2JJB5uozKKal+60= +google.golang.org/grpc v1.29.0/go.mod h1:itym6AZVZYACWQqET3MqgPpjcuV5QH3BxFS3IjizoKk= google.golang.org/grpc v1.29.1/go.mod h1:itym6AZVZYACWQqET3MqgPpjcuV5QH3BxFS3IjizoKk= google.golang.org/grpc v1.30.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= google.golang.org/grpc v1.31.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= @@ -1391,6 +1658,7 @@ gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f/go.mod h1:Co6ibVJAznAaIkqp8 gopkg.in/check.v1 v1.0.0-20200902074654-038fdea0a05b h1:QRR6H1YWRnHb4Y/HeNFCTJLFVxaq6wH4YuVdsUOr75U= gopkg.in/check.v1 v1.0.0-20200902074654-038fdea0a05b/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/cheggaaa/pb.v1 v1.0.25/go.mod h1:V/YB90LKu/1FcN3WVnfiiE5oMCibMjukxqG/qStrOgw= +gopkg.in/cheggaaa/pb.v1 v1.0.28/go.mod h1:V/YB90LKu/1FcN3WVnfiiE5oMCibMjukxqG/qStrOgw= gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys= gopkg.in/gcfg.v1 v1.2.3/go.mod h1:yesOnuUOFQAhST5vPY4nbZsb/huCgGGXlipJsBn0b3o= @@ -1411,6 +1679,7 @@ gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.3/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.5/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.2.6/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= @@ -1428,6 +1697,11 @@ honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWh honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg= honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= +honnef.co/go/tools v0.2.1/go.mod h1:lPVVZ2BS5TfnjLyizF7o7hv7j9/L+8cZY2hLyjP9cGY= +mvdan.cc/gofumpt v0.1.1/go.mod h1:yXG1r1WqZVKWbVRtBWKWX9+CxGYfA51nSomhM0woR48= +mvdan.cc/interfacer v0.0.0-20180901003855-c20040233aed/go.mod h1:Xkxe497xwlCKkIaQYRfC7CSLworTXY9RMqwhhCm+8Nc= +mvdan.cc/lint v0.0.0-20170908181259-adc824a0674b/go.mod h1:2odslEg/xrtNQqCYg2/jCoyKnw3vv5biOc3JnIcYfL4= +mvdan.cc/unparam v0.0.0-20210104141923-aac4ce9116a7/go.mod h1:hBpJkZE8H/sb+VRFvw2+rBpHNsTBcvSpk61hr8mzXZE= nhooyr.io/websocket v1.8.6 h1:s+C3xAMLwGmlI31Nyn/eAehUlZPwfYZu2JXM621Q5/k= nhooyr.io/websocket v1.8.6/go.mod h1:B70DZP8IakI65RVQ51MsWP/8jndNma26DVA/nFSCgW0= rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8= From e518dacd1e560e14512e08995b18a14896b2daab Mon Sep 17 00:00:00 2001 From: Carlos Rodriguez Date: Mon, 4 Oct 2021 09:23:06 +0200 Subject: [PATCH 030/107] docs: add steps to revive expired client with governance proposal (#438) * docs: add steps to revive expired client with governance proposal * address review comments * address more review comments * address more review comments Co-authored-by: Carlos Rodriguez --- docs/ibc/proposals.md | 47 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) diff --git a/docs/ibc/proposals.md b/docs/ibc/proposals.md index b3ce139c2a0..c2cb34860b2 100644 --- a/docs/ibc/proposals.md +++ b/docs/ibc/proposals.md @@ -39,3 +39,50 @@ The substitute client is used as a "stand in" while the subject is on trial. It a substitute client *after* the subject has become frozen to avoid the substitute from also becoming frozen. An active substitute client allows headers to be submitted during the voting period to prevent accidental expiry once the proposal passes. + +# How to recover an expired client with a governance proposal + +See also the relevant documentation: [ADR-026, IBC client recovery mechanisms](../architecture/adr-026-ibc-client-recovery-mechanisms.md) + +### Preconditions +- The chain is updated with ibc-go >= v1.1.0. +- Recovery parameters are set to `true` for the Tendermint light client (this determines if a governance proposal can be used). If the recovery parameters are set to `false`, recovery will require custom migration code. +- The client identifier of an active client for the same counterparty chain. +- The governance deposit. + +## Steps + +### Step 1 + +Check if the client is attached to the expected `chain-id`. For example, for an expired Tendermint client representing the Akash chain the client state looks like this on querying the client state: + +``` +{ + client_id: 07-tendermint-146 + client_state: + '@type': /ibc.lightclients.tendermint.v1.ClientState + allow_update_after_expiry: true + allow_update_after_misbehaviour: true + chain_id: akashnet-2 +} +``` + +The client is attached to the expected Akash `chain-id` and the recovery parameters (`allow_update_after_expiry` and `allow_update_after_misbehaviour`) are set to `true`. + +### Step 2 + +If the chain has been updated to ibc-go >= v1.1.0, anyone can submit the governance proposal to recover the client by executing this via cli: + +``` + tx gov submit-proposal update-client +``` + +The `` should be a client identifier on the same chain as the expired or frozen client. This client identifier should connect to the same chain as the expired or frozen client. This means: use the active client that is currently being used to relay packets between the two chains as the replacement client. + +After this, it is just a question of who funds the governance deposit and if the chain in question votes yes. + +## Important considerations + +Please note that from v1.0.0 of ibc-go it will not be allowed for transactions to go to expired clients anymore, so please update to at least this version to prevent similar issues in the future. + +Please also note that if the client on the other end of the transaction is also expired, that client will also need to update. This process updates only one client. \ No newline at end of file From cea013a4a6fdcc970e06665b858a79d14db6eca9 Mon Sep 17 00:00:00 2001 From: Carlos Rodriguez Date: Wed, 6 Oct 2021 13:04:19 +0200 Subject: [PATCH 031/107] resize and center the decision tree picture (#469) --- RELEASES.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/RELEASES.md b/RELEASES.md index 778ac3b8bab..19597c0bc96 100644 --- a/RELEASES.md +++ b/RELEASES.md @@ -7,7 +7,9 @@ IBC-Go follows [semantic versioning](https://semver.org), but with the following This is visually explained in the following decision tree: -![](releases-decision-tree.png) +

+ Releases decision tree +

When bumping the dependencies of [Cosmos SDK](https://github.com/cosmos/cosmos-sdk) and [Tendermint](https://github.com/tendermint/tendermint) we will only treat patch releases as non state-machine breaking. @@ -39,4 +41,4 @@ flowchart TD classDef c fill:#eee,stroke:#aaa ``` -using [Mermaid](https://mermaid-js.github.io)'s [live editor](https://mermaid.live). \ No newline at end of file +using [Mermaid](https://mermaid-js.github.io)'s [live editor](https://mermaid.live). From 4479e9ce0914885b0e7390da3cd94732100a656e Mon Sep 17 00:00:00 2001 From: Dev Ojha Date: Thu, 7 Oct 2021 10:05:16 -0500 Subject: [PATCH 032/107] bump versions in migration guide (#470) * bump versions in migration guide * Update ibc-migration-043.md --- docs/migrations/ibc-migration-043.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/migrations/ibc-migration-043.md b/docs/migrations/ibc-migration-043.md index 55c3d68d400..d5c1993ea73 100644 --- a/docs/migrations/ibc-migration-043.md +++ b/docs/migrations/ibc-migration-043.md @@ -1,6 +1,6 @@ # Migrating to ibc-go -This file contains information on how to migrate from the IBC module contained in the SDK 0.41.x line to the IBC module in the ibc-go repository based on the 0.43 SDK version. +This file contains information on how to migrate from the IBC module contained in the SDK 0.41.x and 0.42.x lines to the IBC module in the ibc-go repository based on the 0.44 SDK version. ## Import Changes @@ -24,7 +24,7 @@ Executing these commands out of order will cause issues. Feel free to use your own method for modifying import names. -NOTE: Updating to the `v0.43.0` SDK release and then running `go mod tidy` will cause a downgrade to `v0.42.0` in order to support the old IBC import paths. +NOTE: Updating to the `v0.44.0` SDK release and then running `go mod tidy` will cause a downgrade to `v0.42.0` in order to support the old IBC import paths. Update the import paths before running `go mod tidy`. ## Chain Upgrades From 7384cc9223113ed6492191f889c12edf30e590fb Mon Sep 17 00:00:00 2001 From: Jack Zampolin Date: Fri, 8 Oct 2021 04:04:48 -0600 Subject: [PATCH 033/107] Add go relayer to list of relayers to be supported (#442) Co-authored-by: Carlos Rodriguez --- RELEASES.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/RELEASES.md b/RELEASES.md index 19597c0bc96..408f51e8a75 100644 --- a/RELEASES.md +++ b/RELEASES.md @@ -19,7 +19,7 @@ When bumping the dependencies of [Cosmos SDK](https://github.com/cosmos/cosmos-s To summarize: **All our ibc-go releases allow chains to communicate successfully with any chain running any version of our code**. That is to say, we are still using IBC protocol specification v1.0. -We ensure all major releases are supported by relayers ([hermes](https://github.com/informalsystems/ibc-rs) and [ts-relayer](https://github.com/confio/ts-relayer) at the moment) which can relay between the new major release and older releases. We have no plans of upgrading to an IBC protocol specification v2.0, as this would be very disruptive to the ecosystem. +We ensure all major releases are supported by relayers ([hermes](https://github.com/informalsystems/ibc-rs), [rly](https://github.com/strangelove-ventures/relayer) and [ts-relayer](https://github.com/confio/ts-relayer) at the moment) which can relay between the new major release and older releases. We have no plans of upgrading to an IBC protocol specification v2.0, as this would be very disruptive to the ecosystem. ## Graphics From 6e1a0c13618102d8ff4c0281a49d8889e254a921 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?colin=20axn=C3=A9r?= <25233464+colin-axner@users.noreply.github.com> Date: Fri, 8 Oct 2021 13:02:39 +0200 Subject: [PATCH 034/107] Update README with docs website (#460) * add documentation website to readme * Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 6388b45225d..4f6583ef58d 100644 --- a/README.md +++ b/README.md @@ -63,4 +63,4 @@ Note: The localhost client is currently non-functional. - [IBC Website](https://ibcprotocol.org/) - [IBC Specification](https://github.com/cosmos/ibc) -- [Documentation](docs/README.md) +- [Documentation](https://ibc.cosmos.network/main/ibc/overview.html) From f4fd26537e50c21ca977088db49168af5455190a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?colin=20axn=C3=A9r?= <25233464+colin-axner@users.noreply.github.com> Date: Tue, 12 Oct 2021 18:30:14 +0200 Subject: [PATCH 035/107] deps: bump SDK version to `v0.44.2` (#485) * bump SDK version to v0.44.2 * add changelog entry --- CHANGELOG.md | 1 + go.mod | 2 +- go.sum | 4 ++-- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index de6907da2a1..20d556f700e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -38,6 +38,7 @@ Ref: https://keepachangelog.com/en/1.0.0/ ### Dependencies +* [\#485](https://github.com/cosmos/ibc-go/pull/485) Bump SDK version to v0.44.2 * [\#455](https://github.com/cosmos/ibc-go/pull/455) Bump SDK version to v0.44.1 ### API Breaking diff --git a/go.mod b/go.mod index e748e0ec0d4..25c0d8ec1fb 100644 --- a/go.mod +++ b/go.mod @@ -7,7 +7,7 @@ replace github.com/gogo/protobuf => github.com/regen-network/protobuf v1.3.3-alp require ( github.com/armon/go-metrics v0.3.9 github.com/confio/ics23/go v0.6.6 - github.com/cosmos/cosmos-sdk v0.44.1 + github.com/cosmos/cosmos-sdk v0.44.2 github.com/gogo/protobuf v1.3.3 github.com/golang/protobuf v1.5.2 github.com/gorilla/mux v1.8.0 diff --git a/go.sum b/go.sum index 91a8dd30ada..a8e1c2b8157 100644 --- a/go.sum +++ b/go.sum @@ -221,8 +221,8 @@ github.com/coreos/go-systemd v0.0.0-20190620071333-e64a0ec8b42a/go.mod h1:F5haX7 github.com/coreos/go-systemd/v22 v22.3.2/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= github.com/coreos/pkg v0.0.0-20160727233714-3ac0863d7acf/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA= github.com/coreos/pkg v0.0.0-20180928190104-399ea9e2e55f/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA= -github.com/cosmos/cosmos-sdk v0.44.1 h1:UspmTMwKNGf6mH8k388v2T5csP9BYpPJkbQ/eG30PtM= -github.com/cosmos/cosmos-sdk v0.44.1/go.mod h1:fwQJdw+aECatpTvQTo1tSfHEsxACdZYU80QCZUPnHr4= +github.com/cosmos/cosmos-sdk v0.44.2 h1:EWoj9h9Q9t7uqS3LyqzZWWwnSEodUJlYDMloDoPBD3Y= +github.com/cosmos/cosmos-sdk v0.44.2/go.mod h1:fwQJdw+aECatpTvQTo1tSfHEsxACdZYU80QCZUPnHr4= github.com/cosmos/go-bip39 v0.0.0-20180819234021-555e2067c45d/go.mod h1:tSxLoYXyBmiFeKpvmq4dzayMdCjCnu8uqmCysIGBT2Y= github.com/cosmos/go-bip39 v1.0.0 h1:pcomnQdrdH22njcAatO0yWojsUnCO3y2tNoV1cb6hHY= github.com/cosmos/go-bip39 v1.0.0/go.mod h1:RNJv0H/pOIVgxw6KS7QeX2a0Uo0aKUlfhZ4xuwvCdJw= From 60ca492daf65d50a0a25f43a5307aa5cd11b389e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Federico=20Kunze=20K=C3=BCllmer?= <31522760+fedekunze@users.noreply.github.com> Date: Tue, 12 Oct 2021 18:51:55 +0200 Subject: [PATCH 036/107] deps: bump Go to 1.17 (#404) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * deps: bump Go to 1.17 * add changelog entry Co-authored-by: colin axnér <25233464+colin-axner@users.noreply.github.com> --- .github/workflows/test.yml | 6 +-- CHANGELOG.md | 1 + go.mod | 94 +++++++++++++++++++++++++++++++++++++- go.sum | 5 -- 4 files changed, 97 insertions(+), 9 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 6db36727899..7b94d65a9a3 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -20,7 +20,7 @@ jobs: steps: - uses: actions/setup-go@v2.1.4 with: - go-version: 1.15 + go-version: 1.17 - name: Display go version run: go version - name: install tparse @@ -40,7 +40,7 @@ jobs: - uses: actions/checkout@v2.3.4 - uses: actions/setup-go@v2.1.4 with: - go-version: 1.15 + go-version: 1.17 - uses: technote-space/get-diff-action@v5 id: git_diff with: @@ -88,7 +88,7 @@ jobs: - uses: actions/checkout@v2.3.4 - uses: actions/setup-go@v2.1.4 with: - go-version: 1.15 + go-version: 1.17 - uses: technote-space/get-diff-action@v5 with: PATTERNS: | diff --git a/CHANGELOG.md b/CHANGELOG.md index 20d556f700e..ac777db719a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -40,6 +40,7 @@ Ref: https://keepachangelog.com/en/1.0.0/ * [\#485](https://github.com/cosmos/ibc-go/pull/485) Bump SDK version to v0.44.2 * [\#455](https://github.com/cosmos/ibc-go/pull/455) Bump SDK version to v0.44.1 +* [\#404](https://github.com/cosmos/ibc-go/pull/404) Bump Go version to 1.17 ### API Breaking diff --git a/go.mod b/go.mod index 25c0d8ec1fb..37432c1ffde 100644 --- a/go.mod +++ b/go.mod @@ -1,4 +1,4 @@ -go 1.15 +go 1.17 module github.com/cosmos/ibc-go/v2 @@ -24,3 +24,95 @@ require ( google.golang.org/grpc v1.40.0 google.golang.org/protobuf v1.27.1 ) + +require ( + filippo.io/edwards25519 v1.0.0-beta.2 // indirect + github.com/99designs/keyring v1.1.6 // indirect + github.com/ChainSafe/go-schnorrkel v0.0.0-20200405005733-88cbf1b4c40d // indirect + github.com/DataDog/zstd v1.4.5 // indirect + github.com/Workiva/go-datastructures v1.0.52 // indirect + github.com/beorn7/perks v1.0.1 // indirect + github.com/bgentry/speakeasy v0.1.0 // indirect + github.com/btcsuite/btcd v0.22.0-beta // indirect + github.com/cespare/xxhash v1.1.0 // indirect + github.com/cespare/xxhash/v2 v2.1.1 // indirect + github.com/coinbase/rosetta-sdk-go v0.6.10 // indirect + github.com/cosmos/go-bip39 v1.0.0 // indirect + github.com/cosmos/iavl v0.17.1 // indirect + github.com/cosmos/ledger-cosmos-go v0.11.1 // indirect + github.com/cosmos/ledger-go v0.9.2 // indirect + github.com/danieljoos/wincred v1.0.2 // indirect + github.com/davecgh/go-spew v1.1.1 // indirect + github.com/desertbit/timer v0.0.0-20180107155436-c41aec40b27f // indirect + github.com/dgraph-io/badger/v2 v2.2007.2 // indirect + github.com/dgraph-io/ristretto v0.0.3 // indirect + github.com/dgryski/go-farm v0.0.0-20200201041132-a6ae2369ad13 // indirect + github.com/dustin/go-humanize v1.0.0 // indirect + github.com/dvsekhvalnov/jose2go v0.0.0-20200901110807-248326c1351b // indirect + github.com/enigmampc/btcutil v1.0.3-0.20200723161021-e2fb6adb2a25 // indirect + github.com/felixge/httpsnoop v1.0.1 // indirect + github.com/fsnotify/fsnotify v1.5.1 // indirect + github.com/go-kit/kit v0.10.0 // indirect + github.com/go-logfmt/logfmt v0.5.0 // indirect + github.com/godbus/dbus v0.0.0-20190726142602-4481cbc300e2 // indirect + github.com/gogo/gateway v1.1.0 // indirect + github.com/golang/snappy v0.0.3 // indirect + github.com/google/btree v1.0.0 // indirect + github.com/google/orderedcode v0.0.1 // indirect + github.com/gorilla/handlers v1.5.1 // indirect + github.com/gorilla/websocket v1.4.2 // indirect + github.com/grpc-ecosystem/go-grpc-middleware v1.3.0 // indirect + github.com/gsterjov/go-libsecret v0.0.0-20161001094733-a6f4afe4910c // indirect + github.com/gtank/merlin v0.1.1 // indirect + github.com/gtank/ristretto255 v0.1.2 // indirect + github.com/hashicorp/go-immutable-radix v1.0.0 // indirect + github.com/hashicorp/golang-lru v0.5.4 // indirect + github.com/hashicorp/hcl v1.0.0 // indirect + github.com/hdevalence/ed25519consensus v0.0.0-20210204194344-59a8610d2b87 // indirect + github.com/improbable-eng/grpc-web v0.14.1 // indirect + github.com/inconshreveable/mousetrap v1.0.0 // indirect + github.com/jmhodges/levigo v1.0.0 // indirect + github.com/keybase/go-keychain v0.0.0-20190712205309-48d3d31d256d // indirect + github.com/klauspost/compress v1.11.7 // indirect + github.com/libp2p/go-buffer-pool v0.0.2 // indirect + github.com/magiconair/properties v1.8.5 // indirect + github.com/mattn/go-isatty v0.0.14 // indirect + github.com/matttproud/golang_protobuf_extensions v1.0.1 // indirect + github.com/mimoo/StrobeGo v0.0.0-20181016162300-f8f6d4d2b643 // indirect + github.com/minio/highwayhash v1.0.1 // indirect + github.com/mitchellh/go-homedir v1.1.0 // indirect + github.com/mitchellh/mapstructure v1.4.2 // indirect + github.com/mtibben/percent v0.2.1 // indirect + github.com/pelletier/go-toml v1.9.4 // indirect + github.com/petermattis/goid v0.0.0-20180202154549-b0b1615b78e5 // indirect + github.com/pmezard/go-difflib v1.0.0 // indirect + github.com/prometheus/client_golang v1.11.0 // indirect + github.com/prometheus/client_model v0.2.0 // indirect + github.com/prometheus/common v0.29.0 // indirect + github.com/prometheus/procfs v0.6.0 // indirect + github.com/rcrowley/go-metrics v0.0.0-20200313005456-10cdbea86bc0 // indirect + github.com/regen-network/cosmos-proto v0.3.1 // indirect + github.com/rs/cors v1.7.0 // indirect + github.com/rs/zerolog v1.23.0 // indirect + github.com/sasha-s/go-deadlock v0.2.1-0.20190427202633-1595213edefa // indirect + github.com/spf13/afero v1.6.0 // indirect + github.com/spf13/jwalterweatherman v1.1.0 // indirect + github.com/spf13/pflag v1.0.5 // indirect + github.com/subosito/gotenv v1.2.0 // indirect + github.com/syndtr/goleveldb v1.0.1-0.20200815110645-5c35d600f0ca // indirect + github.com/tecbot/gorocksdb v0.0.0-20191217155057-f0fad39f321c // indirect + github.com/tendermint/btcd v0.1.1 // indirect + github.com/tendermint/crypto v0.0.0-20191022145703-50d29ede1e15 // indirect + github.com/tendermint/go-amino v0.16.0 // indirect + github.com/zondax/hid v0.9.0 // indirect + go.etcd.io/bbolt v1.3.5 // indirect + golang.org/x/crypto v0.0.0-20210817164053-32db794688a5 // indirect + golang.org/x/net v0.0.0-20210903162142-ad29c8ab022f // indirect + golang.org/x/sys v0.0.0-20210903071746-97244b99971b // indirect + golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1 // indirect + golang.org/x/text v0.3.6 // indirect + gopkg.in/ini.v1 v1.63.2 // indirect + gopkg.in/yaml.v2 v2.4.0 // indirect + gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b // indirect + nhooyr.io/websocket v1.8.6 // indirect +) diff --git a/go.sum b/go.sum index a8e1c2b8157..3126c90efd0 100644 --- a/go.sum +++ b/go.sum @@ -345,7 +345,6 @@ github.com/go-logfmt/logfmt v0.5.0 h1:TrB8swr/68K7m9CcGut2g3UOihhbcbiMAYiuTXdEih github.com/go-logfmt/logfmt v0.5.0/go.mod h1:wCYkCAKZfumFQihp8CzCvQ3paCTfi41vtzG1KdI/P7A= github.com/go-ole/go-ole v1.2.1/go.mod h1:7FAglXiTm7HKlQRDeOQ6ZNUHidzCWXuZWq/1dTyBNF8= github.com/go-ole/go-ole v1.2.5/go.mod h1:pprOEPIfldk/42T2oK7lQ4v4JSDwmV0As9GaiUsvbm0= -github.com/go-playground/assert/v2 v2.0.1 h1:MsBgLAaY856+nPRTKrp3/OZK38U/wa0CcBYNjji3q3A= github.com/go-playground/assert/v2 v2.0.1/go.mod h1:VDjEfimB/XKnb+ZQfWdccd7VUvScMdVu0Titje2rxJ4= github.com/go-playground/locales v0.13.0 h1:HyWk6mgj5qFqCT5fjGBuRArbVDfE4hi8+e8ceBS/t7Q= github.com/go-playground/locales v0.13.0/go.mod h1:taPMhCMXrRLJO55olJkUXHZBHCxTMfnGwq/HNwmWNS8= @@ -515,7 +514,6 @@ github.com/gostaticanalysis/comment v1.3.0/go.mod h1:xMicKDx7XRXYdVwY9f9wQpDJVnq github.com/gostaticanalysis/comment v1.4.1/go.mod h1:ih6ZxzTHLdadaiSnF5WY3dxUoXfXAlTaRzuaNDlSado= github.com/gostaticanalysis/forcetypeassert v0.0.0-20200621232751-01d4955beaa5/go.mod h1:qZEedyP/sY1lTGV1uJ3VhWZ2mqag3IkWsDHVbplHXak= github.com/gostaticanalysis/nilerr v0.1.1/go.mod h1:wZYb6YI5YAxxq0i1+VJbY0s2YONW0HU0GPE3+5PWN4A= -github.com/gotestyourself/gotestyourself v2.2.0+incompatible h1:AQwinXlbQR2HvPjQZOmDhRqsv5mZf+Jb1RnSLxcqZcI= github.com/gotestyourself/gotestyourself v2.2.0+incompatible/go.mod h1:zZKM6oeNM8k+FRljX1mnzVYeS8wiGgQyvST1/GafPbY= github.com/graph-gophers/graphql-go v0.0.0-20191115155744-f33e81362277/go.mod h1:9CQHMSxwO4MprSdzoIEobiHpoLtHm77vfxsvsIN5Vuc= github.com/gregjones/httpcache v0.0.0-20190611155906-901d90724c79/go.mod h1:FecbI9+v66THATjSRHfNgh1IVFe/9kFxbXtjV0ctIMA= @@ -829,10 +827,8 @@ github.com/ory/dockertest v3.3.5+incompatible/go.mod h1:1vX4m9wsvi00u5bseYwXaSnh github.com/otiai10/copy v1.6.0 h1:IinKAryFFuPONZ7cm6T6E2QX/vcJwSnlaA5lfoaXIiQ= github.com/otiai10/copy v1.6.0/go.mod h1:XWfuS3CrI0R6IE0FbgHsEazaXO8G0LpMp9o8tos0x4E= github.com/otiai10/curr v0.0.0-20150429015615-9b4961190c95/go.mod h1:9qAhocn7zKJG+0mI8eUu6xqkFDYS2kb2saOteoSB3cE= -github.com/otiai10/curr v1.0.0 h1:TJIWdbX0B+kpNagQrjgq8bCMrbhiuX73M2XwgtDMoOI= github.com/otiai10/curr v1.0.0/go.mod h1:LskTG5wDwr8Rs+nNQ+1LlxRjAtTZZjtJW4rMXl6j4vs= github.com/otiai10/mint v1.3.0/go.mod h1:F5AjcsTsWUqX+Na9fpHb52P8pcRX2CI6A3ctIT91xUo= -github.com/otiai10/mint v1.3.2 h1:VYWnrP5fXmz1MXvjuUvcBrXSjGE6xjON+axB/UrpO3E= github.com/otiai10/mint v1.3.2/go.mod h1:/yxELlJQ0ufhjUwhshSj+wFjZ78CnZ48/1wtmBH1OTc= github.com/pact-foundation/pact-go v1.0.4/go.mod h1:uExwJY4kCzNPcHRj+hCR/HBbOOIwwtUjcrb0b5/5kLM= github.com/pascaldekloe/goe v0.0.0-20180627143212-57f6aae5913c/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc= @@ -1687,7 +1683,6 @@ gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b h1:h8qDotaEPuJATrMmW04NCwg7v22aHH28wwpauUhK9Oo= gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -gotest.tools v2.2.0+incompatible h1:VsBPFP1AI068pPrMxtb/S8Zkgf9xEmTLJjfM+P5UIEo= gotest.tools v2.2.0+incompatible/go.mod h1:DsYFclhRJ6vuDpmuTbkuFWG+y2sxOXAzmJt81HFBacw= honnef.co/go/tools v0.0.0-20180728063816-88497007e858/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= From e2f351b4026da26b9f70f2f179adfae3871e1b17 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 12 Oct 2021 19:21:01 +0200 Subject: [PATCH 037/107] Bump google.golang.org/grpc from 1.40.0 to 1.41.0 (#445) Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.40.0 to 1.41.0. - [Release notes](https://github.com/grpc/grpc-go/releases) - [Commits](https://github.com/grpc/grpc-go/compare/v1.40.0...v1.41.0) --- updated-dependencies: - dependency-name: google.golang.org/grpc dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- go.mod | 2 +- go.sum | 5 ++++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/go.mod b/go.mod index 37432c1ffde..f1811e6476e 100644 --- a/go.mod +++ b/go.mod @@ -21,7 +21,7 @@ require ( github.com/tendermint/tendermint v0.34.13 github.com/tendermint/tm-db v0.6.4 google.golang.org/genproto v0.0.0-20210828152312-66f60bf46e71 - google.golang.org/grpc v1.40.0 + google.golang.org/grpc v1.41.0 google.golang.org/protobuf v1.27.1 ) diff --git a/go.sum b/go.sum index 3126c90efd0..810331a7778 100644 --- a/go.sum +++ b/go.sum @@ -197,6 +197,7 @@ github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGX github.com/cncf/udpa/go v0.0.0-20200629203442-efcf912fb354/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/cncf/xds/go v0.0.0-20210312221358-fbca930ec8ed/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= +github.com/cncf/xds/go v0.0.0-20210805033703-aa0b78936158/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= github.com/cockroachdb/datadriven v0.0.0-20190809214429-80d97fb3cbaa/go.mod h1:zn76sxSg3SzpJ0PPJaLDCu+Bu0Lg3sKTORVIj19EIF8= github.com/codahale/hdrhistogram v0.0.0-20161010025455-3a0bb77429bd/go.mod h1:sE/e/2PUdi/liOCUjSTXgM1o87ZssimdTWN964YiIeI= github.com/coinbase/rosetta-sdk-go v0.6.10 h1:rgHD/nHjxLh0lMEdfGDqpTtlvtSBwULqrrZ2qPdNaCM= @@ -293,6 +294,7 @@ github.com/envoyproxy/go-control-plane v0.9.7/go.mod h1:cwu0lG7PUMfa9snN8LXBig5y github.com/envoyproxy/go-control-plane v0.9.9-0.20201210154907-fd9021fe5dad/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk= github.com/envoyproxy/go-control-plane v0.9.9-0.20210217033140-668b12f5399d/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk= github.com/envoyproxy/go-control-plane v0.9.9-0.20210512163311-63b5d3c536b0/go.mod h1:hliV/p42l8fGbc6Y9bQ70uLwIvmJyVE5k4iMKlh8wCQ= +github.com/envoyproxy/go-control-plane v0.9.10-0.20210907150352-cf90f659a021/go.mod h1:AFq3mo9L8Lqqiid3OhADV3RfLJnjiw63cSpi+fDTRC0= github.com/envoyproxy/protoc-gen-validate v0.0.14/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= github.com/esimonov/ifshort v1.0.2/go.mod h1:yZqNJUrNn20K8Q9n2CrjTKYyVEmX209Hgu+M1LBpeZE= @@ -1628,8 +1630,9 @@ google.golang.org/grpc v1.37.1/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQ google.golang.org/grpc v1.38.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM= google.golang.org/grpc v1.39.0/go.mod h1:PImNr+rS9TWYb2O4/emRugxiyHZ5JyHW5F+RPnDzfrE= google.golang.org/grpc v1.39.1/go.mod h1:PImNr+rS9TWYb2O4/emRugxiyHZ5JyHW5F+RPnDzfrE= -google.golang.org/grpc v1.40.0 h1:AGJ0Ih4mHjSeibYkFGh1dD9KJ/eOtZ93I6hoHhukQ5Q= google.golang.org/grpc v1.40.0/go.mod h1:ogyxbiOoUXAkP+4+xa6PZSE9DZgIHtSpzjDTB9KAK34= +google.golang.org/grpc v1.41.0 h1:f+PlOh7QV4iIJkPrx5NQ7qaNGFQ3OTse67yaDHfju4E= +google.golang.org/grpc v1.41.0/go.mod h1:U3l9uK9J0sini8mHphKoXyaqDA/8VyGnDee1zzIUK6k= google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.1.0/go.mod h1:6Kw0yEErY5E/yWrBtf03jp27GLLJujG4z/JK95pnjjw= google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= From 488ad2c8d37e2c33b0750a036649012dd04d79e8 Mon Sep 17 00:00:00 2001 From: Carlos Rodriguez Date: Wed, 13 Oct 2021 09:25:48 +0200 Subject: [PATCH 038/107] doc: a light client is associated with only one chain (#476) * doc: a light client is a associated with only one chain * address review comment Co-authored-by: Aditya Co-authored-by: Aditya --- docs/ibc/overview.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/ibc/overview.md b/docs/ibc/overview.md index 724b2c46953..07a7cce560f 100644 --- a/docs/ibc/overview.md +++ b/docs/ibc/overview.md @@ -32,8 +32,8 @@ module correctly. IBC Clients are light clients (identified by a unique client-id) that track the consensus states of other blockchains, along with the proof spec necessary to properly verify proofs against the -client's consensus state. A client may be associated with any number of connections to multiple -chains. The supported IBC clients are: +client's consensus state. A client may be associated with any number of connections to the counterparty +chain. The supported IBC clients are: * [Solo Machine light client](https://github.com/cosmos/ibc-go/blob/main/modules/light-clients/06-solomachine): devices such as phones, browsers, or laptops. * [Tendermint light client](https://github.com/cosmos/ibc-go/blob/main/modules/light-clients/07-tendermint): The default for SDK-based chains, From 235393b5fe6914be78732ef22825cfe2b55d78a6 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 15 Oct 2021 08:31:25 +0200 Subject: [PATCH 039/107] Bump github.com/tendermint/tendermint from 0.34.13 to 0.34.14 (#489) Bumps [github.com/tendermint/tendermint](https://github.com/tendermint/tendermint) from 0.34.13 to 0.34.14. - [Release notes](https://github.com/tendermint/tendermint/releases) - [Changelog](https://github.com/tendermint/tendermint/blob/master/CHANGELOG.md) - [Commits](https://github.com/tendermint/tendermint/compare/v0.34.13...v0.34.14) --- updated-dependencies: - dependency-name: github.com/tendermint/tendermint dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- go.mod | 3 ++- go.sum | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/go.mod b/go.mod index f1811e6476e..5959aa9c147 100644 --- a/go.mod +++ b/go.mod @@ -18,7 +18,7 @@ require ( github.com/spf13/cobra v1.2.1 github.com/spf13/viper v1.9.0 github.com/stretchr/testify v1.7.0 - github.com/tendermint/tendermint v0.34.13 + github.com/tendermint/tendermint v0.34.14 github.com/tendermint/tm-db v0.6.4 google.golang.org/genproto v0.0.0-20210828152312-66f60bf46e71 google.golang.org/grpc v1.41.0 @@ -74,6 +74,7 @@ require ( github.com/jmhodges/levigo v1.0.0 // indirect github.com/keybase/go-keychain v0.0.0-20190712205309-48d3d31d256d // indirect github.com/klauspost/compress v1.11.7 // indirect + github.com/lib/pq v1.10.2 // indirect github.com/libp2p/go-buffer-pool v0.0.2 // indirect github.com/magiconair/properties v1.8.5 // indirect github.com/mattn/go-isatty v0.0.14 // indirect diff --git a/go.sum b/go.sum index 810331a7778..2017ad83daf 100644 --- a/go.sum +++ b/go.sum @@ -1037,8 +1037,9 @@ github.com/tendermint/go-amino v0.16.0/go.mod h1:TQU0M1i/ImAo+tYpZi73AU3V/dKeCoM github.com/tendermint/tendermint v0.34.0-rc4/go.mod h1:yotsojf2C1QBOw4dZrTcxbyxmPUrT4hNuOQWX9XUwB4= github.com/tendermint/tendermint v0.34.0-rc6/go.mod h1:ugzyZO5foutZImv0Iyx/gOFCX6mjJTgbLHTwi17VDVg= github.com/tendermint/tendermint v0.34.0/go.mod h1:Aj3PIipBFSNO21r+Lq3TtzQ+uKESxkbA3yo/INM4QwQ= -github.com/tendermint/tendermint v0.34.13 h1:fu+tsHudbOr5PvepjH0q47Jae59hQAvn3IqAHv2EbC8= github.com/tendermint/tendermint v0.34.13/go.mod h1:6RVVRBqwtKhA+H59APKumO+B7Nye4QXSFc6+TYxAxCI= +github.com/tendermint/tendermint v0.34.14 h1:GCXmlS8Bqd2Ix3TQCpwYLUNHe+Y+QyJsm5YE+S/FkPo= +github.com/tendermint/tendermint v0.34.14/go.mod h1:FrwVm3TvsVicI9Z7FlucHV6Znfd5KBc/Lpp69cCwtk0= github.com/tendermint/tm-db v0.6.2/go.mod h1:GYtQ67SUvATOcoY8/+x6ylk8Qo02BQyLrAs+yAcLvGI= github.com/tendermint/tm-db v0.6.3/go.mod h1:lfA1dL9/Y/Y8wwyPp2NMLyn5P5Ptr/gvDFNWtrCWSf8= github.com/tendermint/tm-db v0.6.4 h1:3N2jlnYQkXNQclQwd/eKV/NzlqPlfK21cpRRIx80XXQ= From ae4ba891ee0f561c48d8c82d9f0da03ec48c1462 Mon Sep 17 00:00:00 2001 From: Aditya Date: Fri, 15 Oct 2021 10:41:45 +0200 Subject: [PATCH 040/107] Middleware Developer and Integration Guide (#477) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * write handshake docs * initial docs * fix links * remove since * Update docs/ibc/middleware/integration.md Co-authored-by: Damian Nolan * Apply suggestions from code review Co-authored-by: colin axnér <25233464+colin-axner@users.noreply.github.com> * address suggestions * add in-code interfaces and clarify cap docs * fix carlos nit * Module -> IBCModule Co-authored-by: Damian Nolan Co-authored-by: colin axnér <25233464+colin-axner@users.noreply.github.com> --- docs/ibc/middleware/develop.md | 239 +++++++++++++++++++++++ docs/ibc/middleware/integration.md | 69 +++++++ modules/core/04-channel/keeper/keeper.go | 2 + modules/core/05-port/types/module.go | 23 +++ 4 files changed, 333 insertions(+) create mode 100644 docs/ibc/middleware/develop.md create mode 100644 docs/ibc/middleware/integration.md diff --git a/docs/ibc/middleware/develop.md b/docs/ibc/middleware/develop.md new file mode 100644 index 00000000000..b4cd037e5e6 --- /dev/null +++ b/docs/ibc/middleware/develop.md @@ -0,0 +1,239 @@ + + +# IBC Middleware + +Learn how to write your own custom middleware to wrap an IBC application, and understand how to hook different middleware to IBC base applications to form different IBC application stacks {synopsis}. + +This document serves as a guide for middleware developers who want to write their own middleware and for chain developers who want to use IBC middleware on their chains. + +IBC applications are designed to be self-contained modules that implement their own application-specific logic through a set of interfaces with the core IBC handlers. These core IBC handlers, in turn, are designed to enforce the correctness properties of IBC (transport, authentication, ordering) while delegating all application-specific handling to the IBC application modules. However, there are cases where some functionality may be desired by many applications, yet not appropriate to place in core IBC. + +Middleware allows developers to define the extensions as separate modules that can wrap over the base application. This middleware can thus perform its own custom logic, and pass data into the application so that it may run its logic without being aware of the middleware's existence. This allows both the application and the middleware to implement its own isolated logic while still being able to run as part of a single packet flow. + +## Pre-requisite Readings + +- [IBC Overview](../overview.md) {prereq} +- [IBC Integration](../integration.md) {prereq} +- [IBC Application Developer Guide](../apps.md) {prereq} + +## Definitions + +`Middleware`: A self-contained module that sits between core IBC and an underlying IBC application during packet execution. All messages between core IBC and underlying application must flow through middleware, which may perform its own custom logic. + +`Underlying Application`: An underlying application is the application that is directly connected to the middleware in question. This underlying application may itself be middleware that is chained to a base application. + +`Base Application`: A base application is an IBC application that does not contain any middleware. It may be nested by 0 or multiple middleware to form an application stack. + +`Application Stack (or stack)`: A stack is the complete set of application logic (middleware(s) + base application) that gets connected to core IBC. A stack may be just a base application, or it may be a series of middlewares that nest a base application. + +## Create a custom IBC Middleware + +IBC Middleware will wrap over an underlying IBC application and sits between core IBC and the application. It has complete control in modifying any message coming from IBC to the application, and any message coming from the application to core IBC. Thus, middleware must be completely trusted by chain developers who wish to integrate them, however this gives them complete flexibility in modifying the application(s) they wrap. + +#### Interfaces + +```go +// Middleware implements the ICS26 Module interface +type Middleware interface { + porttypes.IBCModule // middleware has acccess to an underlying application which may be wrapped by more middleware + ics4Wrapper: ICS4Wrapper // middleware has access to ICS4Wrapper which may be core IBC Channel Handler or a higher-level middleware that wraps this middleware. +} +``` + +```typescript +// This is implemented by ICS4 and all middleware that are wrapping base application. +// The base application will call `sendPacket` or `writeAcknowledgement` of the middleware directly above them +// which will call the next middleware until it reaches the core IBC handler. +type ICS4Wrapper interface { + SendPacket(ctx sdk.Context, chanCap *capabilitytypes.Capability, packet exported.Packet) error + WriteAcknowledgement(ctx sdk.Context, chanCap *capabilitytypes.Capability, packet exported.Packet, ack []byte) error +} +``` + +### Implement `IBCModule` interface and callbacks + +The IBCModule is struct that implements the ICS26Interface (`porttypes.IBCModule`). It is recommended to separate these callbacks into a separate file `ibc_module.go`. As will be mentioned in the [integration doc](./integration.md), this struct should be different than the struct that implements `AppModule` in case the middleware maintains its own internal state and processes separate SDK messages. + +The middleware must have access to the underlying application, and be called before during all ICS-26 callbacks. It may execute custom logic during these callbacks, and then call the underlying application's callback. Middleware **may** choose not to call the underlying application's callback at all. Though these should generally be limited to error cases. + +In the case where the IBC middleware expects to speak to a compatible IBC middleware on the counterparty chain; they must use the channel handshake to negotiate the middleware version without interfering in the version negotiation of the underlying application. + +Middleware accomplishes this by formatting the version in the following format: `{mw-version}:{app-version}`. + +During the handshake callbacks, the middleware can split the version into: `mw-version`, `app-version`. It can do its negotiation logic on `mw-version`, and pass the `app-version` to the underlying application. + +The middleware should simply pass the capability in the callback arguments along to the underlying application so that it may be claimed by the base application. The base application will then pass the capability up the stack in order to authenticate an outgoing packet/acknowledgement. + +In the case where the middleware wishes to send a packet or acknowledgment without the involvement of the underlying application, it should be given access to the same `scopedKeeper` as the base application so that it can retrieve the capabilities by itself. + +### Handshake callbacks + +```go +func (im IBCModule) OnChanOpenInit(ctx sdk.Context, + order channeltypes.Order, + connectionHops []string, + portID string, + channelID string, + channelCap *capabilitytypes.Capability, + counterparty channeltypes.Counterparty, + version string, +) error { + // core/04-channel/types contains a helper function to split middleware and underlying app version + middlewareVersion, appVersion = channeltypes.SplitChannelVersion(version) + doCustomLogic() + im.app.OnChanOpenInit( + ctx, + order, + connectionHops, + portID, + channelID, + channelCap, + counterparty, + appVersion, // note we only pass app version here + ) +} + +func OnChanOpenTry( + ctx sdk.Context, + order channeltypes.Order, + connectionHops []string, + portID, + channelID string, + channelCap *capabilitytypes.Capability, + counterparty channeltypes.Counterparty, + version, + counterpartyVersion string, +) error { + // core/04-channel/types contains a helper function to split middleware and underlying app version + cpMiddlewareVersion, cpAppVersion = channeltypes.SplitChannelVersion(counterpartyVersion) + middlewareVersion, appVersion = channeltypes.SplitChannelVersion(version) + if !isCompatible(cpMiddlewareVersion, middlewareVersion) { + return error + } + doCustomLogic() + + // call the underlying applications OnChanOpenTry callback + app.OnChanOpenTry( + ctx, + order, + connectionHops, + portID, + channelID, + channelCap, + counterparty, + cpAppVersion, // note we only pass counterparty app version here + appVersion, // only pass app version + ) +} + +func OnChanOpenAck( + ctx sdk.Context, + portID, + channelID string, + counterpartyVersion string, +) error { + // core/04-channel/types contains a helper function to split middleware and underlying app version + middlewareVersion, appVersion = channeltypes.SplitChannelVersion(version) + if !isCompatible(middlewareVersion) { + return error + } + doCustomLogic() + + // call the underlying applications OnChanOpenTry callback + app.OnChanOpenAck(ctx, portID, channelID, appVersion) +} + +func OnChanOpenConfirm( + ctx sdk.Context, + portID, + channelID string, +) error { + doCustomLogic() + + app.OnChanOpenConfirm(ctx, portID, channelID) +} + +OnChanCloseInit( + ctx sdk.Context, + portID, + channelID string, +) error { + doCustomLogic() + + app.OnChanCloseInit(ctx, portID, channelID) +} + +OnChanCloseConfirm( + ctx sdk.Context, + portID, + channelID string, +) error { + doCustomLogic() + + app.OnChanCloseConfirm(ctx, portID, channelID) +} +``` + +NOTE: Middleware that does not need to negotiate with a counterparty middleware on the remote stack will not implement the version splitting and negotiation, and will simply perform its own custom logic on the callbacks without relying on the counterparty behaving similarly. + +### Packet callbacks + +The packet callbacks just like the handshake callbacks wrap the application's packet callbacks. The packet callbacks are where the middleware performs most of its custom logic. The middleware may read the packet flow data and perform some additional packet handling, or it may modify the incoming data before it reaches the underlying application. This enables a wide degree of usecases, as a simple base application like token-transfer can be transformed for a variety of usecases by combining it with custom middleware. + +```go +OnRecvPacket( + ctx sdk.Context, + packet channeltypes.Packet, +) ibcexported.Acknowledgement { + doCustomLogic(packet) + + ack := app.OnRecvPacket(ctx, packet) + + doCustomLogic(ack) // middleware may modify outgoing ack + return ack +} + +OnAcknowledgementPacket( + ctx sdk.Context, + packet channeltypes.Packet, + acknowledgement []byte, +) (*sdk.Result, error) { + doCustomLogic(packet, ack) + + app.OnAcknowledgementPacket(ctx, packet, ack) +} + +OnTimeoutPacket( + ctx sdk.Context, + packet channeltypes.Packet, +) (*sdk.Result, error) { + doCustomLogic(packet) + + app.OnTimeoutPacket(ctx, packet) +} +``` + +### ICS-4 Wrappers + +Middleware must also wrap ICS-4 so that any communication from the application to the channelKeeper goes through the middleware first. Similar to the packet callbacks, the middleware may modify outgoing acknowledgements and packets in any way it wishes. + +```go +// only called for async acks +func WriteAcknowledgement( + packet channeltypes.Packet, + acknowledgement []bytes) { + // middleware may modify acknowledgement + ack_bytes = doCustomLogic(acknowledgement) + + return ics4Keeper.WriteAcknowledgement(packet, ack_bytes) +} + +func SendPacket(appPacket channeltypes.Packet) { + // middleware may modify packet + packet = doCustomLogic(app_packet) + + return ics4Keeper.SendPacket(packet) +} +``` \ No newline at end of file diff --git a/docs/ibc/middleware/integration.md b/docs/ibc/middleware/integration.md new file mode 100644 index 00000000000..68a8de00899 --- /dev/null +++ b/docs/ibc/middleware/integration.md @@ -0,0 +1,69 @@ + + +# Integrating IBC Middleware into a Chain + +Learn how to integrate IBC middleware(s) with a base application to your chain. The following document only applies for Cosmos SDK chains. + +If the middleware is maintaining its own state and/or processing SDK messages, then it should create and register its SDK module **only once** with the module manager in `app.go`. + +All middleware must be connected to the IBC router and wrap over an underlying base IBC application. An IBC application may be wrapped by many layers of middleware, only the top layer middleware should be hooked to the IBC router, with all underlying middlewares and application getting wrapped by it. + +The order of middleware **matters**, function calls from IBC to the application travel from top-level middleware to the bottom middleware and then to the application. Function calls from the application to IBC goes through the bottom middleware in order to the top middleware and then to core IBC handlers. Thus the same set of middleware put in different orders may produce different effects. + +### Example integration + +```go +// app.go + +// middleware 1 and middleware 3 are stateful middleware, +// perhaps implementing separate sdk.Msg and Handlers +mw1Keeper := mw1.NewKeeper(storeKey1) +mw3Keeper := mw3.NewKeeper(storeKey3) + +// Only create App Module **once** and register in app module +// if the module maintains independent state and/or processes sdk.Msgs +app.moduleManager = module.NewManager( + ... + mw1.NewAppModule(mw1Keeper), + mw3.NewAppModule(mw3Keeper), + transfer.NewAppModule(transferKeeper), + custom.NewAppModule(customKeeper) +) + +mw1IBCModule := mw1.NewIBCModule(mw1Keeper) +mw2IBCModule := mw2.NewIBCModule() // middleware2 is stateless middleware +mw3IBCModule := mw3.NewIBCModule(mw3Keeper) + +scopedKeeperTransfer := capabilityKeeper.NewScopedKeeper("transfer") +scopedKeeperCustom1 := capabilityKeeper.NewScopedKeeper("custom1") +scopedKeeperCustom2 := capabilityKeeper.NewScopedKeeper("custom2") + +// NOTE: IBC Modules may be initialized any number of times provided they use a separate +// scopedKeeper and underlying port. + +// initialize base IBC applications +// if you want to create two different stacks with the same base application, +// they must be given different scopedKeepers and assigned different ports. +transferIBCModule := transfer.NewIBCModule(transferKeeper, scopedKeeperTransfer) +customIBCModule1 := custom.NewIBCModule(customKeeper, scopedKeeperCustom1, "portCustom1") +customIBCModule2 := custom.NewIBCModule(customKeeper, scopedKeeperCustom2, "portCustom2") + +// create IBC stacks by combining middleware with base application +// NOTE: since middleware2 is stateless it does not require a Keeper +// stack 1 contains mw1 -> mw3 -> transfer +stack1 := mw1.NewIBCModule(mw1Keeper, mw3.NewIBCModule(mw3Keeper, transferIBCModule)) +// stack 2 contains mw3 -> mw2 -> custom1 +stack2 := mw3.NewIBCModule(mw3Keeper, mw3.NewIBCModule(customIBCModule1)) +// stack 3 contains mw2 -> mw1 -> custom2 +stack3 := mw2.NewIBCModule(mw1.NewIBCModule(mw1Keeper, customIBCModule2)) + +// associate each stack with the moduleName provided by the underlying scopedKeeper +ibcRouter := porttypes.NewRouter() +ibcRouter.AddRoute("transfer", stack1) +ibcRouter.AddRoute("custom1", stack2) +ibcRouter.AddRoute("custom2", stack3) +app.IBCKeeper.SetRouter(ibcRouter) +``` + diff --git a/modules/core/04-channel/keeper/keeper.go b/modules/core/04-channel/keeper/keeper.go index c5e07148c78..cb8201ce585 100644 --- a/modules/core/04-channel/keeper/keeper.go +++ b/modules/core/04-channel/keeper/keeper.go @@ -20,6 +20,8 @@ import ( "github.com/cosmos/ibc-go/v2/modules/core/exported" ) +var _ porttypes.ICS4Wrapper = Keeper{} + // Keeper defines the IBC channel keeper type Keeper struct { // implements gRPC QueryServer interface diff --git a/modules/core/05-port/types/module.go b/modules/core/05-port/types/module.go index 8e4bd092f67..6f66c72a530 100644 --- a/modules/core/05-port/types/module.go +++ b/modules/core/05-port/types/module.go @@ -95,3 +95,26 @@ type IBCModule interface { proposedVersion string, ) (version string, err error) } + +// ICS4Wrapper implements the ICS4 interfaces that IBC applications use to send packets and acknolwedgements. +type ICS4Wrapper interface { + SendPacket( + ctx sdk.Context, + chanCap *capabilitytypes.Capability, + packet exported.PacketI, + ) error + + WriteAcknowledgement( + ctx sdk.Context, + chanCap *capabilitytypes.Capability, + packet exported.PacketI, + ack []byte, + ) error +} + +// Middleware must implement IBCModule to wrap communication from core IBC to underlying application +// and ICS4Wrapper to wrap communication from underlying application to core IBC. +type Middleware interface { + IBCModule + ICS4Wrapper +} From 71f929b9395215f7ce09c4fb97033442bcc98b3c Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 25 Oct 2021 09:57:00 +0200 Subject: [PATCH 041/107] Bump github.com/armon/go-metrics from 0.3.9 to 0.3.10 (#501) Bumps [github.com/armon/go-metrics](https://github.com/armon/go-metrics) from 0.3.9 to 0.3.10. - [Release notes](https://github.com/armon/go-metrics/releases) - [Commits](https://github.com/armon/go-metrics/compare/v0.3.9...v0.3.10) --- updated-dependencies: - dependency-name: github.com/armon/go-metrics dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- go.mod | 2 +- go.sum | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/go.mod b/go.mod index 5959aa9c147..d828e31a542 100644 --- a/go.mod +++ b/go.mod @@ -5,7 +5,7 @@ module github.com/cosmos/ibc-go/v2 replace github.com/gogo/protobuf => github.com/regen-network/protobuf v1.3.3-alpha.regen.1 require ( - github.com/armon/go-metrics v0.3.9 + github.com/armon/go-metrics v0.3.10 github.com/confio/ics23/go v0.6.6 github.com/cosmos/cosmos-sdk v0.44.2 github.com/gogo/protobuf v1.3.3 diff --git a/go.sum b/go.sum index 2017ad83daf..9338c0aa28f 100644 --- a/go.sum +++ b/go.sum @@ -126,8 +126,9 @@ github.com/aristanetworks/goarista v0.0.0-20170210015632-ea17b1a17847/go.mod h1: github.com/armon/circbuf v0.0.0-20150827004946-bbbad097214e/go.mod h1:3U/XgcO3hCbHZ8TKRvWD2dDTCfh9M9ya+I9JpbB7O8o= github.com/armon/consul-api v0.0.0-20180202201655-eb2c6b5be1b6/go.mod h1:grANhF5doyWs3UAsr3K4I6qtAmlQcZDesFNEHPZAzj8= github.com/armon/go-metrics v0.0.0-20180917152333-f0300d1749da/go.mod h1:Q73ZrmVTwzkszR9V5SSuryQ31EELlFMUz1kKyl939pY= -github.com/armon/go-metrics v0.3.9 h1:O2sNqxBdvq8Eq5xmzljcYzAORli6RWCvEym4cJf9m18= github.com/armon/go-metrics v0.3.9/go.mod h1:4O98XIr/9W0sxpJ8UaYkvjk10Iff7SnFrb4QAOwNTFc= +github.com/armon/go-metrics v0.3.10 h1:FR+drcQStOe+32sYyJYyZ7FIdgoGGBnwLl+flodp8Uo= +github.com/armon/go-metrics v0.3.10/go.mod h1:4O98XIr/9W0sxpJ8UaYkvjk10Iff7SnFrb4QAOwNTFc= github.com/armon/go-radix v0.0.0-20180808171621-7fddfc383310/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= github.com/armon/go-radix v1.0.0/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= github.com/aryann/difflib v0.0.0-20170710044230-e206f873d14a/go.mod h1:DAHtR1m6lCRdSC2Tm3DSWRPvIPr6xNKyeHdqDQSQT+A= From 3b025bdaf0a29900e9078717149bda3a7b57c369 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Federico=20Kunze=20K=C3=BCllmer?= <31522760+fedekunze@users.noreply.github.com> Date: Mon, 1 Nov 2021 12:29:49 +0100 Subject: [PATCH 042/107] deps: bump cosmos-sdk `v0.44.3` (#503) * deps: bump cosmos-sdk * update changelog --- CHANGELOG.md | 2 +- go.mod | 2 +- go.sum | 2 ++ testing/simapp/simd/cmd/root.go | 7 +++++-- 4 files changed, 9 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index ac777db719a..fe0a0fa033f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -38,7 +38,7 @@ Ref: https://keepachangelog.com/en/1.0.0/ ### Dependencies -* [\#485](https://github.com/cosmos/ibc-go/pull/485) Bump SDK version to v0.44.2 +* [\#503](https://github.com/cosmos/ibc-go/pull/503) Bump SDK version to v0.44.3 * [\#455](https://github.com/cosmos/ibc-go/pull/455) Bump SDK version to v0.44.1 * [\#404](https://github.com/cosmos/ibc-go/pull/404) Bump Go version to 1.17 diff --git a/go.mod b/go.mod index d828e31a542..47cee427570 100644 --- a/go.mod +++ b/go.mod @@ -7,7 +7,7 @@ replace github.com/gogo/protobuf => github.com/regen-network/protobuf v1.3.3-alp require ( github.com/armon/go-metrics v0.3.10 github.com/confio/ics23/go v0.6.6 - github.com/cosmos/cosmos-sdk v0.44.2 + github.com/cosmos/cosmos-sdk v0.44.3 github.com/gogo/protobuf v1.3.3 github.com/golang/protobuf v1.5.2 github.com/gorilla/mux v1.8.0 diff --git a/go.sum b/go.sum index 9338c0aa28f..5c6b55437bd 100644 --- a/go.sum +++ b/go.sum @@ -225,6 +225,8 @@ github.com/coreos/pkg v0.0.0-20160727233714-3ac0863d7acf/go.mod h1:E3G3o1h8I7cfc github.com/coreos/pkg v0.0.0-20180928190104-399ea9e2e55f/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA= github.com/cosmos/cosmos-sdk v0.44.2 h1:EWoj9h9Q9t7uqS3LyqzZWWwnSEodUJlYDMloDoPBD3Y= github.com/cosmos/cosmos-sdk v0.44.2/go.mod h1:fwQJdw+aECatpTvQTo1tSfHEsxACdZYU80QCZUPnHr4= +github.com/cosmos/cosmos-sdk v0.44.3 h1:F71n1jCqPi4F0wXg8AU4AUdUF8llw0x3D3o6aLt/j2A= +github.com/cosmos/cosmos-sdk v0.44.3/go.mod h1:bA3+VenaR/l/vDiYzaiwbWvRPWHMBX2jG0ygiFtiBp0= github.com/cosmos/go-bip39 v0.0.0-20180819234021-555e2067c45d/go.mod h1:tSxLoYXyBmiFeKpvmq4dzayMdCjCnu8uqmCysIGBT2Y= github.com/cosmos/go-bip39 v1.0.0 h1:pcomnQdrdH22njcAatO0yWojsUnCO3y2tNoV1cb6hHY= github.com/cosmos/go-bip39 v1.0.0/go.mod h1:RNJv0H/pOIVgxw6KS7QeX2a0Uo0aKUlfhZ4xuwvCdJw= diff --git a/testing/simapp/simd/cmd/root.go b/testing/simapp/simd/cmd/root.go index f7541f713d7..2253b6ecd82 100644 --- a/testing/simapp/simd/cmd/root.go +++ b/testing/simapp/simd/cmd/root.go @@ -56,9 +56,12 @@ func NewRootCmd() (*cobra.Command, params.EncodingConfig) { cmd.SetOut(cmd.OutOrStdout()) cmd.SetErr(cmd.ErrOrStderr()) - initClientCtx = client.ReadHomeFlag(initClientCtx, cmd) + initClientCtx, err := client.ReadPersistentCommandFlags(initClientCtx, cmd.Flags()) + if err != nil { + return err + } - initClientCtx, err := config.ReadFromClientConfig(initClientCtx) + initClientCtx, err = config.ReadFromClientConfig(initClientCtx) if err != nil { return err } From c0553a873511b2d22a9f56f25db902c556ff5c1a Mon Sep 17 00:00:00 2001 From: Carlos Rodriguez Date: Mon, 1 Nov 2021 15:27:09 +0100 Subject: [PATCH 043/107] docs: add middleware child to navigation (#513) --- docs/.vuepress/config.js | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/docs/.vuepress/config.js b/docs/.vuepress/config.js index 17b7752035d..2ddebeb62a5 100644 --- a/docs/.vuepress/config.js +++ b/docs/.vuepress/config.js @@ -67,6 +67,11 @@ module.exports = { directory: false, path: "/ibc/apps.html" }, + { + title: "Middleware", + directory: true, + path: "/ibc/middleware" + }, { title: "Upgrades", directory: true, From ef61608220887ce398c681e1279b018066f6d4b7 Mon Sep 17 00:00:00 2001 From: Carlos Rodriguez Date: Tue, 2 Nov 2021 07:02:06 +0100 Subject: [PATCH 044/107] update changelog (#505) Co-authored-by: Carlos Rodriguez --- CHANGELOG.md | 27 +++++++++++++++++++++++++-- 1 file changed, 25 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index fe0a0fa033f..b5c351e9070 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -39,7 +39,6 @@ Ref: https://keepachangelog.com/en/1.0.0/ ### Dependencies * [\#503](https://github.com/cosmos/ibc-go/pull/503) Bump SDK version to v0.44.3 -* [\#455](https://github.com/cosmos/ibc-go/pull/455) Bump SDK version to v0.44.1 * [\#404](https://github.com/cosmos/ibc-go/pull/404) Bump Go version to 1.17 ### API Breaking @@ -59,6 +58,18 @@ Ref: https://keepachangelog.com/en/1.0.0/ * [\#384](https://github.com/cosmos/ibc-go/pull/384) Added `NegotiateAppVersion` method to `IBCModule` interface supported by a gRPC query service in `05-port`. This provides routing of requests to the desired application module callback, which in turn performs application version negotiation. * [\#432](https://github.com/cosmos/ibc-go/pull/432) Introduce `MockIBCApp` struct to the mock module. Allows the mock module to be reused to perform custom logic on each IBC App interface function. This might be useful when testing out IBC applications written as middleware. +## [v1.2.2](https://github.com/cosmos/ibc-go/releases/tag/v1.2.2) - 2021-10-15 + +### Dependencies + +* [\#485](https://github.com/cosmos/ibc-go/pull/485) Bump SDK version to v0.44.2 + +## [v1.2.1](https://github.com/cosmos/ibc-go/releases/tag/v1.2.1) - 2021-10-04 + +### Dependencies + +* [\#455](https://github.com/cosmos/ibc-go/pull/455) Bump SDK version to v0.44.1 + ## [v1.2.0](https://github.com/cosmos/ibc-go/releases/tag/v1.2.0) - 2021-09-10 ### State Machine Breaking @@ -75,7 +86,19 @@ Ref: https://keepachangelog.com/en/1.0.0/ ### Dependencies -* [\#386](https://github.com/cosmos/ibc-go/pull/386) Bump [tendermint](https://github.com/tendermint/tendermint) from 0.34.12 to 0.34.13. +* [\#386](https://github.com/cosmos/ibc-go/pull/386) Bump [tendermint](github.com/tendermint/tendermint) from 0.34.12 to 0.34.13. + +## [v1.1.2](https://github.com/cosmos/ibc-go/releases/tag/v1.1.2) - 2021-10-15 + +### Dependencies + +* [\#485](https://github.com/cosmos/ibc-go/pull/485) Bump SDK version to v0.44.2 + +## [v1.1.1](https://github.com/cosmos/ibc-go/releases/tag/v1.1.1) - 2021-10-04 + +### Dependencies + +* [\#455](https://github.com/cosmos/ibc-go/pull/455) Bump SDK version to v0.44.1 ## [v1.1.0](https://github.com/cosmos/ibc-go/releases/tag/v1.1.0) - 2021-09-03 From 662c54709157d0153a4a2bc4b70b5823fb093779 Mon Sep 17 00:00:00 2001 From: Carlos Rodriguez Date: Tue, 2 Nov 2021 09:40:00 +0100 Subject: [PATCH 045/107] fix broken link (#515) --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index b5c351e9070..c79a9c8cd11 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -86,7 +86,7 @@ Ref: https://keepachangelog.com/en/1.0.0/ ### Dependencies -* [\#386](https://github.com/cosmos/ibc-go/pull/386) Bump [tendermint](github.com/tendermint/tendermint) from 0.34.12 to 0.34.13. +* [\#386](https://github.com/cosmos/ibc-go/pull/386) Bump [tendermint](https://github.com/tendermint/tendermint) from 0.34.12 to 0.34.13. ## [v1.1.2](https://github.com/cosmos/ibc-go/releases/tag/v1.1.2) - 2021-10-15 From 50cda08098449accf8a98ef2978e69d8632ba824 Mon Sep 17 00:00:00 2001 From: Leo Pang <34628052+allthatjazzleo@users.noreply.github.com> Date: Tue, 2 Nov 2021 18:30:59 +0800 Subject: [PATCH 046/107] update-client should expect 2 args (#500) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: colin axnér <25233464+colin-axner@users.noreply.github.com> --- CHANGELOG.md | 4 ++++ modules/core/02-client/client/cli/tx.go | 4 ++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index c79a9c8cd11..06dc7bc7a9c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -58,6 +58,10 @@ Ref: https://keepachangelog.com/en/1.0.0/ * [\#384](https://github.com/cosmos/ibc-go/pull/384) Added `NegotiateAppVersion` method to `IBCModule` interface supported by a gRPC query service in `05-port`. This provides routing of requests to the desired application module callback, which in turn performs application version negotiation. * [\#432](https://github.com/cosmos/ibc-go/pull/432) Introduce `MockIBCApp` struct to the mock module. Allows the mock module to be reused to perform custom logic on each IBC App interface function. This might be useful when testing out IBC applications written as middleware. +### Bug Fixes + +* (02-client) [\#500](https://github.com/cosmos/ibc-go/pull/500) Fix IBC `update-client proposal` cli command to expect correct number of args. + ## [v1.2.2](https://github.com/cosmos/ibc-go/releases/tag/v1.2.2) - 2021-10-15 ### Dependencies diff --git a/modules/core/02-client/client/cli/tx.go b/modules/core/02-client/client/cli/tx.go index cbc71414e6f..dad830e51fd 100644 --- a/modules/core/02-client/client/cli/tx.go +++ b/modules/core/02-client/client/cli/tx.go @@ -237,8 +237,8 @@ func NewUpgradeClientCmd() *cobra.Command { // NewCmdSubmitUpdateClientProposal implements a command handler for submitting an update IBC client proposal transaction. func NewCmdSubmitUpdateClientProposal() *cobra.Command { cmd := &cobra.Command{ - Use: "update-client [subject-client-id] [substitute-client-id] [flags]", - Args: cobra.ExactArgs(3), + Use: "update-client [subject-client-id] [substitute-client-id]", + Args: cobra.ExactArgs(2), Short: "Submit an update IBC client proposal", Long: "Submit an update IBC client proposal along with an initial deposit.\n" + "Please specify a subject client identifier you want to update..\n" + From ab65e17185b4133e654bd972b1166d4f5421a8cc Mon Sep 17 00:00:00 2001 From: Damian Nolan Date: Tue, 2 Nov 2021 13:27:52 +0100 Subject: [PATCH 047/107] chore: split testing/mock ibcmodule (#516) * split mock module into ibc_module.go * updating godocs * fixing import grouping in ibc_module.go --- testing/mock/ibc_module.go | 174 +++++++++++++++++++++++++++++++++++++ testing/mock/mock.go | 152 +------------------------------- testing/simapp/app.go | 3 +- 3 files changed, 177 insertions(+), 152 deletions(-) create mode 100644 testing/mock/ibc_module.go diff --git a/testing/mock/ibc_module.go b/testing/mock/ibc_module.go new file mode 100644 index 00000000000..f76a0eafc7e --- /dev/null +++ b/testing/mock/ibc_module.go @@ -0,0 +1,174 @@ +package mock + +import ( + "bytes" + "errors" + "strconv" + + sdk "github.com/cosmos/cosmos-sdk/types" + capabilitykeeper "github.com/cosmos/cosmos-sdk/x/capability/keeper" + capabilitytypes "github.com/cosmos/cosmos-sdk/x/capability/types" + + channeltypes "github.com/cosmos/ibc-go/v2/modules/core/04-channel/types" + host "github.com/cosmos/ibc-go/v2/modules/core/24-host" + "github.com/cosmos/ibc-go/v2/modules/core/exported" +) + +// IBCModule implements the ICS26 callbacks for testing/mock. +type IBCModule struct { + IBCApp *MockIBCApp // base application of an IBC middleware stack + scopedKeeper capabilitykeeper.ScopedKeeper +} + +// NewIBCModule creates a new IBCModule given the underlying mock IBC application and scopedKeeper. +func NewIBCModule(app *MockIBCApp, scopedKeeper capabilitykeeper.ScopedKeeper) IBCModule { + return IBCModule{ + IBCApp: app, + scopedKeeper: scopedKeeper, + } +} + +// OnChanOpenInit implements the IBCModule interface. +func (im IBCModule) OnChanOpenInit( + ctx sdk.Context, order channeltypes.Order, connectionHops []string, portID string, + channelID string, chanCap *capabilitytypes.Capability, counterparty channeltypes.Counterparty, version string, +) error { + if im.IBCApp.OnChanOpenInit != nil { + return im.IBCApp.OnChanOpenInit(ctx, order, connectionHops, portID, channelID, chanCap, counterparty, version) + + } + + // Claim channel capability passed back by IBC module + if err := im.scopedKeeper.ClaimCapability(ctx, chanCap, host.ChannelCapabilityPath(portID, channelID)); err != nil { + return err + } + + return nil +} + +// OnChanOpenTry implements the IBCModule interface. +func (im IBCModule) OnChanOpenTry( + ctx sdk.Context, order channeltypes.Order, connectionHops []string, portID string, + channelID string, chanCap *capabilitytypes.Capability, counterparty channeltypes.Counterparty, version, counterpartyVersion string, +) error { + if im.IBCApp.OnChanOpenTry != nil { + return im.IBCApp.OnChanOpenTry(ctx, order, connectionHops, portID, channelID, chanCap, counterparty, version, counterpartyVersion) + + } + // Claim channel capability passed back by IBC module + if err := im.scopedKeeper.ClaimCapability(ctx, chanCap, host.ChannelCapabilityPath(portID, channelID)); err != nil { + return err + } + + return nil +} + +// OnChanOpenAck implements the IBCModule interface. +func (im IBCModule) OnChanOpenAck(ctx sdk.Context, portID string, channelID string, counterpartyVersion string) error { + if im.IBCApp.OnChanOpenAck != nil { + return im.IBCApp.OnChanOpenAck(ctx, portID, channelID, counterpartyVersion) + } + + return nil +} + +// OnChanOpenConfirm implements the IBCModule interface. +func (im IBCModule) OnChanOpenConfirm(ctx sdk.Context, portID, channelID string) error { + if im.IBCApp.OnChanOpenConfirm != nil { + return im.IBCApp.OnChanOpenConfirm(ctx, portID, channelID) + } + + return nil +} + +// OnChanCloseInit implements the IBCModule interface. +func (im IBCModule) OnChanCloseInit(ctx sdk.Context, portID, channelID string) error { + if im.IBCApp.OnChanCloseInit != nil { + return im.IBCApp.OnChanCloseInit(ctx, portID, channelID) + } + + return nil +} + +// OnChanCloseConfirm implements the IBCModule interface. +func (im IBCModule) OnChanCloseConfirm(ctx sdk.Context, portID, channelID string) error { + if im.IBCApp.OnChanCloseConfirm != nil { + return im.IBCApp.OnChanCloseConfirm(ctx, portID, channelID) + } + + return nil +} + +// OnRecvPacket implements the IBCModule interface. +func (im IBCModule) OnRecvPacket(ctx sdk.Context, packet channeltypes.Packet, relayer sdk.AccAddress) exported.Acknowledgement { + if im.IBCApp.OnRecvPacket != nil { + return im.IBCApp.OnRecvPacket(ctx, packet, relayer) + } + + // set state by claiming capability to check if revert happens return + _, err := im.scopedKeeper.NewCapability(ctx, MockRecvCanaryCapabilityName+strconv.Itoa(int(packet.GetSequence()))) + if err != nil { + // application callback called twice on same packet sequence + // must never occur + panic(err) + } + if bytes.Equal(MockPacketData, packet.GetData()) { + return MockAcknowledgement + } else if bytes.Equal(MockAsyncPacketData, packet.GetData()) { + return nil + } + + return MockFailAcknowledgement +} + +// OnAcknowledgementPacket implements the IBCModule interface. +func (im IBCModule) OnAcknowledgementPacket(ctx sdk.Context, packet channeltypes.Packet, acknowledgement []byte, relayer sdk.AccAddress) error { + if im.IBCApp.OnAcknowledgementPacket != nil { + return im.IBCApp.OnAcknowledgementPacket(ctx, packet, acknowledgement, relayer) + } + + _, err := im.scopedKeeper.NewCapability(ctx, MockAckCanaryCapabilityName+strconv.Itoa(int(packet.GetSequence()))) + if err != nil { + // application callback called twice on same packet sequence + // must never occur + panic(err) + } + + return nil +} + +// OnTimeoutPacket implements the IBCModule interface. +func (im IBCModule) OnTimeoutPacket(ctx sdk.Context, packet channeltypes.Packet, relayer sdk.AccAddress) error { + if im.IBCApp.OnTimeoutPacket != nil { + return im.IBCApp.OnTimeoutPacket(ctx, packet, relayer) + } + + _, err := im.scopedKeeper.NewCapability(ctx, MockTimeoutCanaryCapabilityName+strconv.Itoa(int(packet.GetSequence()))) + if err != nil { + // application callback called twice on same packet sequence + // must never occur + panic(err) + } + + return nil +} + +// NegotiateAppVersion implements the IBCModule interface. +func (im IBCModule) NegotiateAppVersion( + ctx sdk.Context, + order channeltypes.Order, + connectionID string, + portID string, + counterparty channeltypes.Counterparty, + proposedVersion string, +) (string, error) { + if im.IBCApp.NegotiateAppVersion != nil { + return im.IBCApp.NegotiateAppVersion(ctx, order, connectionID, portID, counterparty, proposedVersion) + } + + if proposedVersion != Version { // allow testing of error scenarios + return "", errors.New("failed to negotiate app version") + } + + return Version, nil +} diff --git a/testing/mock/mock.go b/testing/mock/mock.go index 00dc8e94751..e0b416deb5e 100644 --- a/testing/mock/mock.go +++ b/testing/mock/mock.go @@ -1,10 +1,7 @@ package mock import ( - "bytes" "encoding/json" - "errors" - "strconv" "github.com/cosmos/cosmos-sdk/client" "github.com/cosmos/cosmos-sdk/codec" @@ -21,7 +18,6 @@ import ( channeltypes "github.com/cosmos/ibc-go/v2/modules/core/04-channel/types" porttypes "github.com/cosmos/ibc-go/v2/modules/core/05-port/types" host "github.com/cosmos/ibc-go/v2/modules/core/24-host" - "github.com/cosmos/ibc-go/v2/modules/core/exported" ) const ( @@ -41,7 +37,7 @@ var ( MockTimeoutCanaryCapabilityName = "mock timeout canary capability name" ) -var _ porttypes.IBCModule = AppModule{} +var _ porttypes.IBCModule = IBCModule{} // Expected Interface // PortKeeper defines the expected IBC port keeper @@ -94,7 +90,6 @@ type AppModule struct { AppModuleBasic scopedKeeper capabilitykeeper.ScopedKeeper portKeeper PortKeeper - IBCApp MockIBCApp // base application of an IBC middleware stack } // NewAppModule returns a mock AppModule instance. @@ -151,148 +146,3 @@ func (am AppModule) BeginBlock(ctx sdk.Context, req abci.RequestBeginBlock) { func (am AppModule) EndBlock(ctx sdk.Context, req abci.RequestEndBlock) []abci.ValidatorUpdate { return []abci.ValidatorUpdate{} } - -// OnChanOpenInit implements the IBCModule interface. -func (am AppModule) OnChanOpenInit( - ctx sdk.Context, order channeltypes.Order, connectionHops []string, portID string, - channelID string, chanCap *capabilitytypes.Capability, counterparty channeltypes.Counterparty, version string, -) error { - if am.IBCApp.OnChanOpenInit != nil { - return am.IBCApp.OnChanOpenInit(ctx, order, connectionHops, portID, channelID, chanCap, counterparty, version) - - } - - // Claim channel capability passed back by IBC module - if err := am.scopedKeeper.ClaimCapability(ctx, chanCap, host.ChannelCapabilityPath(portID, channelID)); err != nil { - return err - } - - return nil -} - -// OnChanOpenTry implements the IBCModule interface. -func (am AppModule) OnChanOpenTry( - ctx sdk.Context, order channeltypes.Order, connectionHops []string, portID string, - channelID string, chanCap *capabilitytypes.Capability, counterparty channeltypes.Counterparty, version, counterpartyVersion string, -) error { - if am.IBCApp.OnChanOpenTry != nil { - return am.IBCApp.OnChanOpenTry(ctx, order, connectionHops, portID, channelID, chanCap, counterparty, version, counterpartyVersion) - - } - // Claim channel capability passed back by IBC module - if err := am.scopedKeeper.ClaimCapability(ctx, chanCap, host.ChannelCapabilityPath(portID, channelID)); err != nil { - return err - } - - return nil -} - -// OnChanOpenAck implements the IBCModule interface. -func (am AppModule) OnChanOpenAck(ctx sdk.Context, portID string, channelID string, counterpartyVersion string) error { - if am.IBCApp.OnChanOpenAck != nil { - return am.IBCApp.OnChanOpenAck(ctx, portID, channelID, counterpartyVersion) - } - - return nil -} - -// OnChanOpenConfirm implements the IBCModule interface. -func (am AppModule) OnChanOpenConfirm(ctx sdk.Context, portID, channelID string) error { - if am.IBCApp.OnChanOpenConfirm != nil { - return am.IBCApp.OnChanOpenConfirm(ctx, portID, channelID) - } - - return nil -} - -// OnChanCloseInit implements the IBCModule interface. -func (am AppModule) OnChanCloseInit(ctx sdk.Context, portID, channelID string) error { - if am.IBCApp.OnChanCloseInit != nil { - return am.IBCApp.OnChanCloseInit(ctx, portID, channelID) - } - - return nil -} - -// OnChanCloseConfirm implements the IBCModule interface. -func (am AppModule) OnChanCloseConfirm(ctx sdk.Context, portID, channelID string) error { - if am.IBCApp.OnChanCloseConfirm != nil { - return am.IBCApp.OnChanCloseConfirm(ctx, portID, channelID) - } - - return nil -} - -// OnRecvPacket implements the IBCModule interface. -func (am AppModule) OnRecvPacket(ctx sdk.Context, packet channeltypes.Packet, relayer sdk.AccAddress) exported.Acknowledgement { - if am.IBCApp.OnRecvPacket != nil { - return am.IBCApp.OnRecvPacket(ctx, packet, relayer) - } - - // set state by claiming capability to check if revert happens return - _, err := am.scopedKeeper.NewCapability(ctx, MockRecvCanaryCapabilityName+strconv.Itoa(int(packet.GetSequence()))) - if err != nil { - // application callback called twice on same packet sequence - // must never occur - panic(err) - } - if bytes.Equal(MockPacketData, packet.GetData()) { - return MockAcknowledgement - } else if bytes.Equal(MockAsyncPacketData, packet.GetData()) { - return nil - } - - return MockFailAcknowledgement -} - -// OnAcknowledgementPacket implements the IBCModule interface. -func (am AppModule) OnAcknowledgementPacket(ctx sdk.Context, packet channeltypes.Packet, acknowledgement []byte, relayer sdk.AccAddress) error { - if am.IBCApp.OnAcknowledgementPacket != nil { - return am.IBCApp.OnAcknowledgementPacket(ctx, packet, acknowledgement, relayer) - } - - _, err := am.scopedKeeper.NewCapability(ctx, MockAckCanaryCapabilityName+strconv.Itoa(int(packet.GetSequence()))) - if err != nil { - // application callback called twice on same packet sequence - // must never occur - panic(err) - } - - return nil -} - -// OnTimeoutPacket implements the IBCModule interface. -func (am AppModule) OnTimeoutPacket(ctx sdk.Context, packet channeltypes.Packet, relayer sdk.AccAddress) error { - if am.IBCApp.OnTimeoutPacket != nil { - return am.IBCApp.OnTimeoutPacket(ctx, packet, relayer) - } - - _, err := am.scopedKeeper.NewCapability(ctx, MockTimeoutCanaryCapabilityName+strconv.Itoa(int(packet.GetSequence()))) - if err != nil { - // application callback called twice on same packet sequence - // must never occur - panic(err) - } - - return nil -} - -// NegotiateAppVersion implements the IBCModule interface. -func (am AppModule) NegotiateAppVersion( - ctx sdk.Context, - order channeltypes.Order, - connectionID string, - portID string, - counterparty channeltypes.Counterparty, - proposedVersion string, -) (string, error) { - if am.IBCApp.NegotiateAppVersion != nil { - return am.IBCApp.NegotiateAppVersion(ctx, order, connectionID, portID, counterparty, proposedVersion) - } - - if proposedVersion != Version { // allow testing of error scenarios - return "", errors.New("failed to negotiate app version") - } - - return Version, nil -} diff --git a/testing/simapp/app.go b/testing/simapp/app.go index cc2aefc03f6..e463079b883 100644 --- a/testing/simapp/app.go +++ b/testing/simapp/app.go @@ -326,11 +326,12 @@ func NewSimApp( // NOTE: the IBC mock keeper and application module is used only for testing core IBC. Do // note replicate if you do not need to test core IBC or light clients. mockModule := ibcmock.NewAppModule(scopedIBCMockKeeper, &app.IBCKeeper.PortKeeper) + mockIBCModule := ibcmock.NewIBCModule(&ibcmock.MockIBCApp{}, scopedIBCMockKeeper) // Create static IBC router, add transfer route, then set and seal it ibcRouter := porttypes.NewRouter() ibcRouter.AddRoute(ibctransfertypes.ModuleName, transferModule) - ibcRouter.AddRoute(ibcmock.ModuleName, mockModule) + ibcRouter.AddRoute(ibcmock.ModuleName, mockIBCModule) app.IBCKeeper.SetRouter(ibcRouter) // create evidence keeper with router From 1f88b3cc82c259fde2df2af3b41a6137f9874687 Mon Sep 17 00:00:00 2001 From: Damian Nolan Date: Wed, 3 Nov 2021 14:44:52 +0100 Subject: [PATCH 048/107] chore: split transfer AppModule/IBCModule (#517) * split transfer into ibc_module.go * adding changelog entry for transfer IBCModule separation --- CHANGELOG.md | 1 + modules/apps/transfer/ibc_module.go | 297 ++++++++++++++++++ .../{module_test.go => ibc_module_test.go} | 0 modules/apps/transfer/module.go | 276 +--------------- testing/simapp/app.go | 4 +- 5 files changed, 301 insertions(+), 277 deletions(-) create mode 100644 modules/apps/transfer/ibc_module.go rename modules/apps/transfer/{module_test.go => ibc_module_test.go} (100%) diff --git a/CHANGELOG.md b/CHANGELOG.md index 06dc7bc7a9c..d6404665f4f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -45,6 +45,7 @@ Ref: https://keepachangelog.com/en/1.0.0/ * (core) [\#227](https://github.com/cosmos/ibc-go/pull/227) Remove sdk.Result from application callbacks * (transfer) [\#350](https://github.com/cosmos/ibc-go/pull/350) Change FungibleTokenPacketData to use a string for the Amount field. This enables token transfers with amounts previously restricted by uint64. Up to the maximum uint256 value is supported. +* (transfer) [\#517](https://github.com/cosmos/ibc-go/pull/517) Separates the ICS 26 callback functions from `AppModule` into a new type `IBCModule` for ICS 20 transfer. ### State Machine Breaking diff --git a/modules/apps/transfer/ibc_module.go b/modules/apps/transfer/ibc_module.go new file mode 100644 index 00000000000..e81d9d933fc --- /dev/null +++ b/modules/apps/transfer/ibc_module.go @@ -0,0 +1,297 @@ +package transfer + +import ( + "fmt" + "math" + + sdk "github.com/cosmos/cosmos-sdk/types" + sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + capabilitytypes "github.com/cosmos/cosmos-sdk/x/capability/types" + + "github.com/cosmos/ibc-go/v2/modules/apps/transfer/keeper" + "github.com/cosmos/ibc-go/v2/modules/apps/transfer/types" + channeltypes "github.com/cosmos/ibc-go/v2/modules/core/04-channel/types" + porttypes "github.com/cosmos/ibc-go/v2/modules/core/05-port/types" + host "github.com/cosmos/ibc-go/v2/modules/core/24-host" + ibcexported "github.com/cosmos/ibc-go/v2/modules/core/exported" +) + +// IBCModule implements the ICS26 interface for transfer given the transfer keeper. +type IBCModule struct { + keeper keeper.Keeper +} + +// NewIBCModule creates a new IBCModule given the keeper +func NewIBCModule(k keeper.Keeper) IBCModule { + return IBCModule{ + keeper: k, + } +} + +// ValidateTransferChannelParams does validation of a newly created transfer channel. A transfer +// channel must be UNORDERED, use the correct port (by default 'transfer'), and use the current +// supported version. Only 2^32 channels are allowed to be created. +func ValidateTransferChannelParams( + ctx sdk.Context, + keeper keeper.Keeper, + order channeltypes.Order, + portID string, + channelID string, + version string, +) error { + // NOTE: for escrow address security only 2^32 channels are allowed to be created + // Issue: https://github.com/cosmos/cosmos-sdk/issues/7737 + channelSequence, err := channeltypes.ParseChannelSequence(channelID) + if err != nil { + return err + } + if channelSequence > uint64(math.MaxUint32) { + return sdkerrors.Wrapf(types.ErrMaxTransferChannels, "channel sequence %d is greater than max allowed transfer channels %d", channelSequence, uint64(math.MaxUint32)) + } + if order != channeltypes.UNORDERED { + return sdkerrors.Wrapf(channeltypes.ErrInvalidChannelOrdering, "expected %s channel, got %s ", channeltypes.UNORDERED, order) + } + + // Require portID is the portID transfer module is bound to + boundPort := keeper.GetPort(ctx) + if boundPort != portID { + return sdkerrors.Wrapf(porttypes.ErrInvalidPort, "invalid port: %s, expected %s", portID, boundPort) + } + + if version != types.Version { + return sdkerrors.Wrapf(types.ErrInvalidVersion, "got %s, expected %s", version, types.Version) + } + return nil +} + +// OnChanOpenInit implements the IBCModule interface +func (im IBCModule) OnChanOpenInit( + ctx sdk.Context, + order channeltypes.Order, + connectionHops []string, + portID string, + channelID string, + chanCap *capabilitytypes.Capability, + counterparty channeltypes.Counterparty, + version string, +) error { + if err := ValidateTransferChannelParams(ctx, im.keeper, order, portID, channelID, version); err != nil { + return err + } + + // Claim channel capability passed back by IBC module + if err := im.keeper.ClaimCapability(ctx, chanCap, host.ChannelCapabilityPath(portID, channelID)); err != nil { + return err + } + + return nil +} + +// OnChanOpenTry implements the IBCModule interface +func (im IBCModule) OnChanOpenTry( + ctx sdk.Context, + order channeltypes.Order, + connectionHops []string, + portID, + channelID string, + chanCap *capabilitytypes.Capability, + counterparty channeltypes.Counterparty, + version, + counterpartyVersion string, +) error { + if err := ValidateTransferChannelParams(ctx, im.keeper, order, portID, channelID, version); err != nil { + return err + } + + if counterpartyVersion != types.Version { + return sdkerrors.Wrapf(types.ErrInvalidVersion, "invalid counterparty version: got: %s, expected %s", counterpartyVersion, types.Version) + } + + // Module may have already claimed capability in OnChanOpenInit in the case of crossing hellos + // (ie chainA and chainB both call ChanOpenInit before one of them calls ChanOpenTry) + // If module can already authenticate the capability then module already owns it so we don't need to claim + // Otherwise, module does not have channel capability and we must claim it from IBC + if !im.keeper.AuthenticateCapability(ctx, chanCap, host.ChannelCapabilityPath(portID, channelID)) { + // Only claim channel capability passed back by IBC module if we do not already own it + if err := im.keeper.ClaimCapability(ctx, chanCap, host.ChannelCapabilityPath(portID, channelID)); err != nil { + return err + } + } + + return nil +} + +// OnChanOpenAck implements the IBCModule interface +func (im IBCModule) OnChanOpenAck( + ctx sdk.Context, + portID, + channelID string, + counterpartyVersion string, +) error { + if counterpartyVersion != types.Version { + return sdkerrors.Wrapf(types.ErrInvalidVersion, "invalid counterparty version: %s, expected %s", counterpartyVersion, types.Version) + } + return nil +} + +// OnChanOpenConfirm implements the IBCModule interface +func (im IBCModule) OnChanOpenConfirm( + ctx sdk.Context, + portID, + channelID string, +) error { + return nil +} + +// OnChanCloseInit implements the IBCModule interface +func (im IBCModule) OnChanCloseInit( + ctx sdk.Context, + portID, + channelID string, +) error { + // Disallow user-initiated channel closing for transfer channels + return sdkerrors.Wrap(sdkerrors.ErrInvalidRequest, "user cannot close channel") +} + +// OnChanCloseConfirm implements the IBCModule interface +func (im IBCModule) OnChanCloseConfirm( + ctx sdk.Context, + portID, + channelID string, +) error { + return nil +} + +// OnRecvPacket implements the IBCModule interface. A successful acknowledgement +// is returned if the packet data is succesfully decoded and the receive application +// logic returns without error. +func (im IBCModule) OnRecvPacket( + ctx sdk.Context, + packet channeltypes.Packet, + relayer sdk.AccAddress, +) ibcexported.Acknowledgement { + ack := channeltypes.NewResultAcknowledgement([]byte{byte(1)}) + + var data types.FungibleTokenPacketData + if err := types.ModuleCdc.UnmarshalJSON(packet.GetData(), &data); err != nil { + ack = channeltypes.NewErrorAcknowledgement("cannot unmarshal ICS-20 transfer packet data") + } + + // only attempt the application logic if the packet data + // was successfully decoded + if ack.Success() { + err := im.keeper.OnRecvPacket(ctx, packet, data) + if err != nil { + ack = channeltypes.NewErrorAcknowledgement(err.Error()) + } + } + + ctx.EventManager().EmitEvent( + sdk.NewEvent( + types.EventTypePacket, + sdk.NewAttribute(sdk.AttributeKeyModule, types.ModuleName), + sdk.NewAttribute(types.AttributeKeyReceiver, data.Receiver), + sdk.NewAttribute(types.AttributeKeyDenom, data.Denom), + sdk.NewAttribute(types.AttributeKeyAmount, data.Amount), + sdk.NewAttribute(types.AttributeKeyAckSuccess, fmt.Sprintf("%t", ack.Success())), + ), + ) + + // NOTE: acknowledgement will be written synchronously during IBC handler execution. + return ack +} + +// OnAcknowledgementPacket implements the IBCModule interface +func (im IBCModule) OnAcknowledgementPacket( + ctx sdk.Context, + packet channeltypes.Packet, + acknowledgement []byte, + relayer sdk.AccAddress, +) error { + var ack channeltypes.Acknowledgement + if err := types.ModuleCdc.UnmarshalJSON(acknowledgement, &ack); err != nil { + return sdkerrors.Wrapf(sdkerrors.ErrUnknownRequest, "cannot unmarshal ICS-20 transfer packet acknowledgement: %v", err) + } + var data types.FungibleTokenPacketData + if err := types.ModuleCdc.UnmarshalJSON(packet.GetData(), &data); err != nil { + return sdkerrors.Wrapf(sdkerrors.ErrUnknownRequest, "cannot unmarshal ICS-20 transfer packet data: %s", err.Error()) + } + + if err := im.keeper.OnAcknowledgementPacket(ctx, packet, data, ack); err != nil { + return err + } + + ctx.EventManager().EmitEvent( + sdk.NewEvent( + types.EventTypePacket, + sdk.NewAttribute(sdk.AttributeKeyModule, types.ModuleName), + sdk.NewAttribute(types.AttributeKeyReceiver, data.Receiver), + sdk.NewAttribute(types.AttributeKeyDenom, data.Denom), + sdk.NewAttribute(types.AttributeKeyAmount, data.Amount), + sdk.NewAttribute(types.AttributeKeyAck, ack.String()), + ), + ) + + switch resp := ack.Response.(type) { + case *channeltypes.Acknowledgement_Result: + ctx.EventManager().EmitEvent( + sdk.NewEvent( + types.EventTypePacket, + sdk.NewAttribute(types.AttributeKeyAckSuccess, string(resp.Result)), + ), + ) + case *channeltypes.Acknowledgement_Error: + ctx.EventManager().EmitEvent( + sdk.NewEvent( + types.EventTypePacket, + sdk.NewAttribute(types.AttributeKeyAckError, resp.Error), + ), + ) + } + + return nil +} + +// OnTimeoutPacket implements the IBCModule interface +func (im IBCModule) OnTimeoutPacket( + ctx sdk.Context, + packet channeltypes.Packet, + relayer sdk.AccAddress, +) error { + var data types.FungibleTokenPacketData + if err := types.ModuleCdc.UnmarshalJSON(packet.GetData(), &data); err != nil { + return sdkerrors.Wrapf(sdkerrors.ErrUnknownRequest, "cannot unmarshal ICS-20 transfer packet data: %s", err.Error()) + } + // refund tokens + if err := im.keeper.OnTimeoutPacket(ctx, packet, data); err != nil { + return err + } + + ctx.EventManager().EmitEvent( + sdk.NewEvent( + types.EventTypeTimeout, + sdk.NewAttribute(sdk.AttributeKeyModule, types.ModuleName), + sdk.NewAttribute(types.AttributeKeyRefundReceiver, data.Sender), + sdk.NewAttribute(types.AttributeKeyRefundDenom, data.Denom), + sdk.NewAttribute(types.AttributeKeyRefundAmount, data.Amount), + ), + ) + + return nil +} + +// NegotiateAppVersion implements the IBCModule interface +func (im IBCModule) NegotiateAppVersion( + ctx sdk.Context, + order channeltypes.Order, + connectionID string, + portID string, + counterparty channeltypes.Counterparty, + proposedVersion string, +) (string, error) { + if proposedVersion != types.Version { + return "", sdkerrors.Wrapf(types.ErrInvalidVersion, "failed to negotiate app version: expected %s, got %s", types.Version, proposedVersion) + } + + return types.Version, nil +} diff --git a/modules/apps/transfer/module_test.go b/modules/apps/transfer/ibc_module_test.go similarity index 100% rename from modules/apps/transfer/module_test.go rename to modules/apps/transfer/ibc_module_test.go diff --git a/modules/apps/transfer/module.go b/modules/apps/transfer/module.go index 7af82060149..7cba6ee811b 100644 --- a/modules/apps/transfer/module.go +++ b/modules/apps/transfer/module.go @@ -4,17 +4,14 @@ import ( "context" "encoding/json" "fmt" - "math" "math/rand" "github.com/cosmos/cosmos-sdk/client" "github.com/cosmos/cosmos-sdk/codec" codectypes "github.com/cosmos/cosmos-sdk/codec/types" sdk "github.com/cosmos/cosmos-sdk/types" - sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" "github.com/cosmos/cosmos-sdk/types/module" simtypes "github.com/cosmos/cosmos-sdk/types/simulation" - capabilitytypes "github.com/cosmos/cosmos-sdk/x/capability/types" "github.com/gorilla/mux" "github.com/grpc-ecosystem/grpc-gateway/runtime" "github.com/spf13/cobra" @@ -24,16 +21,13 @@ import ( "github.com/cosmos/ibc-go/v2/modules/apps/transfer/keeper" "github.com/cosmos/ibc-go/v2/modules/apps/transfer/simulation" "github.com/cosmos/ibc-go/v2/modules/apps/transfer/types" - channeltypes "github.com/cosmos/ibc-go/v2/modules/core/04-channel/types" porttypes "github.com/cosmos/ibc-go/v2/modules/core/05-port/types" - host "github.com/cosmos/ibc-go/v2/modules/core/24-host" - ibcexported "github.com/cosmos/ibc-go/v2/modules/core/exported" ) var ( _ module.AppModule = AppModule{} - _ porttypes.IBCModule = AppModule{} _ module.AppModuleBasic = AppModuleBasic{} + _ porttypes.IBCModule = IBCModule{} ) // AppModuleBasic is the IBC Transfer AppModuleBasic @@ -182,271 +176,3 @@ func (am AppModule) RegisterStoreDecoder(sdr sdk.StoreDecoderRegistry) { func (am AppModule) WeightedOperations(_ module.SimulationState) []simtypes.WeightedOperation { return nil } - -// ValidateTransferChannelParams does validation of a newly created transfer channel. A transfer -// channel must be UNORDERED, use the correct port (by default 'transfer'), and use the current -// supported version. Only 2^32 channels are allowed to be created. -func ValidateTransferChannelParams( - ctx sdk.Context, - keeper keeper.Keeper, - order channeltypes.Order, - portID string, - channelID string, - version string, -) error { - // NOTE: for escrow address security only 2^32 channels are allowed to be created - // Issue: https://github.com/cosmos/cosmos-sdk/issues/7737 - channelSequence, err := channeltypes.ParseChannelSequence(channelID) - if err != nil { - return err - } - if channelSequence > uint64(math.MaxUint32) { - return sdkerrors.Wrapf(types.ErrMaxTransferChannels, "channel sequence %d is greater than max allowed transfer channels %d", channelSequence, uint64(math.MaxUint32)) - } - if order != channeltypes.UNORDERED { - return sdkerrors.Wrapf(channeltypes.ErrInvalidChannelOrdering, "expected %s channel, got %s ", channeltypes.UNORDERED, order) - } - - // Require portID is the portID transfer module is bound to - boundPort := keeper.GetPort(ctx) - if boundPort != portID { - return sdkerrors.Wrapf(porttypes.ErrInvalidPort, "invalid port: %s, expected %s", portID, boundPort) - } - - if version != types.Version { - return sdkerrors.Wrapf(types.ErrInvalidVersion, "got %s, expected %s", version, types.Version) - } - return nil -} - -// OnChanOpenInit implements the IBCModule interface -func (am AppModule) OnChanOpenInit( - ctx sdk.Context, - order channeltypes.Order, - connectionHops []string, - portID string, - channelID string, - chanCap *capabilitytypes.Capability, - counterparty channeltypes.Counterparty, - version string, -) error { - if err := ValidateTransferChannelParams(ctx, am.keeper, order, portID, channelID, version); err != nil { - return err - } - - // Claim channel capability passed back by IBC module - if err := am.keeper.ClaimCapability(ctx, chanCap, host.ChannelCapabilityPath(portID, channelID)); err != nil { - return err - } - - return nil -} - -// OnChanOpenTry implements the IBCModule interface -func (am AppModule) OnChanOpenTry( - ctx sdk.Context, - order channeltypes.Order, - connectionHops []string, - portID, - channelID string, - chanCap *capabilitytypes.Capability, - counterparty channeltypes.Counterparty, - version, - counterpartyVersion string, -) error { - if err := ValidateTransferChannelParams(ctx, am.keeper, order, portID, channelID, version); err != nil { - return err - } - - if counterpartyVersion != types.Version { - return sdkerrors.Wrapf(types.ErrInvalidVersion, "invalid counterparty version: got: %s, expected %s", counterpartyVersion, types.Version) - } - - // Module may have already claimed capability in OnChanOpenInit in the case of crossing hellos - // (ie chainA and chainB both call ChanOpenInit before one of them calls ChanOpenTry) - // If module can already authenticate the capability then module already owns it so we don't need to claim - // Otherwise, module does not have channel capability and we must claim it from IBC - if !am.keeper.AuthenticateCapability(ctx, chanCap, host.ChannelCapabilityPath(portID, channelID)) { - // Only claim channel capability passed back by IBC module if we do not already own it - if err := am.keeper.ClaimCapability(ctx, chanCap, host.ChannelCapabilityPath(portID, channelID)); err != nil { - return err - } - } - - return nil -} - -// OnChanOpenAck implements the IBCModule interface -func (am AppModule) OnChanOpenAck( - ctx sdk.Context, - portID, - channelID string, - counterpartyVersion string, -) error { - if counterpartyVersion != types.Version { - return sdkerrors.Wrapf(types.ErrInvalidVersion, "invalid counterparty version: %s, expected %s", counterpartyVersion, types.Version) - } - return nil -} - -// OnChanOpenConfirm implements the IBCModule interface -func (am AppModule) OnChanOpenConfirm( - ctx sdk.Context, - portID, - channelID string, -) error { - return nil -} - -// OnChanCloseInit implements the IBCModule interface -func (am AppModule) OnChanCloseInit( - ctx sdk.Context, - portID, - channelID string, -) error { - // Disallow user-initiated channel closing for transfer channels - return sdkerrors.Wrap(sdkerrors.ErrInvalidRequest, "user cannot close channel") -} - -// OnChanCloseConfirm implements the IBCModule interface -func (am AppModule) OnChanCloseConfirm( - ctx sdk.Context, - portID, - channelID string, -) error { - return nil -} - -// OnRecvPacket implements the IBCModule interface. A successful acknowledgement -// is returned if the packet data is succesfully decoded and the receive application -// logic returns without error. -func (am AppModule) OnRecvPacket( - ctx sdk.Context, - packet channeltypes.Packet, - relayer sdk.AccAddress, -) ibcexported.Acknowledgement { - ack := channeltypes.NewResultAcknowledgement([]byte{byte(1)}) - - var data types.FungibleTokenPacketData - if err := types.ModuleCdc.UnmarshalJSON(packet.GetData(), &data); err != nil { - ack = channeltypes.NewErrorAcknowledgement("cannot unmarshal ICS-20 transfer packet data") - } - - // only attempt the application logic if the packet data - // was successfully decoded - if ack.Success() { - err := am.keeper.OnRecvPacket(ctx, packet, data) - if err != nil { - ack = channeltypes.NewErrorAcknowledgement(err.Error()) - } - } - - ctx.EventManager().EmitEvent( - sdk.NewEvent( - types.EventTypePacket, - sdk.NewAttribute(sdk.AttributeKeyModule, types.ModuleName), - sdk.NewAttribute(types.AttributeKeyReceiver, data.Receiver), - sdk.NewAttribute(types.AttributeKeyDenom, data.Denom), - sdk.NewAttribute(types.AttributeKeyAmount, data.Amount), - sdk.NewAttribute(types.AttributeKeyAckSuccess, fmt.Sprintf("%t", ack.Success())), - ), - ) - - // NOTE: acknowledgement will be written synchronously during IBC handler execution. - return ack -} - -// OnAcknowledgementPacket implements the IBCModule interface -func (am AppModule) OnAcknowledgementPacket( - ctx sdk.Context, - packet channeltypes.Packet, - acknowledgement []byte, - relayer sdk.AccAddress, -) error { - var ack channeltypes.Acknowledgement - if err := types.ModuleCdc.UnmarshalJSON(acknowledgement, &ack); err != nil { - return sdkerrors.Wrapf(sdkerrors.ErrUnknownRequest, "cannot unmarshal ICS-20 transfer packet acknowledgement: %v", err) - } - var data types.FungibleTokenPacketData - if err := types.ModuleCdc.UnmarshalJSON(packet.GetData(), &data); err != nil { - return sdkerrors.Wrapf(sdkerrors.ErrUnknownRequest, "cannot unmarshal ICS-20 transfer packet data: %s", err.Error()) - } - - if err := am.keeper.OnAcknowledgementPacket(ctx, packet, data, ack); err != nil { - return err - } - - ctx.EventManager().EmitEvent( - sdk.NewEvent( - types.EventTypePacket, - sdk.NewAttribute(sdk.AttributeKeyModule, types.ModuleName), - sdk.NewAttribute(types.AttributeKeyReceiver, data.Receiver), - sdk.NewAttribute(types.AttributeKeyDenom, data.Denom), - sdk.NewAttribute(types.AttributeKeyAmount, data.Amount), - sdk.NewAttribute(types.AttributeKeyAck, ack.String()), - ), - ) - - switch resp := ack.Response.(type) { - case *channeltypes.Acknowledgement_Result: - ctx.EventManager().EmitEvent( - sdk.NewEvent( - types.EventTypePacket, - sdk.NewAttribute(types.AttributeKeyAckSuccess, string(resp.Result)), - ), - ) - case *channeltypes.Acknowledgement_Error: - ctx.EventManager().EmitEvent( - sdk.NewEvent( - types.EventTypePacket, - sdk.NewAttribute(types.AttributeKeyAckError, resp.Error), - ), - ) - } - - return nil -} - -// OnTimeoutPacket implements the IBCModule interface -func (am AppModule) OnTimeoutPacket( - ctx sdk.Context, - packet channeltypes.Packet, - relayer sdk.AccAddress, -) error { - var data types.FungibleTokenPacketData - if err := types.ModuleCdc.UnmarshalJSON(packet.GetData(), &data); err != nil { - return sdkerrors.Wrapf(sdkerrors.ErrUnknownRequest, "cannot unmarshal ICS-20 transfer packet data: %s", err.Error()) - } - // refund tokens - if err := am.keeper.OnTimeoutPacket(ctx, packet, data); err != nil { - return err - } - - ctx.EventManager().EmitEvent( - sdk.NewEvent( - types.EventTypeTimeout, - sdk.NewAttribute(sdk.AttributeKeyModule, types.ModuleName), - sdk.NewAttribute(types.AttributeKeyRefundReceiver, data.Sender), - sdk.NewAttribute(types.AttributeKeyRefundDenom, data.Denom), - sdk.NewAttribute(types.AttributeKeyRefundAmount, data.Amount), - ), - ) - - return nil -} - -// NegotiateAppVersion implements the IBCModule interface -func (am AppModule) NegotiateAppVersion( - ctx sdk.Context, - order channeltypes.Order, - connectionID string, - portID string, - counterparty channeltypes.Counterparty, - proposedVersion string, -) (string, error) { - if proposedVersion != types.Version { - return "", sdkerrors.Wrapf(types.ErrInvalidVersion, "failed to negotiate app version: expected %s, got %s", types.Version, proposedVersion) - } - - return types.Version, nil -} diff --git a/testing/simapp/app.go b/testing/simapp/app.go index e463079b883..5c9eedf6767 100644 --- a/testing/simapp/app.go +++ b/testing/simapp/app.go @@ -322,7 +322,7 @@ func NewSimApp( app.AccountKeeper, app.BankKeeper, scopedTransferKeeper, ) transferModule := transfer.NewAppModule(app.TransferKeeper) - + transferIBCModule := transfer.NewIBCModule(app.TransferKeeper) // NOTE: the IBC mock keeper and application module is used only for testing core IBC. Do // note replicate if you do not need to test core IBC or light clients. mockModule := ibcmock.NewAppModule(scopedIBCMockKeeper, &app.IBCKeeper.PortKeeper) @@ -330,7 +330,7 @@ func NewSimApp( // Create static IBC router, add transfer route, then set and seal it ibcRouter := porttypes.NewRouter() - ibcRouter.AddRoute(ibctransfertypes.ModuleName, transferModule) + ibcRouter.AddRoute(ibctransfertypes.ModuleName, transferIBCModule) ibcRouter.AddRoute(ibcmock.ModuleName, mockIBCModule) app.IBCKeeper.SetRouter(ibcRouter) From 8cf3d1cb2a88db84de71fa658368f4fcb54ddd29 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 3 Nov 2021 14:55:26 +0000 Subject: [PATCH 049/107] Bump google.golang.org/grpc from 1.41.0 to 1.42.0 (#519) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.41.0 to 1.42.0. - [Release notes](https://github.com/grpc/grpc-go/releases) - [Commits](https://github.com/grpc/grpc-go/compare/v1.41.0...v1.42.0) --- updated-dependencies: - dependency-name: google.golang.org/grpc dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: colin axnér <25233464+colin-axner@users.noreply.github.com> --- go.mod | 2 +- go.sum | 271 ++------------------------------------------------------- 2 files changed, 6 insertions(+), 267 deletions(-) diff --git a/go.mod b/go.mod index 47cee427570..59b156680b1 100644 --- a/go.mod +++ b/go.mod @@ -21,7 +21,7 @@ require ( github.com/tendermint/tendermint v0.34.14 github.com/tendermint/tm-db v0.6.4 google.golang.org/genproto v0.0.0-20210828152312-66f60bf46e71 - google.golang.org/grpc v1.41.0 + google.golang.org/grpc v1.42.0 google.golang.org/protobuf v1.27.1 ) diff --git a/go.sum b/go.sum index 5c6b55437bd..dcd4b76af37 100644 --- a/go.sum +++ b/go.sum @@ -1,6 +1,4 @@ -4d63.com/gochecknoglobals v0.0.0-20201008074935-acfc0b28355a/go.mod h1:wfdC5ZjKSPr7CybKEcgJhUOgeAQW1+7WcyK8OvUilfo= bazil.org/fuse v0.0.0-20160811212531-371fbbdaa898/go.mod h1:Xbm+BRKSBEpa4q4hTSxohYNQpsxXPbPry4JJWOB3LB8= -bitbucket.org/creachadair/shell v0.0.6/go.mod h1:8Qqi/cYk7vPnsOePHroKXDJYmb5x7ENhtiFtfZq8K+M= cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= cloud.google.com/go v0.38.0/go.mod h1:990N+gfupTy94rShfmMCWGDn0LpTmnzTp2qbd1dvSRU= @@ -14,7 +12,6 @@ cloud.google.com/go v0.53.0/go.mod h1:fp/UouUEsRkN6ryDKNW/Upv/JBKnv6WDthjR6+vze6 cloud.google.com/go v0.54.0/go.mod h1:1rq2OEkV3YMf6n/9ZvGWI3GWw0VoqH/1x2nd8Is/bPc= cloud.google.com/go v0.56.0/go.mod h1:jr7tqZxxKOVYizybht9+26Z/gUq7tiRzu+ACVAMbKVk= cloud.google.com/go v0.57.0/go.mod h1:oXiQ6Rzq3RAkkY7N6t3TcE6jE+CIBBbA36lwQ1JyzZs= -cloud.google.com/go v0.60.0/go.mod h1:yw2G51M9IfRboUH61Us8GqCeF1PzPblB823Mn2q2eAU= cloud.google.com/go v0.62.0/go.mod h1:jmCYTdRCQuc1PHIIJ/maLInMho30T/Y0M4hTdTShOYc= cloud.google.com/go v0.65.0/go.mod h1:O5N8zS7uWy9vkA9vayVHs65eM1ubvY4h553ofrNHObY= cloud.google.com/go v0.72.0/go.mod h1:M+5Vjvlc2wnp6tjzE102Dw08nGShTscUx2nZMufOKPI= @@ -41,20 +38,16 @@ cloud.google.com/go/pubsub v1.0.1/go.mod h1:R0Gpsv3s54REJCy4fxDixWD93lHJMoZTyQ2k cloud.google.com/go/pubsub v1.1.0/go.mod h1:EwwdRX2sKPjnvnqCa270oGRyludottCI76h+R3AArQw= cloud.google.com/go/pubsub v1.2.0/go.mod h1:jhfEVHT8odbXTkndysNHCcx0awwzvfOlguIAii9o8iA= cloud.google.com/go/pubsub v1.3.1/go.mod h1:i+ucay31+CNRpDW4Lu78I4xXG+O1r/MAHgjpRVR+TSU= -cloud.google.com/go/pubsub v1.5.0/go.mod h1:ZEwJccE3z93Z2HWvstpri00jOg7oO4UZDtKhwDwqF0w= -cloud.google.com/go/spanner v1.7.0/go.mod h1:sd3K2gZ9Fd0vMPLXzeCrF6fq4i63Q7aTLW/lBIfBkIk= cloud.google.com/go/storage v1.0.0/go.mod h1:IhtSnM/ZTZV8YYJWCY8RULGVqBDmpoyjwiyrjsg+URw= cloud.google.com/go/storage v1.5.0/go.mod h1:tpKbwo567HUNpVclU5sGELwQWBDZ8gh0ZeosJ0Rtdos= cloud.google.com/go/storage v1.6.0/go.mod h1:N7U0C8pVQ/+NIKOBQyamJIeKQKkZ+mxpohlUTyfDhBk= cloud.google.com/go/storage v1.8.0/go.mod h1:Wv1Oy7z6Yz3DshWRJFhqM/UCfaWIRTdp0RXyy7KQOVs= cloud.google.com/go/storage v1.10.0/go.mod h1:FLPqc6j+Ki4BU591ie1oL6qBQGu2Bl/tZ9ullr3+Kg0= -contrib.go.opencensus.io/exporter/stackdriver v0.13.4/go.mod h1:aXENhDJ1Y4lIg4EUaVTwzvYETVNZk10Pu26tevFKLUc= dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= filippo.io/edwards25519 v1.0.0-beta.2 h1:/BZRNzm8N4K4eWfK28dL4yescorxtO7YG1yun8fy+pI= filippo.io/edwards25519 v1.0.0-beta.2/go.mod h1:X+pm78QAUPtFLi1z9PYIlS/bdDnvbCOGKtZ+ACWEf7o= github.com/99designs/keyring v1.1.6 h1:kVDC2uCgVwecxCk+9zoCt2uEL6dt+dfVzMvGgnVcIuM= github.com/99designs/keyring v1.1.6/go.mod h1:16e0ds7LGQQcT59QqkTg72Hh5ShM51Byv5PEmW6uoRU= -github.com/Antonboom/errname v0.1.4/go.mod h1:jRXo3m0E0EuCnK3wbsSVH3X55Z4iTDLl6ZfCxwFj4TM= github.com/Azure/azure-pipeline-go v0.2.1/go.mod h1:UGSo8XybXnIGZ3epmeBw7Jdz+HiUVpqIlpz/HKHylF4= github.com/Azure/azure-pipeline-go v0.2.2/go.mod h1:4rQ/NZncSvGqNkkOsNpOU1tgoNuIlp9AfUH5G1tvCHc= github.com/Azure/azure-storage-blob-go v0.7.0/go.mod h1:f9YQKtsG1nMisotuTPpO0tjNuEjKRYAcJU8/ydDI++4= @@ -72,7 +65,6 @@ github.com/Azure/go-autorest/autorest/mocks v0.3.0/go.mod h1:a8FDP3DYzQ4RYfVAxAN github.com/Azure/go-autorest/logger v0.1.0/go.mod h1:oExouG+K6PryycPJfVSxi/koC6LSNgds39diKLz7Vrc= github.com/Azure/go-autorest/tracing v0.5.0/go.mod h1:r/s2XiOKccPW3HrqB+W0TQzfbtp2fGCgRFtBroKn4Dk= github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= -github.com/BurntSushi/toml v0.4.1/go.mod h1:CxXYINrC8qIiEnFrOxCa7Jy5BFHlXnUU2pbicEuybxQ= github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= github.com/ChainSafe/go-schnorrkel v0.0.0-20200405005733-88cbf1b4c40d h1:nalkkPQcITbvhmL4+C4cKA87NW0tfm3Kl9VXRoPywFg= github.com/ChainSafe/go-schnorrkel v0.0.0-20200405005733-88cbf1b4c40d/go.mod h1:URdX5+vg25ts3aCh8H5IFZybJYKWhJHYMTnf+ULtoC4= @@ -80,13 +72,7 @@ github.com/DataDog/datadog-go v3.2.0+incompatible/go.mod h1:LButxg5PwREeZtORoXG3 github.com/DataDog/zstd v1.4.1/go.mod h1:1jcaCB/ufaK+sKp1NBhlGmpz41jOoPQ35bpF36t7BBo= github.com/DataDog/zstd v1.4.5 h1:EndNeuB0l9syBZhut0wns3gV1hL8zX8LIu6ZiVHWLIQ= github.com/DataDog/zstd v1.4.5/go.mod h1:1jcaCB/ufaK+sKp1NBhlGmpz41jOoPQ35bpF36t7BBo= -github.com/Djarvur/go-err113 v0.0.0-20210108212216-aea10b59be24/go.mod h1:4UJr5HIiMZrwgkSPdsjy2uOQExX/WEILpIrO9UPGuXs= github.com/Knetic/govaluate v3.0.1-0.20171022003610-9aa49832a739+incompatible/go.mod h1:r7JcOSlj0wfOMncg0iLm8Leh48TZaKVeNIfJntJ2wa0= -github.com/Masterminds/goutils v1.1.0/go.mod h1:8cTjp+g8YejhMuvIA5y2vz3BpJxksy863GQaJW2MFNU= -github.com/Masterminds/semver v1.4.2/go.mod h1:MB6lktGJrhw8PrUyiEoblNEGEQ+RzHPF078ddwwvV3Y= -github.com/Masterminds/semver v1.5.0/go.mod h1:MB6lktGJrhw8PrUyiEoblNEGEQ+RzHPF078ddwwvV3Y= -github.com/Masterminds/sprig v2.15.0+incompatible/go.mod h1:y6hNFY5UBTIWBxnzTeuNhlNS5hqE0NB0E6fgfo2Br3o= -github.com/Masterminds/sprig v2.22.0+incompatible/go.mod h1:y6hNFY5UBTIWBxnzTeuNhlNS5hqE0NB0E6fgfo2Br3o= github.com/Microsoft/go-winio v0.4.14/go.mod h1:qXqCSQ3Xa7+6tgxaGTIe4Kpcdsi+P8jBhyzoq1bpyYA= github.com/Microsoft/go-winio v0.5.0 h1:Elr9Wn+sGKPlkaBvwu4mTrxtmOp3F3yV9qhaHbXGjwU= github.com/Microsoft/go-winio v0.5.0/go.mod h1:JPGBdM1cNvN/6ISo+n8V5iA4v8pBzdOpzfwIujj1a84= @@ -94,11 +80,9 @@ github.com/Nvveen/Gotty v0.0.0-20120604004816-cd527374f1e5 h1:TngWCqHvy9oXAN6lEV github.com/Nvveen/Gotty v0.0.0-20120604004816-cd527374f1e5/go.mod h1:lmUJ/7eu/Q8D7ML55dXQrVaamCz2vxCfdQBasLZfHKk= github.com/OneOfOne/xxhash v1.2.2 h1:KMrpdQIwFcEqXDklaen+P1axHaj9BSKzvpUUfnHldSE= github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU= -github.com/OpenPeeDeeP/depguard v1.0.1/go.mod h1:xsIw86fROiiwelg+jB2uM9PiKihMMmUx/1V+TNhjQvM= github.com/Shopify/sarama v1.19.0/go.mod h1:FVkBWblsNy7DGZRfXLU0O9RCGt5g3g3yEuWXgklEdEo= github.com/Shopify/toxiproxy v2.1.4+incompatible/go.mod h1:OXgGpZ6Cli1/URJOF1DMxUHB2q5Ap20/P/eIdh4G0pI= github.com/StackExchange/wmi v0.0.0-20180116203802-5d049714c4a6/go.mod h1:3eOhrUMpNV+6aFIbp5/iudMxNCF27Vw2OZgy4xEx0Fg= -github.com/StackExchange/wmi v1.2.1/go.mod h1:rcmrprowKIVzvc+NUiLncP2uuArMWLCbu9SBzvHz7e8= github.com/VictoriaMetrics/fastcache v1.5.7/go.mod h1:ptDBkNMQI4RtmVo8VS/XwRY6RoTu1dAWCbrk+6WsEM8= github.com/VividCortex/gohistogram v1.0.0 h1:6+hBz+qvs0JOrrNhhmR7lFxo5sINxBCGXrdtl/UvroE= github.com/VividCortex/gohistogram v1.0.0/go.mod h1:Pf5mBqqDxYaXu3hDrrU+w6nw50o/4+TcAqDqk/vUH7g= @@ -114,12 +98,8 @@ github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751/go.mod h1:LOuy github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= github.com/alecthomas/units v0.0.0-20190717042225-c3de453c63f4/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= github.com/alecthomas/units v0.0.0-20190924025748-f65c72e2690d/go.mod h1:rBZYJk541a8SKzHPHnH3zbiI+7dagKZ0cgpgrD7Fyho= -github.com/alexkohler/prealloc v1.0.0/go.mod h1:VetnK3dIgFBBKmg0YnD9F9x6Icjd+9cvfHR56wJVlKE= github.com/allegro/bigcache v1.2.1-0.20190218064605-e24eb225f156/go.mod h1:Cb/ax3seSYIx7SuZdm2G2xzfwmv3TPSk2ucNfQESPXM= -github.com/andybalholm/brotli v1.0.0/go.mod h1:loMXtMfwqflxFJPmdbJO0a3KNoPuLBgiu3qAvBg8x/Y= -github.com/antihax/optional v0.0.0-20180407024304-ca021399b1a6/go.mod h1:V8iCPQYkqmusNa815XgQio277wI47sdRh1dUOLdyC6Q= github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY= -github.com/aokoli/goutils v1.0.1/go.mod h1:SijmP0QR8LtwsmDs8Yii5Z/S4trXFGFC2oO5g9DP+DQ= github.com/apache/thrift v0.12.0/go.mod h1:cp2SuWMxlEZw2r+iP2GNCdIi4C1qmUzdZFSVb+bacwQ= github.com/apache/thrift v0.13.0/go.mod h1:cp2SuWMxlEZw2r+iP2GNCdIi4C1qmUzdZFSVb+bacwQ= github.com/aristanetworks/goarista v0.0.0-20170210015632-ea17b1a17847/go.mod h1:D/tb0zPVXnP7fmsLZjtdUhSsumbK/ij54UXjjVgMGxQ= @@ -132,14 +112,9 @@ github.com/armon/go-metrics v0.3.10/go.mod h1:4O98XIr/9W0sxpJ8UaYkvjk10Iff7SnFrb github.com/armon/go-radix v0.0.0-20180808171621-7fddfc383310/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= github.com/armon/go-radix v1.0.0/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= github.com/aryann/difflib v0.0.0-20170710044230-e206f873d14a/go.mod h1:DAHtR1m6lCRdSC2Tm3DSWRPvIPr6xNKyeHdqDQSQT+A= -github.com/ashanbrown/forbidigo v1.2.0/go.mod h1:vVW7PEdqEFqapJe95xHkTfB1+XvZXBFg8t0sG2FIxmI= -github.com/ashanbrown/makezero v0.0.0-20210520155254-b6261585ddde/go.mod h1:oG9Dnez7/ESBqc4EdrdNlryeo7d0KcW1ftXHm7nU/UU= github.com/aws/aws-lambda-go v1.13.3/go.mod h1:4UKl9IzQMoD+QF79YdCuzCwp8VbmG4VAQwij/eHl5CU= -github.com/aws/aws-sdk-go v1.23.20/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo= -github.com/aws/aws-sdk-go v1.25.37/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo= github.com/aws/aws-sdk-go v1.25.48/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo= github.com/aws/aws-sdk-go v1.27.0/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo= -github.com/aws/aws-sdk-go v1.36.30/go.mod h1:hcU610XS61/+aQV88ixoOzUoG7v3b31pl2zKMmprdro= github.com/aws/aws-sdk-go-v2 v0.18.0/go.mod h1:JWVYvqSMppoMJC0x5wdwiImzgXTI9FuZwxzkQq9wy+g= github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8= @@ -150,8 +125,6 @@ github.com/bgentry/speakeasy v0.1.0/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kB github.com/bits-and-blooms/bitset v1.2.0/go.mod h1:gIdJ4wp64HaoK2YrL1Q5/N7Y16edYb8uY+O0FJTyyDA= github.com/bketelsen/crypt v0.0.3-0.20200106085610-5cbc8cc4026c/go.mod h1:MKsuJmJgSg28kpZDP6UIiPt0e0Oz0kqKNGyRaWEPv84= github.com/bketelsen/crypt v0.0.4/go.mod h1:aI6NrJ0pMGgvZKL1iVgXLnfIFJtfV+bKCoqOes/6LfM= -github.com/bkielbasa/cyclop v1.2.0/go.mod h1:qOI0yy6A7dYC4Zgsa72Ppm9kONl0RoIlPbzot9mhmeI= -github.com/bombsimon/wsl/v3 v3.3.0/go.mod h1:st10JtZYLE4D5sC7b8xV4zTKZwAQjCH/Hy2Pm1FNZIc= github.com/btcsuite/btcd v0.0.0-20171128150713-2e60448ffcc6/go.mod h1:Dmm/EzmjnCiweXmzRIAiUWCInVmPgjkzgv5k4tVyXiQ= github.com/btcsuite/btcd v0.0.0-20190115013929-ed77733ec07d/go.mod h1:d3C0AkH6BRcvO8T0UEPu53cnw4IbV63x1bEjildYhO0= github.com/btcsuite/btcd v0.0.0-20190315201642-aa6e0f35703c/go.mod h1:DrZx5ec/dmnfpw9KyYoQyYo7d0KEvTkk/5M/vbZjAr8= @@ -182,8 +155,6 @@ github.com/cespare/xxhash v1.1.0 h1:a6HrQnmkObjyL+Gs60czilIUGqrzKutQD6XZog3p+ko= github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc= github.com/cespare/xxhash/v2 v2.1.1 h1:6MnRN8NT7+YBpUIWxHtefFZOKTAPgGjpQSxqLNn0+qY= github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= -github.com/charithe/durationcheck v0.0.8/go.mod h1:SSbRIBVfMjCi/kEB6K65XEA83D6prSM8ap1UCpNKtgg= -github.com/chavacava/garif v0.0.0-20210405164556-e8a0a408d6af/go.mod h1:Qjyv4H3//PWVzTeCezG2b9IRn6myJxJSr4TD/xo6ojU= github.com/checkpoint-restore/go-criu/v5 v5.0.0/go.mod h1:cfwC0EG7HMUenopBsUf9d89JlCLQIfgVcNsNN0t6T2M= github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI= github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= @@ -197,8 +168,11 @@ github.com/cloudflare/cloudflare-go v0.10.2-0.20190916151808-a80f83b9add9/go.mod github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20200629203442-efcf912fb354/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= +github.com/cncf/udpa/go v0.0.0-20210930031921-04548b0d99d4/go.mod h1:6pvJx4me5XPnfI9Z40ddWsdw2W/uZgQLFXToKeRcDiI= github.com/cncf/xds/go v0.0.0-20210312221358-fbca930ec8ed/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= github.com/cncf/xds/go v0.0.0-20210805033703-aa0b78936158/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= +github.com/cncf/xds/go v0.0.0-20210922020428-25de7278fc84/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= +github.com/cncf/xds/go v0.0.0-20211011173535-cb28da3451f1/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= github.com/cockroachdb/datadriven v0.0.0-20190809214429-80d97fb3cbaa/go.mod h1:zn76sxSg3SzpJ0PPJaLDCu+Bu0Lg3sKTORVIj19EIF8= github.com/codahale/hdrhistogram v0.0.0-20161010025455-3a0bb77429bd/go.mod h1:sE/e/2PUdi/liOCUjSTXgM1o87ZssimdTWN964YiIeI= github.com/coinbase/rosetta-sdk-go v0.6.10 h1:rgHD/nHjxLh0lMEdfGDqpTtlvtSBwULqrrZ2qPdNaCM= @@ -219,12 +193,9 @@ github.com/coreos/go-semver v0.2.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3Ee github.com/coreos/go-semver v0.3.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= github.com/coreos/go-systemd v0.0.0-20180511133405-39ca1b05acc7/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= -github.com/coreos/go-systemd v0.0.0-20190620071333-e64a0ec8b42a/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= github.com/coreos/go-systemd/v22 v22.3.2/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= github.com/coreos/pkg v0.0.0-20160727233714-3ac0863d7acf/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA= github.com/coreos/pkg v0.0.0-20180928190104-399ea9e2e55f/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA= -github.com/cosmos/cosmos-sdk v0.44.2 h1:EWoj9h9Q9t7uqS3LyqzZWWwnSEodUJlYDMloDoPBD3Y= -github.com/cosmos/cosmos-sdk v0.44.2/go.mod h1:fwQJdw+aECatpTvQTo1tSfHEsxACdZYU80QCZUPnHr4= github.com/cosmos/cosmos-sdk v0.44.3 h1:F71n1jCqPi4F0wXg8AU4AUdUF8llw0x3D3o6aLt/j2A= github.com/cosmos/cosmos-sdk v0.44.3/go.mod h1:bA3+VenaR/l/vDiYzaiwbWvRPWHMBX2jG0ygiFtiBp0= github.com/cosmos/go-bip39 v0.0.0-20180819234021-555e2067c45d/go.mod h1:tSxLoYXyBmiFeKpvmq4dzayMdCjCnu8uqmCysIGBT2Y= @@ -245,17 +216,14 @@ github.com/cpuguy83/go-md2man/v2 v2.0.0/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsr github.com/creack/pty v1.1.7/go.mod h1:lj5s0c3V2DBrqTV7llrYr5NG6My20zk30Fl46Y7DoTY= github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= github.com/cyphar/filepath-securejoin v0.2.2/go.mod h1:FpkQEhXnPnOthhzymB7CGsFk2G9VLXONKD9G7QGMM+4= -github.com/daixiang0/gci v0.2.9/go.mod h1:+4dZ7TISfSmqfAGv59ePaHfNzgGtIkHAhhdKggP1JAc= github.com/danieljoos/wincred v1.0.2 h1:zf4bhty2iLuwgjgpraD2E9UbvO+fe54XXGJbOwe23fU= github.com/danieljoos/wincred v1.0.2/go.mod h1:SnuYRW9lp1oJrZX/dXJqr0cPK5gYXqx3EJbmjhLdK9U= -github.com/davecgh/go-spew v0.0.0-20161028175848-04cdfd42973b/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v0.0.0-20171005155431-ecdeabc65495/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/deckarep/golang-set v0.0.0-20180603214616-504e848d77ea/go.mod h1:93vsz/8Wt4joVM7c2AVqh+YRMiUSc14yDtF28KmMOgQ= github.com/decred/dcrd/lru v1.0.0/go.mod h1:mxKOwFd7lFjN2GZYsiz/ecgqR6kkYAl+0pz0tEMk218= -github.com/denis-tingajkin/go-header v0.4.2/go.mod h1:eLRHAVXzE5atsKAnNRDB90WHCFFnBUn4RN0nRcs1LJA= github.com/desertbit/timer v0.0.0-20180107155436-c41aec40b27f h1:U5y3Y5UE0w7amNe7Z5G/twsBW0KEalRQXZzf8ufSh9I= github.com/desertbit/timer v0.0.0-20180107155436-c41aec40b27f/go.mod h1:xH/i4TFMt8koVQZ6WFms69WAsDWr2XsYL3Hkl7jkoLE= github.com/dgraph-io/badger/v2 v2.2007.1/go.mod h1:26P/7fbL4kUZVEVKLAKXkBXKOydDmM2p1e+NhhnBCAE= @@ -298,11 +266,8 @@ github.com/envoyproxy/go-control-plane v0.9.9-0.20201210154907-fd9021fe5dad/go.m github.com/envoyproxy/go-control-plane v0.9.9-0.20210217033140-668b12f5399d/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk= github.com/envoyproxy/go-control-plane v0.9.9-0.20210512163311-63b5d3c536b0/go.mod h1:hliV/p42l8fGbc6Y9bQ70uLwIvmJyVE5k4iMKlh8wCQ= github.com/envoyproxy/go-control-plane v0.9.10-0.20210907150352-cf90f659a021/go.mod h1:AFq3mo9L8Lqqiid3OhADV3RfLJnjiw63cSpi+fDTRC0= -github.com/envoyproxy/protoc-gen-validate v0.0.14/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= -github.com/esimonov/ifshort v1.0.2/go.mod h1:yZqNJUrNn20K8Q9n2CrjTKYyVEmX209Hgu+M1LBpeZE= github.com/ethereum/go-ethereum v1.9.25/go.mod h1:vMkFiYLHI4tgPw4k2j4MHKoovchFE8plZ0M9VMk4/oM= -github.com/ettle/strcase v0.1.1/go.mod h1:hzDLsPC7/lwKyBOywSHEP89nt2pDgdy+No1NBA9o9VY= github.com/facebookgo/ensure v0.0.0-20160127193407-b4ab57deab51 h1:0JZ+dUmQeA8IIVUMzysrX4/AKuQwWhV2dYQuPZdvdSQ= github.com/facebookgo/ensure v0.0.0-20160127193407-b4ab57deab51/go.mod h1:Yg+htXGokKKdzcwhuNDwVvN+uBxDGXJ7G/VN1d8fa64= github.com/facebookgo/stack v0.0.0-20160209184415-751773369052 h1:JWuenKqqX8nojtoVVWjGfOF9635RETekkoH6Cc9SX0A= @@ -313,8 +278,6 @@ github.com/fatih/color v1.3.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5Kwzbycv github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4= github.com/fatih/color v1.9.0/go.mod h1:eQcE1qtQxscV5RaZvpXrrb8Drkc3/DdQ+uUYCNjL+zU= github.com/fatih/color v1.10.0/go.mod h1:ELkj/draVOlAH/xkhN6mQ50Qd0MPOk5AAr3maGEBuJM= -github.com/fatih/color v1.12.0/go.mod h1:ELkj/draVOlAH/xkhN6mQ50Qd0MPOk5AAr3maGEBuJM= -github.com/fatih/structtag v1.2.0/go.mod h1:mBJUNpUnHmRKrKlQQlmCrh5PuhftFbNv8Ys4/aAZl94= github.com/felixge/httpsnoop v1.0.1 h1:lvB5Jl89CsZtGIWuTcDM1E/vkVs49/Ml7JJe07l8SPQ= github.com/felixge/httpsnoop v1.0.1/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= github.com/fjl/memsize v0.0.0-20180418122429-ca190fb6ffbc/go.mod h1:VvhXpOYNQvB+uIk2RvXzuaQtkQJzzIx6lSBe1xv7hi0= @@ -327,15 +290,12 @@ github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMo github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ= github.com/fsnotify/fsnotify v1.5.1 h1:mZcQUHVQUQWoPXXtuf9yuEXKudkV2sx1E06UadKWpgI= github.com/fsnotify/fsnotify v1.5.1/go.mod h1:T3375wBYaZdLLcVNkcVbzGHY7f1l/uK5T5Ai1i3InKU= -github.com/fullstorydev/grpcurl v1.6.0/go.mod h1:ZQ+ayqbKMJNhzLmbpCiurTVlaK2M/3nqZCxaQ2Ze/sM= -github.com/fzipp/gocyclo v0.3.1/go.mod h1:DJHO6AUmbdqj2ET4Z9iArSuwWgYDRryYt2wASxc7x3E= github.com/gballet/go-libpcsclite v0.0.0-20190607065134-2772fd86a8ff/go.mod h1:x7DCsMOv1taUwEWCzT4cmDeAkigA5/QCwUodaVOe8Ww= github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= github.com/gin-contrib/sse v0.1.0 h1:Y/yl/+YNO8GZSjAhjMsSuLt29uWRFHdHYUb5lYOV9qE= github.com/gin-contrib/sse v0.1.0/go.mod h1:RHrZQHXnP2xjPF+u1gW/2HnVO7nvIa9PG3Gm+fLHvGI= github.com/gin-gonic/gin v1.6.3 h1:ahKqKTFpO5KTPHxWZjEdPScmYaGtLo8Y4DMHoEsnp14= github.com/gin-gonic/gin v1.6.3/go.mod h1:75u5sXoLsGZoRN5Sgbi1eraJ4GU3++wFwWzhwvtwp4M= -github.com/go-critic/go-critic v0.5.6/go.mod h1:cVjj0DfqewQVIlIAGexPCaGaZDAqGE29PYDDADIVNEo= github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU= github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= @@ -349,7 +309,6 @@ github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V github.com/go-logfmt/logfmt v0.5.0 h1:TrB8swr/68K7m9CcGut2g3UOihhbcbiMAYiuTXdEih4= github.com/go-logfmt/logfmt v0.5.0/go.mod h1:wCYkCAKZfumFQihp8CzCvQ3paCTfi41vtzG1KdI/P7A= github.com/go-ole/go-ole v1.2.1/go.mod h1:7FAglXiTm7HKlQRDeOQ6ZNUHidzCWXuZWq/1dTyBNF8= -github.com/go-ole/go-ole v1.2.5/go.mod h1:pprOEPIfldk/42T2oK7lQ4v4JSDwmV0As9GaiUsvbm0= github.com/go-playground/assert/v2 v2.0.1/go.mod h1:VDjEfimB/XKnb+ZQfWdccd7VUvScMdVu0Titje2rxJ4= github.com/go-playground/locales v0.13.0 h1:HyWk6mgj5qFqCT5fjGBuRArbVDfE4hi8+e8ceBS/t7Q= github.com/go-playground/locales v0.13.0/go.mod h1:taPMhCMXrRLJO55olJkUXHZBHCxTMfnGwq/HNwmWNS8= @@ -357,25 +316,11 @@ github.com/go-playground/universal-translator v0.17.0 h1:icxd5fm+REJzpZx7ZfpaD87 github.com/go-playground/universal-translator v0.17.0/go.mod h1:UkSxE5sNxxRwHyU+Scu5vgOQjsIJAF8j9muTVoKLVtA= github.com/go-playground/validator/v10 v10.2.0 h1:KgJ0snyC2R9VXYN2rneOtQcw5aHQB1Vv0sFl1UcHBOY= github.com/go-playground/validator/v10 v10.2.0/go.mod h1:uOYAAleCW8F/7oMFd6aG0GOhaH6EGOAJShg8Id5JGkI= -github.com/go-redis/redis v6.15.8+incompatible/go.mod h1:NAIEuMOZ/fxfXJIrKDQDz8wamY7mA7PouImQ2Jvg6kA= github.com/go-sourcemap/sourcemap v2.1.2+incompatible/go.mod h1:F8jJfvm2KbVjc5NqelyYJmf/v5J0dwNLS2mL4sNA1Jg= github.com/go-sql-driver/mysql v1.4.0/go.mod h1:zAC/RDZ24gD3HViQzih4MyKcchzm+sOG5ZlKdlhCg5w= -github.com/go-sql-driver/mysql v1.5.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg= github.com/go-stack/stack v1.8.0 h1:5SgMzNM5HxrEjV0ww2lTmX6E2Izsfxas4+YHWRs3Lsk= github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= github.com/go-task/slim-sprig v0.0.0-20210107165309-348f09dbbbc0/go.mod h1:fyg7847qk6SyHyPtNmDHnmrv/HOrqktSC+C9fM+CJOE= -github.com/go-toolsmith/astcast v1.0.0/go.mod h1:mt2OdQTeAQcY4DQgPSArJjHCcOwlX+Wl/kwN+LbLGQ4= -github.com/go-toolsmith/astcopy v1.0.0/go.mod h1:vrgyG+5Bxrnz4MZWPF+pI4R8h3qKRjjyvV/DSez4WVQ= -github.com/go-toolsmith/astequal v1.0.0/go.mod h1:H+xSiq0+LtiDC11+h1G32h7Of5O3CYFJ99GVbS5lDKY= -github.com/go-toolsmith/astfmt v1.0.0/go.mod h1:cnWmsOAuq4jJY6Ct5YWlVLmcmLMn1JUPuQIHCY7CJDw= -github.com/go-toolsmith/astinfo v0.0.0-20180906194353-9809ff7efb21/go.mod h1:dDStQCHtmZpYOmjRP/8gHHnCCch3Zz3oEgCdZVdtweU= -github.com/go-toolsmith/astp v1.0.0/go.mod h1:RSyrtpVlfTFGDYRbrjyWP1pYu//tSFcvdYrA8meBmLI= -github.com/go-toolsmith/pkgload v1.0.0/go.mod h1:5eFArkbO80v7Z0kdngIxsRXRMTaX4Ilcwuh3clNrQJc= -github.com/go-toolsmith/strparse v1.0.0/go.mod h1:YI2nUKP9YGZnL/L1/DLFBfixrcjslWct4wyljWhSRy8= -github.com/go-toolsmith/typep v1.0.0/go.mod h1:JSQCQMUPdRlMZFswiq3TGpNp1GMktqkR2Ns5AIQkATU= -github.com/go-toolsmith/typep v1.0.2/go.mod h1:JSQCQMUPdRlMZFswiq3TGpNp1GMktqkR2Ns5AIQkATU= -github.com/go-xmlfmt/xmlfmt v0.0.0-20191208150333-d5b6f63a941b/go.mod h1:aUCEOzzezBEjDBbFBoSiya/gduyIiWYRP6CnSFIV8AM= -github.com/gobwas/glob v0.2.3/go.mod h1:d3Ez4x06l9bZtSvzIay5+Yzi0fmZzPgnTbPcKjJAkT8= github.com/gobwas/httphead v0.0.0-20180130184737-2c6c146eadee h1:s+21KNqlpePfkah2I+gwHF8xmJWRjooY+5248k6m4A0= github.com/gobwas/httphead v0.0.0-20180130184737-2c6c146eadee/go.mod h1:L0fX3K22YWvt/FAX9NnzrNzcI4wNYi9Yku4O0LKYflo= github.com/gobwas/pool v0.2.0 h1:QEmUOlnSjWtnpRGHF3SauEiOsy82Cup83Vf2LcMlnc8= @@ -385,7 +330,6 @@ github.com/gobwas/ws v1.0.2/go.mod h1:szmBTxLgaFppYjEmNtny/v3w89xOydFnnZMcgRRu/E github.com/godbus/dbus v0.0.0-20190726142602-4481cbc300e2 h1:ZpnhV/YsD2/4cESfV5+Hoeu/iUR3ruzNvZ+yQfO03a0= github.com/godbus/dbus v0.0.0-20190726142602-4481cbc300e2/go.mod h1:bBOAhwG1umN6/6ZUMtDFBMQR8jRg9O75tm9K00oMsK4= github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= -github.com/gofrs/flock v0.8.1/go.mod h1:F1TvTiK9OcQqauNUHlbJvyl9Qa1QvF/gOUDKA14jxHU= github.com/gogo/gateway v1.1.0 h1:u0SuhL9+Il+UbjM9VIE3ntfRujKbvVpFvNB4HbjeVQ0= github.com/gogo/gateway v1.1.0/go.mod h1:S7rR8FRQyG3QFESeSv4l2WnsyzlCLG0CzBbUUo/mbic= github.com/gogo/googleapis v1.1.0/go.mod h1:gf4bu3Q80BeJ6H1S1vYPm8/ELATdvryBaNFGgqEef3s= @@ -405,7 +349,6 @@ github.com/golang/mock v1.4.4/go.mod h1:l3mdAwkq5BuhzHwde/uurv3sEJeZMXNpwsxVWU71 github.com/golang/mock v1.5.0/go.mod h1:CWnOUgYIOo4TcNZ0wHX3YZCqsaM1I1Jvs6v3mP3KVu8= github.com/golang/mock v1.6.0 h1:ErTB+efbowRARo13NNdxyJji2egdxLGQhRaY+DUumQc= github.com/golang/mock v1.6.0/go.mod h1:p6yTPP+5HYm5mzsMV8JkE6ZKdX+/wYM6Hr+LicevLPs= -github.com/golang/protobuf v1.1.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/golang/protobuf v1.3.0/go.mod h1:Qd/q+1AKNOZr9uGQzbzCmRO6sUih6GTPZv6a1/R87v0= github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= @@ -430,21 +373,9 @@ github.com/golang/snappy v0.0.1/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEW github.com/golang/snappy v0.0.3-0.20201103224600-674baa8c7fc3/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= github.com/golang/snappy v0.0.3 h1:fHPg5GQYlCeLIPB9BZqMVR5nR9A+IM5zcgeTdjMYmLA= github.com/golang/snappy v0.0.3/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= -github.com/golangci/check v0.0.0-20180506172741-cfe4005ccda2/go.mod h1:k9Qvh+8juN+UKMCS/3jFtGICgW8O96FVaZsaxdzDkR4= -github.com/golangci/dupl v0.0.0-20180902072040-3e9179ac440a/go.mod h1:ryS0uhF+x9jgbj/N71xsEqODy9BN81/GonCZiOzirOk= -github.com/golangci/go-misc v0.0.0-20180628070357-927a3d87b613/go.mod h1:SyvUF2NxV+sN8upjjeVYr5W7tyxaT1JVtvhKhOn2ii8= -github.com/golangci/gofmt v0.0.0-20190930125516-244bba706f1a/go.mod h1:9qCChq59u/eW8im404Q2WWTrnBUQKjpNYKMbU4M7EFU= -github.com/golangci/golangci-lint v1.42.1/go.mod h1:MuInrVlgg2jq4do6XI1jbkErbVHVbwdrLLtGv6p2wPI= -github.com/golangci/lint-1 v0.0.0-20191013205115-297bf364a8e0/go.mod h1:66R6K6P6VWk9I95jvqGxkqJxVWGFy9XlDwLwVz1RCFg= -github.com/golangci/maligned v0.0.0-20180506175553-b1d89398deca/go.mod h1:tvlJhZqDe4LMs4ZHD0oMUlt9G2LWuDGoisJTBzLMV9o= -github.com/golangci/misspell v0.3.5/go.mod h1:dEbvlSfYbMQDtrpRMQU675gSDLDNa8sCPPChZ7PhiVA= -github.com/golangci/revgrep v0.0.0-20210208091834-cd28932614b5/go.mod h1:LK+zW4MpyytAWQRz0M4xnzEk50lSvqDQKfx304apFkY= -github.com/golangci/unconvert v0.0.0-20180507085042-28b1c447d1f4/go.mod h1:Izgrg8RkN3rCIMLGE9CyYmU9pY2Jer6DgANEnZ/L/cQ= github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= github.com/google/btree v1.0.0 h1:0udJVsspx3VBr5FwtLhQQtuAsVc79tTq0ocGIPAU6qo= github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= -github.com/google/certificate-transparency-go v1.0.21/go.mod h1:QeJfpSbVSfYc7RgB3gJFj9cbuQMMchQxrWXz8Ruopmg= -github.com/google/certificate-transparency-go v1.1.1/go.mod h1:FDKqPvSXawb2ecErVRrD+nfy23RCzyl7eqVCEmlT1Zs= github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= @@ -474,7 +405,6 @@ github.com/google/pprof v0.0.0-20191218002539-d4f498aebedc/go.mod h1:ZgVRPoUq/hf github.com/google/pprof v0.0.0-20200212024743-f11f1df84d12/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= github.com/google/pprof v0.0.0-20200229191704-1ebb73c60ed3/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= github.com/google/pprof v0.0.0-20200430221834-fc25d7d30c6d/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= -github.com/google/pprof v0.0.0-20200507031123-427632fa3b1c/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= github.com/google/pprof v0.0.0-20200708004538-1a94d8640e99/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= github.com/google/pprof v0.0.0-20201023163331-3e6fc7fc9c4c/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/pprof v0.0.0-20201203190320-1bf35d6f28c2/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= @@ -484,20 +414,14 @@ github.com/google/pprof v0.0.0-20210601050228-01bbb1931b22/go.mod h1:kpwsk12EmLe github.com/google/pprof v0.0.0-20210609004039-a478d1d731e9/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/pprof v0.0.0-20210720184732-4bb14d4b1be1/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= -github.com/google/trillian v1.3.11/go.mod h1:0tPraVHrSDkA3BO6vKX67zgLXs6SsOAbHEivX+9mPgw= -github.com/google/uuid v0.0.0-20161128191214-064e2069ce9c/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.0.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/google/uuid v1.2.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg= github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk= github.com/googleapis/gax-go/v2 v2.1.0/go.mod h1:Q3nei7sK6ybPYH7twZdmQpAd1MKb7pfu6SK+H1/DsU0= -github.com/gookit/color v1.4.2/go.mod h1:fqRyamkC1W8uxl+lxCQxOT09l/vYfZ+QeiX3rKQHCoQ= github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY= github.com/gordonklaus/ineffassign v0.0.0-20200309095847-7953dde2c7bf/go.mod h1:cuNKsD1zp2v6XfE/orVX2QE1LC+i254ceGcVeDT3pTU= -github.com/gordonklaus/ineffassign v0.0.0-20210225214923-2e10b2664254/go.mod h1:M9mZEtGIsR1oDaZagNPNG9iq9n2HrhZ17dsXk73V3Lw= -github.com/gorhill/cronexpr v0.0.0-20180427100037-88b0669f7d75/go.mod h1:g2644b03hfBX9Ov0ZBDgXXens4rxSxmqFBbhvKv2yVA= github.com/gorilla/context v1.1.1/go.mod h1:kBGZzfjB9CEq2AlWe17Uuf7NDRt0dE0s8S51q0aT7Yg= github.com/gorilla/handlers v1.5.1 h1:9lRY6j8DEeeBT10CvO9hGW0gmky0BprnvDI5vfhUHH4= github.com/gorilla/handlers v1.5.1/go.mod h1:t8XrUpc4KVXb7HGyJ4/cEnwQiaxrX/hz1Zv/4g96P1Q= @@ -511,17 +435,8 @@ github.com/gorilla/websocket v1.4.1-0.20190629185528-ae1634f6a989/go.mod h1:E7qH github.com/gorilla/websocket v1.4.1/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= github.com/gorilla/websocket v1.4.2 h1:+/TMaTYc4QFitKJxsQ7Yye35DkWvkdLcvGKqM+x0Ufc= github.com/gorilla/websocket v1.4.2/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= -github.com/gostaticanalysis/analysisutil v0.0.0-20190318220348-4088753ea4d3/go.mod h1:eEOZF4jCKGi+aprrirO9e7WKB3beBRtWgqGunKl6pKE= -github.com/gostaticanalysis/analysisutil v0.0.3/go.mod h1:eEOZF4jCKGi+aprrirO9e7WKB3beBRtWgqGunKl6pKE= -github.com/gostaticanalysis/analysisutil v0.1.0/go.mod h1:dMhHRU9KTiDcuLGdy87/2gTR8WruwYZrKdRq9m1O6uw= -github.com/gostaticanalysis/analysisutil v0.4.1/go.mod h1:18U/DLpRgIUd459wGxVHE0fRgmo1UgHDcbw7F5idXu0= -github.com/gostaticanalysis/comment v1.3.0/go.mod h1:xMicKDx7XRXYdVwY9f9wQpDJVnqWxw9wCauCMKp+IBI= -github.com/gostaticanalysis/comment v1.4.1/go.mod h1:ih6ZxzTHLdadaiSnF5WY3dxUoXfXAlTaRzuaNDlSado= -github.com/gostaticanalysis/forcetypeassert v0.0.0-20200621232751-01d4955beaa5/go.mod h1:qZEedyP/sY1lTGV1uJ3VhWZ2mqag3IkWsDHVbplHXak= -github.com/gostaticanalysis/nilerr v0.1.1/go.mod h1:wZYb6YI5YAxxq0i1+VJbY0s2YONW0HU0GPE3+5PWN4A= github.com/gotestyourself/gotestyourself v2.2.0+incompatible/go.mod h1:zZKM6oeNM8k+FRljX1mnzVYeS8wiGgQyvST1/GafPbY= github.com/graph-gophers/graphql-go v0.0.0-20191115155744-f33e81362277/go.mod h1:9CQHMSxwO4MprSdzoIEobiHpoLtHm77vfxsvsIN5Vuc= -github.com/gregjones/httpcache v0.0.0-20190611155906-901d90724c79/go.mod h1:FecbI9+v66THATjSRHfNgh1IVFe/9kFxbXtjV0ctIMA= github.com/grpc-ecosystem/go-grpc-middleware v1.0.0/go.mod h1:FiyG127CGDf3tlThmgyCl78X/SZQqEOJBCDaAfeWzPs= github.com/grpc-ecosystem/go-grpc-middleware v1.0.1-0.20190118093823-f849b5445de4/go.mod h1:FiyG127CGDf3tlThmgyCl78X/SZQqEOJBCDaAfeWzPs= github.com/grpc-ecosystem/go-grpc-middleware v1.2.1/go.mod h1:EaizFBKfUKtMIF5iaDEhniwNedqGo9FuLFzppDr3uwI= @@ -532,7 +447,6 @@ github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0/go.mod h1:8NvIoxWQoOIhqOTXgf github.com/grpc-ecosystem/grpc-gateway v1.8.5/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY= github.com/grpc-ecosystem/grpc-gateway v1.9.0/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY= github.com/grpc-ecosystem/grpc-gateway v1.9.5/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY= -github.com/grpc-ecosystem/grpc-gateway v1.12.1/go.mod h1:8XEsbTttt/W+VvjtQhLACqCisSPWTxCZ7sBRjU6iH9c= github.com/grpc-ecosystem/grpc-gateway v1.14.7/go.mod h1:oYZKL012gGh6LMyg/xA7Q2yq6j8bu0wa+9w14EEthWU= github.com/grpc-ecosystem/grpc-gateway v1.16.0 h1:gmcG1KaJ57LophUzW0Hy8NmPhnMZb4M0+kPpLofRdBo= github.com/grpc-ecosystem/grpc-gateway v1.16.0/go.mod h1:BDjrQk3hbvj6Nolgz8mAMFbcEtjT1g+wF4CSlocrBnw= @@ -558,7 +472,6 @@ github.com/hashicorp/go-immutable-radix v1.0.0/go.mod h1:0y9vanUI8NX6FsYoO3zeMjh github.com/hashicorp/go-msgpack v0.5.3/go.mod h1:ahLV/dePpqEmjfWmKiqvPkv/twdG7iPBM1vqhUKIvfM= github.com/hashicorp/go-multierror v1.0.0/go.mod h1:dHtQlpGsu+cZNNAkkCN/P3hoUDHhCYQXV3UM06sGGrk= github.com/hashicorp/go-multierror v1.1.0/go.mod h1:spPvp8C1qA32ftKqdAHm4hHTbPw+vmowP0z+KUhOZdA= -github.com/hashicorp/go-multierror v1.1.1/go.mod h1:iw975J/qwKPdAO1clOe2L8331t/9/fmwbPZ6JB6eMoM= github.com/hashicorp/go-retryablehttp v0.5.3/go.mod h1:9B5zBasrRhHXnJnui7y6sL7es7NDiJgTc6Er0maI1Xs= github.com/hashicorp/go-rootcerts v1.0.0/go.mod h1:K6zTfqpRlCUIjkwsN4Z+hiSfzSTQa6eBIzfwKfwNnHU= github.com/hashicorp/go-rootcerts v1.0.2/go.mod h1:pqUvnprVnM5bf7AOirdbb01K4ccR319Vf4pU3K5EGc8= @@ -586,15 +499,11 @@ github.com/hdevalence/ed25519consensus v0.0.0-20210204194344-59a8610d2b87 h1:uUj github.com/hdevalence/ed25519consensus v0.0.0-20210204194344-59a8610d2b87/go.mod h1:XGsKKeXxeRr95aEOgipvluMPlgjr7dGlk9ZTWOjcUcg= github.com/holiman/uint256 v1.1.1/go.mod h1:y4ga/t+u+Xwd7CpDgZESaRcWy0I7XMlTMA25ApIH5Jw= github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= -github.com/huandu/xstrings v1.0.0/go.mod h1:4qWG/gcEcfX4z/mBDHJ++3ReCw9ibxbsNJbcucJdbSo= -github.com/huandu/xstrings v1.2.0/go.mod h1:DvyZB1rfVYsBIigL8HwpZgxHwXozlTgGqn63UyNX5k4= github.com/hudl/fargo v1.3.0/go.mod h1:y3CKSmjA+wD2gak7sUSXTAoopbhU08POFhmITJgmKTg= github.com/huin/goupnp v1.0.0/go.mod h1:n9v9KO1tAxYH82qOn+UTIFQDmx5n1Zxd/ClZDMX7Bnc= github.com/huin/goutil v0.0.0-20170803182201-1ca381bf3150/go.mod h1:PpLOETDnJ0o3iZrZfqZzyLl6l7F3c6L1oWn7OICBi6o= github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= github.com/ianlancetaylor/demangle v0.0.0-20200824232613-28f6c0f3b639/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= -github.com/imdario/mergo v0.3.4/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA= -github.com/imdario/mergo v0.3.8/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA= github.com/improbable-eng/grpc-web v0.14.1 h1:NrN4PY71A6tAz2sKDvC5JCauENWp0ykG8Oq1H3cpFvw= github.com/improbable-eng/grpc-web v0.14.1/go.mod h1:zEjGHa8DAlkoOXmswrNvhUGEYQA9UI7DhrGeHR1DMGU= github.com/inconshreveable/mousetrap v1.0.0 h1:Z8tu5sraLXCXIcARxBp/8cbvlwVa7Z1NHg9XEKhtSvM= @@ -605,20 +514,12 @@ github.com/jackpal/go-nat-pmp v1.0.2-0.20160603034137-1fa385a6f458/go.mod h1:QPH github.com/jedisct1/go-minisign v0.0.0-20190909160543-45766022959e/go.mod h1:G1CVv03EnqU1wYL2dFwXxW2An0az9JTl/ZsqXQeBlkU= github.com/jessevdk/go-flags v0.0.0-20141203071132-1679536dcc89/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI= github.com/jessevdk/go-flags v1.4.0/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI= -github.com/jgautheron/goconst v1.5.1/go.mod h1:aAosetZ5zaeC/2EfMeRswtxUFBpe2Hr7HzkgX4fanO4= -github.com/jhump/protoreflect v1.6.1/go.mod h1:RZQ/lnuN+zqeRVpQigTwO6o0AJUkxbnSnpuG7toUTG4= github.com/jhump/protoreflect v1.9.0 h1:npqHz788dryJiR/l6K/RUQAyh2SwV91+d1dnh4RjO9w= github.com/jhump/protoreflect v1.9.0/go.mod h1:7GcYQDdMU/O/BBrl/cX6PNHpXh6cenjd8pneu5yW7Tg= -github.com/jingyugao/rowserrcheck v1.1.0/go.mod h1:TOQpc2SLx6huPfoFGK3UOnEG+u02D3C1GeosjupAKCA= -github.com/jirfag/go-printf-func-name v0.0.0-20200119135958-7558a9eaa5af/go.mod h1:HEWGJkRDzjJY2sqdDwxccsGicWEf9BQOZsq2tV+xzM0= github.com/jmespath/go-jmespath v0.0.0-20180206201540-c2b33e8439af/go.mod h1:Nht3zPeWKUH0NzdCt2Blrr5ys8VGpn0CEB0cQHVjt7k= -github.com/jmespath/go-jmespath v0.4.0/go.mod h1:T8mJZnbsbmF+m6zOOFylbeCJqk5+pHWvzYPziyZiYoo= -github.com/jmespath/go-jmespath/internal/testify v1.5.1/go.mod h1:L3OGu8Wl2/fWfCI6z80xFu9LTZmf1ZRjMHUOPmWr69U= github.com/jmhodges/levigo v1.0.0 h1:q5EC36kV79HWeTBWsod3mG11EgStG3qArTKcvlksN1U= github.com/jmhodges/levigo v1.0.0/go.mod h1:Q6Qx+uH3RAqyK4rFQroq9RL7mdkABMcfhEI+nNuzMJQ= -github.com/jmoiron/sqlx v1.2.0/go.mod h1:1FEQNm3xlJgrMD+FBdI9+xvCksHtbpVBBw5dYhBSsks= github.com/jonboulle/clockwork v0.1.0/go.mod h1:Ii8DK3G1RaLaWxj9trq07+26W01tbo22gdxWY5EU2bo= -github.com/jonboulle/clockwork v0.2.0/go.mod h1:Pkfl5aHPm1nk2H9h0bjmnJD/BcgbGXUBGnn1kMkgxc8= github.com/jpillora/backoff v1.0.0/go.mod h1:J/6gKK9jxlEcS3zixgDgUAsiuZ7yrSoa/FX5e0EB2j4= github.com/jrick/logrotate v1.0.0/go.mod h1:LNinyqDIJnpAur+b8yyulnQw/wDuN1+BYKlTRt3OuAQ= github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU= @@ -631,27 +532,20 @@ github.com/json-iterator/go v1.1.11/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/ github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU= github.com/jstemmer/go-junit-report v0.9.1/go.mod h1:Brl9GWCQeLvo8nXZwPNNblvFj/XSXhF0NWZEnDohbsk= github.com/jtolds/gls v4.20.0+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU= -github.com/juju/ratelimit v1.0.1/go.mod h1:qapgC/Gy+xNh9UxzV13HGGl/6UXNN+ct+vwSgWNm/qk= github.com/julienschmidt/httprouter v1.1.1-0.20170430222011-975b5c4c7c21/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w= github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w= github.com/julienschmidt/httprouter v1.3.0/go.mod h1:JR6WtHb+2LUe8TCKY3cZOxFyyO8IZAc4RVcycCCAKdM= -github.com/julz/importas v0.0.0-20210419104244-841f0c0fe66d/go.mod h1:oSFU2R4XK/P7kNBrnL/FEQlDGN1/6WoxXEjSSXO0DV0= -github.com/k0kubun/colorstring v0.0.0-20150214042306-9440f1994b88/go.mod h1:3w7q1U84EfirKl04SVQ/s7nPm1ZPhiXd34z40TNz36k= github.com/karalabe/usb v0.0.0-20190919080040-51dc0efba356/go.mod h1:Od972xHfMJowv7NGVDiWVxk2zxnWgjLlJzE+F4F7AGU= github.com/keybase/go-keychain v0.0.0-20190712205309-48d3d31d256d h1:Z+RDyXzjKE0i2sTjZ/b1uxiGtPhFy34Ou/Tk0qwN0kM= github.com/keybase/go-keychain v0.0.0-20190712205309-48d3d31d256d/go.mod h1:JJNrCn9otv/2QP4D7SMJBgaleKpOf66PnW6F5WGNRIc= github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= -github.com/kisielk/errcheck v1.6.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= github.com/kkdai/bstream v0.0.0-20161212061736-f391b8402d23/go.mod h1:J+Gs4SYgM6CZQHDETBtE9HaSEkGmuNXF86RwHhHUvq4= github.com/kkdai/bstream v1.0.0/go.mod h1:FDnDOHt5Yx4p3FaHcioFT0QjDOtgUpvjeZqAs+NVZZA= github.com/klauspost/compress v1.10.3/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs= -github.com/klauspost/compress v1.10.7/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs= -github.com/klauspost/compress v1.11.0/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs= github.com/klauspost/compress v1.11.7 h1:0hzRabrMN4tSTvMfnL3SCv1ZGeAP23ynzodBgaHeMeg= github.com/klauspost/compress v1.11.7/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs= github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= -github.com/konsorten/go-windows-terminal-sequences v1.0.2/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= github.com/konsorten/go-windows-terminal-sequences v1.0.3/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= github.com/kr/fs v0.1.0/go.mod h1:FFnZGqtBN9Gxj7eW1uZ42v5BccTP0vu6NEaFoC2HwRg= github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc= @@ -662,34 +556,22 @@ github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= -github.com/kulti/thelper v0.4.0/go.mod h1:vMu2Cizjy/grP+jmsvOFDx1kYP6+PD1lqg4Yu5exl2U= -github.com/kunwardeep/paralleltest v1.0.2/go.mod h1:ZPqNm1fVHPllh5LPVujzbVz1JN2GhLxSfY+oqUsvG30= github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw= -github.com/kyoh86/exportloopref v0.1.8/go.mod h1:1tUcJeiioIs7VWe5gcOObrux3lb66+sBqGZrRkMwPgg= -github.com/ldez/gomoddirectives v0.2.2/go.mod h1:cpgBogWITnCfRq2qGoDkKMEVSaarhdBr6g8G04uz6d0= -github.com/ldez/tagliatelle v0.2.0/go.mod h1:8s6WJQwEYHbKZDsp/LjArytKOG8qaMrKQQ3mFukHs88= github.com/leodido/go-urn v1.2.0 h1:hpXL4XnriNwQ/ABnpepYM/1vCLWNDfUNts8dX3xTG6Y= github.com/leodido/go-urn v1.2.0/go.mod h1:+8+nEpDfqqsY+g338gtMEUOtuK+4dEMhiQEgxpxOKII= -github.com/letsencrypt/pkcs11key/v4 v4.0.0/go.mod h1:EFUvBDay26dErnNb70Nd0/VW3tJiIbETBPTl9ATXQag= -github.com/lib/pq v1.0.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= github.com/lib/pq v1.2.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= -github.com/lib/pq v1.8.0/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o= -github.com/lib/pq v1.9.0/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o= github.com/lib/pq v1.10.2 h1:AqzbZs4ZoCBp+GtejcpCpcxM3zlSMx29dXbUSeVtJb8= github.com/lib/pq v1.10.2/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o= github.com/libp2p/go-buffer-pool v0.0.2 h1:QNK2iAFa8gjAe1SPz6mHSMuCcjs+X1wlHzeOSqcmlfs= github.com/libp2p/go-buffer-pool v0.0.2/go.mod h1:MvaB6xw5vOrDl8rYZGLFdKAuk/hRoRZd1Vi32+RXyFM= github.com/lightstep/lightstep-tracer-common/golang/gogo v0.0.0-20190605223551-bc2310a04743/go.mod h1:qklhhLq1aX+mtWk9cPHPzaBjWImj5ULL6C7HFJtXQMM= github.com/lightstep/lightstep-tracer-go v0.18.1/go.mod h1:jlF1pusYV4pidLvZ+XD0UBX0ZE6WURAspgAczcDHrL4= -github.com/logrusorgru/aurora v0.0.0-20181002194514-a7b3b318ed4e/go.mod h1:7rIyQOR62GCctdiQpZ/zOJlFyk6y+94wXzv6RNZgaR4= github.com/lucasjones/reggen v0.0.0-20180717132126-cdb49ff09d77/go.mod h1:5ELEyG+X8f+meRWHuqUOewBOhvHkl7M76pdGEansxW4= github.com/lyft/protoc-gen-validate v0.0.13/go.mod h1:XbGvPuh87YZc5TdIa2/I4pLk0QoUACkjt2znoq26NVQ= github.com/magiconair/properties v1.8.0/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ= github.com/magiconair/properties v1.8.1/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ= github.com/magiconair/properties v1.8.5 h1:b6kJs+EmPFMYGkow9GiUyCyOvIwYetYJ3fSaWak/Gls= github.com/magiconair/properties v1.8.5/go.mod h1:y3VJvCyxH9uVvJTWEGAELF3aiYNyPKd5NZ3oSwXrF60= -github.com/maratori/testpackage v1.0.1/go.mod h1:ddKdw+XG0Phzhx8BFDTKgpWP4i7MpApTE5fXSKAqwDU= -github.com/matoous/godox v0.0.0-20210227103229-6504466cf951/go.mod h1:1BELzlh859Sh1c6+90blK8lbYy0kwQf1bYlBhBysy1s= github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU= github.com/mattn/go-colorable v0.1.0/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU= github.com/mattn/go-colorable v0.1.4/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE= @@ -709,31 +591,19 @@ github.com/mattn/go-isatty v0.0.14/go.mod h1:7GGIvUiUoEMVVmxf/4nioHXj79iQHKdU27k github.com/mattn/go-runewidth v0.0.2/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU= github.com/mattn/go-runewidth v0.0.3/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU= github.com/mattn/go-runewidth v0.0.4/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU= -github.com/mattn/go-runewidth v0.0.6/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m2gUSrubnMI= -github.com/mattn/go-runewidth v0.0.9/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m2gUSrubnMI= -github.com/mattn/go-sqlite3 v1.9.0/go.mod h1:FPy6KqzDD04eiIsT53CuJW3U88zkxoIYsOqkbpncsNc= -github.com/mattn/goveralls v0.0.2/go.mod h1:8d1ZMHsd7fW6IRPKQh46F2WRpyib5/X4FOpevwGNQEw= github.com/matttproud/golang_protobuf_extensions v1.0.1 h1:4hp9jkHxhMHkqkrB3Ix0jegS5sx/RkqARlsWZ6pIwiU= github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= -github.com/mbilski/exhaustivestruct v1.2.0/go.mod h1:OeTBVxQWoEmB2J2JCHmXWPJ0aksxSUOUy+nvtVEfzXc= -github.com/mgechev/dots v0.0.0-20190921121421-c36f7dcfbb81/go.mod h1:KQ7+USdGKfpPjXk4Ga+5XxQM4Lm4e3gAogrreFAYpOg= -github.com/mgechev/revive v1.1.1/go.mod h1:PKqk4L74K6wVNwY2b6fr+9Qqr/3hIsHVfZCJdbvozrY= github.com/miekg/dns v1.0.14/go.mod h1:W1PPwlIAgtquWBMBEV9nkV9Cazfe8ScdGz/Lj7v3Nrg= github.com/miekg/dns v1.1.26/go.mod h1:bPDLeHnStXmXAq1m/Ch/hvfNHr14JKNPMBo3VZKjuso= -github.com/miekg/dns v1.1.35/go.mod h1:KNUDUusw/aVsxyTYZM1oqvCicbwhgbNgztCETuNZ7xM= -github.com/miekg/pkcs11 v1.0.2/go.mod h1:XsNlhZGX73bx86s2hdc/FuaLm2CPZJemRLMA+WTFxgs= -github.com/miekg/pkcs11 v1.0.3/go.mod h1:XsNlhZGX73bx86s2hdc/FuaLm2CPZJemRLMA+WTFxgs= github.com/mimoo/StrobeGo v0.0.0-20181016162300-f8f6d4d2b643 h1:hLDRPB66XQT/8+wG9WsDpiCvZf1yKO7sz7scAjSlBa0= github.com/mimoo/StrobeGo v0.0.0-20181016162300-f8f6d4d2b643/go.mod h1:43+3pMjjKimDBf5Kr4ZFNGbLql1zKkbImw+fZbw3geM= github.com/minio/highwayhash v1.0.1 h1:dZ6IIu8Z14VlC0VpfKofAhCy74wu/Qb5gcn52yWoz/0= github.com/minio/highwayhash v1.0.1/go.mod h1:BQskDq+xkJ12lmlUUi7U0M5Swg3EWR+dLTk+kldvVxY= github.com/mitchellh/cli v1.0.0/go.mod h1:hNIlj7HEI86fIcpObd7a0FcrxTWetlwJDGcceTlRvqc= github.com/mitchellh/cli v1.1.0/go.mod h1:xcISNoH86gajksDmfB23e/pu+B+GeFRMYmoHXxx3xhI= -github.com/mitchellh/copystructure v1.0.0/go.mod h1:SNtv71yrdKgLRyLFxmLdkAbkKEFWgYaq1OVrnRcwhnw= github.com/mitchellh/go-homedir v1.0.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= github.com/mitchellh/go-homedir v1.1.0 h1:lukF9ziXFxDFPkA1vsr5zpc1XuPDn/wFntq5mG+4E0Y= github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= -github.com/mitchellh/go-ps v1.0.0/go.mod h1:J4lOc8z8yJs6vUwklHw2XEIiT4z4C40KtWVN3nvg8Pg= github.com/mitchellh/go-testing-interface v1.0.0/go.mod h1:kRemZodwjscx+RGhAo8eIhFbs2+BFgRtFPeD/KE+zxI= github.com/mitchellh/gox v0.4.0/go.mod h1:Sd9lOJ0+aimLBi73mGofS1ycjY8lL3uZM3JPS42BGNg= github.com/mitchellh/iochan v1.0.0/go.mod h1:JwYml1nuB7xOzsp52dPpHFffvOCDupsG0QubkSMEySY= @@ -743,8 +613,6 @@ github.com/mitchellh/mapstructure v1.3.3/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RR github.com/mitchellh/mapstructure v1.4.1/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= github.com/mitchellh/mapstructure v1.4.2 h1:6h7AQ0yhTcIsmFmnAwQls75jp2Gzs4iB8W7pjMO+rqo= github.com/mitchellh/mapstructure v1.4.2/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= -github.com/mitchellh/reflectwalk v1.0.0/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw= -github.com/mitchellh/reflectwalk v1.0.1/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw= github.com/moby/sys/mountinfo v0.4.1/go.mod h1:rEr8tzG/lsIZHBtN/JjGG+LMYx9eXgW2JI+6q0qou+A= github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg= @@ -752,20 +620,13 @@ github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJ github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= github.com/modern-go/reflect2 v1.0.1 h1:9f412s+6RmYXLWZSEzVVgPGK7C2PphHj5RJrvfx9AWI= github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= -github.com/mohae/deepcopy v0.0.0-20170929034955-c48cc78d4826/go.mod h1:TaXosZuwdSHYgviHp1DAtfrULt5eUgsSMsZf+YrPgl8= -github.com/moricho/tparallel v0.2.1/go.mod h1:fXEIZxG2vdfl0ZF8b42f5a78EhjjD5mX8qUplsoSU4k= -github.com/mozilla/scribe v0.0.0-20180711195314-fb71baf557c1/go.mod h1:FIczTrinKo8VaLxe6PWTPEXRXDIHz2QAwiaBaP5/4a8= -github.com/mozilla/tls-observatory v0.0.0-20210609171429-7bc42856d2e5/go.mod h1:FUqVoUPHSEdDR0MnFM3Dh8AU0pZHLXUD127SAJGER/s= github.com/mrunalp/fileutils v0.5.0/go.mod h1:M1WthSahJixYnrXQl/DFQuteStB1weuxD2QJNHXfbSQ= github.com/mtibben/percent v0.2.1 h1:5gssi8Nqo8QU/r2pynCm+hBQHpkB/uNK7BJCFogWdzs= github.com/mtibben/percent v0.2.1/go.mod h1:KG9uO+SZkUp+VkRHsCdYQV3XSZrrSpR3O9ibNBTZrns= github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f h1:KUppIJq7/+SVif2QVs3tOP0zanoHgBEVAwHxUSIzRqU= github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= -github.com/mwitkow/go-proto-validators v0.0.0-20180403085117-0950a7990007/go.mod h1:m2XC9Qq0AlmmVksL6FktJCdTYyLk7V3fKyp0sl1yWQo= -github.com/mwitkow/go-proto-validators v0.2.0/go.mod h1:ZfA1hW+UH/2ZHOWvQ3HnQaU0DtnpXu850MZiy+YUgcc= github.com/mwitkow/grpc-proxy v0.0.0-20181017164139-0f1106ef9c76/go.mod h1:x5OoJHDHqxHS801UIuhqGl6QdSAEJvtausosHSdazIo= -github.com/nakabonne/nestif v0.3.0/go.mod h1:dI314BppzXjJ4HsCnbo7XzrJHPszZsjnk5wEBSYHI2c= github.com/naoina/go-stringutil v0.1.0/go.mod h1:XJ2SJL9jCtBh+P9q5btrd/Ylo8XwT/h1USek5+NqSA0= github.com/naoina/toml v0.1.2-0.20170918210437-9fafd6967416/go.mod h1:NBIhNtsFMo3G2szEBne+bO4gS192HuIYRqfvOWb4i1E= github.com/nats-io/jwt v0.3.0/go.mod h1:fRYCDE99xlTsqUzISS1Bi75UBJ6ljOJQOAAu5VglpSg= @@ -775,14 +636,10 @@ github.com/nats-io/nats.go v1.9.1/go.mod h1:ZjDU1L/7fJ09jvUSRVBR2e7+RnLiiIQyqyzE github.com/nats-io/nkeys v0.1.0/go.mod h1:xpnFELMwJABBLVhffcfd1MZx6VsNRFpEugbxziKVo7w= github.com/nats-io/nkeys v0.1.3/go.mod h1:xpnFELMwJABBLVhffcfd1MZx6VsNRFpEugbxziKVo7w= github.com/nats-io/nuid v1.0.1/go.mod h1:19wcPz3Ph3q0Jbyiqsd0kePYG7A95tJPxeL+1OSON2c= -github.com/nbutton23/zxcvbn-go v0.0.0-20210217022336-fa2cb2858354/go.mod h1:KSVJerMDfblTH7p5MZaTt+8zaT2iEk3AkVb9PQdZuE8= github.com/neilotoole/errgroup v0.1.5/go.mod h1:Q2nLGf+594h0CLBs/Mbg6qOr7GtqDK7C2S41udRnToE= github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e h1:fD57ERR4JtEqsWbfPhv4DMiApHyliiK5xCTNVSPiaAs= github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno= -github.com/nishanths/exhaustive v0.2.3/go.mod h1:bhIX678Nx8inLM9PbpvK1yv6oGtoP8BfaIeMzgBNKvc= -github.com/nishanths/predeclared v0.0.0-20190419143655-18a43bb90ffc/go.mod h1:62PewwiQTlm/7Rj+cxVYqZvDIUc+JjZq6GHAC1fsObQ= github.com/nishanths/predeclared v0.0.0-20200524104333-86fad755b4d3/go.mod h1:nt3d53pc1VYcphSCIaYAJtnPYnr3Zyn8fMq2wvPGPso= -github.com/nishanths/predeclared v0.2.1/go.mod h1:HvkGJcA3naj4lOwnFXFDkFxVtSqQMB9sbB1usJ+xjQE= github.com/nxadm/tail v1.4.4/go.mod h1:kenIhsEOeOJmVchQTgglprH7qJGnHDVpk1VPCcaMI8A= github.com/nxadm/tail v1.4.8 h1:nPr65rt6Y5JFSKQO7qToXr7pePgD6Gwiw05lkbyAQTE= github.com/nxadm/tail v1.4.8/go.mod h1:+ncqLTQzXmGhMZNUePPaPqPvBxHAIsmXswZKocGu+AU= @@ -792,11 +649,8 @@ github.com/oklog/ulid v1.3.1/go.mod h1:CirwcVhetQ6Lv90oh/F+FBtV6XMibvdAFo93nm5qn github.com/olekukonko/tablewriter v0.0.0-20170122224234-a0225b3f23b5/go.mod h1:vsDQFd/mU46D+Z4whnwzcISnGGzXWMclvtLoiIKAKIo= github.com/olekukonko/tablewriter v0.0.1/go.mod h1:vsDQFd/mU46D+Z4whnwzcISnGGzXWMclvtLoiIKAKIo= github.com/olekukonko/tablewriter v0.0.2-0.20190409134802-7e037d187b0c/go.mod h1:vsDQFd/mU46D+Z4whnwzcISnGGzXWMclvtLoiIKAKIo= -github.com/olekukonko/tablewriter v0.0.2/go.mod h1:rSAaSIOAGT9odnlyGlUfAJaoc5w2fSBUmeGDbRWPxyQ= -github.com/olekukonko/tablewriter v0.0.5/go.mod h1:hPp6KlRPjbx+hW8ykQs1w3UBbZlj6HuIJcUGPhkA7kY= github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/ginkgo v1.7.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= -github.com/onsi/ginkgo v1.10.3/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/ginkgo v1.12.1/go.mod h1:zj2OWP4+oCPe1qIXoGWkgMRwljMUYCdkwsT2108oapk= github.com/onsi/ginkgo v1.14.0/go.mod h1:iSB4RoI2tjJc9BBv4NKIKWKya62Rps+oPG/Lv9klQyY= github.com/onsi/ginkgo v1.16.2/go.mod h1:CObGmKUOKaSC0RjmoAK7tKyn4Azo5P2IWuoMnvwxz1E= @@ -846,11 +700,9 @@ github.com/pelletier/go-toml v1.9.3/go.mod h1:u1nR/EPcESfeI/szUZKdtJ0xRNbUoANCko github.com/pelletier/go-toml v1.9.4 h1:tjENF6MfZAg8e4ZmZTeWaWiT2vXtsoO6+iuOjFhECwM= github.com/pelletier/go-toml v1.9.4/go.mod h1:u1nR/EPcESfeI/szUZKdtJ0xRNbUoANCkoOuaOx1Y+c= github.com/performancecopilot/speed v3.0.0+incompatible/go.mod h1:/CLtqpZ5gBg1M9iaPbIdPPGyKcA8hKdoy6hAWba7Yac= -github.com/peterbourgon/diskv v2.0.1+incompatible/go.mod h1:uqqh8zWWbv1HBMNONnaR/tNboyR3/BZd58JJSHlUSCU= github.com/peterh/liner v1.1.1-0.20190123174540-a2c9a5303de7/go.mod h1:CRroGNssyjTd/qIG2FyxByd2S8JEAZXBl4qUrZf8GS0= github.com/petermattis/goid v0.0.0-20180202154549-b0b1615b78e5 h1:q2e307iGHPdTGp0hoxKjt1H5pDo6utceo3dQVK3I5XQ= github.com/petermattis/goid v0.0.0-20180202154549-b0b1615b78e5/go.mod h1:jvVRKCrJTQWu0XVbaOlby/2lO20uSCHEMzzplHXte1o= -github.com/phayes/checkstyle v0.0.0-20170904204023-bfd46e6a821d/go.mod h1:3OzsM7FXDQlpCiw2j81fOmAwQLnZnLGXVKUzeKQXIAw= github.com/pierrec/lz4 v1.0.2-0.20190131084431-473cd7ce01a1/go.mod h1:3/3N9NVKO0jef7pBehbT1qWhCMrIgbYNnFAZCqQ5LRc= github.com/pierrec/lz4 v2.0.5+incompatible/go.mod h1:pdkljMzZIN41W+lC3N2tnIh5sFi+IEE17M5jbnwPHcY= github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= @@ -859,10 +711,8 @@ github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/profile v1.2.1/go.mod h1:hJw3o1OdXxsrSjjVksARp5W95eeEaEfptyVZyv6JUPA= github.com/pkg/sftp v1.10.1/go.mod h1:lYOWFsE0bwd1+KfKJaKeuokY15vzFx25BLbzYYoAxZI= -github.com/pmezard/go-difflib v0.0.0-20151028094244-d8ed2627bdf0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/polyfloyd/go-errorlint v0.0.0-20210722154253-910bb7978349/go.mod h1:wi9BfjxjF/bwiZ701TzmfKu6UKC357IOAtNr0Td0Lvw= github.com/posener/complete v1.1.1/go.mod h1:em0nMJCgc9GFtwrmVmEMR/ZL6WyhyjMBndrE9hABlRI= github.com/posener/complete v1.2.3/go.mod h1:WZIdtGGp+qx0sLrYKtIRAruyNpv6hFCicSgv7Sy7s/s= github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw= @@ -906,16 +756,6 @@ github.com/prometheus/procfs v0.6.0 h1:mxy4L2jP6qMonqmq+aTtOx1ifVWUgG/TAmntgbh3x github.com/prometheus/procfs v0.6.0/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA= github.com/prometheus/tsdb v0.6.2-0.20190402121629-4f204dcbc150/go.mod h1:qhTCs0VvXwvX/y3TZrWD7rabWM+ijKTux40TwIPHuXU= github.com/prometheus/tsdb v0.7.1/go.mod h1:qhTCs0VvXwvX/y3TZrWD7rabWM+ijKTux40TwIPHuXU= -github.com/pseudomuto/protoc-gen-doc v1.3.2/go.mod h1:y5+P6n3iGrbKG+9O04V5ld71in3v/bX88wUwgt+U8EA= -github.com/pseudomuto/protokit v0.2.0/go.mod h1:2PdH30hxVHsup8KpBTOXTBeMVhJZVio3Q8ViKSAXT0Q= -github.com/quasilyte/go-consistent v0.0.0-20190521200055-c6f3937de18c/go.mod h1:5STLWrekHfjyYwxBRVRXNOSewLJ3PWfDJd1VyTS21fI= -github.com/quasilyte/go-ruleguard v0.3.1-0.20210203134552-1b5a410e1cc8/go.mod h1:KsAh3x0e7Fkpgs+Q9pNLS5XpFSvYCEVl5gP9Pp1xp30= -github.com/quasilyte/go-ruleguard v0.3.4/go.mod h1:57FZgMnoo6jqxkYKmVj5Fc8vOt0rVzoE/UNAmFFIPqA= -github.com/quasilyte/go-ruleguard/dsl v0.3.0/go.mod h1:KeCP03KrjuSO0H1kTuZQCWlQPulDV6YMIXmpQss17rU= -github.com/quasilyte/go-ruleguard/dsl v0.3.2/go.mod h1:KeCP03KrjuSO0H1kTuZQCWlQPulDV6YMIXmpQss17rU= -github.com/quasilyte/go-ruleguard/rules v0.0.0-20201231183845-9e62ed36efe1/go.mod h1:7JTjp89EGyU1d6XfBiXihJNG37wB2VRkd125Q1u7Plc= -github.com/quasilyte/go-ruleguard/rules v0.0.0-20210203162857-b223e0831f88/go.mod h1:4cgAphtvu7Ftv7vOT2ZOYhC6CvBxZixcasr8qIOTA50= -github.com/quasilyte/regex/syntax v0.0.0-20200407221936-30656e2c4a95/go.mod h1:rlzQ04UMyJXu/aOvhd8qT+hvDrFpiwqp8MRXDY9szc0= github.com/rakyll/statik v0.1.7 h1:OF3QCZUuyPxuGEP7B4ypUa7sB/iHtqOTDYZXGM8KOdQ= github.com/rakyll/statik v0.1.7/go.mod h1:AlZONWzMtEnMs7W4e/1LURLiI49pIMmp6V9Unghqrcc= github.com/rcrowley/go-metrics v0.0.0-20181016184325-3113b8401b8a/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4= @@ -929,7 +769,6 @@ github.com/rjeczalik/notify v0.9.1/go.mod h1:rKwnCoCGeuQnwBtTSPL9Dad03Vh2n40ePRr github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6SoW27p1b0cqNHllgS5HIMJraePCO15w5zCzIWYg= github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ= github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= -github.com/rogpeppe/go-internal v1.6.2/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc= github.com/rs/cors v0.0.0-20160617231935-a62a804a8a00/go.mod h1:gFx+x8UowdsKA9AchylcLynDq+nNFfI8FkUZdN/jGCU= github.com/rs/cors v1.7.0 h1:+88SsELBHx5r+hZ8TCkggzSstaWNbDvThkVK8H6f9ik= github.com/rs/cors v1.7.0/go.mod h1:gFx+x8UowdsKA9AchylcLynDq+nNFfI8FkUZdN/jGCU= @@ -939,25 +778,16 @@ github.com/rs/zerolog v1.23.0 h1:UskrK+saS9P9Y789yNNulYKdARjPZuS35B8gJF2x60g= github.com/rs/zerolog v1.23.0/go.mod h1:6c7hFfxPOy7TacJc4Fcdi24/J0NKYGzjG8FWRI916Qo= github.com/russross/blackfriday v1.5.2/go.mod h1:JO/DiYxRf+HjHt06OyowR9PTA263kcR/rfWxYHBV53g= github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= -github.com/ryancurrah/gomodguard v1.2.3/go.mod h1:rYbA/4Tg5c54mV1sv4sQTP5WOPBcoLtnBZ7/TEhXAbg= -github.com/ryanrolds/sqlclosecheck v0.3.0/go.mod h1:1gREqxyTGR3lVtpngyFo3hZAgk0KCtEdgEkHwDbigdA= github.com/ryanuber/columnize v0.0.0-20160712163229-9b3edd62028f/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts= github.com/sagikazarmark/crypt v0.1.0/go.mod h1:B/mN0msZuINBtQ1zZLEQcegFJJf9vnYIR88KRMEuODE= github.com/samuel/go-zookeeper v0.0.0-20190923202752-2cc03de413da/go.mod h1:gi+0XIa01GRL2eRQVjQkKGqKF3SF9vZR/HnPullcV2E= -github.com/sanposhiho/wastedassign/v2 v2.0.6/go.mod h1:KyZ0MWTwxxBmfwn33zh3k1dmsbF2ud9pAAGfoLfjhtI= github.com/sasha-s/go-deadlock v0.2.0/go.mod h1:StQn567HiB1fF2yJ44N9au7wOhrPS3iZqiDbRupzT10= github.com/sasha-s/go-deadlock v0.2.1-0.20190427202633-1595213edefa h1:0U2s5loxrTy6/VgfVoLuVLFJcURKLH49ie0zSch7gh4= github.com/sasha-s/go-deadlock v0.2.1-0.20190427202633-1595213edefa/go.mod h1:F73l+cr82YSh10GxyRI6qZiCgK64VaZjwesgfQ1/iLM= github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529/go.mod h1:DxrIzT+xaE7yg65j358z/aeFdxmN0P9QXhEzd20vsDc= github.com/seccomp/libseccomp-golang v0.9.1/go.mod h1:GbW5+tmTXfcxTToHLXlScSlAvWlF4P2Ca7zGrPiEpWo= -github.com/securego/gosec/v2 v2.8.1/go.mod h1:pUmsq6+VyFEElJMUX+QB3p3LWNHXg1R3xh2ssVJPs8Q= github.com/segmentio/fasthash v1.0.3/go.mod h1:waKX8l2N8yckOgmSsXJi7x1ZfdKZ4x7KRMzBtS3oedY= -github.com/sergi/go-diff v1.1.0/go.mod h1:STckp+ISIX8hZLjrqAeVduY0gWCT9IjLuqbuNXdaHfM= -github.com/shazow/go-diff v0.0.0-20160112020656-b6b7b6733b8c/go.mod h1:/PevMnwAxekIXwN8qQyfc5gl2NlkB3CQlkizAbOkeBs= github.com/shirou/gopsutil v2.20.5+incompatible/go.mod h1:5b4v6he4MtMOwMlS0TUMTu2PcXUg8+E1lC7eC3UO/RA= -github.com/shirou/gopsutil/v3 v3.21.7/go.mod h1:RGl11Y7XMTQPmHh8F0ayC6haKNBgH4PXMJuTAcMOlz4= -github.com/shurcooL/go v0.0.0-20180423040247-9e1955d9fb6e/go.mod h1:TDJrrUr11Vxrven61rcy3hJMUqaf/CLWYhHNPmT14Lk= -github.com/shurcooL/go-goon v0.0.0-20170922171312-37c2f522c041/go.mod h1:N5mDOmsrJOB+vfqUK+7DmDyjhSLIIBnXo9lvZJj3MWQ= github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc= github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= github.com/sirupsen/logrus v1.4.1/go.mod h1:ni0Sbl8bgC9z8RoU9G6nDWqqs/fq4eDPysMBDgk/93Q= @@ -970,9 +800,7 @@ github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1 github.com/smartystreets/goconvey v1.6.4/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA= github.com/snikch/goodman v0.0.0-20171125024755-10e37e294daa/go.mod h1:oJyF+mSPHbB5mVY2iO9KV3pTt/QbIkGaO8gQ2WrDbP4= github.com/soheilhy/cmux v0.1.4/go.mod h1:IM3LyeVVIOuxMH7sFAkER9+bJ4dT7Ms6E4xg4kGIyLM= -github.com/sonatard/noctx v0.0.1/go.mod h1:9D2D/EoULe8Yy2joDHJj7bv3sZoq9AaSb8B4lqBjiZI= github.com/sony/gobreaker v0.4.1/go.mod h1:ZKptC7FHNvhBz7dN2LGjPVBz2sZJmc0/PkyDJOjmxWY= -github.com/sourcegraph/go-diff v0.6.1/go.mod h1:iBszgVvyxdc8SFZ7gm69go2KDdt3ag071iBaWPF6cjs= github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= github.com/spaolacci/murmur3 v1.1.0 h1:7c1g84S4BPRrfL5Xrdp6fOJ206sU9y293DDHaoy0bLI= github.com/spaolacci/murmur3 v1.1.0/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= @@ -1003,7 +831,6 @@ github.com/spf13/viper v1.7.1/go.mod h1:8WkrPz2fc9jxqZNCJI/76HCieCp4Q8HaLFoCha5q github.com/spf13/viper v1.8.1/go.mod h1:o0Pch8wJ9BVSWGQMbra6iw0oQ5oktSIBaujf1rJH9Ns= github.com/spf13/viper v1.9.0 h1:yR6EXjTp0y0cLN8OZg1CRZmOBdI88UcGkhgyJhu6nZk= github.com/spf13/viper v1.9.0/go.mod h1:+i6ajR7OX2XaiBkrcZJFK21htRk7eDeLg7+O6bhUPP4= -github.com/ssgreg/nlreturn/v2 v2.1.0/go.mod h1:E/iiPB78hV7Szg2YfRgyIrk1AD6JVMTRkkxBiELzh2I= github.com/status-im/keycard-go v0.0.0-20190316090335-8537d3370df4/go.mod h1:RZLeN1LMWmRsyYjvAu+I6Dm9QmlDaIIt+Y+4Kd7Tp+Q= github.com/steakknife/bloomfilter v0.0.0-20180922174646-6819c0d2a570/go.mod h1:8OR4w3TdeIHIh1g6EMY5p0gVNOovcWC+1vpc7naMuAw= github.com/steakknife/hamming v0.0.0-20180906055917-c99c65617cd3/go.mod h1:hpGUWaI9xL8pRQCTXQgocU38Qw1g0Us7n5PxxTwTCYU= @@ -1014,8 +841,6 @@ github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+ github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.2.0 h1:Hbg2NidpLE8veEBkEZTL3CvlkUIVzuU9jDplZO54c48= github.com/stretchr/objx v0.2.0/go.mod h1:qt09Ya8vawLte6SNmTgCsAVtYtaKzEcn8ATUoHMkEqE= -github.com/stretchr/testify v0.0.0-20170130113145-4d4bfba8f1d1/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= -github.com/stretchr/testify v1.1.4/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= @@ -1028,7 +853,6 @@ github.com/subosito/gotenv v1.2.0/go.mod h1:N0PQaV/YGNqwC0u51sEeR/aUtSLEXKX9iv69 github.com/syndtr/gocapability v0.0.0-20200815063812-42c35b437635/go.mod h1:hkRG7XYTFWNJGYcbNJQlaLq0fg1yr4J4t/NcTQtrfww= github.com/syndtr/goleveldb v1.0.1-0.20200815110645-5c35d600f0ca h1:Ld/zXl5t4+D69SiV4JoN7kkfvJdOWlPpfxrzxpLMoUk= github.com/syndtr/goleveldb v1.0.1-0.20200815110645-5c35d600f0ca/go.mod h1:u2MKkTVTVJWe5D1rCvame8WqhBd88EuIwODJZ1VHCPM= -github.com/tdakkota/asciicheck v0.0.0-20200416200610-e657995f937b/go.mod h1:yHp0ai0Z9gUljN3o0xMhYJnH/IcvkdTBOX2fmJ93JEM= github.com/tecbot/gorocksdb v0.0.0-20191217155057-f0fad39f321c h1:g+WoO5jjkqGAzHWCjJB1zZfXPIAaDpzXIEJ0eS6B5Ok= github.com/tecbot/gorocksdb v0.0.0-20191217155057-f0fad39f321c/go.mod h1:ahpPrc7HpcfEWDQRZEmnXMzHY03mLDYMCxeDzy46i+8= github.com/tendermint/btcd v0.1.1 h1:0VcxPfflS2zZ3RiOAHkBiFUcPvbtRj5O7zHmcJWHV7s= @@ -1047,20 +871,12 @@ github.com/tendermint/tm-db v0.6.2/go.mod h1:GYtQ67SUvATOcoY8/+x6ylk8Qo02BQyLrAs github.com/tendermint/tm-db v0.6.3/go.mod h1:lfA1dL9/Y/Y8wwyPp2NMLyn5P5Ptr/gvDFNWtrCWSf8= github.com/tendermint/tm-db v0.6.4 h1:3N2jlnYQkXNQclQwd/eKV/NzlqPlfK21cpRRIx80XXQ= github.com/tendermint/tm-db v0.6.4/go.mod h1:dptYhIpJ2M5kUuenLr+Yyf3zQOv1SgBZcl8/BmWlMBw= -github.com/tetafro/godot v1.4.9/go.mod h1:LR3CJpxDVGlYOWn3ZZg1PgNZdTUvzsZWu8xaEohUpn8= github.com/tidwall/gjson v1.6.7/go.mod h1:zeFuBCIqD4sN/gmqBzZ4j7Jd6UcA2Fc56x7QFsv+8fI= github.com/tidwall/match v1.0.3/go.mod h1:eRSPERbgtNPcGhD8UCthc6PmLEQXEWd3PRB5JTxsfmM= github.com/tidwall/pretty v1.0.2/go.mod h1:XNkn88O1ChpSDQmQeStsy+sBenx6DDtFZJxhVysOjyk= github.com/tidwall/sjson v1.1.4/go.mod h1:wXpKXu8CtDjKAZ+3DrKY5ROCorDFahq8l0tey/Lx1fg= -github.com/timakin/bodyclose v0.0.0-20200424151742-cb6215831a94/go.mod h1:Qimiffbc6q9tBWlVV6x0P9sat/ao1xEkREYPPj9hphk= -github.com/tklauser/go-sysconf v0.3.7/go.mod h1:JZIdXh4RmBvZDBZ41ld2bGxRV3n4daiiqA3skYhAoQ4= -github.com/tklauser/numcpus v0.2.3/go.mod h1:vpEPS/JC+oZGGQ/My/vJnNsvMDQL6PwOqt8dsCw5j+E= github.com/tmc/grpc-websocket-proxy v0.0.0-20170815181823-89b8d40f7ca8/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= github.com/tmc/grpc-websocket-proxy v0.0.0-20190109142713-0ad062ec5ee5/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= -github.com/tmc/grpc-websocket-proxy v0.0.0-20200427203606-3cfed13b9966/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= -github.com/tomarrell/wrapcheck/v2 v2.3.0/go.mod h1:aF5rnkdtqNWP/gC7vPUO5pKsB0Oac2FDTQP4F+dpZMU= -github.com/tomasen/realip v0.0.0-20180522021738-f0c99a92ddce/go.mod h1:o8v6yHRoik09Xen7gje4m9ERNah1d1PPsVq1VEx9vE4= -github.com/tommy-muehle/go-mnd/v2 v2.4.0/go.mod h1:WsUAkMJMYww6l/ufffCD3m+P7LEvr8TnZn9lwVDlgzw= github.com/tv42/httpunix v0.0.0-20150427012821-b75d8614f926/go.mod h1:9ESjWnEqriFuLhtthL60Sar/7RFoluCcXsuvEwTV5KM= github.com/tyler-smith/go-bip39 v1.0.1-0.20181017060643-dbb3b84ba2ef/go.mod h1:sJ5fKU0s6JVwZjjcUEX2zFOnvq0ASQ2K9Zr6cf67kNs= github.com/tyler-smith/go-bip39 v1.0.2/go.mod h1:sJ5fKU0s6JVwZjjcUEX2zFOnvq0ASQ2K9Zr6cf67kNs= @@ -1070,29 +886,16 @@ github.com/ugorji/go v1.1.7/go.mod h1:kZn38zHttfInRq0xu/PH0az30d+z6vm202qpg1oXVM github.com/ugorji/go/codec v0.0.0-20181204163529-d75b2dcb6bc8/go.mod h1:VFNgLljTbGfSG7qAOspJ7OScBnGdDN/yBr0sguwnwf0= github.com/ugorji/go/codec v1.1.7 h1:2SvQaVZ1ouYrrKKwoSk2pzd4A9evlKJb9oTL+OaLUSs= github.com/ugorji/go/codec v1.1.7/go.mod h1:Ax+UKWsSmolVDwsd+7N3ZtXu+yMGCf907BLYF3GoBXY= -github.com/ultraware/funlen v0.0.3/go.mod h1:Dp4UiAus7Wdb9KUZsYWZEWiRzGuM2kXM1lPbfaF6xhA= -github.com/ultraware/whitespace v0.0.4/go.mod h1:aVMh/gQve5Maj9hQ/hg+F75lr/X5A89uZnzAmWSineA= github.com/urfave/cli v1.20.0/go.mod h1:70zkFmudgCuE/ngEzBv17Jvp/497gISqfk5gWijbERA= github.com/urfave/cli v1.22.1/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0= -github.com/uudashr/gocognit v1.0.5/go.mod h1:wgYz0mitoKOTysqxTDMOUXg+Jb5SvtihkfmugIZYpEA= -github.com/valyala/bytebufferpool v1.0.0/go.mod h1:6bBcMArwyJ5K/AmCkWv1jt77kVWyCJ6HpOuEn7z0Csc= -github.com/valyala/fasthttp v1.16.0/go.mod h1:YOKImeEosDdBPnxc0gy7INqi3m1zK6A+xl6TwOBhHCA= -github.com/valyala/quicktemplate v1.6.3/go.mod h1:fwPzK2fHuYEODzJ9pkw0ipCPNHZ2tD5KW4lOuSdPKzY= -github.com/valyala/tcplisten v0.0.0-20161114210144-ceec8f93295a/go.mod h1:v3UYOV9WzVtRmSR+PDvWpU/qWl4Wa5LApYYX4ZtKbio= -github.com/viki-org/dnscache v0.0.0-20130720023526-c70c1f23c5d8/go.mod h1:dniwbG03GafCjFohMDmz6Zc6oCuiqgH6tGNyXTkHzXE= github.com/vishvananda/netlink v1.1.0/go.mod h1:cTgwzPIzzgDAYoQrMm0EdrjRUBkTqKYppBueQtXaqoE= github.com/vishvananda/netns v0.0.0-20191106174202-0a2b9b5464df/go.mod h1:JP3t17pCcGlemwknint6hfoeCVQrEMVwxRLRjXpq+BU= github.com/vmihailenco/msgpack/v5 v5.1.4/go.mod h1:C5gboKD0TJPqWDTVTtrQNfRbiBwHZGo8UTqP/9/XvLI= github.com/vmihailenco/tagparser v0.1.2/go.mod h1:OeAg3pn3UbLjkWt+rN9oFYB6u/cQgqMEUPoW2WPyhdI= github.com/wsddn/go-ecdh v0.0.0-20161211032359-48726bab9208/go.mod h1:IotVbo4F+mw0EzQ08zFqg7pK3FebNXpaMsRy2RT+Ees= github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2/go.mod h1:UETIi67q53MR2AWcXfiuqkDkRtnGDLqkBTpCHuJHxtU= -github.com/xo/terminfo v0.0.0-20210125001918-ca9a967f8778/go.mod h1:2MuV+tbUrU1zIOPMxZ5EncGwgmMJsa+9ucAQZXxsObs= github.com/xordataexchange/crypt v0.0.3-0.20170626215501-b2862e3d0a77/go.mod h1:aYKd//L2LvnjZzWKhF00oedf4jCCReLcmhLdhm1A27Q= github.com/ybbus/jsonrpc v2.1.2+incompatible/go.mod h1:XJrh1eMSzdIYFbM08flv0wp5G35eRniyeGut1z+LSiE= -github.com/yeya24/promlinter v0.1.0/go.mod h1:rs5vtZzeBHqqMwXqFScncpCF6u06lezhZepno9AB1Oc= -github.com/yudai/gojsondiff v1.0.0/go.mod h1:AY32+k2cwILAkW1fbgxQ5mUmMiZFgLIV+FBNExI05xg= -github.com/yudai/golcs v0.0.0-20170316035057-ecda9a501e82/go.mod h1:lgjkn3NuSvDfVJdfcVVdX+jpBxNmX4rDAzaS45IcYoM= -github.com/yudai/pp v2.0.1+incompatible/go.mod h1:PuxR/8QJ7cyCkFp/aUDS+JY727OFEZkTdatxwunjIkc= github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= @@ -1102,15 +905,12 @@ github.com/zondax/hid v0.9.0 h1:eiT3P6vNxAEVxXMw66eZUAAnU2zD33JBkfG/EnfAKl8= github.com/zondax/hid v0.9.0/go.mod h1:l5wttcP0jwtdLjqjMMWFVEE7d1zO0jvSPA9OPZxWpEM= go.etcd.io/bbolt v1.3.2/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= go.etcd.io/bbolt v1.3.3/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= -go.etcd.io/bbolt v1.3.4/go.mod h1:G5EMThwa9y8QZGBClrRx5EY+Yw9kAhnjy3bSjsnlVTQ= go.etcd.io/bbolt v1.3.5 h1:XAzx9gjCb0Rxj7EoqcClPD1d5ZBxZJk0jbuoPHenBt0= go.etcd.io/bbolt v1.3.5/go.mod h1:G5EMThwa9y8QZGBClrRx5EY+Yw9kAhnjy3bSjsnlVTQ= go.etcd.io/etcd v0.0.0-20191023171146-3cf2f69b5738/go.mod h1:dnLIgRNXwCJa5e+c6mIZCrds/GIG4ncV9HhK5PX7jPg= -go.etcd.io/etcd v0.0.0-20200513171258-e048e166ab9c/go.mod h1:xCI7ZzBfRuGgBXyXO6yfWfDmlWd35khcWpUa4L0xI/k= go.etcd.io/etcd/api/v3 v3.5.0/go.mod h1:cbVKeC6lCfl7j/8jBhAK6aIYO9XOjdptoxU/nLQcPvs= go.etcd.io/etcd/client/pkg/v3 v3.5.0/go.mod h1:IJHfcCEKxYu1Os13ZdwCwIUTUVGYTSAM3YSwc9/Ac1g= go.etcd.io/etcd/client/v2 v2.305.0/go.mod h1:h9puh54ZTgAKtEbut2oe9P4L/oqKCVB6xsXlzd7alYQ= -go.mozilla.org/mozlog v0.0.0-20170222151521-4bb13139d403/go.mod h1:jHoPAGnDrCy6kaI2tAze5Prf0Nr0w/oNkROt2lw3n3o= go.opencensus.io v0.20.1/go.mod h1:6WKK9ahsWS3RSO+PY9ZHZUfv2irvY6gN279GOPZjmmk= go.opencensus.io v0.20.2/go.mod h1:6WKK9ahsWS3RSO+PY9ZHZUfv2irvY6gN279GOPZjmmk= go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU= @@ -1127,14 +927,12 @@ go.uber.org/atomic v1.5.0/go.mod h1:sABNBOSYdrvTF6hTgEIbc7YasKWGhgEQZyfxyTvoXHQ= go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0= go.uber.org/multierr v1.3.0/go.mod h1:VgVr7evmIr6uPjLBxg28wmKNXyqE9akIJ5XnfpiKl+4= -go.uber.org/multierr v1.4.0/go.mod h1:VgVr7evmIr6uPjLBxg28wmKNXyqE9akIJ5XnfpiKl+4= go.uber.org/multierr v1.6.0/go.mod h1:cdWPpRnG4AhwMwsgIHip0KRBQjJy5kYEpYjJxpXp9iU= go.uber.org/tools v0.0.0-20190618225709-2cfd321de3ee/go.mod h1:vJERXedbb3MVM5f9Ejo0C68/HhF8uaILCdgjnY+goOA= go.uber.org/zap v1.10.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q= go.uber.org/zap v1.13.0/go.mod h1:zwrFLgMcdUuIBviXEYEH1YKNaOBnKXsx2IPda5bBwHM= go.uber.org/zap v1.17.0/go.mod h1:MXVU+bhUf/A7Xi2HNOnopQOrmycQ5Ih87HtOu4q5SSo= golang.org/x/crypto v0.0.0-20170930174604-9419663f5a44/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= -golang.org/x/crypto v0.0.0-20180501155221-613d6eafa307/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20181029021203-45a5f77698d3/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20181203042331-505ab145d0a9/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= @@ -1156,7 +954,6 @@ golang.org/x/crypto v0.0.0-20200728195943-123391ffb6de/go.mod h1:LzIPMQfyMNhhGPh golang.org/x/crypto v0.0.0-20200820211705-5c72a883971a/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20201016220609-9e8e0b390897/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20201117144127-c1f2f97bffc9/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I= -golang.org/x/crypto v0.0.0-20201221181555-eec23a3978ad/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I= golang.org/x/crypto v0.0.0-20210513164829-c07d793c2f9a/go.mod h1:P+XmwS30IXTQdn5tA2iutPOUgjI07+tq3H3K9MVA1s8= golang.org/x/crypto v0.0.0-20210817164053-32db794688a5 h1:HWj/xjIHfjYU5nVXpTM0s39J9CbLn7Cc5a7IC5rwsMQ= golang.org/x/crypto v0.0.0-20210817164053-32db794688a5/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= @@ -1237,7 +1034,6 @@ golang.org/x/net v0.0.0-20200506145744-7e3656a0809f/go.mod h1:qpuaurCH72eLCgpAm/ golang.org/x/net v0.0.0-20200513185701-a91f0712d120/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= golang.org/x/net v0.0.0-20200520004742-59133d7f0dd7/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= golang.org/x/net v0.0.0-20200520182314-0ba52f642ac2/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200602114024-627f9648deb9/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= golang.org/x/net v0.0.0-20200625001655-4c5254603344/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= golang.org/x/net v0.0.0-20200707034311-ab3426394381/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= golang.org/x/net v0.0.0-20200813134508-3edf25e44fcc/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= @@ -1277,7 +1073,6 @@ golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20190412183630-56d357773e84/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20200317015054-43a5402ce75a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -1310,7 +1105,6 @@ golang.org/x/sys v0.0.0-20190712062909-fae7ac547cb7/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20190726091711-fc99dfbffb4e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190826190057-c7b8b68b1456/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190904154756-749cb33beabd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190916202348-b4ddaad3f8a3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190922100055-0a153f010e69/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190924154521-2837fb4f24fe/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191001151750-bb3f8db39f24/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -1339,7 +1133,6 @@ golang.org/x/sys v0.0.0-20200511232937-7e40ca221e25/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20200515095857-1151b9dac4a9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200519105757-fe76b779f299/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200523222454-059865788121/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200602225109-6fdc65e7d980/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200615200032-f1bc736245b1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200625212154-ddb9806d33ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200803210538-64077c9b5642/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -1390,20 +1183,13 @@ golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2/go.mod h1:tRJNPiyCQ0inRvYxb golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/time v0.0.0-20200416051211-89c76fbcd5d1/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/tools v0.0.0-20180525024113-a5b4c53f6e8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20180828015842-6cd1fcedba52/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20190110163146-51295c7ec13a/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= -golang.org/x/tools v0.0.0-20190307163923-6a08e3108db3/go.mod h1:25r3+/G6/xytQM8iWZKq3Hn0kr0rgFKPUNVEL/dr3z4= golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/tools v0.0.0-20190311215038-5c2858a9cfe5/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20190312151545-0bb0c0a6e846/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20190312170243-e65039ee4138/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/tools v0.0.0-20190321232350-e250d351ecad/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/tools v0.0.0-20190322203728-c1a832b0ad89/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20190328211700-ab21143f2384/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20190425150028-36563e24a262/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= golang.org/x/tools v0.0.0-20190506145303-2d16b83fe98c/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= @@ -1413,27 +1199,21 @@ golang.org/x/tools v0.0.0-20190621195816-6e04913cbbac/go.mod h1:/rFqwRUd4F7ZHNgw golang.org/x/tools v0.0.0-20190628153133-6cdbf07be9d0/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= golang.org/x/tools v0.0.0-20190816200558-6889da9d5479/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20190907020128-2ca718005c18/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20190910044552-dd2b5c81c578/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20190911174233-4f2ddba30aff/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20190916130336-e45ffcd953cc/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191010075000-0337d82405ff/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191012152004-8de300cfc20a/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191029041327-9cc4af7d6b2c/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191029190741-b9c20aec41a5/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191108193012-7d206e10da11/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191112195655-aa38f8e97acc/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191113191852-77e3bb0ad9e7/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191115202509-3a792d9c32b2/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191125144606-a911d9008d1f/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191130070609-6e064ea0cf2d/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191216052735-49a3e744a425/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20191216173652-a0e659d51361/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20191227053925-7b8e75db28f4/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200103221440-774c71fcf114/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200117012304-6edc0a871e69/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200117161641-43d50277825c/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200117220505-0cba7a3a9ee9/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200122220014-bf1340f18c4a/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200130002326-2f3ba24bd6e7/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200204074204-1cc6d1ef6c74/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= @@ -1443,46 +1223,22 @@ golang.org/x/tools v0.0.0-20200224181240-023911ca70b2/go.mod h1:TB2adYChydJhpapK golang.org/x/tools v0.0.0-20200227222343-706bc42d1f0d/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200304193943-95d2e580d8eb/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw= golang.org/x/tools v0.0.0-20200312045724-11d5b4c81c7d/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw= -golang.org/x/tools v0.0.0-20200324003944-a576cf524670/go.mod h1:Sl4aGygMT6LrqrWclx+PTx3U+LnKx/seiNR+3G19Ar8= -golang.org/x/tools v0.0.0-20200329025819-fd4102a86c65/go.mod h1:Sl4aGygMT6LrqrWclx+PTx3U+LnKx/seiNR+3G19Ar8= golang.org/x/tools v0.0.0-20200331025713-a30bf2db82d4/go.mod h1:Sl4aGygMT6LrqrWclx+PTx3U+LnKx/seiNR+3G19Ar8= -golang.org/x/tools v0.0.0-20200414032229-332987a829c3/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200422022333-3d57cf2e726e/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200426102838-f3a5411a4c3b/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= golang.org/x/tools v0.0.0-20200501065659-ab2804fb9c9d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= golang.org/x/tools v0.0.0-20200512131952-2bc93b1c0c88/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= golang.org/x/tools v0.0.0-20200515010526-7d3b6ebf133d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= golang.org/x/tools v0.0.0-20200522201501-cb1345f3a375/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= golang.org/x/tools v0.0.0-20200618134242-20370b0cb4b2/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200622203043-20e05c1c8ffa/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200624225443-88f3c62a19ff/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200625211823-6506e20df31f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200626171337-aa94e735be7f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200630154851-b2d8b0336632/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200706234117-b22de6825cf7/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= golang.org/x/tools v0.0.0-20200717024301-6ddee64345a6/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= -golang.org/x/tools v0.0.0-20200724022722-7017fd6b1305/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= golang.org/x/tools v0.0.0-20200729194436-6467de6f59a7/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= golang.org/x/tools v0.0.0-20200804011535-6c149bb5ef0d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= -golang.org/x/tools v0.0.0-20200812195022-5ae4c3c160a0/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= -golang.org/x/tools v0.0.0-20200820010801-b793a1359eac/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= golang.org/x/tools v0.0.0-20200825202427-b303f430e36d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= -golang.org/x/tools v0.0.0-20200831203904-5a2aa26beb65/go.mod h1:Cj7w3i3Rnn0Xh82ur9kSqwfTHTeVxaDqrfMjpcNT6bE= golang.org/x/tools v0.0.0-20200904185747-39188db58858/go.mod h1:Cj7w3i3Rnn0Xh82ur9kSqwfTHTeVxaDqrfMjpcNT6bE= -golang.org/x/tools v0.0.0-20201001104356-43ebab892c4c/go.mod h1:z6u4i615ZeAfBE4XtMziQW1fSVJXACjjbWkB/mvPzlU= -golang.org/x/tools v0.0.0-20201002184944-ecd9fd270d5d/go.mod h1:z6u4i615ZeAfBE4XtMziQW1fSVJXACjjbWkB/mvPzlU= -golang.org/x/tools v0.0.0-20201023174141-c8cfbd0f21e6/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.0.0-20201028025901-8cd080b735b3/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20201110124207-079ba7bd75cd/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.0.0-20201114224030-61ea331ec02b/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.0.0-20201118003311-bd56c0adb394/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20201201161351-ac6f37ff4c2a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20201208233053-a543418bbed2/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20201224043029-2b0845dc783e/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.0.0-20201230224404-63754364767c/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.0.0-20210101214203-2dba1e4ea05c/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.0.0-20210104081019-d8d6ddbec6ee/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20210105154028-b0ab187a4818/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.1.0/go.mod h1:xkSsbof2nBLbhDlRMhhhyNLN/zl3eTqcnHD5viDpcZ0= @@ -1501,7 +1257,6 @@ google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEt google.golang.org/api v0.7.0/go.mod h1:WtwebWUNSVBH/HAw79HIFXZNqEvBhG+Ra+ax0hx3E3M= google.golang.org/api v0.8.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= google.golang.org/api v0.9.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= -google.golang.org/api v0.10.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= google.golang.org/api v0.13.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= google.golang.org/api v0.14.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= google.golang.org/api v0.15.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= @@ -1531,14 +1286,11 @@ google.golang.org/appengine v1.2.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7 google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= google.golang.org/appengine v1.6.1/go.mod h1:i06prIuMbXzDqacNJfV5OdTW448YApPu5ww/cMBSeb0= -google.golang.org/appengine v1.6.2/go.mod h1:i06prIuMbXzDqacNJfV5OdTW448YApPu5ww/cMBSeb0= google.golang.org/appengine v1.6.5/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= google.golang.org/appengine v1.6.6/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= google.golang.org/appengine v1.6.7/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= -google.golang.org/genproto v0.0.0-20170818010345-ee236bd376b0/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= google.golang.org/genproto v0.0.0-20180831171423-11092d34479b/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= -google.golang.org/genproto v0.0.0-20181107211654-5fc9ac540362/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= google.golang.org/genproto v0.0.0-20190307195333-5fe7a883aa19/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= google.golang.org/genproto v0.0.0-20190418145605-e7d98fc518a7/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= google.golang.org/genproto v0.0.0-20190425155659-357c62f0e4bb/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= @@ -1547,7 +1299,6 @@ google.golang.org/genproto v0.0.0-20190530194941-fb225487d101/go.mod h1:z3L6/3dT google.golang.org/genproto v0.0.0-20190801165951-fa694d86fc64/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= google.golang.org/genproto v0.0.0-20190911173649-1774047e7e51/go.mod h1:IbNlFCBrqXvoKpeg0TB2l7cyZUmoaFKYIwrEpbDKLA8= -google.golang.org/genproto v0.0.0-20190927181202-20e1ac93f88c/go.mod h1:IbNlFCBrqXvoKpeg0TB2l7cyZUmoaFKYIwrEpbDKLA8= google.golang.org/genproto v0.0.0-20191108220845-16a3f7862a1a/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= google.golang.org/genproto v0.0.0-20191115194625-c23dd37a84c9/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= google.golang.org/genproto v0.0.0-20191216164720-4f79533eabd1/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= @@ -1569,8 +1320,6 @@ google.golang.org/genproto v0.0.0-20200513103714-09dca8ec2884/go.mod h1:55QSHmfG google.golang.org/genproto v0.0.0-20200515170657-fc4c6c6a6587/go.mod h1:YsZOwe1myG/8QRHRsmBRE1LrgQY60beZKjly0O1fX9U= google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo= google.golang.org/genproto v0.0.0-20200618031413-b414f8b61790/go.mod h1:jDfRM7FcilCzHH/e9qn6dsT145K34l5v+OpcnNgKAAA= -google.golang.org/genproto v0.0.0-20200626011028-ee7919e894b5/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20200707001353-8e8330bf89df/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20200729003335-053ba62fc06f/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20200804131852-c06518451d9c/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20200825200019-8632dd797987/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= @@ -1600,7 +1349,6 @@ google.golang.org/genproto v0.0.0-20210813162853-db860fec028c/go.mod h1:cFeNkxwy google.golang.org/genproto v0.0.0-20210821163610-241b8fcbd6c8/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= google.golang.org/genproto v0.0.0-20210828152312-66f60bf46e71 h1:z+ErRPu0+KS02Td3fOAgdX+lnPDh/VyaABEJPD4JRQs= google.golang.org/genproto v0.0.0-20210828152312-66f60bf46e71/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= -google.golang.org/grpc v1.8.0/go.mod h1:yo6s7OP7yaDglbqo1J04qKzAhqBH6lvTonzMVmEdcZw= google.golang.org/grpc v1.17.0/go.mod h1:6QZJwpn2B+Zp71q/5VxRsJ6NXXVCE5NRUHRo+f3cWCs= google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= google.golang.org/grpc v1.19.1/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= @@ -1611,13 +1359,11 @@ google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ij google.golang.org/grpc v1.22.1/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= google.golang.org/grpc v1.23.1/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= -google.golang.org/grpc v1.24.0/go.mod h1:XDChyiUovWa60DnaeDeZmSW86xtLtjtZbwvSiRnRtcA= google.golang.org/grpc v1.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQciAY= google.golang.org/grpc v1.26.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= google.golang.org/grpc v1.27.1/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= google.golang.org/grpc v1.28.0/go.mod h1:rpkK4SK4GF4Ach/+MFLZUBavHOvF2JJB5uozKKal+60= -google.golang.org/grpc v1.29.0/go.mod h1:itym6AZVZYACWQqET3MqgPpjcuV5QH3BxFS3IjizoKk= google.golang.org/grpc v1.29.1/go.mod h1:itym6AZVZYACWQqET3MqgPpjcuV5QH3BxFS3IjizoKk= google.golang.org/grpc v1.30.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= google.golang.org/grpc v1.31.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= @@ -1635,8 +1381,8 @@ google.golang.org/grpc v1.38.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQ google.golang.org/grpc v1.39.0/go.mod h1:PImNr+rS9TWYb2O4/emRugxiyHZ5JyHW5F+RPnDzfrE= google.golang.org/grpc v1.39.1/go.mod h1:PImNr+rS9TWYb2O4/emRugxiyHZ5JyHW5F+RPnDzfrE= google.golang.org/grpc v1.40.0/go.mod h1:ogyxbiOoUXAkP+4+xa6PZSE9DZgIHtSpzjDTB9KAK34= -google.golang.org/grpc v1.41.0 h1:f+PlOh7QV4iIJkPrx5NQ7qaNGFQ3OTse67yaDHfju4E= -google.golang.org/grpc v1.41.0/go.mod h1:U3l9uK9J0sini8mHphKoXyaqDA/8VyGnDee1zzIUK6k= +google.golang.org/grpc v1.42.0 h1:XT2/MFpuPFsEX2fWh3YQtHkZ+WYZFQRfaUgLZYj/p6A= +google.golang.org/grpc v1.42.0/go.mod h1:k+4IHHFw41K8+bbowsex27ge2rCb65oeWqe4jJ590SU= google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.1.0/go.mod h1:6Kw0yEErY5E/yWrBtf03jp27GLLJujG4z/JK95pnjjw= google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= @@ -1661,7 +1407,6 @@ gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f/go.mod h1:Co6ibVJAznAaIkqp8 gopkg.in/check.v1 v1.0.0-20200902074654-038fdea0a05b h1:QRR6H1YWRnHb4Y/HeNFCTJLFVxaq6wH4YuVdsUOr75U= gopkg.in/check.v1 v1.0.0-20200902074654-038fdea0a05b/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/cheggaaa/pb.v1 v1.0.25/go.mod h1:V/YB90LKu/1FcN3WVnfiiE5oMCibMjukxqG/qStrOgw= -gopkg.in/cheggaaa/pb.v1 v1.0.28/go.mod h1:V/YB90LKu/1FcN3WVnfiiE5oMCibMjukxqG/qStrOgw= gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys= gopkg.in/gcfg.v1 v1.2.3/go.mod h1:yesOnuUOFQAhST5vPY4nbZsb/huCgGGXlipJsBn0b3o= @@ -1682,7 +1427,6 @@ gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.3/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.5/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.2.6/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= @@ -1699,11 +1443,6 @@ honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWh honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg= honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= -honnef.co/go/tools v0.2.1/go.mod h1:lPVVZ2BS5TfnjLyizF7o7hv7j9/L+8cZY2hLyjP9cGY= -mvdan.cc/gofumpt v0.1.1/go.mod h1:yXG1r1WqZVKWbVRtBWKWX9+CxGYfA51nSomhM0woR48= -mvdan.cc/interfacer v0.0.0-20180901003855-c20040233aed/go.mod h1:Xkxe497xwlCKkIaQYRfC7CSLworTXY9RMqwhhCm+8Nc= -mvdan.cc/lint v0.0.0-20170908181259-adc824a0674b/go.mod h1:2odslEg/xrtNQqCYg2/jCoyKnw3vv5biOc3JnIcYfL4= -mvdan.cc/unparam v0.0.0-20210104141923-aac4ce9116a7/go.mod h1:hBpJkZE8H/sb+VRFvw2+rBpHNsTBcvSpk61hr8mzXZE= nhooyr.io/websocket v1.8.6 h1:s+C3xAMLwGmlI31Nyn/eAehUlZPwfYZu2JXM621Q5/k= nhooyr.io/websocket v1.8.6/go.mod h1:B70DZP8IakI65RVQ51MsWP/8jndNma26DVA/nFSCgW0= rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8= From 823ef675bbf38a48faa3ba670fb6b8228d58b9fd Mon Sep 17 00:00:00 2001 From: Carlos Rodriguez Date: Tue, 9 Nov 2021 14:21:36 +0100 Subject: [PATCH 050/107] update changelog (#532) Co-authored-by: Carlos Rodriguez --- CHANGELOG.md | 42 ++++++++++++++++++++++++++++++++---------- 1 file changed, 32 insertions(+), 10 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index d6404665f4f..6cba9a60da0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -38,13 +38,10 @@ Ref: https://keepachangelog.com/en/1.0.0/ ### Dependencies -* [\#503](https://github.com/cosmos/ibc-go/pull/503) Bump SDK version to v0.44.3 * [\#404](https://github.com/cosmos/ibc-go/pull/404) Bump Go version to 1.17 ### API Breaking - -* (core) [\#227](https://github.com/cosmos/ibc-go/pull/227) Remove sdk.Result from application callbacks -* (transfer) [\#350](https://github.com/cosmos/ibc-go/pull/350) Change FungibleTokenPacketData to use a string for the Amount field. This enables token transfers with amounts previously restricted by uint64. Up to the maximum uint256 value is supported. + * (transfer) [\#517](https://github.com/cosmos/ibc-go/pull/517) Separates the ICS 26 callback functions from `AppModule` into a new type `IBCModule` for ICS 20 transfer. ### State Machine Breaking @@ -56,17 +53,37 @@ Ref: https://keepachangelog.com/en/1.0.0/ ### Features -* [\#384](https://github.com/cosmos/ibc-go/pull/384) Added `NegotiateAppVersion` method to `IBCModule` interface supported by a gRPC query service in `05-port`. This provides routing of requests to the desired application module callback, which in turn performs application version negotiation. * [\#432](https://github.com/cosmos/ibc-go/pull/432) Introduce `MockIBCApp` struct to the mock module. Allows the mock module to be reused to perform custom logic on each IBC App interface function. This might be useful when testing out IBC applications written as middleware. ### Bug Fixes * (02-client) [\#500](https://github.com/cosmos/ibc-go/pull/500) Fix IBC `update-client proposal` cli command to expect correct number of args. -## [v1.2.2](https://github.com/cosmos/ibc-go/releases/tag/v1.2.2) - 2021-10-15 +## [v2.0.0](https://github.com/cosmos/ibc-go/releases/tag/v2.0.0) - 2021-11-09 + +### Dependencies + +* [\#489](https://github.com/cosmos/ibc-go/pull/489) Bump Tendermint to v0.34.14 +* [\#503](https://github.com/cosmos/ibc-go/pull/503) Bump SDK version to v0.44.3 + +### API Breaking + +* (core) [\#227](https://github.com/cosmos/ibc-go/pull/227) Remove sdk.Result from application callbacks +* (transfer) [\#350](https://github.com/cosmos/ibc-go/pull/350) Change FungibleTokenPacketData to use a string for the Amount field. This enables token transfers with amounts previously restricted by uint64. Up to the maximum uint256 value is supported. + +### Features + +* [\#384](https://github.com/cosmos/ibc-go/pull/384) Added `NegotiateAppVersion` method to `IBCModule` interface supported by a gRPC query service in `05-port`. This provides routing of requests to the desired application module callback, which in turn performs application version negotiation. + +## [v1.2.3](https://github.com/cosmos/ibc-go/releases/tag/v1.2.3) - 2021-11-09 ### Dependencies +* [\#489](https://github.com/cosmos/ibc-go/pull/489) Bump Tendermint to v0.34.14 +* [\#503](https://github.com/cosmos/ibc-go/pull/503) Bump SDK version to v0.44.3 + +## [v1.2.2](https://github.com/cosmos/ibc-go/releases/tag/v1.2.2) - 2021-10-15 + * [\#485](https://github.com/cosmos/ibc-go/pull/485) Bump SDK version to v0.44.2 ## [v1.2.1](https://github.com/cosmos/ibc-go/releases/tag/v1.2.1) - 2021-10-04 @@ -91,14 +108,19 @@ Ref: https://keepachangelog.com/en/1.0.0/ ### Dependencies -* [\#386](https://github.com/cosmos/ibc-go/pull/386) Bump [tendermint](https://github.com/tendermint/tendermint) from 0.34.12 to 0.34.13. +* [\#386](https://github.com/cosmos/ibc-go/pull/386) Bump [tendermint](https://github.com/tendermint/tendermint) from v0.34.12 to v0.34.13. -## [v1.1.2](https://github.com/cosmos/ibc-go/releases/tag/v1.1.2) - 2021-10-15 +## [v1.1.3](https://github.com/cosmos/ibc-go/releases/tag/v1.1.3) - 2021-11-09 ### Dependencies -* [\#485](https://github.com/cosmos/ibc-go/pull/485) Bump SDK version to v0.44.2 +* [\#489](https://github.com/cosmos/ibc-go/pull/489) Bump Tendermint to v0.34.14 +* [\#503](https://github.com/cosmos/ibc-go/pull/503) Bump SDK version to v0.44.3 +## [v1.1.2](https://github.com/cosmos/ibc-go/releases/tag/v1.1.2) - 2021-10-15 + +* [\#485](https://github.com/cosmos/ibc-go/pull/485) Bump SDK version to v0.44.2 + ## [v1.1.1](https://github.com/cosmos/ibc-go/releases/tag/v1.1.1) - 2021-10-04 ### Dependencies @@ -190,4 +212,4 @@ Please see the Release Notes for [v0.41.x](https://github.com/cosmos/cosmos-sdk/ The IBC module was removed in the commit hash [da064e13d56add466548135739c5860a9f7ed842](https://github.com/cosmos/cosmos-sdk/commit/da064e13d56add466548135739c5860a9f7ed842) on the SDK. The release for SDK v0.43.0 will be the first release without the IBC module. -Backports should be made to the [release/v0.42.x](https://github.com/cosmos/cosmos-sdk/tree/release/v0.42.x) branch on the SDK. +Backports should be made to the [release/v0.42.x](https://github.com/cosmos/cosmos-sdk/tree/release/v0.42.x) branch on the SDK. \ No newline at end of file From e437be666e02dd7d85b45f215ef034860147bee6 Mon Sep 17 00:00:00 2001 From: Barrie Byron Date: Wed, 17 Nov 2021 08:07:46 -0500 Subject: [PATCH 051/107] docs: apply IBC capitalization standards and add simple desc (#543) add a brief IBC description that first-time readers will embrace " IBC is a protocol that allows blockchains to talk to each other." --- docs/README.md | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/docs/README.md b/docs/README.md index d6c92a8a173..b1c4855520f 100644 --- a/docs/README.md +++ b/docs/README.md @@ -8,8 +8,11 @@ footer: Welcome to the IBC-Go documentation! -The inter-blockchain communication protocol (IBC) is an end-to-end, connection-oriented, stateful protocol for reliable, ordered, and authenticated communication between heterogeneous blockchains arranged in an unknown and dynamic topology. -The protocol realises this by specifying a set of data structures, abstractions, and semantics that can be implemented by any distributed ledger provided they satisfy a small set of requirements. +The Inter-Blockchain Communication protocol (IBC) is an end-to-end, connection-oriented, stateful protocol for reliable, ordered, and authenticated communication between heterogeneous blockchains arranged in an unknown and dynamic topology. -IBC can be used to build a wide range of cross-chain applications, which include token transfers, atomic swaps, multi-chain smart contracts (with or without mutually comprehensible VMs), and data & code sharding of various kinds. +IBC is a protocol that allows blockchains to talk to each other. + +The protocol realizes this interoperability by specifying a set of data structures, abstractions, and semantics that can be implemented by any distributed ledger that satisfies a small set of requirements. + +IBC can be used to build a wide range of cross-chain applications that include token transfers, atomic swaps, multi-chain smart contracts (with or without mutually comprehensible VMs), and data and code sharding of various kinds. From 147d9859f56f079edf96f4d7eea4c1261129bcf2 Mon Sep 17 00:00:00 2001 From: Tyler <48813565+technicallyty@users.noreply.github.com> Date: Thu, 18 Nov 2021 02:57:46 -0800 Subject: [PATCH 052/107] refactor: GetSelfConsensusState return error instead of bool (#536) * refactor: return error instead of bool from GetSelfConsensusState * fix: tests and interface signature * chore: error wording * chore: apply changes from review * chore: nit+changelog Co-authored-by: technicallyty <48813565+tytech3@users.noreply.github.com> --- CHANGELOG.md | 1 + modules/core/02-client/keeper/keeper.go | 10 +++++----- modules/core/02-client/keeper/keeper_test.go | 6 +++--- modules/core/03-connection/keeper/handshake.go | 12 ++++++------ modules/core/03-connection/keeper/verify_test.go | 6 +++--- modules/core/03-connection/types/expected_keepers.go | 2 +- 6 files changed, 19 insertions(+), 18 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 6cba9a60da0..054abb5db9c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -43,6 +43,7 @@ Ref: https://keepachangelog.com/en/1.0.0/ ### API Breaking * (transfer) [\#517](https://github.com/cosmos/ibc-go/pull/517) Separates the ICS 26 callback functions from `AppModule` into a new type `IBCModule` for ICS 20 transfer. +* (modules/core/02-client) [\#536](https://github.com/cosmos/ibc-go/pull/536) GetSelfConsensusState return type changed from bool to error. ### State Machine Breaking diff --git a/modules/core/02-client/keeper/keeper.go b/modules/core/02-client/keeper/keeper.go index 12d360e4053..18766130304 100644 --- a/modules/core/02-client/keeper/keeper.go +++ b/modules/core/02-client/keeper/keeper.go @@ -241,19 +241,19 @@ func (k Keeper) GetLatestClientConsensusState(ctx sdk.Context, clientID string) // GetSelfConsensusState introspects the (self) past historical info at a given height // and returns the expected consensus state at that height. // For now, can only retrieve self consensus states for the current revision -func (k Keeper) GetSelfConsensusState(ctx sdk.Context, height exported.Height) (exported.ConsensusState, bool) { +func (k Keeper) GetSelfConsensusState(ctx sdk.Context, height exported.Height) (exported.ConsensusState, error) { selfHeight, ok := height.(types.Height) if !ok { - return nil, false + return nil, sdkerrors.Wrapf(sdkerrors.ErrInvalidType, "expected %T, got %T", types.Height{}, height) } // check that height revision matches chainID revision revision := types.ParseChainID(ctx.ChainID()) if revision != height.GetRevisionNumber() { - return nil, false + return nil, sdkerrors.Wrapf(types.ErrInvalidHeight, "chainID revision number does not match height revision number: expected %d, got %d", revision, height.GetRevisionNumber()) } histInfo, found := k.stakingKeeper.GetHistoricalInfo(ctx, int64(selfHeight.RevisionHeight)) if !found { - return nil, false + return nil, sdkerrors.Wrapf(sdkerrors.ErrNotFound, "no historical info found at height %d", selfHeight.RevisionHeight) } consensusState := &ibctmtypes.ConsensusState{ @@ -261,7 +261,7 @@ func (k Keeper) GetSelfConsensusState(ctx sdk.Context, height exported.Height) ( Root: commitmenttypes.NewMerkleRoot(histInfo.Header.GetAppHash()), NextValidatorsHash: histInfo.Header.NextValidatorsHash, } - return consensusState, true + return consensusState, nil } // ValidateSelfClient validates the client parameters for a client of the running chain diff --git a/modules/core/02-client/keeper/keeper_test.go b/modules/core/02-client/keeper/keeper_test.go index 54df1c15013..b3520dbe996 100644 --- a/modules/core/02-client/keeper/keeper_test.go +++ b/modules/core/02-client/keeper/keeper_test.go @@ -306,12 +306,12 @@ func (suite KeeperTestSuite) TestGetConsensusState() { for i, tc := range cases { tc := tc - cs, found := suite.keeper.GetSelfConsensusState(suite.ctx, tc.height) + cs, err := suite.keeper.GetSelfConsensusState(suite.ctx, tc.height) if tc.expPass { - suite.Require().True(found, "Case %d should have passed: %s", i, tc.name) + suite.Require().NoError(err, "Case %d should have passed: %s", i, tc.name) suite.Require().NotNil(cs, "Case %d should have passed: %s", i, tc.name) } else { - suite.Require().False(found, "Case %d should have failed: %s", i, tc.name) + suite.Require().Error(err, "Case %d should have failed: %s", i, tc.name) suite.Require().Nil(cs, "Case %d should have failed: %s", i, tc.name) } } diff --git a/modules/core/03-connection/keeper/handshake.go b/modules/core/03-connection/keeper/handshake.go index e3a8ac242f7..1dab8821ae5 100644 --- a/modules/core/03-connection/keeper/handshake.go +++ b/modules/core/03-connection/keeper/handshake.go @@ -125,9 +125,9 @@ func (k Keeper) ConnOpenTry( return "", err } - expectedConsensusState, found := k.clientKeeper.GetSelfConsensusState(ctx, consensusHeight) - if !found { - return "", sdkerrors.Wrap(clienttypes.ErrSelfConsensusStateNotFound, consensusHeight.String()) + expectedConsensusState, err := k.clientKeeper.GetSelfConsensusState(ctx, consensusHeight) + if err != nil { + return "", sdkerrors.Wrapf(err, "self consensus state not found for height %s", consensusHeight.String()) } // expectedConnection defines Chain A's ConnectionEnd @@ -250,9 +250,9 @@ func (k Keeper) ConnOpenAck( } // Retrieve chainA's consensus state at consensusheight - expectedConsensusState, found := k.clientKeeper.GetSelfConsensusState(ctx, consensusHeight) - if !found { - return clienttypes.ErrSelfConsensusStateNotFound + expectedConsensusState, err := k.clientKeeper.GetSelfConsensusState(ctx, consensusHeight) + if err != nil { + return sdkerrors.Wrapf(err, "self consensus state not found for height %s", consensusHeight.String()) } prefix := k.GetCommitmentPrefix() diff --git a/modules/core/03-connection/keeper/verify_test.go b/modules/core/03-connection/keeper/verify_test.go index 6ef0cc78dca..b3fb7d49c0f 100644 --- a/modules/core/03-connection/keeper/verify_test.go +++ b/modules/core/03-connection/keeper/verify_test.go @@ -139,10 +139,10 @@ func (suite *KeeperTestSuite) TestVerifyClientConsensusState() { proof, consensusHeight := suite.chainB.QueryConsensusStateProof(path.EndpointB.ClientID) proofHeight := clienttypes.NewHeight(0, uint64(suite.chainB.GetContext().BlockHeight()-1)) - consensusState, found := suite.chainA.App.GetIBCKeeper().ClientKeeper.GetSelfConsensusState(suite.chainA.GetContext(), consensusHeight) - suite.Require().True(found) + consensusState, err := suite.chainA.App.GetIBCKeeper().ClientKeeper.GetSelfConsensusState(suite.chainA.GetContext(), consensusHeight) + suite.Require().NoError(err) - err := suite.chainA.App.GetIBCKeeper().ConnectionKeeper.VerifyClientConsensusState( + err = suite.chainA.App.GetIBCKeeper().ConnectionKeeper.VerifyClientConsensusState( suite.chainA.GetContext(), connection, malleateHeight(proofHeight, heightDiff), consensusHeight, proof, consensusState, ) diff --git a/modules/core/03-connection/types/expected_keepers.go b/modules/core/03-connection/types/expected_keepers.go index e378adbed2a..a7627c531f7 100644 --- a/modules/core/03-connection/types/expected_keepers.go +++ b/modules/core/03-connection/types/expected_keepers.go @@ -9,7 +9,7 @@ import ( type ClientKeeper interface { GetClientState(ctx sdk.Context, clientID string) (exported.ClientState, bool) GetClientConsensusState(ctx sdk.Context, clientID string, height exported.Height) (exported.ConsensusState, bool) - GetSelfConsensusState(ctx sdk.Context, height exported.Height) (exported.ConsensusState, bool) + GetSelfConsensusState(ctx sdk.Context, height exported.Height) (exported.ConsensusState, error) ValidateSelfClient(ctx sdk.Context, clientState exported.ClientState) error IterateClients(ctx sdk.Context, cb func(string, exported.ClientState) bool) ClientStore(ctx sdk.Context, clientID string) sdk.KVStore From 9477b1656c393d27c7a0714558779eebb0ee3334 Mon Sep 17 00:00:00 2001 From: Barrie Byron Date: Mon, 22 Nov 2021 04:30:59 -0500 Subject: [PATCH 053/107] docs: editorial love for IBC overview (#544) * docs: editorial love for IBC overview Apply technical style standards, present tense, fix typos, and use consistent IBC language * Apply suggestions from code review Co-authored-by: Aditya * Apply suggestions from code review thanks for detailed review and feedback! Co-authored-by: Aditya * add punctuation to end of list items * ran spell check and found a few more grammar fixes * more clarity, some content restructure, needs more editorial love * Update docs/ibc/overview.md Co-authored-by: Aditya Co-authored-by: Aditya Co-authored-by: Barrie Byron --- docs/ibc/overview.md | 217 +++++++++++++++++++++++++------------------ 1 file changed, 126 insertions(+), 91 deletions(-) diff --git a/docs/ibc/overview.md b/docs/ibc/overview.md index 07a7cce560f..563a56167ad 100644 --- a/docs/ibc/overview.md +++ b/docs/ibc/overview.md @@ -6,112 +6,127 @@ parent: # Overview -Learn what IBC is, its components and use cases. {synopsis} +Learn about IBC, its components, and IBC use cases. {synopsis} ## What is the Interblockchain Communication Protocol (IBC)? -This document serves as a guide for developers who want to write their own Inter-blockchain -Communication Protocol (IBC) applications for custom use cases. +This document serves as a guide for developers who want to write their own Inter-Blockchain +Communication protocol (IBC) applications for custom use cases. + +> IBC applications must be written as self-contained modules. Due to the modular design of the IBC protocol, IBC -application developers do not need to concern themselves with the low-level details of clients, -connections, and proof verification. Nevertheless a brief explanation of the lower levels of the -stack is given so that application developers may have a high-level understanding of the IBC -protocol. Then the document goes into detail on the abstraction layer most relevant for application -developers (channels and ports), and describes how to define your own custom packets, and -`IBCModule` callbacks. - -To have your module interact over IBC you must: bind to a port(s), define your own packet data (and -optionally acknowledgement) structs as well as how to encode/decode them, and implement the -`IBCModule` interface. Below is a more detailed explanation of how to write an IBC application -module correctly. +application developers do not need to be concerned with the low-level details of clients, +connections, and proof verification. + +This brief explanation of the lower levels of the +stack gives application developers a broad understanding of the IBC +protocol. Abstraction layer details for channels and ports are most relevant for application developers and describe how to define custom packets and `IBCModule` callbacks. + +The requirements to have your module interact over IBC are: + +- Bind to a port or ports. +- Define your packet data. +- Use the default acknowledgment struct provided by core IBC or optionally define a custom acknowledgment struct. +- Standardize an encoding of the packet data. +- Implement the `IBCModule` interface. + +Read on for a detailed explanation of how to write a self-contained IBC application module. ## Components Overview ### [Clients](https://github.com/cosmos/ibc-go/blob/main/modules/core/02-client) -IBC Clients are light clients (identified by a unique client-id) that track the consensus states of +IBC clients are light clients that are identified by a unique client-id. IBC clients track the consensus states of other blockchains, along with the proof spec necessary to properly verify proofs against the -client's consensus state. A client may be associated with any number of connections to the counterparty -chain. The supported IBC clients are: +client's consensus state. A client can be associated with any number of connections to the counterparty +chain. -* [Solo Machine light client](https://github.com/cosmos/ibc-go/blob/main/modules/light-clients/06-solomachine): devices such as phones, browsers, or laptops. -* [Tendermint light client](https://github.com/cosmos/ibc-go/blob/main/modules/light-clients/07-tendermint): The default for SDK-based chains, +The supported IBC clients are: + +* [Solo Machine light client](https://github.com/cosmos/ibc-go/blob/main/modules/light-clients/06-solomachine): Devices such as phones, browsers, or laptops. +* [Tendermint light client](https://github.com/cosmos/ibc-go/blob/main/modules/light-clients/07-tendermint): The default for Cosmos SDK-based chains. * [Localhost (loopback) client](https://github.com/cosmos/ibc-go/blob/main/modules/light-clients/09-localhost): Useful for -testing, simulation and relaying packets to modules on the same application. +testing, simulation, and relaying packets to modules on the same application. ### [Connections](https://github.com/cosmos/ibc-go/blob/main/modules/core/03-connection) -Connections encapsulate two `ConnectionEnd` objects on two seperate blockchains. Each -`ConnectionEnd` is associated with a client of the other blockchain (ie counterparty blockchain). +Connections encapsulate two `ConnectionEnd` objects on two separate blockchains. Each +`ConnectionEnd` is associated with a client of the other blockchain (for example, the counterparty blockchain). The connection handshake is responsible for verifying that the light clients on each chain are correct for their respective counterparties. Connections, once established, are responsible for -facilitation all cross-chain verification of IBC state. A connection may be associated with any +facilitating all cross-chain verifications of IBC state. A connection can be associated with any number of channels. ### [Proofs](https://github.com/cosmos/ibc-go/blob/main/modules/core/23-commitment) and [Paths](https://github.com/cosmos/ibc-go/blob/main/modules/core/24-host) In IBC, blockchains do not directly pass messages to each other over the network. Instead, to -communicate, a blockchain will commit some state to a specifically defined path reserved for a -specific message type and a specific counterparty (perhaps storing a specific connectionEnd as part -of a handshake, or a packet intended to be relayed to a module on the counterparty chain). A relayer -process monitors for updates to these paths, and will relay messages, by submitting the data stored -under the path along with a proof to the counterparty chain. The paths that all IBC implementations -must use for committing IBC messages is defined in -[ICS-24](https://github.com/cosmos/ics/tree/master/spec/core/ics-024-host-requirements) and the proof -format that all implementations must be able to produce and verify is defined in this [ICS-23 implementation](https://github.com/confio/ics23). +communicate, a blockchain commits some state to a specifically defined path that is reserved for a +specific message type and a specific counterparty. For example, for storing a specific connectionEnd as part +of a handshake or a packet intended to be relayed to a module on the counterparty chain. A relayer +process monitors for updates to these paths and relays messages by submitting the data stored +under the path and a proof to the counterparty chain. + +- The paths that all IBC implementations must use for committing IBC messages is defined in +[ICS-24 Host State Machine Requirements](https://github.com/cosmos/ics/tree/master/spec/core/ics-024-host-requirements). +- The proof format that all implementations must be able to produce and verify is defined in [ICS-23 Proofs](https://github.com/confio/ics23) implementation. ### [Capabilities](https://github.com/cosmos/cosmos-sdk/blob/master/docs/core/ocap.md) -IBC is intended to work in execution environements where modules do not necessarily trust each -other. Thus IBC must authenticate module actions on ports and channels so that only modules with the -appropriate permissions can use them. This is accomplished using [dynamic -capabilities](https://github.com/cosmos/cosmos-sdk/blob/master/docs/architecture/adr-003-dynamic-capability-store.md). Upon binding to a port or -creating a channel for a module, IBC will return a dynamic capability that the module must claim in -order to use that port or channel. This prevents other modules from using that port or channel since -they will not own the appropriate capability. +IBC is intended to work in execution environments where modules do not necessarily trust each +other. Thus, IBC must authenticate module actions on ports and channels so that only modules with the +appropriate permissions can use them. + +This module authentication is accomplished using a [dynamic +capability store](https://github.com/cosmos/cosmos-sdk/blob/master/docs/architecture/adr-003-dynamic-capability-store.md). Upon binding to a port or +creating a channel for a module, IBC returns a dynamic capability that the module must claim in +order to use that port or channel. The dynamic capability module prevents other modules from using that port or channel since +they do not own the appropriate capability. -While the above is useful background information, IBC modules do not need to interact at all with +While this background information is useful, IBC modules do not need to interact at all with these lower-level abstractions. The relevant abstraction layer for IBC application developers is -that of channels and ports. IBC applications should be written as self-contained **modules**. A -module on one blockchain can thus communicate with other modules on other blockchains by sending, -receiving and acknowledging packets through channels, which are uniquely identified by the -`(channelID, portID)` tuple. A useful analogy is to consider IBC modules as internet applications on +that of channels and ports. IBC applications must be written as self-contained **modules**. + +A module on one blockchain can communicate with other modules on other blockchains by sending, +receiving, and acknowledging packets through channels that are uniquely identified by the +`(channelID, portID)` tuple. + +A useful analogy is to consider IBC modules as internet applications on a computer. A channel can then be conceptualized as an IP connection, with the IBC portID being -analogous to a IP port and the IBC channelID being analogous to an IP address. Thus, a single -instance of an IBC module may communicate on the same port with any number of other modules and and -IBC will correctly route all packets to the relevant module using the (channelID, portID tuple). An -IBC module may also communicate with another IBC module over multiple ports, with each +analogous to an IP port and the IBC channelID being analogous to an IP address. Thus, a single +instance of an IBC module can communicate on the same port with any number of other modules and +IBC correctly routes all packets to the relevant module using the (channelID, portID tuple). An +IBC module can also communicate with another IBC module over multiple ports, with each `(portID<->portID)` packet stream being sent on a different unique channel. ### [Ports](https://github.com/cosmos/ibc-go/blob/main/modules/core/05-port) -An IBC module may bind to any number of ports. Each port must be identified by a unique `portID`. -Since IBC is designed to be secure with mutually-distrusted modules operating on the same ledger, -binding a port will return a dynamic object capability. In order to take action on a particular port -(eg open a channel with its portID), a module must provide the dynamic object capability to the IBC -handler. This prevents a malicious module from opening channels with ports it does not own. Thus, +An IBC module can bind to any number of ports. Each port must be identified by a unique `portID`. +Since IBC is designed to be secure with mutually distrusted modules operating on the same ledger, +binding a port returns a dynamic object capability. In order to take action on a particular port +(for example, an open channel with its portID), a module must provide the dynamic object capability to the IBC +handler. This requirement prevents a malicious module from opening channels with ports it does not own. Thus, IBC modules are responsible for claiming the capability that is returned on `BindPort`. ### [Channels](https://github.com/cosmos/ibc-go/blob/main/modules/core/04-channel) -An IBC channel can be established between 2 IBC ports. Currently, a port is exclusively owned by a +An IBC channel can be established between two IBC ports. Currently, a port is exclusively owned by a single module. IBC packets are sent over channels. Just as IP packets contain the destination IP -address and IP port as well as the source IP address and source IP port, IBC packets will contain -the destination portID and channelID as well as the source portID and channelID. This enables IBC to -correctly route packets to the destination module, while also allowing modules receiving packets to +address and IP port, and the source IP address and source IP port, IBC packets contain +the destination portID and channelID, and the source portID and channelID. This packet structure enables IBC to +correctly route packets to the destination module while allowing modules receiving packets to know the sender module. -A channel may be `ORDERED`, in which case, packets from a sending module must be processed by the -receiving module in the order they were sent. Or a channel may be `UNORDERED`, in which case packets -from a sending module are processed in the order they arrive (may not be the order they were sent). +A channel can be `ORDERED`, where packets from a sending module must be processed by the +receiving module in the order they were sent. Or a channel can be `UNORDERED`, where packets +from a sending module are processed in the order they arrive (might be in a different order than they were sent). -Modules may choose which channels they wish to communicate over with, thus IBC expects modules to -implement callbacks that are called during the channel handshake. These callbacks may do custom -channel initialization logic, if any return an error, the channel handshake will fail. Thus, by -returning errors on callbacks, modules can programatically reject and accept channels. +Modules can choose which channels they wish to communicate over with, thus IBC expects modules to +implement callbacks that are called during the channel handshake. These callbacks can do custom +channel initialization logic. If any callback returns an error, the channel handshake fails. Thus, by +returning errors on callbacks, modules can programmatically reject and accept channels. -The channel handshake is a 4 step handshake. Briefly, if a given chain A wants to open a channel with +The channel handshake is a 4-step handshake. Briefly, if a given chain A wants to open a channel with chain B using an already established connection: 1. chain A sends a `ChanOpenInit` message to signal a channel initialization attempt with chain B. @@ -119,57 +134,77 @@ chain B using an already established connection: 3. chain A sends a `ChanOpenAck` message to mark its channel end status as open. 4. chain B sends a `ChanOpenConfirm` message to mark its channel end status as open. -If all this happens successfully, the channel will be open on both sides. At each step in the handshake, the module -associated with the `ChannelEnd` will have it's callback executed for that step of the handshake. So -on `ChanOpenInit`, the module on chain A will have its callback `OnChanOpenInit` executed. +If all handshake steps are successful, the channel is opened on both sides. At each step in the handshake, the module +associated with the `ChannelEnd` executes its callback. So +on `ChanOpenInit`, the module on chain A executes its callback `OnChanOpenInit`. -Just as ports came with dynamic capabilites, channel initialization will return a dynamic capability +Just as ports came with dynamic capabilities, channel initialization returns a dynamic capability that the module **must** claim so that they can pass in a capability to authenticate channel actions like sending packets. The channel capability is passed into the callback on the first parts of the handshake; either `OnChanOpenInit` on the initializing chain or `OnChanOpenTry` on the other chain. ### [Packets](https://github.com/cosmos/ibc-go/blob/main/modules/core/04-channel) -Modules communicate with each other by sending packets over IBC channels. As mentioned above, all +Modules communicate with each other by sending packets over IBC channels. All IBC packets contain the destination `portID` and `channelID` along with the source `portID` and -`channelID`, this allows modules to know the sender module of a given packet. IBC packets also -contain a sequence to optionally enforce ordering. IBC packets also contain a `TimeoutTimestamp` and -`TimeoutHeight`, which when non-zero, will determine the deadline before which the receiving module -must process a packet. If the timeout passes without the packet being successfully received, the -sending module can timeout the packet and take appropriate actions. +`channelID`. This packet structure allows modules to know the sender module of a given packet. IBC packets +contain a sequence to optionally enforce ordering. + +IBC packets also contain a `TimeoutHeight` and a `TimeoutTimestamp` that determine the deadline before the receiving module must process a packet. Modules send custom application data to each other inside the `Data []byte` field of the IBC packet. -Thus, packet data is completely opaque to IBC handlers. It is incumbent on a sender module to encode -their application-specific packet information into the `Data` field of packets, and the receiver -module to decode that `Data` back to the original application data. +Thus, packet data is opaque to IBC handlers. It is incumbent on a sender module to encode +their application-specific packet information into the `Data` field of packets. The receiver +module must decode that `Data` back to the original application data. ### [Receipts and Timeouts](https://github.com/cosmos/ibc-go/blob/main/modules/core/04-channel) Since IBC works over a distributed network and relies on potentially faulty relayers to relay messages between ledgers, -IBC must handle the case where a packet does not get sent to its destination in a timely manner or at all. Thus, packets must -specify a timeout height or timeout timestamp after which a packet can no longer be successfully received on the destination chain. +IBC must handle the case where a packet does not get sent to its destination in a timely manner or at all. Packets must +specify a non-zero value for timeout height (`TimeoutHeight`) or timeout timestamp (`TimeoutTimestamp` ) after which a packet can no longer be successfully received on the destination chain. + +- The `timeoutHeight` indicates a consensus height on the destination chain after which the packet is no longer be processed, and instead counts as having timed-out. +- The `timeoutTimestamp` indicates a timestamp on the destination chain after which the packet is no longer be processed, and instead counts as having timed-out. + +If the timeout passes without the packet being successfully received, the packet can no longer be +received on the destination chain. The sending module can timeout the packet and take appropriate actions. + +If the timeout is reached, then a proof of packet timeout can be submitted to the original chain. The original chain can then perform +application-specific logic to timeout the packet, perhaps by rolling back the packet send changes (refunding senders any locked funds, etc.). + +- In ORDERED channels, a timeout of a single packet in the channel causes the channel to close. + + - If packet sequence `n` times out, then a packet at sequence `k > n` cannot be received without violating the contract of ORDERED channels that packets are processed in the order that they are sent. + - Since ORDERED channels enforce this invariant, a proof that sequence `n` has not been received on the destination chain by the specified timeout of packet `n` is sufficient to timeout packet `n` and close the channel. + +- In UNORDERED channels, the application-specific timeout logic for that packet is applied and the channel is not closed. + + - Packets can be received in any order. + + - IBC writes a packet receipt for each sequence receives in the UNORDERED channel. This receipt does not contain information; it is simply a marker intended to signify that the UNORDERED channel has received a packet at the specified sequence. + + - To timeout a packet on an UNORDERED channel, a proof is required that a packet receipt **does not exist** for the packet's sequence by the specified timeout. -If the timeout does get reached, then a proof of packet timeout can be submitted to the original chain which can then perform -application-specific logic to timeout the packet, perhaps by rolling back the packet send changes (refunding senders any locked funds, etc). +For this reason, most modules should use UNORDERED channels as they require fewer liveness guarantees to function effectively for users of that channel. -In ORDERED channels, a timeout of a single packet in the channel will cause the channel to close. If packet sequence `n` times out, -then no packet at sequence `k > n` can be successfully received without violating the contract of ORDERED channels that packets are processed in the order that they are sent. Since ORDERED channels enforce this invariant, a proof that sequence `n` hasn't been received on the destination chain by packet `n`'s specified timeout is sufficient to timeout packet `n` and close the channel. +### [Acknowledgments](https://github.com/cosmos/ibc-go/blob/main/modules/core/04-channel) -In the UNORDERED case, packets may be received in any order. Thus, IBC will write a packet receipt for each sequence it has received in the UNORDERED channel. This receipt contains no information, it is simply a marker intended to signify that the UNORDERED channel has received a packet at the specified sequence. To timeout a packet on an UNORDERED channel, one must provide a proof that a packet receipt does not exist for the packet's sequence by the specified timeout. Of course, timing out a packet on an UNORDERED channel will simply trigger the application specific timeout logic for that packet, and will not close the channel. +Modules can also choose to write application-specific acknowledgments upon processing a packet. Acknowledgments can be done: -For this reason, most modules should use UNORDERED channels as they require less liveness guarantees to function effectively for users of that channel. +- Synchronously on `OnRecvPacket` if the module processes packets as soon as they are received from IBC module. +- Asynchronously if module processes packets at some later point after receiving the packet. -### [Acknowledgements](https://github.com/cosmos/ibc-go/blob/main/modules/core/04-channel) +This acknowledgment data is opaque to IBC much like the packet `Data` and is treated by IBC as a simple byte string `[]byte`. Receiver modules must encode their acknowledgment so that the sender module can decode it correctly. The encoding must be negotiated between the two parties during version negotiation in the channel handshake. -Modules may also choose to write application-specific acknowledgements upon processing a packet. This may either be done synchronously on `OnRecvPacket`, if the module processes packets as soon as they are received from IBC module. Or they may be done asynchronously if module processes packets at some later point after receiving the packet. +The acknowledgment can encode whether the packet processing succeeded or failed, along with additional information that allows the sender module to take appropriate action. -Regardless, this acknowledgement data is opaque to IBC much like the packet `Data` and will be treated by IBC as a simple byte string `[]byte`. It is incumbent on receiver modules to encode their acknowledgemnet in such a way that the sender module can decode it correctly. This should be decided through version negotiation during the channel handshake. +After the acknowledgment has been written by the receiving chain, a relayer relays the acknowledgment back to the original sender module. -The acknowledgement may encode whether the packet processing succeeded or failed, along with additional information that will allow the sender module to take appropriate action. +The original sender module then executes application-specific acknowledgment logic using the contents of the acknowledgment. -Once the acknowledgement has been written by the receiving chain, a relayer will relay the acknowledgement back to the original sender module which will then execute application-specific acknowledgment logic using the contents of the acknowledgement. This may involve rolling back packet-send changes in the case of a failed acknowledgement (refunding senders). +- After an acknowledgement fails, packet-send changes can be rolled back (for example, refunding senders in ICS20). -Once an acknowledgement is received successfully on the original sender the chain, the IBC module deletes the corresponding packet commitment as it is no longer needed. +- After an acknowledgment is received successfully on the original sender on the chain, the corresponding packet commitment is deleted since it is no longer needed. ## Further Readings and Specs From f1d2cce8149633cf96b00c09f4f43a67e4875125 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 24 Nov 2021 10:07:41 +0100 Subject: [PATCH 054/107] Bump actions/cache from 2.1.6 to 2.1.7 (#556) Bumps [actions/cache](https://github.com/actions/cache) from 2.1.6 to 2.1.7. - [Release notes](https://github.com/actions/cache/releases) - [Commits](https://github.com/actions/cache/compare/v2.1.6...v2.1.7) --- updated-dependencies: - dependency-name: actions/cache dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 7b94d65a9a3..94c37cdf187 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -26,7 +26,7 @@ jobs: - name: install tparse run: | export GO111MODULE="on" && go get github.com/mfridman/tparse@v0.8.3 - - uses: actions/cache@v2.1.6 + - uses: actions/cache@v2.1.7 with: path: ~/go/bin key: ${{ runner.os }}-go-tparse-binary From 145b5a4c359b991c65a88750d6f4fb469e4c6999 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 30 Nov 2021 10:59:48 +0100 Subject: [PATCH 055/107] Bump github.com/cosmos/cosmos-sdk from 0.44.3 to 0.44.4 (#567) Bumps [github.com/cosmos/cosmos-sdk](https://github.com/cosmos/cosmos-sdk) from 0.44.3 to 0.44.4. - [Release notes](https://github.com/cosmos/cosmos-sdk/releases) - [Changelog](https://github.com/cosmos/cosmos-sdk/blob/v0.44.4/CHANGELOG.md) - [Commits](https://github.com/cosmos/cosmos-sdk/compare/v0.44.3...v0.44.4) --- updated-dependencies: - dependency-name: github.com/cosmos/cosmos-sdk dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- go.mod | 4 ++-- go.sum | 40 ++++++---------------------------------- 2 files changed, 8 insertions(+), 36 deletions(-) diff --git a/go.mod b/go.mod index 59b156680b1..cc2feb47a67 100644 --- a/go.mod +++ b/go.mod @@ -7,7 +7,7 @@ replace github.com/gogo/protobuf => github.com/regen-network/protobuf v1.3.3-alp require ( github.com/armon/go-metrics v0.3.10 github.com/confio/ics23/go v0.6.6 - github.com/cosmos/cosmos-sdk v0.44.3 + github.com/cosmos/cosmos-sdk v0.44.4 github.com/gogo/protobuf v1.3.3 github.com/golang/protobuf v1.5.2 github.com/gorilla/mux v1.8.0 @@ -38,7 +38,7 @@ require ( github.com/cespare/xxhash/v2 v2.1.1 // indirect github.com/coinbase/rosetta-sdk-go v0.6.10 // indirect github.com/cosmos/go-bip39 v1.0.0 // indirect - github.com/cosmos/iavl v0.17.1 // indirect + github.com/cosmos/iavl v0.17.2 // indirect github.com/cosmos/ledger-cosmos-go v0.11.1 // indirect github.com/cosmos/ledger-go v0.9.2 // indirect github.com/danieljoos/wincred v1.0.2 // indirect diff --git a/go.sum b/go.sum index dcd4b76af37..0e2dd889df5 100644 --- a/go.sum +++ b/go.sum @@ -1,4 +1,3 @@ -bazil.org/fuse v0.0.0-20160811212531-371fbbdaa898/go.mod h1:Xbm+BRKSBEpa4q4hTSxohYNQpsxXPbPry4JJWOB3LB8= cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= cloud.google.com/go v0.38.0/go.mod h1:990N+gfupTy94rShfmMCWGDn0LpTmnzTp2qbd1dvSRU= @@ -177,14 +176,11 @@ github.com/cockroachdb/datadriven v0.0.0-20190809214429-80d97fb3cbaa/go.mod h1:z github.com/codahale/hdrhistogram v0.0.0-20161010025455-3a0bb77429bd/go.mod h1:sE/e/2PUdi/liOCUjSTXgM1o87ZssimdTWN964YiIeI= github.com/coinbase/rosetta-sdk-go v0.6.10 h1:rgHD/nHjxLh0lMEdfGDqpTtlvtSBwULqrrZ2qPdNaCM= github.com/coinbase/rosetta-sdk-go v0.6.10/go.mod h1:J/JFMsfcePrjJZkwQFLh+hJErkAmdm9Iyy3D5Y0LfXo= -github.com/confio/ics23/go v0.0.0-20200817220745-f173e6211efb/go.mod h1:E45NqnlpxGnpfTWL/xauN7MRwEE28T4Dd4uraToOaKg= -github.com/confio/ics23/go v0.6.3/go.mod h1:E45NqnlpxGnpfTWL/xauN7MRwEE28T4Dd4uraToOaKg= github.com/confio/ics23/go v0.6.6 h1:pkOy18YxxJ/r0XFDCnrl4Bjv6h4LkBSpLS6F38mrKL8= github.com/confio/ics23/go v0.6.6/go.mod h1:E45NqnlpxGnpfTWL/xauN7MRwEE28T4Dd4uraToOaKg= github.com/containerd/console v1.0.2/go.mod h1:ytZPjGgY2oeTkAONYafi2kSj0aYggsf8acV1PGKCbzQ= +github.com/containerd/continuity v0.0.0-20190827140505-75bee3e2ccb6 h1:NmTXa/uVnDyp0TY5MKi197+3HWcnYWfnHGyaFthlnGw= github.com/containerd/continuity v0.0.0-20190827140505-75bee3e2ccb6/go.mod h1:GL3xCUCBDV3CZiTSEKksMWbLE66hEyuu9qyDOOqM47Y= -github.com/containerd/continuity v0.1.0 h1:UFRRY5JemiAhPZrr/uE0n8fMTLcZsUvySPr1+D7pgr8= -github.com/containerd/continuity v0.1.0/go.mod h1:ICJu0PwR54nI0yPEnJ6jcS+J7CZAUXrLh8lPo2knzsM= github.com/coreos/bbolt v1.3.2/go.mod h1:iRUV2dpdMOn7Bo10OQBFzIJO9kkE559Wcmn+qkEiiKk= github.com/coreos/etcd v3.3.10+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE= github.com/coreos/etcd v3.3.13+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE= @@ -196,16 +192,13 @@ github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7 github.com/coreos/go-systemd/v22 v22.3.2/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= github.com/coreos/pkg v0.0.0-20160727233714-3ac0863d7acf/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA= github.com/coreos/pkg v0.0.0-20180928190104-399ea9e2e55f/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA= -github.com/cosmos/cosmos-sdk v0.44.3 h1:F71n1jCqPi4F0wXg8AU4AUdUF8llw0x3D3o6aLt/j2A= -github.com/cosmos/cosmos-sdk v0.44.3/go.mod h1:bA3+VenaR/l/vDiYzaiwbWvRPWHMBX2jG0ygiFtiBp0= +github.com/cosmos/cosmos-sdk v0.44.4 h1:5oJpMr0Uz6PmODDklyNmXLnuByMqonNTxi+LAyhqews= +github.com/cosmos/cosmos-sdk v0.44.4/go.mod h1:0QTCOkE8IWu5LZyfnbbjFjxYRIcV4pBOr7+zPpJwl58= github.com/cosmos/go-bip39 v0.0.0-20180819234021-555e2067c45d/go.mod h1:tSxLoYXyBmiFeKpvmq4dzayMdCjCnu8uqmCysIGBT2Y= github.com/cosmos/go-bip39 v1.0.0 h1:pcomnQdrdH22njcAatO0yWojsUnCO3y2tNoV1cb6hHY= github.com/cosmos/go-bip39 v1.0.0/go.mod h1:RNJv0H/pOIVgxw6KS7QeX2a0Uo0aKUlfhZ4xuwvCdJw= -github.com/cosmos/iavl v0.15.0-rc3.0.20201009144442-230e9bdf52cd/go.mod h1:3xOIaNNX19p0QrX0VqWa6voPRoJRGGYtny+DH8NEPvE= -github.com/cosmos/iavl v0.15.0-rc5/go.mod h1:WqoPL9yPTQ85QBMT45OOUzPxG/U/JcJoN7uMjgxke/I= -github.com/cosmos/iavl v0.15.3/go.mod h1:OLjQiAQ4fGD2KDZooyJG9yz+p2ao2IAYSbke8mVvSA4= -github.com/cosmos/iavl v0.17.1 h1:b/Cl8h1PRMvsu24+TYNlKchIu7W6tmxIBGe6E9u2Ybw= -github.com/cosmos/iavl v0.17.1/go.mod h1:7aisPZK8yCpQdy3PMvKeO+bhq1NwDjUwjzxwwROUxFk= +github.com/cosmos/iavl v0.17.2 h1:BT2u7DUvLLB+RYz9RItn/8n7Bt5xe5rj8QRTkk/PQU0= +github.com/cosmos/iavl v0.17.2/go.mod h1:prJoErZFABYZGDHka1R6Oay4z9PrNeFFiMKHDAMOi4w= github.com/cosmos/ledger-cosmos-go v0.11.1 h1:9JIYsGnXP613pb2vPjFeMMjBI5lEDsEaF6oYorTy6J4= github.com/cosmos/ledger-cosmos-go v0.11.1/go.mod h1:J8//BsAGTo3OC/vDLjMRFLW6q0WAaXvHnVc7ZmE8iUY= github.com/cosmos/ledger-go v0.9.2 h1:Nnao/dLwaVTk1Q5U9THldpUMMXU94BOTWPddSmVB6pI= @@ -226,7 +219,6 @@ github.com/deckarep/golang-set v0.0.0-20180603214616-504e848d77ea/go.mod h1:93vs github.com/decred/dcrd/lru v1.0.0/go.mod h1:mxKOwFd7lFjN2GZYsiz/ecgqR6kkYAl+0pz0tEMk218= github.com/desertbit/timer v0.0.0-20180107155436-c41aec40b27f h1:U5y3Y5UE0w7amNe7Z5G/twsBW0KEalRQXZzf8ufSh9I= github.com/desertbit/timer v0.0.0-20180107155436-c41aec40b27f/go.mod h1:xH/i4TFMt8koVQZ6WFms69WAsDWr2XsYL3Hkl7jkoLE= -github.com/dgraph-io/badger/v2 v2.2007.1/go.mod h1:26P/7fbL4kUZVEVKLAKXkBXKOydDmM2p1e+NhhnBCAE= github.com/dgraph-io/badger/v2 v2.2007.2 h1:EjjK0KqwaFMlPin1ajhP943VPENHJdEz1KLIegjaI3k= github.com/dgraph-io/badger/v2 v2.2007.2/go.mod h1:26P/7fbL4kUZVEVKLAKXkBXKOydDmM2p1e+NhhnBCAE= github.com/dgraph-io/ristretto v0.0.3-0.20200630154024-f66de99634de/go.mod h1:KPxhHT9ZxKefz+PCeOGsrHpl1qZ7i70dGTu2u+Ahh6E= @@ -430,7 +422,6 @@ github.com/gorilla/mux v1.7.3/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2z github.com/gorilla/mux v1.8.0 h1:i40aqfkR1h2SlN9hojwV5ZA91wcXFOvkdNIeFDP5koI= github.com/gorilla/mux v1.8.0/go.mod h1:DVbg23sWSpFRCP0SfiEN6jmj59UnW/n46BH5rLB71So= github.com/gorilla/websocket v0.0.0-20170926233335-4201258b820c/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ= -github.com/gorilla/websocket v1.4.0/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ= github.com/gorilla/websocket v1.4.1-0.20190629185528-ae1634f6a989/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ= github.com/gorilla/websocket v1.4.1/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= github.com/gorilla/websocket v1.4.2 h1:+/TMaTYc4QFitKJxsQ7Yye35DkWvkdLcvGKqM+x0Ufc= @@ -439,7 +430,6 @@ github.com/gotestyourself/gotestyourself v2.2.0+incompatible/go.mod h1:zZKM6oeNM github.com/graph-gophers/graphql-go v0.0.0-20191115155744-f33e81362277/go.mod h1:9CQHMSxwO4MprSdzoIEobiHpoLtHm77vfxsvsIN5Vuc= github.com/grpc-ecosystem/go-grpc-middleware v1.0.0/go.mod h1:FiyG127CGDf3tlThmgyCl78X/SZQqEOJBCDaAfeWzPs= github.com/grpc-ecosystem/go-grpc-middleware v1.0.1-0.20190118093823-f849b5445de4/go.mod h1:FiyG127CGDf3tlThmgyCl78X/SZQqEOJBCDaAfeWzPs= -github.com/grpc-ecosystem/go-grpc-middleware v1.2.1/go.mod h1:EaizFBKfUKtMIF5iaDEhniwNedqGo9FuLFzppDr3uwI= github.com/grpc-ecosystem/go-grpc-middleware v1.2.2/go.mod h1:EaizFBKfUKtMIF5iaDEhniwNedqGo9FuLFzppDr3uwI= github.com/grpc-ecosystem/go-grpc-middleware v1.3.0 h1:+9834+KizmvFV7pXQGSXQTsaWhq2GjuNUt0aUU0YBYw= github.com/grpc-ecosystem/go-grpc-middleware v1.3.0/go.mod h1:z0ButlSOZa5vEBq9m2m2hlwIgKw+rp3sdCBRoJY+30Y= @@ -447,7 +437,6 @@ github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0/go.mod h1:8NvIoxWQoOIhqOTXgf github.com/grpc-ecosystem/grpc-gateway v1.8.5/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY= github.com/grpc-ecosystem/grpc-gateway v1.9.0/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY= github.com/grpc-ecosystem/grpc-gateway v1.9.5/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY= -github.com/grpc-ecosystem/grpc-gateway v1.14.7/go.mod h1:oYZKL012gGh6LMyg/xA7Q2yq6j8bu0wa+9w14EEthWU= github.com/grpc-ecosystem/grpc-gateway v1.16.0 h1:gmcG1KaJ57LophUzW0Hy8NmPhnMZb4M0+kPpLofRdBo= github.com/grpc-ecosystem/grpc-gateway v1.16.0/go.mod h1:BDjrQk3hbvj6Nolgz8mAMFbcEtjT1g+wF4CSlocrBnw= github.com/gsterjov/go-libsecret v0.0.0-20161001094733-a6f4afe4910c h1:6rhixN/i8ZofjG1Y75iExal34USq5p+wiN1tpie8IrU= @@ -663,9 +652,8 @@ github.com/onsi/gomega v1.10.1/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1y github.com/onsi/gomega v1.13.0 h1:7lLHu94wT9Ij0o6EWWclhu0aOh32VxhkwEJvzuWPeak= github.com/onsi/gomega v1.13.0/go.mod h1:lRk9szgn8TxENtWd0Tp4c3wjlRfMTMH27I+3Je41yGY= github.com/op/go-logging v0.0.0-20160315200505-970db520ece7/go.mod h1:HzydrMdWErDVzsI23lYNej1Htcns9BCg93Dk0bBINWk= +github.com/opencontainers/go-digest v1.0.0-rc1 h1:WzifXhOVOEOuFYOJAW6aQqW0TooG2iki3E3Ii+WN7gQ= github.com/opencontainers/go-digest v1.0.0-rc1/go.mod h1:cMLVZDEM3+U2I4VmLI6N8jQYUd2OVphdqWwCJHrFt2s= -github.com/opencontainers/go-digest v1.0.0 h1:apOUWs51W5PlhuyGyz9FCeeBIOUDA/6nW8Oi/yOhh5U= -github.com/opencontainers/go-digest v1.0.0/go.mod h1:0JzlMkj0TRzQZfJkVvzbP0HBR3IKzErnv2BNG4W4MAM= github.com/opencontainers/image-spec v1.0.1 h1:JMemWkRwHx4Zj+fVxWoMCFm/8sYGGrUVojFA6h/TRcI= github.com/opencontainers/image-spec v1.0.1/go.mod h1:BtxoFyWECRxE4U/7sNtV5W15zMzWCbyJoFRP3s7yZA0= github.com/opencontainers/runc v0.1.1/go.mod h1:qT5XzbpPznkRYVz/mWwUaVBUv2rmF59PVA73FjuZG0U= @@ -781,7 +769,6 @@ github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQD github.com/ryanuber/columnize v0.0.0-20160712163229-9b3edd62028f/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts= github.com/sagikazarmark/crypt v0.1.0/go.mod h1:B/mN0msZuINBtQ1zZLEQcegFJJf9vnYIR88KRMEuODE= github.com/samuel/go-zookeeper v0.0.0-20190923202752-2cc03de413da/go.mod h1:gi+0XIa01GRL2eRQVjQkKGqKF3SF9vZR/HnPullcV2E= -github.com/sasha-s/go-deadlock v0.2.0/go.mod h1:StQn567HiB1fF2yJ44N9au7wOhrPS3iZqiDbRupzT10= github.com/sasha-s/go-deadlock v0.2.1-0.20190427202633-1595213edefa h1:0U2s5loxrTy6/VgfVoLuVLFJcURKLH49ie0zSch7gh4= github.com/sasha-s/go-deadlock v0.2.1-0.20190427202633-1595213edefa/go.mod h1:F73l+cr82YSh10GxyRI6qZiCgK64VaZjwesgfQ1/iLM= github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529/go.mod h1:DxrIzT+xaE7yg65j358z/aeFdxmN0P9QXhEzd20vsDc= @@ -813,7 +800,6 @@ github.com/spf13/cast v1.4.1 h1:s0hze+J0196ZfEMTs80N7UlFt0BDuQ7Q+JDnHiMWKdA= github.com/spf13/cast v1.4.1/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= github.com/spf13/cobra v0.0.3/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3XqQ= github.com/spf13/cobra v0.0.5/go.mod h1:3K3wKZymM7VvHMDS9+Akkh4K60UwM26emMESw8tLCHU= -github.com/spf13/cobra v1.0.0/go.mod h1:/6GTrnGXV9HjY+aR4k0oJ5tcvakLuG6EuKReYlHNrgE= github.com/spf13/cobra v1.1.1/go.mod h1:WnodtKOvamDL/PwE2M4iKs8aMDBZ5Q5klgD3qfVJQMI= github.com/spf13/cobra v1.2.1 h1:+KmjbUw1hriSNMF55oPrkZcb27aECyrj8V2ytv7kWDw= github.com/spf13/cobra v1.2.1/go.mod h1:ExllRjgxM/piMAM+3tAZvg8fsklGAf3tPfi+i8t68Nk= @@ -825,7 +811,6 @@ github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnIn github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= github.com/spf13/viper v1.3.2/go.mod h1:ZiWeW+zYFKm7srdB9IoDzzZXaJaI5eL9QjNiN/DMA2s= -github.com/spf13/viper v1.4.0/go.mod h1:PTJ7Z/lr49W6bUbkmS1V3by4uWynFiR9p7+dSq/yZzE= github.com/spf13/viper v1.7.0/go.mod h1:8WkrPz2fc9jxqZNCJI/76HCieCp4Q8HaLFoCha5qpdg= github.com/spf13/viper v1.7.1/go.mod h1:8WkrPz2fc9jxqZNCJI/76HCieCp4Q8HaLFoCha5qpdg= github.com/spf13/viper v1.8.1/go.mod h1:o0Pch8wJ9BVSWGQMbra6iw0oQ5oktSIBaujf1rJH9Ns= @@ -861,14 +846,8 @@ github.com/tendermint/crypto v0.0.0-20191022145703-50d29ede1e15 h1:hqAk8riJvK4RM github.com/tendermint/crypto v0.0.0-20191022145703-50d29ede1e15/go.mod h1:z4YtwM70uOnk8h0pjJYlj3zdYwi9l03By6iAIF5j/Pk= github.com/tendermint/go-amino v0.16.0 h1:GyhmgQKvqF82e2oZeuMSp9JTN0N09emoSZlb2lyGa2E= github.com/tendermint/go-amino v0.16.0/go.mod h1:TQU0M1i/ImAo+tYpZi73AU3V/dKeCoMC9Sphe2ZwGME= -github.com/tendermint/tendermint v0.34.0-rc4/go.mod h1:yotsojf2C1QBOw4dZrTcxbyxmPUrT4hNuOQWX9XUwB4= -github.com/tendermint/tendermint v0.34.0-rc6/go.mod h1:ugzyZO5foutZImv0Iyx/gOFCX6mjJTgbLHTwi17VDVg= -github.com/tendermint/tendermint v0.34.0/go.mod h1:Aj3PIipBFSNO21r+Lq3TtzQ+uKESxkbA3yo/INM4QwQ= -github.com/tendermint/tendermint v0.34.13/go.mod h1:6RVVRBqwtKhA+H59APKumO+B7Nye4QXSFc6+TYxAxCI= github.com/tendermint/tendermint v0.34.14 h1:GCXmlS8Bqd2Ix3TQCpwYLUNHe+Y+QyJsm5YE+S/FkPo= github.com/tendermint/tendermint v0.34.14/go.mod h1:FrwVm3TvsVicI9Z7FlucHV6Znfd5KBc/Lpp69cCwtk0= -github.com/tendermint/tm-db v0.6.2/go.mod h1:GYtQ67SUvATOcoY8/+x6ylk8Qo02BQyLrAs+yAcLvGI= -github.com/tendermint/tm-db v0.6.3/go.mod h1:lfA1dL9/Y/Y8wwyPp2NMLyn5P5Ptr/gvDFNWtrCWSf8= github.com/tendermint/tm-db v0.6.4 h1:3N2jlnYQkXNQclQwd/eKV/NzlqPlfK21cpRRIx80XXQ= github.com/tendermint/tm-db v0.6.4/go.mod h1:dptYhIpJ2M5kUuenLr+Yyf3zQOv1SgBZcl8/BmWlMBw= github.com/tidwall/gjson v1.6.7/go.mod h1:zeFuBCIqD4sN/gmqBzZ4j7Jd6UcA2Fc56x7QFsv+8fI= @@ -880,7 +859,6 @@ github.com/tmc/grpc-websocket-proxy v0.0.0-20190109142713-0ad062ec5ee5/go.mod h1 github.com/tv42/httpunix v0.0.0-20150427012821-b75d8614f926/go.mod h1:9ESjWnEqriFuLhtthL60Sar/7RFoluCcXsuvEwTV5KM= github.com/tyler-smith/go-bip39 v1.0.1-0.20181017060643-dbb3b84ba2ef/go.mod h1:sJ5fKU0s6JVwZjjcUEX2zFOnvq0ASQ2K9Zr6cf67kNs= github.com/tyler-smith/go-bip39 v1.0.2/go.mod h1:sJ5fKU0s6JVwZjjcUEX2zFOnvq0ASQ2K9Zr6cf67kNs= -github.com/ugorji/go v1.1.4/go.mod h1:uQMGLiO92mf5W77hV/PUCpI3pbzQx3CRekS0kk+RGrc= github.com/ugorji/go v1.1.7 h1:/68gy2h+1mWMrwZFeD1kQialdSzAb432dtpeJ42ovdo= github.com/ugorji/go v1.1.7/go.mod h1:kZn38zHttfInRq0xu/PH0az30d+z6vm202qpg1oXVMw= github.com/ugorji/go/codec v0.0.0-20181204163529-d75b2dcb6bc8/go.mod h1:VFNgLljTbGfSG7qAOspJ7OScBnGdDN/yBr0sguwnwf0= @@ -952,9 +930,7 @@ golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPh golang.org/x/crypto v0.0.0-20200709230013-948cd5f35899/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20200728195943-123391ffb6de/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20200820211705-5c72a883971a/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.0.0-20201016220609-9e8e0b390897/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20201117144127-c1f2f97bffc9/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I= -golang.org/x/crypto v0.0.0-20210513164829-c07d793c2f9a/go.mod h1:P+XmwS30IXTQdn5tA2iutPOUgjI07+tq3H3K9MVA1s8= golang.org/x/crypto v0.0.0-20210817164053-32db794688a5 h1:HWj/xjIHfjYU5nVXpTM0s39J9CbLn7Cc5a7IC5rwsMQ= golang.org/x/crypto v0.0.0-20210817164053-32db794688a5/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= @@ -1012,7 +988,6 @@ golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190501004415-9ce7a6920f09/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190503192946-f4e77d36d62c/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190522155817-f3200d17e092/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks= golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks= golang.org/x/net v0.0.0-20190613194153-d28f0bde5980/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= @@ -1020,7 +995,6 @@ golang.org/x/net v0.0.0-20190628185345-da137c7871d7/go.mod h1:z5CRVTTTmAJ677TzLL golang.org/x/net v0.0.0-20190724013045-ca1201d0de80/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20190813141303-74dc4d7220e7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20190923162816-aa69164e4478/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20191002035440-2ec189313ef0/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20191209160850-c0dbc17a3553/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200114155413-6afb5195e5aa/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200202094626-16171245cfb2/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= @@ -1325,7 +1299,6 @@ google.golang.org/genproto v0.0.0-20200804131852-c06518451d9c/go.mod h1:FWY/as6D google.golang.org/genproto v0.0.0-20200825200019-8632dd797987/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20200904004341-0bd0a958aa1d/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20201109203340-2640f1f9cdfb/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20201111145450-ac7456db90a6/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20201119123407-9b1e624d6bc4/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20201201144952-b05cb90ed32e/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20201210142538-e3217bee35cc/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= @@ -1403,7 +1376,6 @@ gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLks gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20200902074654-038fdea0a05b h1:QRR6H1YWRnHb4Y/HeNFCTJLFVxaq6wH4YuVdsUOr75U= gopkg.in/check.v1 v1.0.0-20200902074654-038fdea0a05b/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/cheggaaa/pb.v1 v1.0.25/go.mod h1:V/YB90LKu/1FcN3WVnfiiE5oMCibMjukxqG/qStrOgw= From 172ff88f27a90b9451ab1658b3e950803623dbef Mon Sep 17 00:00:00 2001 From: Carlos Rodriguez Date: Thu, 2 Dec 2021 13:03:34 +0100 Subject: [PATCH 056/107] use local clock time as reference time for timeout timestamp if later than consensus state timestamp (#568) * use local clock time as reference time if it is later than the consensus state timestamp from the counter party chain * add comment * update command description * add entry to changelog * return error is clock time is less or equal than Jan 1st 1970 12:00 AM Co-authored-by: Carlos Rodriguez --- CHANGELOG.md | 1 + modules/apps/transfer/client/cli/tx.go | 25 +++++++++++++++++++++---- 2 files changed, 22 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 054abb5db9c..a66a9463138 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -51,6 +51,7 @@ Ref: https://keepachangelog.com/en/1.0.0/ * [\#383](https://github.com/cosmos/ibc-go/pull/383) Adds helper functions for merging and splitting middleware versions from the underlying app version. * (modules/core/05-port) [\#288](https://github.com/cosmos/ibc-go/issues/288) Making the 05-port keeper function IsBound public. The IsBound function checks if the provided portID is already binded to a module. +* (02-client) [\#568](https://github.com/cosmos/ibc-go/pull/568) In IBC `transfer` cli command use local clock time as reference for relative timestamp timeout if greater than the block timestamp queried from the latest consensus state corresponding to the counterparty channel. ### Features diff --git a/modules/apps/transfer/client/cli/tx.go b/modules/apps/transfer/client/cli/tx.go index 1e201bddb37..74ff6ae802b 100644 --- a/modules/apps/transfer/client/cli/tx.go +++ b/modules/apps/transfer/client/cli/tx.go @@ -1,8 +1,10 @@ package cli import ( + "errors" "fmt" "strings" + "time" "github.com/spf13/cobra" @@ -29,9 +31,10 @@ func NewTransferTxCmd() *cobra.Command { Short: "Transfer a fungible token through IBC", Long: strings.TrimSpace(`Transfer a fungible token through IBC. Timeouts can be specified as absolute or relative using the "absolute-timeouts" flag. Timeout height can be set by passing in the height string -in the form {revision}-{height} using the "packet-timeout-height" flag. Relative timeouts are added to -the block height and block timestamp queried from the latest consensus state corresponding -to the counterparty channel. Any timeout set to 0 is disabled.`), +in the form {revision}-{height} using the "packet-timeout-height" flag. Relative timeout height is added to the block +height queried from the latest consensus state corresponding to the counterparty channel. Relative timeout timestamp +is added to the greater value of the local clock time and the block timestamp queried from the latest consensus state +corresponding to the counterparty channel. Any timeout set to 0 is disabled.`), Example: fmt.Sprintf("%s tx ibc-transfer transfer [src-port] [src-channel] [receiver] [amount]", version.AppName), Args: cobra.ExactArgs(4), RunE: func(cmd *cobra.Command, args []string) error { @@ -89,7 +92,21 @@ to the counterparty channel. Any timeout set to 0 is disabled.`), } if timeoutTimestamp != 0 { - timeoutTimestamp = consensusState.GetTimestamp() + timeoutTimestamp + // use local clock time as reference time if it is later than the + // consensus state timestamp of the counter party chain, otherwise + // still use consensus state timestamp as reference + now := time.Now().UnixNano() + consensusStateTimestamp := consensusState.GetTimestamp() + if now > 0 { + now := uint64(now) + if now > consensusStateTimestamp { + timeoutTimestamp = now + timeoutTimestamp + } else { + timeoutTimestamp = consensusStateTimestamp + timeoutTimestamp + } + } else { + return errors.New("local clock time is not greater than Jan 1st, 1970 12:00 AM") + } } } From ed06af4adb246c27110f2d793fd56226af1032d3 Mon Sep 17 00:00:00 2001 From: Marko Date: Fri, 3 Dec 2021 10:02:22 +0100 Subject: [PATCH 057/107] proto: fix for reflection (#583) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * migrate to v1 buf * remove confio * update docker buf image version to fix make proto-all * move proofs outside confio * regenerate proto Co-authored-by: Marko Baricevic Co-authored-by: Colin Axnér <25233464+colin-axner@users.noreply.github.com> --- Makefile | 2 +- buf.work.yaml | 9 ++ modules/core/02-client/types/tx.pb.go | 74 +++++----- .../core/23-commitment/types/commitment.pb.go | 43 +++--- .../07-tendermint/types/tendermint.pb.go | 138 +++++++++--------- proto/buf.yaml | 20 +++ proto/ibc/core/client/v1/tx.proto | 1 - proto/ibc/core/commitment/v1/commitment.proto | 2 +- .../tendermint/v1/tendermint.proto | 2 +- buf.yaml => third_party/proto/buf.yaml | 33 ++--- .../cosmos/upgrade/v1beta1/upgrade.proto | 1 - third_party/proto/{confio => }/proofs.proto | 0 12 files changed, 175 insertions(+), 150 deletions(-) create mode 100644 buf.work.yaml create mode 100644 proto/buf.yaml rename buf.yaml => third_party/proto/buf.yaml (61%) rename third_party/proto/{confio => }/proofs.proto (100%) diff --git a/Makefile b/Makefile index ef674a5fdc1..82c75b862ef 100644 --- a/Makefile +++ b/Makefile @@ -11,7 +11,7 @@ SIMAPP = ./testing/simapp MOCKS_DIR = $(CURDIR)/tests/mocks HTTPS_GIT := https://github.com/cosmos/ibc-go.git DOCKER := $(shell which docker) -DOCKER_BUF := $(DOCKER) run --rm -v $(CURDIR):/workspace --workdir /workspace bufbuild/buf +DOCKER_BUF := $(DOCKER) run --rm -v $(CURDIR):/workspace --workdir /workspace bufbuild/buf:1.0.0-rc8 export GO111MODULE = on diff --git a/buf.work.yaml b/buf.work.yaml new file mode 100644 index 00000000000..98094695ffe --- /dev/null +++ b/buf.work.yaml @@ -0,0 +1,9 @@ +# Generated by "buf config migrate-v1beta1". Edit as necessary, and +# remove this comment when you're finished. +# +# This workspace file points to the roots found in your +# previous "buf.yaml" configuration. +version: v1 +directories: + - proto + - third_party/proto diff --git a/modules/core/02-client/types/tx.pb.go b/modules/core/02-client/types/tx.pb.go index 6e287a4cbd9..d7d91850763 100644 --- a/modules/core/02-client/types/tx.pb.go +++ b/modules/core/02-client/types/tx.pb.go @@ -375,45 +375,45 @@ func init() { func init() { proto.RegisterFile("ibc/core/client/v1/tx.proto", fileDescriptor_cb5dc4651eb49a04) } var fileDescriptor_cb5dc4651eb49a04 = []byte{ - // 605 bytes of a gzipped FileDescriptorProto + // 599 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x55, 0x3f, 0x6f, 0xd3, 0x40, 0x1c, 0x8d, 0x1b, 0x88, 0x9a, 0x6b, 0xa0, 0x95, 0x09, 0x6d, 0xea, 0xaa, 0x76, 0x64, 0x3a, 0x04, - 0xd1, 0xfa, 0x48, 0x58, 0xaa, 0x6e, 0xa4, 0x13, 0x43, 0x24, 0x70, 0xc5, 0x00, 0x4b, 0xf0, 0x9f, - 0xeb, 0xe5, 0x44, 0xec, 0x8b, 0x7c, 0x76, 0x44, 0xbe, 0x01, 0x23, 0x03, 0x1f, 0xa0, 0x62, 0xe0, - 0xb3, 0x30, 0x76, 0x60, 0x60, 0x8a, 0xaa, 0x64, 0x61, 0xce, 0x27, 0x40, 0xf1, 0x39, 0x21, 0x76, - 0xed, 0xc8, 0xe2, 0xcf, 0xe6, 0xf3, 0xef, 0xdd, 0x7b, 0xbf, 0xe7, 0xf7, 0x3b, 0x1f, 0x38, 0x20, - 0xa6, 0x05, 0x2d, 0xea, 0x21, 0x68, 0xf5, 0x09, 0x72, 0x7d, 0x38, 0x6c, 0x42, 0xff, 0x83, 0x36, - 0xf0, 0xa8, 0x4f, 0x45, 0x91, 0x98, 0x96, 0x36, 0x2f, 0x6a, 0xbc, 0xa8, 0x0d, 0x9b, 0x52, 0x15, - 0x53, 0x4c, 0xc3, 0x32, 0x9c, 0x3f, 0x71, 0xa4, 0xb4, 0x8f, 0x29, 0xc5, 0x7d, 0x04, 0xc3, 0x95, - 0x19, 0x5c, 0x42, 0xc3, 0x1d, 0x45, 0x25, 0x25, 0x45, 0x21, 0xa2, 0x0b, 0x01, 0xea, 0x8d, 0x00, - 0xb6, 0x3b, 0x0c, 0x9f, 0x7b, 0xc8, 0xf0, 0xd1, 0x79, 0x58, 0x11, 0x5f, 0x82, 0x0a, 0xc7, 0x74, - 0x99, 0x6f, 0xf8, 0xa8, 0x26, 0xd4, 0x85, 0xc6, 0x56, 0xab, 0xaa, 0x71, 0x19, 0x6d, 0x21, 0xa3, - 0x3d, 0x77, 0x47, 0xed, 0xbd, 0xd9, 0x58, 0x79, 0x30, 0x32, 0x9c, 0xfe, 0x99, 0xba, 0xba, 0x47, - 0xd5, 0xb7, 0xf8, 0xf2, 0x62, 0xbe, 0x12, 0xdf, 0x80, 0x6d, 0x8b, 0xba, 0x0c, 0xb9, 0x2c, 0x60, - 0x11, 0xe9, 0xc6, 0x1a, 0x52, 0x69, 0x36, 0x56, 0x76, 0x23, 0xd2, 0xf8, 0x36, 0x55, 0xbf, 0xbf, - 0x7c, 0xc3, 0xa9, 0x77, 0x41, 0x89, 0x11, 0xec, 0x22, 0xaf, 0x56, 0xac, 0x0b, 0x8d, 0xb2, 0x1e, - 0xad, 0xce, 0x36, 0x3f, 0x5e, 0x29, 0x85, 0x9f, 0x57, 0x4a, 0x41, 0xdd, 0x07, 0x7b, 0x09, 0x87, - 0x3a, 0x62, 0x83, 0x39, 0x8b, 0xfa, 0x99, 0xbb, 0x7f, 0x3d, 0xb0, 0x7f, 0xbb, 0x6f, 0x82, 0x72, - 0xe4, 0x84, 0xd8, 0xa1, 0xf5, 0x72, 0xbb, 0x3a, 0x1b, 0x2b, 0x3b, 0x31, 0x93, 0xc4, 0x56, 0xf5, - 0x4d, 0xfe, 0xfc, 0xc2, 0x16, 0x8f, 0x41, 0xa9, 0x87, 0x0c, 0x1b, 0x79, 0xeb, 0x5c, 0xe9, 0x11, - 0x26, 0x77, 0xc7, 0xab, 0x5d, 0x2d, 0x3b, 0xfe, 0x5e, 0x04, 0x3b, 0x61, 0x0d, 0x7b, 0x86, 0xfd, - 0x17, 0x2d, 0x27, 0x33, 0xde, 0xf8, 0x1f, 0x19, 0x17, 0xff, 0x51, 0xc6, 0xaf, 0x40, 0x75, 0xe0, - 0x51, 0x7a, 0xd9, 0x0d, 0xb8, 0xed, 0x2e, 0xd7, 0xad, 0xdd, 0xa9, 0x0b, 0x8d, 0x4a, 0x5b, 0x99, - 0x8d, 0x95, 0x03, 0xce, 0x94, 0x86, 0x52, 0x75, 0x31, 0x7c, 0x1d, 0xff, 0x64, 0xef, 0xc1, 0x61, - 0x02, 0x9c, 0xe8, 0xfd, 0x6e, 0xc8, 0xdd, 0x98, 0x8d, 0x95, 0xa3, 0x54, 0xee, 0x64, 0xcf, 0x52, - 0x4c, 0x24, 0x6b, 0x46, 0x4b, 0x19, 0x89, 0x4b, 0xa0, 0x96, 0x4c, 0x75, 0x19, 0xf9, 0x57, 0x01, - 0x3c, 0xec, 0x30, 0x7c, 0x11, 0x98, 0x0e, 0xf1, 0x3b, 0x84, 0x99, 0xa8, 0x67, 0x0c, 0x09, 0x0d, - 0xbc, 0x3f, 0xc9, 0xfd, 0x14, 0x54, 0x9c, 0x15, 0x8a, 0xb5, 0x03, 0x1b, 0x43, 0xe6, 0x18, 0x5b, - 0x05, 0x1c, 0xa6, 0xf6, 0xb9, 0x70, 0xd2, 0xfa, 0x52, 0x04, 0xc5, 0x0e, 0xc3, 0xe2, 0x3b, 0x50, - 0x89, 0xfd, 0x70, 0x1e, 0x69, 0xb7, 0xff, 0x75, 0x5a, 0xe2, 0xcc, 0x4a, 0x4f, 0x72, 0x80, 0x16, - 0x4a, 0x73, 0x85, 0xd8, 0xa1, 0xce, 0x52, 0x58, 0x05, 0x65, 0x2a, 0xa4, 0x1d, 0x44, 0xd1, 0x02, - 0xf7, 0xe2, 0x13, 0x75, 0x94, 0xb9, 0x7b, 0x05, 0x25, 0x1d, 0xe7, 0x41, 0x2d, 0x45, 0x3c, 0x20, - 0xa6, 0xc4, 0xfe, 0x38, 0x83, 0xe3, 0x36, 0x54, 0x6a, 0xe6, 0x86, 0x2e, 0x34, 0xdb, 0xfa, 0xb7, - 0x89, 0x2c, 0x5c, 0x4f, 0x64, 0xe1, 0x66, 0x22, 0x0b, 0x9f, 0xa6, 0x72, 0xe1, 0x7a, 0x2a, 0x17, - 0x7e, 0x4c, 0xe5, 0xc2, 0xdb, 0x53, 0x4c, 0xfc, 0x5e, 0x60, 0x6a, 0x16, 0x75, 0xa0, 0x45, 0x99, - 0x43, 0x19, 0x24, 0xa6, 0x75, 0x82, 0x29, 0x1c, 0xb6, 0xa0, 0x43, 0xed, 0xa0, 0x8f, 0x18, 0xbf, - 0x6c, 0x9e, 0xb6, 0x4e, 0xa2, 0xfb, 0xc6, 0x1f, 0x0d, 0x10, 0x33, 0x4b, 0xe1, 0x5c, 0x3d, 0xfb, - 0x15, 0x00, 0x00, 0xff, 0xff, 0x9e, 0xe2, 0xb3, 0xfd, 0xf1, 0x06, 0x00, 0x00, + 0xd1, 0xde, 0x91, 0xb0, 0x54, 0xdd, 0x48, 0x27, 0x86, 0x48, 0xe0, 0x8a, 0x01, 0x96, 0xe0, 0x3f, + 0xd7, 0xcb, 0x89, 0xd8, 0x17, 0xf9, 0xec, 0x88, 0x7c, 0x03, 0x46, 0x06, 0x3e, 0x40, 0xc5, 0xc0, + 0x67, 0x61, 0xec, 0xc0, 0xc0, 0x14, 0x55, 0xc9, 0xc2, 0x9c, 0x4f, 0x80, 0xe2, 0x73, 0x42, 0xec, + 0xc6, 0x51, 0xc4, 0x9f, 0xcd, 0xe7, 0xdf, 0xbb, 0xf7, 0x7e, 0xcf, 0xef, 0x77, 0x3e, 0x70, 0x40, + 0x2d, 0x1b, 0xd9, 0xcc, 0xc7, 0xc8, 0xee, 0x52, 0xec, 0x05, 0xa8, 0x5f, 0x47, 0xc1, 0x07, 0xd8, + 0xf3, 0x59, 0xc0, 0x64, 0x99, 0x5a, 0x36, 0x9c, 0x16, 0xa1, 0x28, 0xc2, 0x7e, 0x5d, 0x29, 0x13, + 0x46, 0x58, 0x54, 0x46, 0xd3, 0x27, 0x81, 0x54, 0xf6, 0x09, 0x63, 0xa4, 0x8b, 0x51, 0xb4, 0xb2, + 0xc2, 0x4b, 0x64, 0x7a, 0x03, 0x51, 0xd2, 0x6f, 0x24, 0xb0, 0xdd, 0xe2, 0xe4, 0xdc, 0xc7, 0x66, + 0x80, 0xcf, 0x23, 0x1e, 0xf9, 0x25, 0x28, 0x09, 0xc6, 0x36, 0x0f, 0xcc, 0x00, 0x57, 0xa4, 0xaa, + 0x54, 0xdb, 0x6a, 0x94, 0xa1, 0x60, 0x81, 0x33, 0x16, 0xf8, 0xdc, 0x1b, 0x34, 0xf7, 0x26, 0x43, + 0xed, 0xc1, 0xc0, 0x74, 0xbb, 0x67, 0xfa, 0xe2, 0x1e, 0xdd, 0xd8, 0x12, 0xcb, 0x8b, 0xe9, 0x4a, + 0x7e, 0x03, 0xb6, 0x6d, 0xe6, 0x71, 0xec, 0xf1, 0x90, 0xc7, 0xa4, 0x1b, 0x2b, 0x48, 0x95, 0xc9, + 0x50, 0xdb, 0x8d, 0x49, 0x93, 0xdb, 0x74, 0xe3, 0xfe, 0xfc, 0x8d, 0xa0, 0xde, 0x05, 0x05, 0x4e, + 0x89, 0x87, 0xfd, 0x4a, 0xbe, 0x2a, 0xd5, 0x8a, 0x46, 0xbc, 0x3a, 0xdb, 0xfc, 0x78, 0xa5, 0xe5, + 0x7e, 0x5e, 0x69, 0x39, 0x7d, 0x1f, 0xec, 0xa5, 0x1c, 0x1a, 0x98, 0xf7, 0xa6, 0x2c, 0xfa, 0x67, + 0xe1, 0xfe, 0x75, 0xcf, 0xf9, 0xed, 0xbe, 0x0e, 0x8a, 0xb1, 0x13, 0xea, 0x44, 0xd6, 0x8b, 0xcd, + 0xf2, 0x64, 0xa8, 0xed, 0x24, 0x4c, 0x52, 0x47, 0x37, 0x36, 0xc5, 0xf3, 0x0b, 0x47, 0x3e, 0x06, + 0x85, 0x0e, 0x36, 0x1d, 0xec, 0xaf, 0x72, 0x65, 0xc4, 0x98, 0xb5, 0x3b, 0x5e, 0xec, 0x6a, 0xde, + 0xf1, 0xf7, 0x3c, 0xd8, 0x89, 0x6a, 0xc4, 0x37, 0x9d, 0xbf, 0x68, 0x39, 0x9d, 0xf1, 0xc6, 0xff, + 0xc8, 0x38, 0xff, 0x8f, 0x32, 0x7e, 0x05, 0xca, 0x3d, 0x9f, 0xb1, 0xcb, 0x76, 0x28, 0x6c, 0xb7, + 0x85, 0x6e, 0xe5, 0x4e, 0x55, 0xaa, 0x95, 0x9a, 0xda, 0x64, 0xa8, 0x1d, 0x08, 0xa6, 0x65, 0x28, + 0xdd, 0x90, 0xa3, 0xd7, 0xc9, 0x4f, 0xf6, 0x1e, 0x1c, 0xa6, 0xc0, 0xa9, 0xde, 0xef, 0x46, 0xdc, + 0xb5, 0xc9, 0x50, 0x3b, 0x5a, 0xca, 0x9d, 0xee, 0x59, 0x49, 0x88, 0x64, 0xcd, 0x68, 0x21, 0x23, + 0x71, 0x05, 0x54, 0xd2, 0xa9, 0xce, 0x23, 0xff, 0x2a, 0x81, 0x87, 0x2d, 0x4e, 0x2e, 0x42, 0xcb, + 0xa5, 0x41, 0x8b, 0x72, 0x0b, 0x77, 0xcc, 0x3e, 0x65, 0xa1, 0xff, 0x27, 0xb9, 0x9f, 0x82, 0x92, + 0xbb, 0x40, 0xb1, 0x72, 0x60, 0x13, 0xc8, 0x35, 0xc6, 0x56, 0x03, 0x87, 0x4b, 0xfb, 0x9c, 0x39, + 0x69, 0x7c, 0xc9, 0x83, 0x7c, 0x8b, 0x13, 0xf9, 0x1d, 0x28, 0x25, 0x7e, 0x38, 0x8f, 0xe0, 0xed, + 0x5f, 0x19, 0x4c, 0x9d, 0x59, 0xe5, 0xc9, 0x1a, 0xa0, 0x99, 0xd2, 0x54, 0x21, 0x71, 0xa8, 0xb3, + 0x14, 0x16, 0x41, 0x99, 0x0a, 0xcb, 0x0e, 0xa2, 0x6c, 0x83, 0x7b, 0xc9, 0x89, 0x3a, 0xca, 0xdc, + 0xbd, 0x80, 0x52, 0x8e, 0xd7, 0x41, 0xcd, 0x45, 0x7c, 0x20, 0x2f, 0x89, 0xfd, 0x71, 0x06, 0xc7, + 0x6d, 0xa8, 0x52, 0x5f, 0x1b, 0x3a, 0xd3, 0x6c, 0x1a, 0xdf, 0x46, 0xaa, 0x74, 0x3d, 0x52, 0xa5, + 0x9b, 0x91, 0x2a, 0x7d, 0x1a, 0xab, 0xb9, 0xeb, 0xb1, 0x9a, 0xfb, 0x31, 0x56, 0x73, 0x6f, 0x4f, + 0x09, 0x0d, 0x3a, 0xa1, 0x05, 0x6d, 0xe6, 0x22, 0x9b, 0x71, 0x97, 0x71, 0x44, 0x2d, 0xfb, 0x84, + 0x30, 0xd4, 0x6f, 0x20, 0x97, 0x39, 0x61, 0x17, 0x73, 0x71, 0x5b, 0x3d, 0x6d, 0x9c, 0xc4, 0x17, + 0x56, 0x30, 0xe8, 0x61, 0x6e, 0x15, 0xa2, 0xb9, 0x7a, 0xf6, 0x2b, 0x00, 0x00, 0xff, 0xff, 0x86, + 0x1a, 0x46, 0x6b, 0xd0, 0x06, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. diff --git a/modules/core/23-commitment/types/commitment.pb.go b/modules/core/23-commitment/types/commitment.pb.go index 1de44609bf2..19e58581b70 100644 --- a/modules/core/23-commitment/types/commitment.pb.go +++ b/modules/core/23-commitment/types/commitment.pb.go @@ -217,29 +217,28 @@ func init() { } var fileDescriptor_7921d88972a41469 = []byte{ - // 340 bytes of a gzipped FileDescriptorProto + // 334 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x4c, 0x91, 0xbf, 0x4e, 0xeb, 0x30, - 0x14, 0xc6, 0x13, 0xdd, 0xaa, 0x97, 0xba, 0x95, 0x10, 0x29, 0x54, 0xa8, 0x43, 0x8a, 0x32, 0x40, - 0x97, 0xda, 0x6a, 0xca, 0x54, 0xc1, 0x12, 0x58, 0x91, 0xaa, 0x0c, 0x0c, 0x2c, 0x28, 0x31, 0x4e, - 0x62, 0xb5, 0xe9, 0x89, 0x62, 0xb7, 0x22, 0x6f, 0xc0, 0xc8, 0xc8, 0xc8, 0xe3, 0x30, 0x76, 0x64, - 0xaa, 0x50, 0xfb, 0x06, 0x7d, 0x02, 0x14, 0x9b, 0x42, 0xb6, 0x73, 0x7c, 0x7e, 0xe7, 0x8f, 0xbf, - 0x0f, 0x5d, 0xf0, 0x90, 0x12, 0x0a, 0x39, 0x23, 0x14, 0xd2, 0x94, 0xcb, 0x94, 0xcd, 0x25, 0x59, - 0x0e, 0x2b, 0x19, 0xce, 0x72, 0x90, 0x60, 0x75, 0x78, 0x48, 0x71, 0x09, 0xe2, 0x4a, 0x69, 0x39, - 0xec, 0x1e, 0xc7, 0x10, 0x83, 0x42, 0x48, 0x19, 0x69, 0xba, 0xdb, 0xa6, 0x30, 0x8f, 0x38, 0x90, - 0x2c, 0x07, 0x88, 0x84, 0x7e, 0x74, 0xce, 0x11, 0xba, 0x63, 0xf9, 0x74, 0xc6, 0x7c, 0x00, 0x69, - 0x59, 0xa8, 0x96, 0x04, 0x22, 0x39, 0x35, 0xcf, 0xcc, 0x7e, 0xcb, 0x57, 0xf1, 0xb8, 0xf6, 0xf2, - 0xde, 0x33, 0x9c, 0x5b, 0xd4, 0xd2, 0xdc, 0x24, 0x67, 0x11, 0x7f, 0xb6, 0x2e, 0x11, 0x9a, 0xb2, - 0xe2, 0x31, 0x53, 0x99, 0xe6, 0xbd, 0x93, 0xdd, 0xba, 0x77, 0x54, 0x04, 0xe9, 0x6c, 0xec, 0xfc, - 0xd5, 0x1c, 0xbf, 0x31, 0x65, 0x85, 0xee, 0x72, 0xbc, 0xfd, 0xb6, 0x49, 0x20, 0x13, 0x0b, 0xa3, - 0x03, 0xc5, 0x05, 0xb2, 0xdc, 0xf8, 0xaf, 0xdf, 0xf0, 0xda, 0xbb, 0x75, 0xef, 0xb0, 0x32, 0x21, - 0x90, 0x89, 0xe3, 0xff, 0x2f, 0xfb, 0x03, 0x99, 0x8c, 0x6b, 0x6f, 0xe5, 0x25, 0xd7, 0xa8, 0xb9, - 0xbf, 0x04, 0x20, 0xb2, 0x30, 0xaa, 0xeb, 0x0f, 0xa9, 0x11, 0x4d, 0xb7, 0x83, 0x39, 0x15, 0xee, - 0x08, 0xdf, 0xfc, 0x2a, 0xa2, 0x38, 0xff, 0x87, 0xf2, 0xee, 0x3f, 0x36, 0xb6, 0xb9, 0xda, 0xd8, - 0xe6, 0xd7, 0xc6, 0x36, 0x5f, 0xb7, 0xb6, 0xb1, 0xda, 0xda, 0xc6, 0xe7, 0xd6, 0x36, 0x1e, 0xae, - 0x62, 0x2e, 0x93, 0x45, 0x58, 0x6a, 0x49, 0x28, 0x88, 0x14, 0x04, 0xe1, 0x21, 0x1d, 0xc4, 0x40, - 0x96, 0x2e, 0x49, 0xe1, 0x69, 0x31, 0x63, 0x42, 0xdb, 0xe2, 0x8e, 0x06, 0x15, 0x67, 0x64, 0x91, - 0x31, 0x11, 0xd6, 0x95, 0x9e, 0xa3, 0xef, 0x00, 0x00, 0x00, 0xff, 0xff, 0x19, 0x22, 0x81, 0x31, - 0xbd, 0x01, 0x00, 0x00, + 0x14, 0xc6, 0x13, 0xdd, 0xaa, 0x97, 0xba, 0x95, 0x10, 0x01, 0x2a, 0xd4, 0x21, 0x45, 0x19, 0xa0, + 0x4b, 0x6d, 0x35, 0x65, 0xaa, 0x60, 0x09, 0xac, 0x48, 0x55, 0x06, 0x06, 0x16, 0x94, 0x18, 0x37, + 0xb1, 0xda, 0x70, 0xa2, 0xd8, 0xad, 0xc8, 0x1b, 0x30, 0x32, 0x32, 0xf2, 0x38, 0x8c, 0x1d, 0x99, + 0x2a, 0xd4, 0xbe, 0x41, 0x9f, 0x00, 0xd9, 0xa6, 0x90, 0xed, 0x7c, 0x3a, 0xbf, 0xf3, 0xef, 0x3b, + 0xe8, 0x9c, 0xc7, 0x94, 0x50, 0x28, 0x18, 0xa1, 0x90, 0x65, 0x5c, 0x66, 0xec, 0x49, 0x92, 0xc5, + 0xa0, 0xa2, 0x70, 0x5e, 0x80, 0x04, 0xa7, 0xcd, 0x63, 0x8a, 0x15, 0x88, 0x2b, 0xa9, 0xc5, 0xa0, + 0x73, 0x94, 0x40, 0x02, 0x1a, 0x21, 0x2a, 0x32, 0x74, 0xa7, 0x95, 0x17, 0x00, 0x13, 0x61, 0x94, + 0x77, 0x86, 0xd0, 0x2d, 0x2b, 0xa6, 0x33, 0x16, 0x02, 0x48, 0xc7, 0x41, 0xb5, 0x34, 0x12, 0xe9, + 0x89, 0x7d, 0x6a, 0xf7, 0x5a, 0xa1, 0x8e, 0x47, 0xb5, 0x97, 0xf7, 0xae, 0xe5, 0xdd, 0xa0, 0x96, + 0xe1, 0xc6, 0x05, 0x9b, 0xf0, 0x67, 0xe7, 0x02, 0xa1, 0x29, 0x2b, 0x1f, 0x72, 0xad, 0x0c, 0x1f, + 0x1c, 0x6f, 0x57, 0xdd, 0x83, 0x32, 0xca, 0x66, 0x23, 0xef, 0x2f, 0xe7, 0x85, 0x8d, 0x29, 0x2b, + 0x4d, 0x95, 0x17, 0xec, 0xa6, 0x8d, 0x23, 0x99, 0x3a, 0x18, 0xed, 0x69, 0x2e, 0x92, 0x6a, 0xe2, + 0xbf, 0x5e, 0x23, 0x38, 0xdc, 0xae, 0xba, 0xfb, 0x95, 0x0e, 0x91, 0x4c, 0xbd, 0xf0, 0xbf, 0xaa, + 0x8f, 0x64, 0x3a, 0xaa, 0xbd, 0xa9, 0x4d, 0xae, 0x50, 0x73, 0xb7, 0x09, 0xc0, 0xc4, 0xc1, 0xa8, + 0x6e, 0x0e, 0xd2, 0x2d, 0x9a, 0x7e, 0x1b, 0x73, 0x2a, 0xfc, 0x21, 0xbe, 0xfe, 0xb5, 0x42, 0x73, + 0xe1, 0x0f, 0x15, 0xdc, 0x7d, 0xac, 0x5d, 0x7b, 0xb9, 0x76, 0xed, 0xaf, 0xb5, 0x6b, 0xbf, 0x6e, + 0x5c, 0x6b, 0xb9, 0x71, 0xad, 0xcf, 0x8d, 0x6b, 0xdd, 0x5f, 0x26, 0x5c, 0xa6, 0xf3, 0x58, 0x99, + 0x48, 0x28, 0x88, 0x0c, 0x04, 0xe1, 0x31, 0xed, 0x27, 0x40, 0x16, 0x3e, 0xc9, 0xe0, 0x71, 0x3e, + 0x63, 0xc2, 0xfc, 0xc3, 0x1f, 0xf6, 0x2b, 0x2f, 0x91, 0x65, 0xce, 0x44, 0x5c, 0xd7, 0x7e, 0x0e, + 0xbf, 0x03, 0x00, 0x00, 0xff, 0xff, 0x02, 0x1e, 0x01, 0x6b, 0xb6, 0x01, 0x00, 0x00, } func (m *MerkleRoot) Marshal() (dAtA []byte, err error) { diff --git a/modules/light-clients/07-tendermint/types/tendermint.pb.go b/modules/light-clients/07-tendermint/types/tendermint.pb.go index 6c977c1385e..1b2e70e80f4 100644 --- a/modules/light-clients/07-tendermint/types/tendermint.pb.go +++ b/modules/light-clients/07-tendermint/types/tendermint.pb.go @@ -324,75 +324,75 @@ func init() { } var fileDescriptor_c6d6cf2b288949be = []byte{ - // 1087 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x56, 0xcf, 0x6f, 0xe3, 0xc4, - 0x17, 0x6f, 0xda, 0x7e, 0xb7, 0xc9, 0x24, 0xdd, 0xf6, 0xeb, 0x2d, 0xdd, 0xb4, 0x74, 0xe3, 0xc8, - 0xa0, 0x25, 0x42, 0xaa, 0x4d, 0xb2, 0x48, 0x48, 0x15, 0x17, 0xdc, 0x5d, 0xd4, 0x22, 0x56, 0xaa, - 0x5c, 0x7e, 0x48, 0x48, 0xc8, 0x4c, 0xec, 0x49, 0x32, 0x5a, 0xdb, 0x63, 0x3c, 0x93, 0xd0, 0xf2, - 0x17, 0xc0, 0x01, 0x69, 0x8f, 0x88, 0x13, 0x07, 0xfe, 0x98, 0x3d, 0xf6, 0xc8, 0xc9, 0xa0, 0xf6, - 0xc2, 0x39, 0x47, 0x4e, 0x68, 0x7e, 0xd8, 0x9e, 0x66, 0xbb, 0x54, 0xcb, 0x25, 0x9a, 0xf7, 0xde, - 0xe7, 0x7d, 0x3e, 0x99, 0x37, 0x6f, 0xde, 0x18, 0x38, 0x78, 0x18, 0x38, 0x11, 0x1e, 0x4f, 0x58, - 0x10, 0x61, 0x94, 0x30, 0xea, 0x30, 0x94, 0x84, 0x28, 0x8b, 0x71, 0xc2, 0x9c, 0x59, 0x5f, 0xb3, - 0xec, 0x34, 0x23, 0x8c, 0x18, 0x1d, 0x3c, 0x0c, 0x6c, 0x3d, 0xc1, 0xd6, 0x20, 0xb3, 0xfe, 0x6e, - 0x57, 0xcb, 0x67, 0xe7, 0x29, 0xa2, 0xce, 0x0c, 0x46, 0x38, 0x84, 0x8c, 0x64, 0x92, 0x61, 0x77, - 0xef, 0x25, 0x84, 0xf8, 0x55, 0xd1, 0x7b, 0x01, 0x49, 0x46, 0x98, 0x38, 0x69, 0x46, 0xc8, 0xa8, - 0x70, 0x76, 0xc6, 0x84, 0x8c, 0x23, 0xe4, 0x08, 0x6b, 0x38, 0x1d, 0x39, 0xe1, 0x34, 0x83, 0x0c, - 0x93, 0x44, 0xc5, 0xcd, 0xc5, 0x38, 0xc3, 0x31, 0xa2, 0x0c, 0xc6, 0x69, 0x01, 0xe0, 0xdb, 0x0c, - 0x48, 0x86, 0x1c, 0xf9, 0xaf, 0xf9, 0xd6, 0xe4, 0x4a, 0x01, 0xde, 0xa9, 0x00, 0x24, 0x8e, 0x31, - 0x8b, 0x0b, 0x50, 0x69, 0x29, 0xe0, 0xd6, 0x98, 0x8c, 0x89, 0x58, 0x3a, 0x7c, 0x25, 0xbd, 0xd6, - 0x5f, 0x6b, 0xa0, 0x79, 0x28, 0xf8, 0x4e, 0x19, 0x64, 0xc8, 0xd8, 0x01, 0xf5, 0x60, 0x02, 0x71, - 0xe2, 0xe3, 0xb0, 0x5d, 0xeb, 0xd6, 0x7a, 0x0d, 0x6f, 0x4d, 0xd8, 0xc7, 0xa1, 0x81, 0x40, 0x93, - 0x65, 0x53, 0xca, 0xfc, 0x08, 0xcd, 0x50, 0xd4, 0x5e, 0xee, 0xd6, 0x7a, 0xcd, 0x41, 0xcf, 0xfe, - 0xf7, 0xb2, 0xda, 0x1f, 0x67, 0x30, 0xe0, 0x1b, 0x76, 0x77, 0x5f, 0xe4, 0xe6, 0xd2, 0x3c, 0x37, - 0x8d, 0x73, 0x18, 0x47, 0x07, 0x96, 0x46, 0x65, 0x79, 0x40, 0x58, 0x9f, 0x72, 0xc3, 0x18, 0x81, - 0x0d, 0x61, 0xe1, 0x64, 0xec, 0xa7, 0x28, 0xc3, 0x24, 0x6c, 0xaf, 0x08, 0xa9, 0x1d, 0x5b, 0x16, - 0xcb, 0x2e, 0x8a, 0x65, 0x3f, 0x56, 0xc5, 0x74, 0x2d, 0xc5, 0xbd, 0xad, 0x71, 0x57, 0xf9, 0xd6, - 0xcf, 0x7f, 0x98, 0x35, 0xef, 0x6e, 0xe1, 0x3d, 0x11, 0x4e, 0x03, 0x83, 0xcd, 0x69, 0x32, 0x24, - 0x49, 0xa8, 0x09, 0xad, 0xde, 0x26, 0xf4, 0x96, 0x12, 0xba, 0x2f, 0x85, 0x16, 0x09, 0xa4, 0xd2, - 0x46, 0xe9, 0x56, 0x52, 0x08, 0x6c, 0xc4, 0xf0, 0xcc, 0x0f, 0x22, 0x12, 0x3c, 0xf3, 0xc3, 0x0c, - 0x8f, 0x58, 0xfb, 0x7f, 0xaf, 0xb9, 0xa5, 0x85, 0x7c, 0x29, 0xb4, 0x1e, 0xc3, 0xb3, 0x43, 0xee, - 0x7c, 0xcc, 0x7d, 0xc6, 0xd7, 0x60, 0x7d, 0x94, 0x91, 0xef, 0x51, 0xe2, 0x4f, 0x10, 0x3f, 0x90, - 0xf6, 0x1d, 0x21, 0xb2, 0x2b, 0x8e, 0x88, 0xb7, 0x88, 0xad, 0x3a, 0x67, 0xd6, 0xb7, 0x8f, 0x04, - 0xc2, 0xdd, 0x53, 0x2a, 0x5b, 0x52, 0xe5, 0x5a, 0xba, 0xe5, 0xb5, 0xa4, 0x2d, 0xb1, 0x9c, 0x3e, - 0x82, 0x0c, 0x51, 0x56, 0xd0, 0xaf, 0xbd, 0x2e, 0xfd, 0xb5, 0x74, 0xcb, 0x6b, 0x49, 0x5b, 0xd1, - 0x1f, 0x83, 0xa6, 0xb8, 0x3a, 0x3e, 0x4d, 0x51, 0x40, 0xdb, 0xf5, 0xee, 0x4a, 0xaf, 0x39, 0xd8, - 0xb4, 0x71, 0x40, 0x07, 0x8f, 0xec, 0x13, 0x1e, 0x39, 0x4d, 0x51, 0xe0, 0x6e, 0x57, 0x2d, 0xa4, - 0xc1, 0x2d, 0x0f, 0xa4, 0x05, 0x84, 0x1a, 0x07, 0xa0, 0x35, 0x4d, 0xc7, 0x19, 0x0c, 0x91, 0x9f, - 0x42, 0x36, 0x69, 0x37, 0xba, 0x2b, 0xbd, 0x86, 0x7b, 0x7f, 0x9e, 0x9b, 0xf7, 0xd4, 0xb9, 0x69, - 0x51, 0xcb, 0x6b, 0x2a, 0xf3, 0x04, 0xb2, 0x89, 0xe1, 0x83, 0x1d, 0x18, 0x45, 0xe4, 0x3b, 0x7f, - 0x9a, 0x86, 0x90, 0x21, 0x1f, 0x8e, 0x18, 0xca, 0x7c, 0x74, 0x96, 0xe2, 0xec, 0xbc, 0x0d, 0xba, - 0xb5, 0x5e, 0xdd, 0x7d, 0x7b, 0x9e, 0x9b, 0x5d, 0x49, 0xf4, 0x4a, 0xa8, 0xe5, 0x6d, 0x8b, 0xd8, - 0xe7, 0x22, 0xf4, 0x11, 0x8f, 0x3c, 0x11, 0x01, 0xe3, 0x5b, 0x60, 0xde, 0x90, 0x15, 0x63, 0x3a, - 0x44, 0x13, 0x38, 0xc3, 0x64, 0x9a, 0xb5, 0x9b, 0x42, 0xe6, 0xdd, 0x79, 0x6e, 0x3e, 0x7c, 0xa5, - 0x8c, 0x9e, 0x60, 0x79, 0x7b, 0x8b, 0x62, 0x4f, 0xb5, 0xf0, 0xc1, 0xea, 0x0f, 0xbf, 0x9a, 0x4b, - 0xd6, 0x6f, 0xcb, 0xe0, 0xee, 0x21, 0x49, 0x28, 0x4a, 0xe8, 0x94, 0xca, 0xdb, 0xee, 0x82, 0x46, - 0x39, 0x70, 0xc4, 0x75, 0xe7, 0xc7, 0xb9, 0xd8, 0x92, 0x9f, 0x15, 0x08, 0xb7, 0xce, 0x8f, 0xf3, - 0x39, 0xef, 0xbc, 0x2a, 0xcd, 0xf8, 0x10, 0xac, 0x66, 0x84, 0x30, 0x35, 0x0f, 0x2c, 0xad, 0x1b, - 0xaa, 0x09, 0x34, 0xeb, 0xdb, 0x4f, 0x51, 0xf6, 0x2c, 0x42, 0x1e, 0x21, 0xcc, 0x5d, 0xe5, 0x34, - 0x9e, 0xc8, 0x32, 0x7e, 0xac, 0x81, 0xad, 0x04, 0x9d, 0x31, 0xbf, 0x1c, 0xb6, 0xd4, 0x9f, 0x40, - 0x3a, 0x11, 0x77, 0xbe, 0xe5, 0x7e, 0x39, 0xcf, 0xcd, 0x37, 0x65, 0x0d, 0x6e, 0x42, 0x59, 0x7f, - 0xe7, 0xe6, 0xfb, 0x63, 0xcc, 0x26, 0xd3, 0x21, 0x97, 0xd3, 0x9f, 0x00, 0x6d, 0x19, 0xe1, 0x21, - 0x75, 0x86, 0xe7, 0x0c, 0x51, 0xfb, 0x08, 0x9d, 0xb9, 0x7c, 0xe1, 0x19, 0x9c, 0xee, 0x8b, 0x92, - 0xed, 0x08, 0xd2, 0x89, 0x2a, 0xd3, 0x4f, 0xcb, 0xa0, 0xa5, 0x57, 0xcf, 0xe8, 0x83, 0x86, 0x6c, - 0xec, 0x72, 0x26, 0xba, 0x5b, 0xf3, 0xdc, 0xdc, 0x94, 0x7f, 0xab, 0x0c, 0x59, 0x5e, 0x5d, 0xae, - 0x8f, 0x43, 0x03, 0x82, 0xfa, 0x04, 0xc1, 0x10, 0x65, 0x7e, 0x5f, 0xd5, 0xe5, 0xe1, 0x6d, 0x73, - 0xf2, 0x48, 0xe0, 0xdd, 0xce, 0x65, 0x6e, 0xae, 0xc9, 0x75, 0x7f, 0x9e, 0x9b, 0x1b, 0x52, 0xa4, - 0x20, 0xb3, 0xbc, 0x35, 0xb9, 0xec, 0x6b, 0x12, 0x03, 0x35, 0x1f, 0xff, 0x83, 0xc4, 0xe0, 0x25, - 0x89, 0x41, 0x29, 0x31, 0x50, 0xf5, 0xf8, 0x65, 0x05, 0xdc, 0x91, 0x68, 0x03, 0x82, 0x75, 0x8a, - 0xc7, 0x09, 0x0a, 0x7d, 0x09, 0x51, 0x2d, 0xd3, 0xd1, 0x75, 0xe4, 0x93, 0x78, 0x2a, 0x60, 0x4a, - 0x70, 0xef, 0x22, 0x37, 0x6b, 0xd5, 0x14, 0xb8, 0x46, 0x61, 0x79, 0x2d, 0xaa, 0x61, 0xf9, 0x90, - 0x29, 0xcf, 0xd8, 0xa7, 0xa8, 0x68, 0xab, 0x1b, 0x24, 0xca, 0xc3, 0x3b, 0x45, 0xcc, 0x6d, 0x57, - 0xf4, 0xd7, 0xd2, 0x2d, 0xaf, 0x35, 0xd3, 0x70, 0xc6, 0x37, 0x40, 0x3e, 0x03, 0x42, 0x5f, 0x0c, - 0xb1, 0x95, 0x5b, 0x87, 0xd8, 0x03, 0x35, 0xc4, 0xde, 0xd0, 0x1e, 0x97, 0x32, 0xdf, 0xf2, 0xd6, - 0x95, 0x43, 0x8d, 0xb1, 0x08, 0x18, 0x05, 0xa2, 0x6a, 0x56, 0xf5, 0xb0, 0xdc, 0xb6, 0x8b, 0x07, - 0xf3, 0xdc, 0xdc, 0xb9, 0xae, 0x52, 0x71, 0x58, 0xde, 0xff, 0x95, 0xb3, 0x6a, 0x5b, 0xeb, 0x13, - 0x50, 0x2f, 0x1e, 0x58, 0x63, 0x0f, 0x34, 0x92, 0x69, 0x8c, 0x32, 0x1e, 0x11, 0x27, 0xb3, 0xea, - 0x55, 0x0e, 0xa3, 0x0b, 0x9a, 0x21, 0x4a, 0x48, 0x8c, 0x13, 0x11, 0x5f, 0x16, 0x71, 0xdd, 0xe5, - 0xfa, 0x2f, 0x2e, 0x3b, 0xb5, 0x8b, 0xcb, 0x4e, 0xed, 0xcf, 0xcb, 0x4e, 0xed, 0xf9, 0x55, 0x67, - 0xe9, 0xe2, 0xaa, 0xb3, 0xf4, 0xfb, 0x55, 0x67, 0xe9, 0xab, 0x27, 0xda, 0x15, 0x0b, 0x08, 0x8d, - 0x09, 0xe5, 0x5f, 0x5f, 0xfb, 0x63, 0xe2, 0xcc, 0x06, 0x4e, 0x4c, 0xc2, 0x69, 0x84, 0xa8, 0xfc, - 0x16, 0xdb, 0x2f, 0x3e, 0xc6, 0xde, 0xfb, 0x60, 0x7f, 0xf1, 0x6b, 0x69, 0x78, 0x47, 0x8c, 0x94, - 0x47, 0xff, 0x04, 0x00, 0x00, 0xff, 0xff, 0x64, 0x03, 0x6e, 0x58, 0xbb, 0x09, 0x00, 0x00, + // 1080 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x56, 0xcf, 0x6f, 0xe3, 0x44, + 0x14, 0x6e, 0xda, 0xb2, 0x4d, 0x26, 0xe9, 0xb6, 0x98, 0xd2, 0x4d, 0x4b, 0x37, 0x8e, 0x0c, 0x5a, + 0x22, 0xa4, 0xda, 0x24, 0x8b, 0x84, 0x54, 0x71, 0xc1, 0xdd, 0x45, 0x2d, 0x62, 0xa5, 0xca, 0xe5, + 0x87, 0x84, 0x84, 0xcc, 0xc4, 0x9e, 0x24, 0xa3, 0xb5, 0x3d, 0xc6, 0x33, 0x09, 0x2d, 0x7f, 0x01, + 0x1c, 0x90, 0xf6, 0x88, 0x38, 0x71, 0xe0, 0x8f, 0xd9, 0x63, 0x8f, 0x9c, 0x0c, 0x6a, 0x2f, 0x9c, + 0x73, 0xe4, 0x84, 0xe6, 0x87, 0xed, 0x69, 0xb6, 0x4b, 0xb5, 0x5c, 0xa2, 0x79, 0xef, 0x7d, 0xef, + 0xfb, 0x32, 0x6f, 0xde, 0xbc, 0x31, 0x70, 0xf0, 0x30, 0x70, 0x22, 0x3c, 0x9e, 0xb0, 0x20, 0xc2, + 0x28, 0x61, 0xd4, 0x61, 0x28, 0x09, 0x51, 0x16, 0xe3, 0x84, 0x39, 0xb3, 0xbe, 0x66, 0xd9, 0x69, + 0x46, 0x18, 0x31, 0x3a, 0x78, 0x18, 0xd8, 0x7a, 0x82, 0xad, 0x41, 0x66, 0xfd, 0xdd, 0xae, 0x96, + 0xcf, 0xce, 0x53, 0x44, 0x9d, 0x19, 0x8c, 0x70, 0x08, 0x19, 0xc9, 0x24, 0xc3, 0xee, 0xde, 0x0b, + 0x08, 0xf1, 0xab, 0xa2, 0xad, 0x34, 0x23, 0x64, 0x54, 0x58, 0x9d, 0x31, 0x21, 0xe3, 0x08, 0x39, + 0xc2, 0x1a, 0x4e, 0x47, 0x4e, 0x38, 0xcd, 0x20, 0xc3, 0x24, 0x51, 0x71, 0x73, 0x31, 0xce, 0x70, + 0x8c, 0x28, 0x83, 0x71, 0x5a, 0x00, 0xf8, 0xfe, 0x02, 0x92, 0x21, 0x47, 0xfe, 0x5d, 0xbe, 0x27, + 0xb9, 0x52, 0x80, 0x77, 0x2b, 0x00, 0x89, 0x63, 0xcc, 0xe2, 0x02, 0x54, 0x5a, 0x0a, 0xb8, 0x35, + 0x26, 0x63, 0x22, 0x96, 0x0e, 0x5f, 0x49, 0xaf, 0xf5, 0xf7, 0x1a, 0x68, 0x1e, 0x0a, 0xbe, 0x53, + 0x06, 0x19, 0x32, 0x76, 0x40, 0x3d, 0x98, 0x40, 0x9c, 0xf8, 0x38, 0x6c, 0xd7, 0xba, 0xb5, 0x5e, + 0xc3, 0x5b, 0x13, 0xf6, 0x71, 0x68, 0x20, 0xd0, 0x64, 0xd9, 0x94, 0x32, 0x3f, 0x42, 0x33, 0x14, + 0xb5, 0x97, 0xbb, 0xb5, 0x5e, 0x73, 0xd0, 0xb3, 0xff, 0xbb, 0x9e, 0xf6, 0x27, 0x19, 0x0c, 0xf8, + 0x86, 0xdd, 0xdd, 0xe7, 0xb9, 0xb9, 0x34, 0xcf, 0x4d, 0xe3, 0x1c, 0xc6, 0xd1, 0x81, 0xa5, 0x51, + 0x59, 0x1e, 0x10, 0xd6, 0x67, 0xdc, 0x30, 0x46, 0x60, 0x43, 0x58, 0x38, 0x19, 0xfb, 0x29, 0xca, + 0x30, 0x09, 0xdb, 0x2b, 0x42, 0x6a, 0xc7, 0x96, 0xc5, 0xb2, 0x8b, 0x62, 0xd9, 0x8f, 0x54, 0x31, + 0x5d, 0x4b, 0x71, 0x6f, 0x6b, 0xdc, 0x55, 0xbe, 0xf5, 0xcb, 0x9f, 0x66, 0xcd, 0xbb, 0x5b, 0x78, + 0x4f, 0x84, 0xd3, 0xc0, 0x60, 0x73, 0x9a, 0x0c, 0x49, 0x12, 0x6a, 0x42, 0xab, 0xb7, 0x09, 0xbd, + 0xad, 0x84, 0xee, 0x49, 0xa1, 0x45, 0x02, 0xa9, 0xb4, 0x51, 0xba, 0x95, 0x14, 0x02, 0x1b, 0x31, + 0x3c, 0xf3, 0x83, 0x88, 0x04, 0x4f, 0xfd, 0x30, 0xc3, 0x23, 0xd6, 0x7e, 0xed, 0x15, 0xb7, 0xb4, + 0x90, 0x2f, 0x85, 0xd6, 0x63, 0x78, 0x76, 0xc8, 0x9d, 0x8f, 0xb8, 0xcf, 0xf8, 0x06, 0xac, 0x8f, + 0x32, 0xf2, 0x03, 0x4a, 0xfc, 0x09, 0xe2, 0x07, 0xd2, 0xbe, 0x23, 0x44, 0x76, 0xc5, 0x11, 0xf1, + 0x16, 0xb1, 0x55, 0xe7, 0xcc, 0xfa, 0xf6, 0x91, 0x40, 0xb8, 0x7b, 0x4a, 0x65, 0x4b, 0xaa, 0x5c, + 0x4b, 0xb7, 0xbc, 0x96, 0xb4, 0x25, 0x96, 0xd3, 0x47, 0x90, 0x21, 0xca, 0x0a, 0xfa, 0xb5, 0x57, + 0xa5, 0xbf, 0x96, 0x6e, 0x79, 0x2d, 0x69, 0x2b, 0xfa, 0x63, 0xd0, 0x14, 0x57, 0xc7, 0xa7, 0x29, + 0x0a, 0x68, 0xbb, 0xde, 0x5d, 0xe9, 0x35, 0x07, 0x9b, 0x36, 0x0e, 0xe8, 0xe0, 0xa1, 0x7d, 0xc2, + 0x23, 0xa7, 0x29, 0x0a, 0xdc, 0xed, 0xaa, 0x85, 0x34, 0xb8, 0xe5, 0x81, 0xb4, 0x80, 0x50, 0xe3, + 0x00, 0xb4, 0xa6, 0xe9, 0x38, 0x83, 0x21, 0xf2, 0x53, 0xc8, 0x26, 0xed, 0x46, 0x77, 0xa5, 0xd7, + 0x70, 0xef, 0xcd, 0x73, 0xf3, 0x0d, 0x75, 0x6e, 0x5a, 0xd4, 0xf2, 0x9a, 0xca, 0x3c, 0x81, 0x6c, + 0x62, 0xf8, 0x60, 0x07, 0x46, 0x11, 0xf9, 0xde, 0x9f, 0xa6, 0x21, 0x64, 0xc8, 0x87, 0x23, 0x86, + 0x32, 0x1f, 0x9d, 0xa5, 0x38, 0x3b, 0x6f, 0x83, 0x6e, 0xad, 0x57, 0x77, 0xdf, 0x99, 0xe7, 0x66, + 0x57, 0x12, 0xbd, 0x14, 0x6a, 0x79, 0xdb, 0x22, 0xf6, 0x85, 0x08, 0x7d, 0xcc, 0x23, 0x8f, 0x45, + 0xc0, 0xf8, 0x0e, 0x98, 0x37, 0x64, 0xc5, 0x98, 0x0e, 0xd1, 0x04, 0xce, 0x30, 0x99, 0x66, 0xed, + 0xa6, 0x90, 0x79, 0x6f, 0x9e, 0x9b, 0x0f, 0x5e, 0x2a, 0xa3, 0x27, 0x58, 0xde, 0xde, 0xa2, 0xd8, + 0x13, 0x2d, 0x7c, 0xb0, 0xfa, 0xe3, 0x6f, 0xe6, 0x92, 0xf5, 0xfb, 0x32, 0xb8, 0x7b, 0x48, 0x12, + 0x8a, 0x12, 0x3a, 0xa5, 0xf2, 0xb6, 0xbb, 0xa0, 0x51, 0x0e, 0x1c, 0x71, 0xdd, 0xf9, 0x71, 0x2e, + 0xb6, 0xe4, 0xe7, 0x05, 0xc2, 0xad, 0xf3, 0xe3, 0x7c, 0xc6, 0x3b, 0xaf, 0x4a, 0x33, 0x3e, 0x02, + 0xab, 0x19, 0x21, 0x4c, 0xcd, 0x03, 0x4b, 0xeb, 0x86, 0x6a, 0x02, 0xcd, 0xfa, 0xf6, 0x13, 0x94, + 0x3d, 0x8d, 0x90, 0x47, 0x08, 0x73, 0x57, 0x39, 0x8d, 0x27, 0xb2, 0x8c, 0x9f, 0x6a, 0x60, 0x2b, + 0x41, 0x67, 0xcc, 0x2f, 0xa7, 0x2c, 0xf5, 0x27, 0x90, 0x4e, 0xc4, 0x9d, 0x6f, 0xb9, 0x5f, 0xcd, + 0x73, 0xf3, 0x2d, 0x59, 0x83, 0x9b, 0x50, 0xd6, 0x3f, 0xb9, 0xf9, 0xc1, 0x18, 0xb3, 0xc9, 0x74, + 0xc8, 0xe5, 0xf4, 0xd9, 0xaf, 0x2d, 0x23, 0x3c, 0xa4, 0xce, 0xf0, 0x9c, 0x21, 0x6a, 0x1f, 0xa1, + 0x33, 0x97, 0x2f, 0x3c, 0x83, 0xd3, 0x7d, 0x59, 0xb2, 0x1d, 0x41, 0x3a, 0x51, 0x65, 0xfa, 0x79, + 0x19, 0xb4, 0xf4, 0xea, 0x19, 0x7d, 0xd0, 0x90, 0x8d, 0x5d, 0xce, 0x44, 0x77, 0x6b, 0x9e, 0x9b, + 0x9b, 0xf2, 0x6f, 0x95, 0x21, 0xcb, 0xab, 0xcb, 0xf5, 0x71, 0x68, 0x40, 0x50, 0x9f, 0x20, 0x18, + 0xa2, 0xcc, 0xef, 0xab, 0xba, 0x3c, 0xb8, 0x6d, 0x4e, 0x1e, 0x09, 0xbc, 0xdb, 0xb9, 0xcc, 0xcd, + 0x35, 0xb9, 0xee, 0xcf, 0x73, 0x73, 0x43, 0x8a, 0x14, 0x64, 0x96, 0xb7, 0x26, 0x97, 0x7d, 0x4d, + 0x62, 0xa0, 0xe6, 0xe3, 0xff, 0x90, 0x18, 0xbc, 0x20, 0x31, 0x28, 0x25, 0x06, 0xaa, 0x1e, 0xbf, + 0xae, 0x80, 0x3b, 0x12, 0x6d, 0x40, 0xb0, 0x4e, 0xf1, 0x38, 0x41, 0xa1, 0x2f, 0x21, 0xaa, 0x65, + 0x3a, 0xba, 0x8e, 0x7c, 0x0b, 0x4f, 0x05, 0x4c, 0x09, 0xee, 0x5d, 0xe4, 0x66, 0xad, 0x9a, 0x02, + 0xd7, 0x28, 0x2c, 0xaf, 0x45, 0x35, 0x2c, 0x1f, 0x32, 0xe5, 0x19, 0xfb, 0x14, 0x15, 0x6d, 0x75, + 0x83, 0x44, 0x79, 0x78, 0xa7, 0x88, 0xb9, 0xed, 0x8a, 0xfe, 0x5a, 0xba, 0xe5, 0xb5, 0x66, 0x1a, + 0xce, 0xf8, 0x16, 0xc8, 0x67, 0x40, 0xe8, 0x8b, 0x21, 0xb6, 0x72, 0xeb, 0x10, 0xbb, 0xaf, 0x86, + 0xd8, 0x9b, 0xda, 0xe3, 0x52, 0xe6, 0x5b, 0xde, 0xba, 0x72, 0xa8, 0x31, 0x16, 0x01, 0xa3, 0x40, + 0x54, 0xcd, 0xaa, 0x1e, 0x96, 0xdb, 0x76, 0x71, 0x7f, 0x9e, 0x9b, 0x3b, 0xd7, 0x55, 0x2a, 0x0e, + 0xcb, 0x7b, 0x5d, 0x39, 0xab, 0xb6, 0xb5, 0x3e, 0x05, 0xf5, 0xe2, 0x81, 0x35, 0xf6, 0x40, 0x23, + 0x99, 0xc6, 0x28, 0xe3, 0x11, 0x71, 0x32, 0xab, 0x5e, 0xe5, 0x30, 0xba, 0xa0, 0x19, 0xa2, 0x84, + 0xc4, 0x38, 0x11, 0xf1, 0x65, 0x11, 0xd7, 0x5d, 0xae, 0xff, 0xfc, 0xb2, 0x53, 0xbb, 0xb8, 0xec, + 0xd4, 0xfe, 0xba, 0xec, 0xd4, 0x9e, 0x5d, 0x75, 0x96, 0x2e, 0xae, 0x3a, 0x4b, 0x7f, 0x5c, 0x75, + 0x96, 0xbe, 0x7e, 0xac, 0x5d, 0xb1, 0x80, 0xd0, 0x98, 0x50, 0xfe, 0xd9, 0xb5, 0x3f, 0x26, 0xce, + 0x6c, 0xe0, 0xc4, 0x24, 0x9c, 0x46, 0x88, 0xca, 0x8f, 0xb0, 0xfd, 0xe2, 0x2b, 0xec, 0xfd, 0x0f, + 0xf7, 0x17, 0x3f, 0x93, 0x86, 0x77, 0xc4, 0x48, 0x79, 0xf8, 0x6f, 0x00, 0x00, 0x00, 0xff, 0xff, + 0x57, 0xd8, 0xa6, 0xc2, 0xb4, 0x09, 0x00, 0x00, } func (m *ClientState) Marshal() (dAtA []byte, err error) { diff --git a/proto/buf.yaml b/proto/buf.yaml new file mode 100644 index 00000000000..aae636f0a14 --- /dev/null +++ b/proto/buf.yaml @@ -0,0 +1,20 @@ +# Generated by "buf config migrate-v1beta1". Edit as necessary, and +# remove this comment when you're finished. +# +# This module represents the "proto" root found in +# the previous configuration. +version: v1 +breaking: + use: + - FILE +lint: + use: + - DEFAULT + - COMMENTS + - FILE_LOWER_SNAKE_CASE + except: + - UNARY_RPC + - COMMENT_FIELD + - SERVICE_SUFFIX + - PACKAGE_VERSION_SUFFIX + - RPC_REQUEST_STANDARD_NAME diff --git a/proto/ibc/core/client/v1/tx.proto b/proto/ibc/core/client/v1/tx.proto index 5671d733c33..82df96dec09 100644 --- a/proto/ibc/core/client/v1/tx.proto +++ b/proto/ibc/core/client/v1/tx.proto @@ -6,7 +6,6 @@ option go_package = "github.com/cosmos/ibc-go/v2/modules/core/02-client/types"; import "gogoproto/gogo.proto"; import "google/protobuf/any.proto"; -import "ibc/core/client/v1/client.proto"; // Msg defines the ibc/client Msg service. service Msg { diff --git a/proto/ibc/core/commitment/v1/commitment.proto b/proto/ibc/core/commitment/v1/commitment.proto index b460b9a1e4d..4a39b8305ba 100644 --- a/proto/ibc/core/commitment/v1/commitment.proto +++ b/proto/ibc/core/commitment/v1/commitment.proto @@ -5,7 +5,7 @@ package ibc.core.commitment.v1; option go_package = "github.com/cosmos/ibc-go/v2/modules/core/23-commitment/types"; import "gogoproto/gogo.proto"; -import "confio/proofs.proto"; +import "proofs.proto"; // MerkleRoot defines a merkle root hash. // In the Cosmos SDK, the AppHash of a block header becomes the root. diff --git a/proto/ibc/lightclients/tendermint/v1/tendermint.proto b/proto/ibc/lightclients/tendermint/v1/tendermint.proto index 54e229b28df..7313a5ba91d 100644 --- a/proto/ibc/lightclients/tendermint/v1/tendermint.proto +++ b/proto/ibc/lightclients/tendermint/v1/tendermint.proto @@ -6,7 +6,7 @@ option go_package = "github.com/cosmos/ibc-go/v2/modules/light-clients/07-tender import "tendermint/types/validator.proto"; import "tendermint/types/types.proto"; -import "confio/proofs.proto"; +import "proofs.proto"; import "google/protobuf/duration.proto"; import "google/protobuf/timestamp.proto"; import "ibc/core/client/v1/client.proto"; diff --git a/buf.yaml b/third_party/proto/buf.yaml similarity index 61% rename from buf.yaml rename to third_party/proto/buf.yaml index 37f716cabaa..9af33e5f084 100644 --- a/buf.yaml +++ b/third_party/proto/buf.yaml @@ -1,11 +1,20 @@ -version: v1beta1 - +# Generated by "buf config migrate-v1beta1". Edit as necessary, and +# remove this comment when you're finished. +# +# This module represents the "third_party/proto" root found in +# the previous configuration. +version: v1 build: - roots: - - proto - - third_party/proto excludes: - - third_party/proto/google/protobuf + - google/protobuf +breaking: + use: + - FILE + ignore: + - confio + - gogoproto + - google + - tendermint lint: use: - DEFAULT @@ -18,17 +27,7 @@ lint: - PACKAGE_VERSION_SUFFIX - RPC_REQUEST_STANDARD_NAME ignore: - - tendermint - - gogoproto - - cosmos_proto - - google - confio -breaking: - use: - - FILE - ignore: - - tendermint - gogoproto - - cosmos_proto - google - - confio + - tendermint diff --git a/third_party/proto/cosmos/upgrade/v1beta1/upgrade.proto b/third_party/proto/cosmos/upgrade/v1beta1/upgrade.proto index 76fb14e2d3c..d322dedc30d 100644 --- a/third_party/proto/cosmos/upgrade/v1beta1/upgrade.proto +++ b/third_party/proto/cosmos/upgrade/v1beta1/upgrade.proto @@ -1,7 +1,6 @@ syntax = "proto3"; package cosmos.upgrade.v1beta1; -import "google/protobuf/any.proto"; import "gogoproto/gogo.proto"; import "google/protobuf/timestamp.proto"; diff --git a/third_party/proto/confio/proofs.proto b/third_party/proto/proofs.proto similarity index 100% rename from third_party/proto/confio/proofs.proto rename to third_party/proto/proofs.proto From 33e7a4bda8db8a8e5cb5607dccf6fb876b5c3f10 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?colin=20axn=C3=A9r?= <25233464+colin-axner@users.noreply.github.com> Date: Fri, 3 Dec 2021 14:39:49 +0100 Subject: [PATCH 058/107] bump SDK version to v0.44.5 (#589) --- go.mod | 6 +++--- go.sum | 14 ++++++-------- 2 files changed, 9 insertions(+), 11 deletions(-) diff --git a/go.mod b/go.mod index cc2feb47a67..81ae1d022be 100644 --- a/go.mod +++ b/go.mod @@ -7,7 +7,7 @@ replace github.com/gogo/protobuf => github.com/regen-network/protobuf v1.3.3-alp require ( github.com/armon/go-metrics v0.3.10 github.com/confio/ics23/go v0.6.6 - github.com/cosmos/cosmos-sdk v0.44.4 + github.com/cosmos/cosmos-sdk v0.44.5 github.com/gogo/protobuf v1.3.3 github.com/golang/protobuf v1.5.2 github.com/gorilla/mux v1.8.0 @@ -37,8 +37,9 @@ require ( github.com/cespare/xxhash v1.1.0 // indirect github.com/cespare/xxhash/v2 v2.1.1 // indirect github.com/coinbase/rosetta-sdk-go v0.6.10 // indirect + github.com/cosmos/btcutil v1.0.4 // indirect github.com/cosmos/go-bip39 v1.0.0 // indirect - github.com/cosmos/iavl v0.17.2 // indirect + github.com/cosmos/iavl v0.17.3 // indirect github.com/cosmos/ledger-cosmos-go v0.11.1 // indirect github.com/cosmos/ledger-go v0.9.2 // indirect github.com/danieljoos/wincred v1.0.2 // indirect @@ -49,7 +50,6 @@ require ( github.com/dgryski/go-farm v0.0.0-20200201041132-a6ae2369ad13 // indirect github.com/dustin/go-humanize v1.0.0 // indirect github.com/dvsekhvalnov/jose2go v0.0.0-20200901110807-248326c1351b // indirect - github.com/enigmampc/btcutil v1.0.3-0.20200723161021-e2fb6adb2a25 // indirect github.com/felixge/httpsnoop v1.0.1 // indirect github.com/fsnotify/fsnotify v1.5.1 // indirect github.com/go-kit/kit v0.10.0 // indirect diff --git a/go.sum b/go.sum index 0e2dd889df5..85397133e17 100644 --- a/go.sum +++ b/go.sum @@ -192,13 +192,15 @@ github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7 github.com/coreos/go-systemd/v22 v22.3.2/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= github.com/coreos/pkg v0.0.0-20160727233714-3ac0863d7acf/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA= github.com/coreos/pkg v0.0.0-20180928190104-399ea9e2e55f/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA= -github.com/cosmos/cosmos-sdk v0.44.4 h1:5oJpMr0Uz6PmODDklyNmXLnuByMqonNTxi+LAyhqews= -github.com/cosmos/cosmos-sdk v0.44.4/go.mod h1:0QTCOkE8IWu5LZyfnbbjFjxYRIcV4pBOr7+zPpJwl58= +github.com/cosmos/btcutil v1.0.4 h1:n7C2ngKXo7UC9gNyMNLbzqz7Asuf+7Qv4gnX/rOdQ44= +github.com/cosmos/btcutil v1.0.4/go.mod h1:Ffqc8Hn6TJUdDgHBwIZLtrLQC1KdJ9jGJl/TvgUaxbU= +github.com/cosmos/cosmos-sdk v0.44.5 h1:t5h+KPzZb0Zsag1RP1DCMQlyJyIQqJcqSPJrbUCDGHY= +github.com/cosmos/cosmos-sdk v0.44.5/go.mod h1:maUA6m2TBxOJZkbwl0eRtEBgTX37kcaiOWU5t1HEGaY= github.com/cosmos/go-bip39 v0.0.0-20180819234021-555e2067c45d/go.mod h1:tSxLoYXyBmiFeKpvmq4dzayMdCjCnu8uqmCysIGBT2Y= github.com/cosmos/go-bip39 v1.0.0 h1:pcomnQdrdH22njcAatO0yWojsUnCO3y2tNoV1cb6hHY= github.com/cosmos/go-bip39 v1.0.0/go.mod h1:RNJv0H/pOIVgxw6KS7QeX2a0Uo0aKUlfhZ4xuwvCdJw= -github.com/cosmos/iavl v0.17.2 h1:BT2u7DUvLLB+RYz9RItn/8n7Bt5xe5rj8QRTkk/PQU0= -github.com/cosmos/iavl v0.17.2/go.mod h1:prJoErZFABYZGDHka1R6Oay4z9PrNeFFiMKHDAMOi4w= +github.com/cosmos/iavl v0.17.3 h1:s2N819a2olOmiauVa0WAhoIJq9EhSXE9HDBAoR9k+8Y= +github.com/cosmos/iavl v0.17.3/go.mod h1:prJoErZFABYZGDHka1R6Oay4z9PrNeFFiMKHDAMOi4w= github.com/cosmos/ledger-cosmos-go v0.11.1 h1:9JIYsGnXP613pb2vPjFeMMjBI5lEDsEaF6oYorTy6J4= github.com/cosmos/ledger-cosmos-go v0.11.1/go.mod h1:J8//BsAGTo3OC/vDLjMRFLW6q0WAaXvHnVc7ZmE8iUY= github.com/cosmos/ledger-go v0.9.2 h1:Nnao/dLwaVTk1Q5U9THldpUMMXU94BOTWPddSmVB6pI= @@ -247,8 +249,6 @@ github.com/eapache/go-xerial-snappy v0.0.0-20180814174437-776d5712da21/go.mod h1 github.com/eapache/queue v1.1.0/go.mod h1:6eCeP0CKFpHLu8blIFXhExK/dRa7WDZfr6jVFPTqq+I= github.com/edsrzf/mmap-go v0.0.0-20160512033002-935e0e8a636c/go.mod h1:YO35OhQPt3KJa3ryjFM5Bs14WD66h8eGKpfaBNrHW5M= github.com/edsrzf/mmap-go v1.0.0/go.mod h1:YO35OhQPt3KJa3ryjFM5Bs14WD66h8eGKpfaBNrHW5M= -github.com/enigmampc/btcutil v1.0.3-0.20200723161021-e2fb6adb2a25 h1:2vLKys4RBU4pn2T/hjXMbvwTr1Cvy5THHrQkbeY9HRk= -github.com/enigmampc/btcutil v1.0.3-0.20200723161021-e2fb6adb2a25/go.mod h1:hTr8+TLQmkUkgcuh3mcr5fjrT9c64ZzsBCdCEC6UppY= github.com/envoyproxy/go-control-plane v0.6.9/go.mod h1:SBwIajubJHhxtWwsL9s8ss4safvEdbitLhGGK48rN6g= github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= @@ -530,7 +530,6 @@ github.com/keybase/go-keychain v0.0.0-20190712205309-48d3d31d256d/go.mod h1:JJNr github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= github.com/kkdai/bstream v0.0.0-20161212061736-f391b8402d23/go.mod h1:J+Gs4SYgM6CZQHDETBtE9HaSEkGmuNXF86RwHhHUvq4= -github.com/kkdai/bstream v1.0.0/go.mod h1:FDnDOHt5Yx4p3FaHcioFT0QjDOtgUpvjeZqAs+NVZZA= github.com/klauspost/compress v1.10.3/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs= github.com/klauspost/compress v1.11.7 h1:0hzRabrMN4tSTvMfnL3SCv1ZGeAP23ynzodBgaHeMeg= github.com/klauspost/compress v1.11.7/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs= @@ -927,7 +926,6 @@ golang.org/x/crypto v0.0.0-20191206172530-e9b2fee46413/go.mod h1:LzIPMQfyMNhhGPh golang.org/x/crypto v0.0.0-20200115085410-6d4e4cb37c7d/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20200510223506-06a226fb4e37/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.0.0-20200709230013-948cd5f35899/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20200728195943-123391ffb6de/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20200820211705-5c72a883971a/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20201117144127-c1f2f97bffc9/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I= From 812452d38b1d24d1454c0a4a535095a4eda5e356 Mon Sep 17 00:00:00 2001 From: Carlos Rodriguez Date: Mon, 6 Dec 2021 11:22:22 +0100 Subject: [PATCH 059/107] docs: add documentation for NegotiateAppVersion in apps.md (#555) * docs: add documentation for NegotiateAppVersion in apps.md * review comment Co-authored-by: Damian Nolan Co-authored-by: Carlos Rodriguez Co-authored-by: Damian Nolan --- docs/ibc/apps.md | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/docs/ibc/apps.md b/docs/ibc/apps.md index 4d1b3d0c218..6a6b39ba8d7 100644 --- a/docs/ibc/apps.md +++ b/docs/ibc/apps.md @@ -160,6 +160,36 @@ Application modules are expected to verify versioning used during the channel ha * `ChanOpenTry` callback should verify that the `MsgChanOpenTry.Version` is valid and that `MsgChanOpenTry.CounterpartyVersion` is valid. * `ChanOpenAck` callback should verify that the `MsgChanOpenAck.CounterpartyVersion` is valid and supported. +IBC expects application modules to implement the `NegotiateAppVersion` method from the `IBCModule` +interface. This method performs application version negotiation and returns the negotiated version. +If the version cannot be negotiated, an error should be returned. + +```go +// NegotiateAppVersion performs application version negotiation given the provided channel ordering, connectionID, portID, counterparty and proposed version. +// An error is returned if version negotiation cannot be performed. For example, an application module implementing this interface +// may decide to return an error in the event of the proposed version being incompatible with it's own +NegotiateAppVersion( + ctx sdk.Context, + order channeltypes.Order, + connectionID string, + portID string, + counterparty channeltypes.Counterparty, + proposedVersion string, +) (version string, err error) { + // do custom application version negotiation logic +} +``` + +This function `NegotiateAppVersion` returns the version to be used in the `ChanOpenTry` step +(`MsgChanOpenTry.Version`). The relayer chooses the initial version in the `ChanOpenInit` step +(this will likely be chosen by the user controlling the relayer or by the application that +triggers the `ChanOpenInit` step). + +The version submitted in the `ChanOpenInit` step (`MsgChanOpenInit.Version`) is passed as an +argument (`proposedVersion`) to the function `NegotiateAppVersion`. This function looks at +the `proposedVersion` and returns the matching version to be used in the `ChanOpenTry` step. +Applications can choose to implement this in however fashion they choose. + Versions must be strings but can implement any versioning structure. If your application plans to have linear releases then semantic versioning is recommended. If your application plans to release various features in between major releases then it is advised to use the same versioning scheme From bfbd64b20808663d680b1f429b9436bd27da756b Mon Sep 17 00:00:00 2001 From: Carlos Rodriguez Date: Mon, 6 Dec 2021 15:12:28 +0100 Subject: [PATCH 060/107] docs: add v2.0.0 to docs site (#593) Co-authored-by: Carlos Rodriguez --- docs/.vuepress/config.js | 4 ++++ docs/versions | 1 + 2 files changed, 5 insertions(+) diff --git a/docs/.vuepress/config.js b/docs/.vuepress/config.js index 2ddebeb62a5..48a29d1720a 100644 --- a/docs/.vuepress/config.js +++ b/docs/.vuepress/config.js @@ -41,6 +41,10 @@ module.exports = { { "label": "v1.2.0", "key": "v1.2.0" + }, + { + "label": "v2.0.0", + "key": "v2.0.0" } ], topbar: { diff --git a/docs/versions b/docs/versions index 40bbbb4309e..45d6f133c48 100644 --- a/docs/versions +++ b/docs/versions @@ -1,3 +1,4 @@ +release/v2.0.x v2.0.0 release/v1.2.x v1.2.0 release/v1.1.x v1.1.0 main main From cad7b02ac5e17326bea6278e6e686f08aaf6da4e Mon Sep 17 00:00:00 2001 From: Sean King Date: Tue, 7 Dec 2021 14:52:15 +0100 Subject: [PATCH 061/107] fix: emit channel event instead of connection (#603) * fix: emit channel event instead of connection * chore: changelog * chore: remove unncessary import --- CHANGELOG.md | 3 ++- modules/core/keeper/msg_server.go | 13 ++++++------- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index a66a9463138..dab57d2ed7a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -156,6 +156,7 @@ Ref: https://keepachangelog.com/en/1.0.0/ * (modules/light-clients/06-solomachine) [\#122](https://github.com/cosmos/ibc-go/pull/122) Fix solo machine merkle prefix casting bug. * (modules/light-clients/06-solomachine) [\#120](https://github.com/cosmos/ibc-go/pull/120) Fix solo machine handshake verification bug. * (modules/light-clients/06-solomachine) [\#153](https://github.com/cosmos/ibc-go/pull/153) fix solo machine connection handshake failure at `ConnectionOpenAck`. +* (modules/core) [\#603](https://github.com/cosmos/ibc-go/pull/603) Fix module name emitted as part of `OnChanOpenInit` event. Replacing `connection` module name with `channel`. ### API Breaking @@ -214,4 +215,4 @@ Please see the Release Notes for [v0.41.x](https://github.com/cosmos/cosmos-sdk/ The IBC module was removed in the commit hash [da064e13d56add466548135739c5860a9f7ed842](https://github.com/cosmos/cosmos-sdk/commit/da064e13d56add466548135739c5860a9f7ed842) on the SDK. The release for SDK v0.43.0 will be the first release without the IBC module. -Backports should be made to the [release/v0.42.x](https://github.com/cosmos/cosmos-sdk/tree/release/v0.42.x) branch on the SDK. \ No newline at end of file +Backports should be made to the [release/v0.42.x](https://github.com/cosmos/cosmos-sdk/tree/release/v0.42.x) branch on the SDK. diff --git a/modules/core/keeper/msg_server.go b/modules/core/keeper/msg_server.go index 207a6f17fdc..326e9ce9721 100644 --- a/modules/core/keeper/msg_server.go +++ b/modules/core/keeper/msg_server.go @@ -10,7 +10,6 @@ import ( sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" clienttypes "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" connectiontypes "github.com/cosmos/ibc-go/v2/modules/core/03-connection/types" - "github.com/cosmos/ibc-go/v2/modules/core/04-channel/types" channeltypes "github.com/cosmos/ibc-go/v2/modules/core/04-channel/types" porttypes "github.com/cosmos/ibc-go/v2/modules/core/05-port/types" coretypes "github.com/cosmos/ibc-go/v2/modules/core/types" @@ -286,7 +285,7 @@ func (k Keeper) ChannelOpenInit(goCtx context.Context, msg *channeltypes.MsgChan ctx.EventManager().EmitEvents(sdk.Events{ sdk.NewEvent( sdk.EventTypeMessage, - sdk.NewAttribute(sdk.AttributeKeyModule, connectiontypes.AttributeValueCategory), + sdk.NewAttribute(sdk.AttributeKeyModule, channeltypes.AttributeValueCategory), ), }) @@ -322,7 +321,7 @@ func (k Keeper) ChannelOpenTry(goCtx context.Context, msg *channeltypes.MsgChann ctx.EventManager().EmitEvents(sdk.Events{ sdk.NewEvent( sdk.EventTypeMessage, - sdk.NewAttribute(sdk.AttributeKeyModule, types.AttributeValueCategory), + sdk.NewAttribute(sdk.AttributeKeyModule, channeltypes.AttributeValueCategory), ), }) @@ -359,7 +358,7 @@ func (k Keeper) ChannelOpenAck(goCtx context.Context, msg *channeltypes.MsgChann ctx.EventManager().EmitEvents(sdk.Events{ sdk.NewEvent( sdk.EventTypeMessage, - sdk.NewAttribute(sdk.AttributeKeyModule, types.AttributeValueCategory), + sdk.NewAttribute(sdk.AttributeKeyModule, channeltypes.AttributeValueCategory), ), }) @@ -394,7 +393,7 @@ func (k Keeper) ChannelOpenConfirm(goCtx context.Context, msg *channeltypes.MsgC ctx.EventManager().EmitEvents(sdk.Events{ sdk.NewEvent( sdk.EventTypeMessage, - sdk.NewAttribute(sdk.AttributeKeyModule, types.AttributeValueCategory), + sdk.NewAttribute(sdk.AttributeKeyModule, channeltypes.AttributeValueCategory), ), }) @@ -428,7 +427,7 @@ func (k Keeper) ChannelCloseInit(goCtx context.Context, msg *channeltypes.MsgCha ctx.EventManager().EmitEvents(sdk.Events{ sdk.NewEvent( sdk.EventTypeMessage, - sdk.NewAttribute(sdk.AttributeKeyModule, types.AttributeValueCategory), + sdk.NewAttribute(sdk.AttributeKeyModule, channeltypes.AttributeValueCategory), ), }) @@ -463,7 +462,7 @@ func (k Keeper) ChannelCloseConfirm(goCtx context.Context, msg *channeltypes.Msg ctx.EventManager().EmitEvents(sdk.Events{ sdk.NewEvent( sdk.EventTypeMessage, - sdk.NewAttribute(sdk.AttributeKeyModule, types.AttributeValueCategory), + sdk.NewAttribute(sdk.AttributeKeyModule, channeltypes.AttributeValueCategory), ), }) From b89e03b9553a4f07278b9ea0ee418539cb4e9f3b Mon Sep 17 00:00:00 2001 From: Sean King Date: Tue, 7 Dec 2021 18:10:32 +0100 Subject: [PATCH 062/107] Feature: Interchain accounts v1 (#380) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * migrate ibc-account module to ibc-go * Add @seantking to CODEOWNERS for interchain accounts module * rename ibc-account -> interchain-accounts (#280) * rename ibc-account -> interchain-accounts * fix codeowner file * Integrate ICA into testing package, add simple keeper tests (#282) * add ica to simapp * add simple keeper tests * Add interchain account OnChanOpenInit and InitInterchainAccount tests (#287) * add OnChanOpenInit test * add InitInterchainAccount test * Update modules/apps/27-interchain-accounts/keeper/relay.go * feat: ica proto (#305) * feat: adding proto files for interchain accounts & updating references of IBCAccount -> InterchainAccount * doc: updating comments * docs: update comment * fix: updating proto yaml, query name, query params, comments * ICA OnChanOpenTry update + tests (#299) * update OnChanOpenTry to match ICS specs * write OnChanOpenTry and OnChanOpenAck tests * update comment * test: adding test for OnChanOpenConfirm (#312) * fix: updating port-id & fixing OnChanOpenInit bug (#321) * fix: updating port-id & fixing OnChanOpenInit bug * Update modules/apps/27-interchain-accounts/keeper/handshake.go Co-authored-by: colin axnér <25233464+colin-axner@users.noreply.github.com> * Add counterparty port ID to controller portID (#319) * refactor! move GeneratePortID to types, add counterpartyConnection sequence change all PortId -> PortID move GeneratePortID to types package add counterparty connection sequence argument utilize connectiontypes connectionID parsing function * refactor! use counterparty portID in interchain account address gRPC Remove existing args from gRPC request for interchain account address Use counterparty portID * tests add generate port id tests * apply self-review fixes * test: check active channel is correct (#324) * test: check active channel is correct * test: adding version string check * Removed memkey from ICA keeper (#342) * Removed memkey from ICA keeper * Removed memkey arg in call to NewKeeper from simapp * moving stateless GenerateAddress func to types (#352) * update ica branch codeowners (#353) * move Get/SetInterchainAccount to keeper.go, add tests (#355) * moving setter/getter funcs to keeper.go, adding tests * removing redundant var * fixing test assertion string typo * updating Get/SetInterchainAccount func signatures, tests and adding godocs * grouping imports according, updating suite.FailNow() -> suite.Require().NoError() Co-authored-by: colin axnér <25233464+colin-axner@users.noreply.github.com> * chore: interchain accounts cleanup, cli alias (#362) * adding ica alias for interchain-accounts queries * refactoring bind port and claim capability functionality, code cleanup and godocs * updating interchain accounts pkg naming (#364) * adding ica grpc query tests (#368) * updating grpc query tests, removing queryClient on KeeperTestSuite (#379) * ICA: Adding tests for relay.go (#337) * test: adding test for TrySendTx * test: adding tests for data check * test: adding check for SendTx with []sdk.Message * chore: seperate imports * test: add helper function for creating ICA path * test: adding cases for incorrect outgoing data & channel does not exist * Update ICA on main + add app version negotiation stub (#403) * Bump github.com/cosmos/cosmos-sdk from 0.43.0-rc1 to 0.43.0-rc2 (#269) Bumps [github.com/cosmos/cosmos-sdk](https://github.com/cosmos/cosmos-sdk) from 0.43.0-rc1 to 0.43.0-rc2. - [Release notes](https://github.com/cosmos/cosmos-sdk/releases) - [Changelog](https://github.com/cosmos/cosmos-sdk/blob/v0.43.0-rc2/CHANGELOG.md) - [Commits](https://github.com/cosmos/cosmos-sdk/compare/v0.43.0-rc1...v0.43.0-rc2) --- updated-dependencies: - dependency-name: github.com/cosmos/cosmos-sdk dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * generate swagger files (#267) * Reject Redundant Tx Antedecorator (#235) * writeup simple antedecorator * only do antehandler on checkTx * Update modules/core/04-channel/ante.go Co-authored-by: colin axnér <25233464+colin-axner@users.noreply.github.com> * enable 2 antehandler strategies, and write tests * remove strict decorator and pass on non-packet/update type * move ante logic into its own package * changelog Co-authored-by: colin axnér <25233464+colin-axner@users.noreply.github.com> * perform a no-op on redundant relay messages (#268) * create initial changes for delivertx handling * handle closed channel no-ops, fix tests * self review nits * add changelog * add events for no op messages * add back comment * Bump codecov/codecov-action from 1.5.2 to 2.0.1 (#273) Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from 1.5.2 to 2.0.1. - [Release notes](https://github.com/codecov/codecov-action/releases) - [Changelog](https://github.com/codecov/codecov-action/blob/master/CHANGELOG.md) - [Commits](https://github.com/codecov/codecov-action/compare/v1.5.2...v2.0.1) --- updated-dependencies: - dependency-name: codecov/codecov-action dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: colin axnér <25233464+colin-axner@users.noreply.github.com> * remove ChanCloseInit function from transfer keeper (#275) * remove CloseChanInit from transfer * add changelog Co-authored-by: Aditya * Bump codecov/codecov-action from 2.0.1 to 2.0.2 (#296) Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from 2.0.1 to 2.0.2. - [Release notes](https://github.com/codecov/codecov-action/releases) - [Changelog](https://github.com/codecov/codecov-action/blob/master/CHANGELOG.md) - [Commits](https://github.com/codecov/codecov-action/compare/v2.0.1...v2.0.2) --- updated-dependencies: - dependency-name: codecov/codecov-action dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump github.com/spf13/cast from 1.3.1 to 1.4.0 (#301) Bumps [github.com/spf13/cast](https://github.com/spf13/cast) from 1.3.1 to 1.4.0. - [Release notes](https://github.com/spf13/cast/releases) - [Commits](https://github.com/spf13/cast/compare/v1.3.1...v1.4.0) --- updated-dependencies: - dependency-name: github.com/spf13/cast dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump technote-space/get-diff-action from 4.2 to 5 (#306) Bumps [technote-space/get-diff-action](https://github.com/technote-space/get-diff-action) from 4.2 to 5. - [Release notes](https://github.com/technote-space/get-diff-action/releases) - [Changelog](https://github.com/technote-space/get-diff-action/blob/main/.releasegarc) - [Commits](https://github.com/technote-space/get-diff-action/compare/v4.2...v5) --- updated-dependencies: - dependency-name: technote-space/get-diff-action dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * bump to SDK v0.43.0-rc3 (#308) * SDK v0.43.0-rc3 * add capability fixes * add @seantking as codeowner to interchain accounts (#309) * Bump google.golang.org/grpc from 1.39.0 to 1.39.1 (#320) Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.39.0 to 1.39.1. - [Release notes](https://github.com/grpc/grpc-go/releases) - [Commits](https://github.com/grpc/grpc-go/compare/v1.39.0...v1.39.1) --- updated-dependencies: - dependency-name: google.golang.org/grpc dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump github.com/cosmos/cosmos-sdk from 0.43.0-rc3 to 0.43.0 (#325) Bumps [github.com/cosmos/cosmos-sdk](https://github.com/cosmos/cosmos-sdk) from 0.43.0-rc3 to 0.43.0. - [Release notes](https://github.com/cosmos/cosmos-sdk/releases) - [Changelog](https://github.com/cosmos/cosmos-sdk/blob/master/CHANGELOG.md) - [Commits](https://github.com/cosmos/cosmos-sdk/compare/v0.43.0-rc3...v0.43.0) --- updated-dependencies: - dependency-name: github.com/cosmos/cosmos-sdk dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * module: improve 04-channel logging (#323) * module: improve 04-channel logging * update log Co-authored-by: colin axnér <25233464+colin-axner@users.noreply.github.com> * update changelog (#326) * Bump google.golang.org/grpc from 1.39.1 to 1.40.0 (#332) Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.39.1 to 1.40.0. - [Release notes](https://github.com/grpc/grpc-go/releases) - [Commits](https://github.com/grpc/grpc-go/compare/v1.39.1...v1.40.0) --- updated-dependencies: - dependency-name: google.golang.org/grpc dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump github.com/spf13/cast from 1.4.0 to 1.4.1 (#338) Bumps [github.com/spf13/cast](https://github.com/spf13/cast) from 1.4.0 to 1.4.1. - [Release notes](https://github.com/spf13/cast/releases) - [Commits](https://github.com/spf13/cast/compare/v1.4.0...v1.4.1) --- updated-dependencies: - dependency-name: github.com/spf13/cast dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump github.com/tendermint/tendermint from 0.34.11 to 0.34.12 (#341) Bumps [github.com/tendermint/tendermint](https://github.com/tendermint/tendermint) from 0.34.11 to 0.34.12. - [Release notes](https://github.com/tendermint/tendermint/releases) - [Changelog](https://github.com/tendermint/tendermint/blob/master/CHANGELOG.md) - [Commits](https://github.com/tendermint/tendermint/compare/v0.34.11...v0.34.12) --- updated-dependencies: - dependency-name: github.com/tendermint/tendermint dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: colin axnér <25233464+colin-axner@users.noreply.github.com> * fix broken links in integration.md (#340) * fix broken link in integration.md * fix: broken link to simulator.md file in cosmos-sdk docs Co-authored-by: Carlos Rodriguez * Created helper functions for emitting packet events (#343) * Created helper functions for emitting packet events * Fixed comments and re-ordered helper functions Co-authored-by: colin axnér <25233464+colin-axner@users.noreply.github.com> * Merge pull request from GHSA-qrhq-96mh-q8jv * Bump codecov/codecov-action from 2.0.2 to 2.0.3 (#346) Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from 2.0.2 to 2.0.3. - [Release notes](https://github.com/codecov/codecov-action/releases) - [Changelog](https://github.com/codecov/codecov-action/blob/master/CHANGELOG.md) - [Commits](https://github.com/codecov/codecov-action/compare/v2.0.2...v2.0.3) --- updated-dependencies: - dependency-name: codecov/codecov-action dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: colin axnér <25233464+colin-axner@users.noreply.github.com> * Bump actions/setup-go from 2.1.3 to 2.1.4 (#349) Bumps [actions/setup-go](https://github.com/actions/setup-go) from 2.1.3 to 2.1.4. - [Release notes](https://github.com/actions/setup-go/releases) - [Commits](https://github.com/actions/setup-go/compare/v2.1.3...v2.1.4) --- updated-dependencies: - dependency-name: actions/setup-go dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * increase port identifier limit to 128 characters (#344) * increase port identifier limit to 128 characters increase port limit and add tests for port validation * add changelog * fix tests * update codeowners to include new team members and granular ownership (#354) * update codeowners * add proto files to ownership * bump SDK dependency (#367) * update SDK dependency and fix changes Removes tests from sdk_test.go which are no longer needed to upstream changes in the SDK Fixes client_test.go due to inclusion of the fee in tx events * bump SDK version to v0.44.0 * adding client status cli query (#372) * adding client status cli query * adding query client status cli to changelog * updating long CLI help usage * adding markdown link checker to ci workflows (#377) * packet acknowledgment filtering (#375) * adding packet commitments to QueryPacketAcknowledgementsRequest for filtering * adding testcase for filtered packet ack query * adding changelog entry for packet ack filtering * updating packet sequences type to repeated uint64 * updating to query specific packet acks outside bounds of paginated req * updating changelog field naming, removing redundant pagination in query test * continue in favour of returning an error on query PacketAcknowledgements * updating to return empty array of acks if none of the provided commitments are found Co-authored-by: colin axnér <25233464+colin-axner@users.noreply.github.com> Co-authored-by: colin axnér <25233464+colin-axner@users.noreply.github.com> * Bump github.com/tendermint/tendermint from 0.34.12 to 0.34.13 (#386) Bumps [github.com/tendermint/tendermint](https://github.com/tendermint/tendermint) from 0.34.12 to 0.34.13. - [Release notes](https://github.com/tendermint/tendermint/releases) - [Changelog](https://github.com/tendermint/tendermint/blob/v0.34.13/CHANGELOG.md) - [Commits](https://github.com/tendermint/tendermint/compare/v0.34.12...v0.34.13) --- updated-dependencies: - dependency-name: github.com/tendermint/tendermint dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Change ICS 20 packet data amount to be string (#350) * modify proto defintions * fix non string usage in code and various tests * fix mbt tests * fix bug in data validation * fix various build issues fix unaddressed issues from changing amount from uint64 to string * add changelog entry * apply review suggestions Add check that amount is strictly positive Construct granular error messages to indicate invalid amount value or failure to parse amount * verify and fix telemetry bug Verify msg panics on amounts > int64 by adding tests Add checks to telemetry emission of transfer amounts to handle when the amount cannot be casted to float32 * fix: ibc build docs (#361) * initial fix commit * add release v1.0.1 to versions * improvements for docs website * add new version * address review comments Co-authored-by: Carlos Rodriguez Co-authored-by: colin axnér <25233464+colin-axner@users.noreply.github.com> * feat: scalable version queries (#384) * adding protos for port query interface * adding NegotiateAppVersion method to IBCModule interface * adding grpc port query implementation and module surrounds * adding NegotiateAppVersion implementation to apps/transfer and mocks * updating ErrInvalidVersion error code * adding grpc query tests for 05-port * updating grpc naming, adding godocs, removing redundant query cli * updating grpc query tests * adding changelog entry for #384 app version negotiation * fixing error formatting in transfer version negotiation Co-authored-by: colin axnér <25233464+colin-axner@users.noreply.github.com> * removing client/cli query * updating grpc query naming, adding new fields and associated surrounds Co-authored-by: colin axnér <25233464+colin-axner@users.noreply.github.com> * Bump codecov/codecov-action from 2.0.3 to 2.1.0 (#399) Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from 2.0.3 to 2.1.0. - [Release notes](https://github.com/codecov/codecov-action/releases) - [Changelog](https://github.com/codecov/codecov-action/blob/master/CHANGELOG.md) - [Commits](https://github.com/codecov/codecov-action/compare/v2.0.3...v2.1.0) --- updated-dependencies: - dependency-name: codecov/codecov-action dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * feat: adding fn stub for version negotiation Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: colin axnér <25233464+colin-axner@users.noreply.github.com> Co-authored-by: Aditya Co-authored-by: Aleksandr Bezobchuk Co-authored-by: Carlos Rodriguez Co-authored-by: Carlos Rodriguez Co-authored-by: Luke Rhoads <51463884+lukerhoads@users.noreply.github.com> Co-authored-by: Damian Nolan Co-authored-by: Charly * fix err message (#419) * feat: ica app version negotiation (#410) * adding NegotiateAppVersion implementation and tests * updating GenerateAddress to return sdk.AccAddress, fixing tests * updating ica handshake flow to parse address from version string, fixing associated tests * updating module_tests * derive ica addresses from module account addr * removing unused keys * adding improved version validation, updating tests * removing redundant local var - owner * updating Delimiter godoc * updating validation logic * adding test cases for ValidateVersion * adding additional validation testcase, updating godocs * updating Version -> VersionPrefix, error msgs, validation tests * updating NewAppVersion func sig and usage * updating NewAppVersion args and returning more appropriate errors for handshake * Update modules/apps/27-interchain-accounts/keeper/handshake.go Co-authored-by: Sean King * updating ValidateVersion godoc Co-authored-by: Sean King * test: adding tests for OnRecvPacket (#412) * test: adding tests for OnRecvPacket * test: adding further test cases for onRecvPacket * chore: merge latest main to interchain-accounts (#435) * chore: update ica prefix for port identifiers (#434) * removing ICAPrefix const in favour of VersionPrefix * updating tests * test: account/keeper tests for ICA (#420) * test: adding tests for account type * tests: adding test for keeper & account * fix: updating channel closing capabilities * fix: updating to use test library instead of hardcoded values * fix: updating error handling for account * test: adding test for account string comparison * fix: updating marshal yaml * feat: module account address derivation (#428) * adding module account to interchain-accounts with associated changes * configuring ica module account in simapp * Update modules/apps/27-interchain-accounts/keeper/keeper.go Co-authored-by: Sean King * updating godoc and import alias Co-authored-by: Sean King * ICA: tests for module.go (#424) * test * test: adding module.go test with handshake callback tests * tests: adding key tests * additional code cov and clean up (#440) * split ica module.go into ibc_module.go (#453) Splits IBCModule logic into separate ibc_module.go file and updates app.go registration * Rename IBCAccountPacketData, Remove TxRaw (#456) * rename IBCAccountPacketData, remove txRaw type * Update proto/ibc/applications/interchain_accounts/v1/types.proto * Rename DeserializeTx, enforce []sdk.Msg usage in SerializeCosmosTx (#457) * rename DeserializeTx to DeserializeCosmosTx, simply serialization logic * improve godoc wording * remove computeVirtualTxHash (#473) * chore: ctrl port connection id validation (#454) * adding pipe char | to identifier regex * updating GeneratePortID to use pipe delimiter in favour of dash, ParseAddressFromVersion to use Split in favour of TrimPrefix * adding CounterpartyHops method to expected channel keeper interface * updating tests to satisy delimiter updates * adding connection seq validation of ctrl port id and updating tests * cleanup * adding defensive check for ParseAddressFromVersion * adding conn sequence parsing funcs to pkg types * moving conn sequence validation to reusable func * updating error msgs, adding tests for conn seq parsers * adding expected sequence to error msgs * updating ParseCtrlConnSequence to ParseControllerConnSequence * fixing counterparty port error * Update modules/apps/27-interchain-accounts/keeper/handshake.go Co-authored-by: colin axnér <25233464+colin-axner@users.noreply.github.com> * Update modules/apps/27-interchain-accounts/keeper/handshake.go Co-authored-by: colin axnér <25233464+colin-axner@users.noreply.github.com> * Update modules/apps/27-interchain-accounts/types/account.go Co-authored-by: colin axnér <25233464+colin-axner@users.noreply.github.com> * removing pipe from valid identifier regex * adding error returns to parsing funcs, updating tests, error messages * separting imports in keys.go * updating handshake tests * Update modules/apps/27-interchain-accounts/types/keys.go Co-authored-by: colin axnér <25233464+colin-axner@users.noreply.github.com> * renaming validation func, removing parenthesis in error msgs * renaming func validateControllerPort -> validateControllerPortParams Co-authored-by: colin axnér <25233464+colin-axner@users.noreply.github.com> * chore: correctly set/delete active channels (#463) * correctly set active channels, implement delete OnChanCloseConfirm callback * removing active channel on packet timeout * remove ica hooks (#480) * chore: minor nits - renaming and error msgs (#464) * update ErrPortAlreadyBound error string - remove for address * rename RegisterInterchainAccount api portID -> counterpartyPortID * wrap claim capability errors in handshake * Update modules/apps/27-interchain-accounts/keeper/account.go Co-authored-by: colin axnér <25233464+colin-axner@users.noreply.github.com> * adding channel and port id in error msg * correcting error wording Co-authored-by: colin axnér <25233464+colin-axner@users.noreply.github.com> * chore: update portkey to include port ID (#467) * update port key to use prefix, separate key prefixes to vars * updating godoc * Update modules/apps/27-interchain-accounts/keeper/keeper.go Co-authored-by: colin axnér <25233464+colin-axner@users.noreply.github.com> * adding todo with ica genesis issue ref * fixing failing test from browser commit * removing GetPort in favour of GetAllPorts Co-authored-by: colin axnér <25233464+colin-axner@users.noreply.github.com> * ICA: Rename TxBody, Remove serialization logic from controller, introduce CosmosTx type (#474) * remove ICA TxBody type, use repeated Any in packet data * adjust SerializeCosmosTx, fix tests * apply self nits * add memo length validation * chore(spec): remove old specification * ica: unspecified type enum for interchain account packet data (#487) * adding unspecified type enum, adding defensive check to ValidateBasic * Update modules/apps/27-interchain-accounts/types/packet_test.go Co-authored-by: colin axnér <25233464+colin-axner@users.noreply.github.com> Co-authored-by: colin axnér <25233464+colin-axner@users.noreply.github.com> * chore: ica audit nitpicks (#483) * updating version validation with corrections * removing unused methods from expected keeper interfaces * updating validate version error msg * update to use ErrInvalidVersion in favour of ErrInvalidAccountAddress * fixed typo (#507) * ica: move Serialize/DeserializeCosmosTx to package types (#493) * moving SerializeCosmosTx and DeserializeCosmosTx to types pkg * removing dead code * adding mockSdkMsg message type for failing codec test scenarios * Update modules/apps/27-interchain-accounts/types/codec_test.go * ica: TrySendTx error handling nits (#491) * updating error handling and msgs for TrySendTx flow * renaming active channel ID getter/setters, adding comment re indeterminate errs * renaming DeleteActiveChannel -> DeleteActiveChannelID * chore: adding damo to codeowners (#520) * ica: AuthenticateTx/executeTx clean up (#490) * cleaning up AuthenticateTx and executeTx to reduce unnecessary complexity * adding error wrapping to AuthenticateTx * updating err msg to include expected signer * ICA Controller Side Middleware (#417) * initial draft for ica middleware * add capability handling, fix build and tests * split module.go into ibc_module.go * add middleware handshake tests * fix app.go wiring and various tests * godoc self nits * remove unnecessary error * update comment * fix testing build * split channel keeper interface splits ChannelKeeper interface into ics4Wrapper and core ChannelKeeper * fix tests * remove comments * add callback for timeouts * Apply suggestions from code review Co-authored-by: Sean King Co-authored-by: Damian Nolan * fix test and update testing README apply test fix pointed out by Sean. Update testing README to reflect how to test with the mock module for middleware * add OnRecvPacket test Add test cases for OnRecvPacket, reused structure in relay_test.go * add failing test case for NegotiateAppVersion Co-authored-by: Sean King Co-authored-by: Damian Nolan * ica: genesis state implementation (#481) * initial genesis state draft * updating protos * including yaml tags, sorting proto file structure * updating to use range queries for active channels/interchain accounts * updating GetAllPorts test * moving test strings to expected vars * test: relay tests for TrySendTx/OnRecvPacket (#531) * adding various sdk.Msg type tests and cleaning up relay_test.go * cleaning up tests to make consistent * adding missing godoc for OnRecvPacket * adding ica test for transfertypes.MsgTranfer * updating hardcoded strings to use sdk.DefaultBondDenom * Update modules/apps/27-interchain-accounts/keeper/relay_test.go Co-authored-by: Sean King * removing staking test for insufficient funds Co-authored-by: Sean King * ICA controller/host submodules (#541) * go mod tidy * creating new genesis types for controller and host submodules * removing dead root module code * updating genesis helpers and adding newly generated types * adding interchain-accounts controller submodule * adding interchain-accounts host submodule * updating simapp to include controller and host ica submodules * adding errors returns for disallowed handshake directions, removing embedded app from host module, updating simapp to conform * updating simapp to remove nil arg to ica host ibc module * removing ics4Wrapper arg from ica host submodule * cleaning up module.go for controller and host submodules * removing commented out tests * commit with broken tests to rebase * disabling app version negotation on controller submodule * fixing tests - now passing * various cleanup, godocs and moving code * updating error msgs to conform to pkg split * removing commented out code * adding combined ica genesis, consolidating to single ica AppModule, updating app.go * adding missing godocs * clean up, godocs, rename validate.go -> version.go, move version related funcs * updating godocs and code organization * removing controller module acc, using icatypes module name for module acc in host submodule * correcting panic error msg * Update modules/apps/27-interchain-accounts/controller/ibc_module.go * Update modules/apps/27-interchain-accounts/types/genesis.go Co-authored-by: colin axnér <25233464+colin-axner@users.noreply.github.com> * updating logger kvs, and simplifying OnRecvPacket * address nits on error strings and godocs Co-authored-by: colin axnér <25233464+colin-axner@users.noreply.github.com> * chore: ica submodules minor improvements and cleanup * test: adding test for RegisterInterchainAccount & adding check to rel… (#552) * test: adding test for RegisterInterchainAccount & adding check to relay_test * Update modules/apps/27-interchain-accounts/host/keeper/relay_test.go Co-authored-by: Damian Nolan * Update modules/apps/27-interchain-accounts/host/keeper/relay_test.go Co-authored-by: Damian Nolan * Update modules/apps/27-interchain-accounts/host/keeper/account_test.go * Update modules/apps/27-interchain-accounts/host/keeper/account_test.go Co-authored-by: Damian Nolan * ICA Code Hygiene (#553) * chore: re-creating account.go for controller side for consitency * chore: remove comment * Update modules/apps/27-interchain-accounts/controller/keeper/account.go * ica: wrong handshake flow tests (#538) * add tests for testing wrong handshake flow Adds tests for each handshake test attempting to initialize the handshake using the wrong flow. Adds an additional portID check to OnChanOpenAck. * remove unnecessary comment * readjust tests based on new layout * Add tests provided by Damian * add tests for OnChanCloseInit and OnChanCloseConfirm on host side * add OnChanCloseInit/Confirm and NegotiateAppVersion tests to controller side * fix failing test * ica: genesis state validation (#554) * adding genesis state validation * adding genesis state validation tests * Update modules/apps/27-interchain-accounts/types/genesis_test.go Co-authored-by: colin axnér <25233464+colin-axner@users.noreply.github.com> * Update modules/apps/27-interchain-accounts/types/genesis_test.go Co-authored-by: colin axnér <25233464+colin-axner@users.noreply.github.com> * adding ValidateAccountAddress helper to reduce code duplication Co-authored-by: colin axnér <25233464+colin-axner@users.noreply.github.com> * Rename imports within host/controller (#571) * alias ica types import to for host submodule * alias ica types import to for controller submodule * Add Enable/Disable controller/host on-chain params (#566) * add ica params Add new Params type to ICA. A single test is added to check defaults and validation. Usage within the ICA keepers is still needed * regenerate params proto into host and controller submodules * split params implementation into host/controller * add keeper params logic * Apply suggestions from code review Co-authored-by: Damian Nolan * add host genesis init/export params test case * add genesis validation for controller and host params Co-authored-by: Damian Nolan * Disable usage of controller and host submodules based on on-chain params (#575) * add usage of enabling/disabling controller and host submodules Adds if statement checks in controller/host ibc_module.go. Adds tests for each added if statements. Tests not added for controller ack/timeout since tests do not exist for those functions yet. * Update modules/apps/27-interchain-accounts/controller/ibc_module_test.go * add grpc query for controller and host params (#574) Adds gRPC routes for controller params and host params. Add tests and registers the gRPC gateways on the ica module * modify ica portid to be interchain-account instead of ibcaccount (#577) * feat: allowlist host param using msg typeURLs (#576) * add ica params Add new Params type to ICA. A single test is added to check defaults and validation. Usage within the ICA keepers is still needed * regenerate params proto into host and controller submodules * split params implementation into host/controller * add keeper params logic * Apply suggestions from code review Co-authored-by: Damian Nolan * add host genesis init/export params test case * updating host proto params to include msg allowlist * adding surrounds for new allowlist host param * enforcing msg is present in allowlist in AuthenticateTx, updating tests * regenerating protos post merge conflict * applying suggestinons from review * adding strings.Trimspace as suggested Co-authored-by: Colin Axnér <25233464+colin-axner@users.noreply.github.com> * Add cli query for host and controller params (#578) * add cli query commands for host/controller params * Update modules/apps/27-interchain-accounts/client/cli/cli.go * Update modules/apps/27-interchain-accounts/controller/client/cli/query.go Co-authored-by: Damian Nolan * Update modules/apps/27-interchain-accounts/host/client/cli/query.go Co-authored-by: Damian Nolan Co-authored-by: Damian Nolan * renmaing ModuleName to SubModuleName for ica controller/host (#579) Co-authored-by: colin axnér <25233464+colin-axner@users.noreply.github.com> * add tests/code coverage for OnRecv, OnTimeout and OnAck for controller submodule (#585) Co-authored-by: Colin Axnér <25233464+colin-axner@users.noreply.github.com> Co-authored-by: Luke Rhoads <51463884+lukerhoads@users.noreply.github.com> Co-authored-by: Damian Nolan Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Aditya Co-authored-by: Aleksandr Bezobchuk Co-authored-by: Carlos Rodriguez Co-authored-by: Carlos Rodriguez Co-authored-by: Charly --- .github/CODEOWNERS | 4 +- docs/ibc/proto-docs.md | 209 +++ go.mod | 4 +- .../27-interchain-accounts/client/cli/cli.go | 26 + .../controller/client/cli/cli.go | 21 + .../controller/client/cli/query.go | 37 + .../controller/ibc_module.go | 177 ++ .../controller/ibc_module_test.go | 688 ++++++++ .../controller/keeper/account.go | 40 + .../controller/keeper/account_test.go | 72 + .../controller/keeper/genesis.go | 42 + .../controller/keeper/genesis_test.go | 66 + .../controller/keeper/grpc_query.go | 19 + .../controller/keeper/grpc_query_test.go | 14 + .../controller/keeper/handshake.go | 137 ++ .../controller/keeper/handshake_test.go | 264 +++ .../controller/keeper/keeper.go | 193 ++ .../controller/keeper/keeper_test.go | 247 +++ .../controller/keeper/params.go | 25 + .../controller/keeper/params_test.go | 15 + .../controller/keeper/relay.go | 80 + .../controller/keeper/relay_test.go | 201 +++ .../controller/types/controller.pb.go | 318 ++++ .../controller/types/errors.go | 10 + .../controller/types/keys.go | 9 + .../controller/types/params.go | 59 + .../controller/types/params_test.go | 14 + .../controller/types/query.pb.go | 547 ++++++ .../controller/types/query.pb.gw.go | 148 ++ .../host/client/cli/cli.go | 21 + .../host/client/cli/query.go | 37 + .../27-interchain-accounts/host/ibc_module.go | 151 ++ .../host/ibc_module_test.go | 644 +++++++ .../host/keeper/account.go | 26 + .../host/keeper/account_test.go | 33 + .../host/keeper/genesis.go | 40 + .../host/keeper/genesis_test.go | 65 + .../host/keeper/grpc_query.go | 19 + .../host/keeper/grpc_query_test.go | 14 + .../host/keeper/handshake.go | 137 ++ .../host/keeper/handshake_test.go | 267 +++ .../host/keeper/keeper.go | 201 +++ .../host/keeper/keeper_test.go | 229 +++ .../host/keeper/params.go | 32 + .../host/keeper/params_test.go | 16 + .../host/keeper/relay.go | 93 + .../host/keeper/relay_test.go | 449 +++++ .../host/types/errors.go | 10 + .../host/types/host.pb.go | 377 ++++ .../27-interchain-accounts/host/types/keys.go | 24 + .../host/types/params.go | 83 + .../host/types/params_test.go | 14 + .../host/types/query.pb.go | 547 ++++++ .../host/types/query.pb.gw.go | 148 ++ modules/apps/27-interchain-accounts/module.go | 182 ++ .../27-interchain-accounts/types/account.go | 128 ++ .../types/account.pb.go | 377 ++++ .../types/account_test.go | 128 ++ .../27-interchain-accounts/types/codec.go | 79 + .../types/codec_test.go | 130 ++ .../27-interchain-accounts/types/errors.go | 20 + .../types/expected_keepers.go | 37 + .../27-interchain-accounts/types/genesis.go | 139 ++ .../types/genesis.pb.go | 1548 +++++++++++++++++ .../types/genesis_test.go | 313 ++++ .../apps/27-interchain-accounts/types/keys.go | 54 + .../27-interchain-accounts/types/keys_test.go | 15 + .../27-interchain-accounts/types/packet.go | 50 + .../types/packet_test.go | 75 + .../apps/27-interchain-accounts/types/port.go | 78 + .../27-interchain-accounts/types/port_test.go | 169 ++ .../27-interchain-accounts/types/types.pb.go | 634 +++++++ .../27-interchain-accounts/types/version.go | 67 + .../types/version_test.go | 106 ++ modules/core/04-channel/types/errors.go | 2 + .../controller/v1/controller.proto | 15 + .../controller/v1/query.proto | 27 + .../interchain_accounts/host/v1/host.proto | 17 + .../interchain_accounts/host/v1/query.proto | 27 + .../interchain_accounts/v1/account.proto | 20 + .../interchain_accounts/v1/genesis.proto | 49 + .../interchain_accounts/v1/types.proto | 31 + testing/README.md | 16 +- testing/app.go | 2 +- testing/simapp/app.go | 112 +- .../proto/cosmos/auth/v1beta1/auth.proto | 51 + .../proto/cosmos/auth/v1beta1/genesis.proto | 18 + .../proto/cosmos/auth/v1beta1/query.proto | 48 + third_party/proto/cosmos_proto/cosmos.proto | 16 + 89 files changed, 12106 insertions(+), 37 deletions(-) create mode 100644 modules/apps/27-interchain-accounts/client/cli/cli.go create mode 100644 modules/apps/27-interchain-accounts/controller/client/cli/cli.go create mode 100644 modules/apps/27-interchain-accounts/controller/client/cli/query.go create mode 100644 modules/apps/27-interchain-accounts/controller/ibc_module.go create mode 100644 modules/apps/27-interchain-accounts/controller/ibc_module_test.go create mode 100644 modules/apps/27-interchain-accounts/controller/keeper/account.go create mode 100644 modules/apps/27-interchain-accounts/controller/keeper/account_test.go create mode 100644 modules/apps/27-interchain-accounts/controller/keeper/genesis.go create mode 100644 modules/apps/27-interchain-accounts/controller/keeper/genesis_test.go create mode 100644 modules/apps/27-interchain-accounts/controller/keeper/grpc_query.go create mode 100644 modules/apps/27-interchain-accounts/controller/keeper/grpc_query_test.go create mode 100644 modules/apps/27-interchain-accounts/controller/keeper/handshake.go create mode 100644 modules/apps/27-interchain-accounts/controller/keeper/handshake_test.go create mode 100644 modules/apps/27-interchain-accounts/controller/keeper/keeper.go create mode 100644 modules/apps/27-interchain-accounts/controller/keeper/keeper_test.go create mode 100644 modules/apps/27-interchain-accounts/controller/keeper/params.go create mode 100644 modules/apps/27-interchain-accounts/controller/keeper/params_test.go create mode 100644 modules/apps/27-interchain-accounts/controller/keeper/relay.go create mode 100644 modules/apps/27-interchain-accounts/controller/keeper/relay_test.go create mode 100644 modules/apps/27-interchain-accounts/controller/types/controller.pb.go create mode 100644 modules/apps/27-interchain-accounts/controller/types/errors.go create mode 100644 modules/apps/27-interchain-accounts/controller/types/keys.go create mode 100644 modules/apps/27-interchain-accounts/controller/types/params.go create mode 100644 modules/apps/27-interchain-accounts/controller/types/params_test.go create mode 100644 modules/apps/27-interchain-accounts/controller/types/query.pb.go create mode 100644 modules/apps/27-interchain-accounts/controller/types/query.pb.gw.go create mode 100644 modules/apps/27-interchain-accounts/host/client/cli/cli.go create mode 100644 modules/apps/27-interchain-accounts/host/client/cli/query.go create mode 100644 modules/apps/27-interchain-accounts/host/ibc_module.go create mode 100644 modules/apps/27-interchain-accounts/host/ibc_module_test.go create mode 100644 modules/apps/27-interchain-accounts/host/keeper/account.go create mode 100644 modules/apps/27-interchain-accounts/host/keeper/account_test.go create mode 100644 modules/apps/27-interchain-accounts/host/keeper/genesis.go create mode 100644 modules/apps/27-interchain-accounts/host/keeper/genesis_test.go create mode 100644 modules/apps/27-interchain-accounts/host/keeper/grpc_query.go create mode 100644 modules/apps/27-interchain-accounts/host/keeper/grpc_query_test.go create mode 100644 modules/apps/27-interchain-accounts/host/keeper/handshake.go create mode 100644 modules/apps/27-interchain-accounts/host/keeper/handshake_test.go create mode 100644 modules/apps/27-interchain-accounts/host/keeper/keeper.go create mode 100644 modules/apps/27-interchain-accounts/host/keeper/keeper_test.go create mode 100644 modules/apps/27-interchain-accounts/host/keeper/params.go create mode 100644 modules/apps/27-interchain-accounts/host/keeper/params_test.go create mode 100644 modules/apps/27-interchain-accounts/host/keeper/relay.go create mode 100644 modules/apps/27-interchain-accounts/host/keeper/relay_test.go create mode 100644 modules/apps/27-interchain-accounts/host/types/errors.go create mode 100644 modules/apps/27-interchain-accounts/host/types/host.pb.go create mode 100644 modules/apps/27-interchain-accounts/host/types/keys.go create mode 100644 modules/apps/27-interchain-accounts/host/types/params.go create mode 100644 modules/apps/27-interchain-accounts/host/types/params_test.go create mode 100644 modules/apps/27-interchain-accounts/host/types/query.pb.go create mode 100644 modules/apps/27-interchain-accounts/host/types/query.pb.gw.go create mode 100644 modules/apps/27-interchain-accounts/module.go create mode 100644 modules/apps/27-interchain-accounts/types/account.go create mode 100644 modules/apps/27-interchain-accounts/types/account.pb.go create mode 100644 modules/apps/27-interchain-accounts/types/account_test.go create mode 100644 modules/apps/27-interchain-accounts/types/codec.go create mode 100644 modules/apps/27-interchain-accounts/types/codec_test.go create mode 100644 modules/apps/27-interchain-accounts/types/errors.go create mode 100644 modules/apps/27-interchain-accounts/types/expected_keepers.go create mode 100644 modules/apps/27-interchain-accounts/types/genesis.go create mode 100644 modules/apps/27-interchain-accounts/types/genesis.pb.go create mode 100644 modules/apps/27-interchain-accounts/types/genesis_test.go create mode 100644 modules/apps/27-interchain-accounts/types/keys.go create mode 100644 modules/apps/27-interchain-accounts/types/keys_test.go create mode 100644 modules/apps/27-interchain-accounts/types/packet.go create mode 100644 modules/apps/27-interchain-accounts/types/packet_test.go create mode 100644 modules/apps/27-interchain-accounts/types/port.go create mode 100644 modules/apps/27-interchain-accounts/types/port_test.go create mode 100644 modules/apps/27-interchain-accounts/types/types.pb.go create mode 100644 modules/apps/27-interchain-accounts/types/version.go create mode 100644 modules/apps/27-interchain-accounts/types/version_test.go create mode 100644 proto/ibc/applications/interchain_accounts/controller/v1/controller.proto create mode 100644 proto/ibc/applications/interchain_accounts/controller/v1/query.proto create mode 100644 proto/ibc/applications/interchain_accounts/host/v1/host.proto create mode 100644 proto/ibc/applications/interchain_accounts/host/v1/query.proto create mode 100644 proto/ibc/applications/interchain_accounts/v1/account.proto create mode 100644 proto/ibc/applications/interchain_accounts/v1/genesis.proto create mode 100644 proto/ibc/applications/interchain_accounts/v1/types.proto create mode 100644 third_party/proto/cosmos/auth/v1beta1/auth.proto create mode 100644 third_party/proto/cosmos/auth/v1beta1/genesis.proto create mode 100644 third_party/proto/cosmos/auth/v1beta1/query.proto create mode 100644 third_party/proto/cosmos_proto/cosmos.proto diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 743e1c582b5..2c6a4204e19 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -28,5 +28,5 @@ # CODEOWNERS for interchain-accounts module -/modules/apps/27-interchain-accounts/ @seantking @colin-axner @AdityaSripal -/proto/applications/interchain_accounts/ @seantking @colin-axner @AdityaSripal +/modules/apps/27-interchain-accounts/ @seantking @colin-axner @AdityaSripal @damiannolan +/proto/applications/interchain_accounts/ @seantking @colin-axner @AdityaSripal @damiannolan diff --git a/docs/ibc/proto-docs.md b/docs/ibc/proto-docs.md index 1eb896d016c..c1eaa081667 100644 --- a/docs/ibc/proto-docs.md +++ b/docs/ibc/proto-docs.md @@ -4,6 +4,22 @@ ## Table of Contents +- [ibc/applications/interchain_accounts/v1/account.proto](#ibc/applications/interchain_accounts/v1/account.proto) + - [InterchainAccount](#ibc.applications.interchain_accounts.v1.InterchainAccount) + +- [ibc/applications/interchain_accounts/v1/genesis.proto](#ibc/applications/interchain_accounts/v1/genesis.proto) + - [ActiveChannel](#ibc.applications.interchain_accounts.v1.ActiveChannel) + - [ControllerGenesisState](#ibc.applications.interchain_accounts.v1.ControllerGenesisState) + - [GenesisState](#ibc.applications.interchain_accounts.v1.GenesisState) + - [HostGenesisState](#ibc.applications.interchain_accounts.v1.HostGenesisState) + - [RegisteredInterchainAccount](#ibc.applications.interchain_accounts.v1.RegisteredInterchainAccount) + +- [ibc/applications/interchain_accounts/v1/types.proto](#ibc/applications/interchain_accounts/v1/types.proto) + - [CosmosTx](#ibc.applications.interchain_accounts.v1.CosmosTx) + - [InterchainAccountPacketData](#ibc.applications.interchain_accounts.v1.InterchainAccountPacketData) + + - [Type](#ibc.applications.interchain_accounts.v1.Type) + - [ibc/applications/transfer/v1/transfer.proto](#ibc/applications/transfer/v1/transfer.proto) - [DenomTrace](#ibc.applications.transfer.v1.DenomTrace) - [Params](#ibc.applications.transfer.v1.Params) @@ -254,6 +270,199 @@ +
+

Top

+ +## ibc/applications/interchain_accounts/v1/account.proto + + + + + +### InterchainAccount +An InterchainAccount is defined as a BaseAccount & the address of the account owner on the controller chain + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| `base_account` | [cosmos.auth.v1beta1.BaseAccount](#cosmos.auth.v1beta1.BaseAccount) | | | +| `account_owner` | [string](#string) | | | + + + + + + + + + + + + + + + + +

Top

+ +## ibc/applications/interchain_accounts/v1/genesis.proto + + + + + +### ActiveChannel +ActiveChannel contains a pairing of port ID and channel ID for an active interchain accounts channel + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| `port_id` | [string](#string) | | | +| `channel_id` | [string](#string) | | | + + + + + + + + +### ControllerGenesisState +ControllerGenesisState defines the interchain accounts controller genesis state + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| `active_channels` | [ActiveChannel](#ibc.applications.interchain_accounts.v1.ActiveChannel) | repeated | | +| `interchain_accounts` | [RegisteredInterchainAccount](#ibc.applications.interchain_accounts.v1.RegisteredInterchainAccount) | repeated | | +| `ports` | [string](#string) | repeated | | +| `params` | [ibc.applications.interchain_accounts.controller.v1.Params](#ibc.applications.interchain_accounts.controller.v1.Params) | | | + + + + + + + + +### GenesisState +GenesisState defines the interchain accounts genesis state + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| `controller_genesis_state` | [ControllerGenesisState](#ibc.applications.interchain_accounts.v1.ControllerGenesisState) | | | +| `host_genesis_state` | [HostGenesisState](#ibc.applications.interchain_accounts.v1.HostGenesisState) | | | + + + + + + + + +### HostGenesisState +HostGenesisState defines the interchain accounts host genesis state + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| `active_channels` | [ActiveChannel](#ibc.applications.interchain_accounts.v1.ActiveChannel) | repeated | | +| `interchain_accounts` | [RegisteredInterchainAccount](#ibc.applications.interchain_accounts.v1.RegisteredInterchainAccount) | repeated | | +| `port` | [string](#string) | | | +| `params` | [ibc.applications.interchain_accounts.host.v1.Params](#ibc.applications.interchain_accounts.host.v1.Params) | | | + + + + + + + + +### RegisteredInterchainAccount +RegisteredInterchainAccount contains a pairing of controller port ID and associated interchain account address + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| `port_id` | [string](#string) | | | +| `account_address` | [string](#string) | | | + + + + + + + + + + + + + + + + +

Top

+ +## ibc/applications/interchain_accounts/v1/types.proto + + + + + +### CosmosTx +CosmosTx contains a list of sdk.Msg's. It should be used when sending transactions to an SDK host chain. + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| `messages` | [google.protobuf.Any](#google.protobuf.Any) | repeated | | + + + + + + + + +### InterchainAccountPacketData +InterchainAccountPacketData is comprised of a raw transaction, type of transaction and optional memo field. + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| `type` | [Type](#ibc.applications.interchain_accounts.v1.Type) | | | +| `data` | [bytes](#bytes) | | | +| `memo` | [string](#string) | | | + + + + + + + + + + +### Type +Type defines a classification of message issued from a controller chain to its associated interchain accounts +host + +| Name | Number | Description | +| ---- | ------ | ----------- | +| TYPE_UNSPECIFIED | 0 | Default zero value enumeration | +| TYPE_EXECUTE_TX | 1 | Execute a transaction on an interchain accounts host chain | + + + + + + + + + +

Top

diff --git a/go.mod b/go.mod index 81ae1d022be..2f60220f62e 100644 --- a/go.mod +++ b/go.mod @@ -14,6 +14,7 @@ require ( github.com/grpc-ecosystem/grpc-gateway v1.16.0 github.com/pkg/errors v0.9.1 github.com/rakyll/statik v0.1.7 + github.com/regen-network/cosmos-proto v0.3.1 github.com/spf13/cast v1.4.1 github.com/spf13/cobra v1.2.1 github.com/spf13/viper v1.9.0 @@ -23,6 +24,7 @@ require ( google.golang.org/genproto v0.0.0-20210828152312-66f60bf46e71 google.golang.org/grpc v1.42.0 google.golang.org/protobuf v1.27.1 + gopkg.in/yaml.v2 v2.4.0 ) require ( @@ -92,7 +94,6 @@ require ( github.com/prometheus/common v0.29.0 // indirect github.com/prometheus/procfs v0.6.0 // indirect github.com/rcrowley/go-metrics v0.0.0-20200313005456-10cdbea86bc0 // indirect - github.com/regen-network/cosmos-proto v0.3.1 // indirect github.com/rs/cors v1.7.0 // indirect github.com/rs/zerolog v1.23.0 // indirect github.com/sasha-s/go-deadlock v0.2.1-0.20190427202633-1595213edefa // indirect @@ -113,7 +114,6 @@ require ( golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1 // indirect golang.org/x/text v0.3.6 // indirect gopkg.in/ini.v1 v1.63.2 // indirect - gopkg.in/yaml.v2 v2.4.0 // indirect gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b // indirect nhooyr.io/websocket v1.8.6 // indirect ) diff --git a/modules/apps/27-interchain-accounts/client/cli/cli.go b/modules/apps/27-interchain-accounts/client/cli/cli.go new file mode 100644 index 00000000000..25a89600be7 --- /dev/null +++ b/modules/apps/27-interchain-accounts/client/cli/cli.go @@ -0,0 +1,26 @@ +package cli + +import ( + "github.com/spf13/cobra" + + controllercli "github.com/cosmos/ibc-go/v2/modules/apps/27-interchain-accounts/controller/client/cli" + hostcli "github.com/cosmos/ibc-go/v2/modules/apps/27-interchain-accounts/host/client/cli" +) + +// GetQueryCmd returns the query commands for the interchain-accounts submodule +func GetQueryCmd() *cobra.Command { + icaQueryCmd := &cobra.Command{ + Use: "interchain-accounts", + Aliases: []string{"ica"}, + Short: "interchain-accounts subcommands", + DisableFlagParsing: true, + SuggestionsMinimumDistance: 2, + } + + icaQueryCmd.AddCommand( + controllercli.GetQueryCmd(), + hostcli.GetQueryCmd(), + ) + + return icaQueryCmd +} diff --git a/modules/apps/27-interchain-accounts/controller/client/cli/cli.go b/modules/apps/27-interchain-accounts/controller/client/cli/cli.go new file mode 100644 index 00000000000..0d2f54bd59b --- /dev/null +++ b/modules/apps/27-interchain-accounts/controller/client/cli/cli.go @@ -0,0 +1,21 @@ +package cli + +import ( + "github.com/spf13/cobra" +) + +// GetQueryCmd returns the query commands for the ICA controller submodule +func GetQueryCmd() *cobra.Command { + queryCmd := &cobra.Command{ + Use: "controller", + Short: "interchain-accounts controller subcommands", + DisableFlagParsing: true, + SuggestionsMinimumDistance: 2, + } + + queryCmd.AddCommand( + GetCmdParams(), + ) + + return queryCmd +} diff --git a/modules/apps/27-interchain-accounts/controller/client/cli/query.go b/modules/apps/27-interchain-accounts/controller/client/cli/query.go new file mode 100644 index 00000000000..18c007ea2e9 --- /dev/null +++ b/modules/apps/27-interchain-accounts/controller/client/cli/query.go @@ -0,0 +1,37 @@ +package cli + +import ( + "fmt" + + "github.com/spf13/cobra" + + "github.com/cosmos/cosmos-sdk/client" + "github.com/cosmos/cosmos-sdk/client/flags" + "github.com/cosmos/cosmos-sdk/version" + "github.com/cosmos/ibc-go/v2/modules/apps/27-interchain-accounts/controller/types" +) + +// GetCmdParams returns the command handler for the controller submodule parameter querying. +func GetCmdParams() *cobra.Command { + cmd := &cobra.Command{ + Use: "params", + Short: "Query the current interchain-accounts controller submodule parameters", + Long: "Query the current interchain-accounts controller submodule parameters", + Args: cobra.NoArgs, + Example: fmt.Sprintf("%s query interchain-accounts controller params", version.AppName), + RunE: func(cmd *cobra.Command, _ []string) error { + clientCtx, err := client.GetClientQueryContext(cmd) + if err != nil { + return err + } + queryClient := types.NewQueryClient(clientCtx) + + res, _ := queryClient.Params(cmd.Context(), &types.QueryParamsRequest{}) + return clientCtx.PrintProto(res.Params) + }, + } + + flags.AddQueryFlagsToCmd(cmd) + + return cmd +} diff --git a/modules/apps/27-interchain-accounts/controller/ibc_module.go b/modules/apps/27-interchain-accounts/controller/ibc_module.go new file mode 100644 index 00000000000..897191eca08 --- /dev/null +++ b/modules/apps/27-interchain-accounts/controller/ibc_module.go @@ -0,0 +1,177 @@ +package controller + +import ( + sdk "github.com/cosmos/cosmos-sdk/types" + sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + capabilitytypes "github.com/cosmos/cosmos-sdk/x/capability/types" + + "github.com/cosmos/ibc-go/v2/modules/apps/27-interchain-accounts/controller/keeper" + "github.com/cosmos/ibc-go/v2/modules/apps/27-interchain-accounts/controller/types" + icatypes "github.com/cosmos/ibc-go/v2/modules/apps/27-interchain-accounts/types" + channeltypes "github.com/cosmos/ibc-go/v2/modules/core/04-channel/types" + porttypes "github.com/cosmos/ibc-go/v2/modules/core/05-port/types" + ibcexported "github.com/cosmos/ibc-go/v2/modules/core/exported" +) + +// IBCModule implements the ICS26 interface for interchain accounts controller chains +type IBCModule struct { + keeper keeper.Keeper + app porttypes.IBCModule +} + +// NewIBCModule creates a new IBCModule given the associated keeper and underlying application +func NewIBCModule(k keeper.Keeper, app porttypes.IBCModule) IBCModule { + return IBCModule{ + keeper: k, + app: app, + } +} + +// OnChanOpenInit implements the IBCModule interface +// +// Interchain Accounts is implemented to act as middleware for connected authentication modules on +// the controller side. The connected modules may not change the controller side portID or +// version. They will be allowed to perform custom logic without changing +// the parameters stored within a channel struct. +func (im IBCModule) OnChanOpenInit( + ctx sdk.Context, + order channeltypes.Order, + connectionHops []string, + portID string, + channelID string, + chanCap *capabilitytypes.Capability, + counterparty channeltypes.Counterparty, + version string, +) error { + if !im.keeper.IsControllerEnabled(ctx) { + return types.ErrControllerSubModuleDisabled + } + + if err := im.keeper.OnChanOpenInit(ctx, order, connectionHops, portID, channelID, chanCap, counterparty, version); err != nil { + return err + } + + // call underlying app's OnChanOpenInit callback with the appVersion + return im.app.OnChanOpenInit(ctx, order, connectionHops, portID, channelID, + chanCap, counterparty, version) +} + +// OnChanOpenTry implements the IBCModule interface +func (im IBCModule) OnChanOpenTry( + ctx sdk.Context, + order channeltypes.Order, + connectionHops []string, + portID, + channelID string, + chanCap *capabilitytypes.Capability, + counterparty channeltypes.Counterparty, + version, + counterpartyVersion string, +) error { + return sdkerrors.Wrap(icatypes.ErrInvalidChannelFlow, "channel handshake must be initiated by controller chain") +} + +// OnChanOpenAck implements the IBCModule interface +// +// Interchain Accounts is implemented to act as middleware for connected authentication modules on +// the controller side. The connected modules may not change the portID or +// version. They will be allowed to perform custom logic without changing +// the parameters stored within a channel struct. +func (im IBCModule) OnChanOpenAck( + ctx sdk.Context, + portID, + channelID string, + counterpartyVersion string, +) error { + if !im.keeper.IsControllerEnabled(ctx) { + return types.ErrControllerSubModuleDisabled + } + + if err := im.keeper.OnChanOpenAck(ctx, portID, channelID, counterpartyVersion); err != nil { + return err + } + + // call underlying app's OnChanOpenAck callback with the counterparty app version. + return im.app.OnChanOpenAck(ctx, portID, channelID, counterpartyVersion) +} + +// OnChanOpenAck implements the IBCModule interface +func (im IBCModule) OnChanOpenConfirm( + ctx sdk.Context, + portID, + channelID string, +) error { + return sdkerrors.Wrap(icatypes.ErrInvalidChannelFlow, "channel handshake must be initiated by controller chain") +} + +// OnChanCloseInit implements the IBCModule interface +func (im IBCModule) OnChanCloseInit( + ctx sdk.Context, + portID, + channelID string, +) error { + // Disallow user-initiated channel closing for interchain account channels + return sdkerrors.Wrap(sdkerrors.ErrInvalidRequest, "user cannot close channel") +} + +// OnChanCloseConfirm implements the IBCModule interface +func (im IBCModule) OnChanCloseConfirm( + ctx sdk.Context, + portID, + channelID string, +) error { + return im.keeper.OnChanCloseConfirm(ctx, portID, channelID) +} + +// OnRecvPacket implements the IBCModule interface +func (im IBCModule) OnRecvPacket( + ctx sdk.Context, + packet channeltypes.Packet, + _ sdk.AccAddress, +) ibcexported.Acknowledgement { + return channeltypes.NewErrorAcknowledgement("cannot receive packet on controller chain") +} + +// OnAcknowledgementPacket implements the IBCModule interface +func (im IBCModule) OnAcknowledgementPacket( + ctx sdk.Context, + packet channeltypes.Packet, + acknowledgement []byte, + relayer sdk.AccAddress, +) error { + if !im.keeper.IsControllerEnabled(ctx) { + return types.ErrControllerSubModuleDisabled + } + + // call underlying app's OnAcknowledgementPacket callback. + return im.app.OnAcknowledgementPacket(ctx, packet, acknowledgement, relayer) +} + +// OnTimeoutPacket implements the IBCModule interface +func (im IBCModule) OnTimeoutPacket( + ctx sdk.Context, + packet channeltypes.Packet, + relayer sdk.AccAddress, +) error { + if !im.keeper.IsControllerEnabled(ctx) { + return types.ErrControllerSubModuleDisabled + } + + if err := im.keeper.OnTimeoutPacket(ctx, packet); err != nil { + return err + } + + return im.app.OnTimeoutPacket(ctx, packet, relayer) +} + +// NegotiateAppVersion implements the IBCModule interface +func (im IBCModule) NegotiateAppVersion( + ctx sdk.Context, + order channeltypes.Order, + connectionID string, + portID string, + counterparty channeltypes.Counterparty, + proposedVersion string, +) (string, error) { + return "", sdkerrors.Wrap(icatypes.ErrInvalidChannelFlow, "ICS-27 app version negotiation is unsupported on controller chains") +} diff --git a/modules/apps/27-interchain-accounts/controller/ibc_module_test.go b/modules/apps/27-interchain-accounts/controller/ibc_module_test.go new file mode 100644 index 00000000000..0cba3a54eae --- /dev/null +++ b/modules/apps/27-interchain-accounts/controller/ibc_module_test.go @@ -0,0 +1,688 @@ +package controller_test + +import ( + "fmt" + "testing" + + sdk "github.com/cosmos/cosmos-sdk/types" + capabilitytypes "github.com/cosmos/cosmos-sdk/x/capability/types" + "github.com/stretchr/testify/suite" + "github.com/tendermint/tendermint/crypto" + + "github.com/cosmos/ibc-go/v2/modules/apps/27-interchain-accounts/controller/types" + icatypes "github.com/cosmos/ibc-go/v2/modules/apps/27-interchain-accounts/types" + clienttypes "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" + channeltypes "github.com/cosmos/ibc-go/v2/modules/core/04-channel/types" + host "github.com/cosmos/ibc-go/v2/modules/core/24-host" + ibctesting "github.com/cosmos/ibc-go/v2/testing" +) + +var ( + // TestAccAddress defines a resuable bech32 address for testing purposes + // TODO: update crypto.AddressHash() when sdk uses address.Module() + TestAccAddress = icatypes.GenerateAddress(sdk.AccAddress(crypto.AddressHash([]byte(icatypes.ModuleName))), TestPortID) + // TestOwnerAddress defines a reusable bech32 address for testing purposes + TestOwnerAddress = "cosmos17dtl0mjt3t77kpuhg2edqzjpszulwhgzuj9ljs" + // TestPortID defines a resuable port identifier for testing purposes + TestPortID, _ = icatypes.GeneratePortID(TestOwnerAddress, ibctesting.FirstConnectionID, ibctesting.FirstConnectionID) + // TestVersion defines a resuable interchainaccounts version string for testing purposes + TestVersion = icatypes.NewAppVersion(icatypes.VersionPrefix, TestAccAddress.String()) +) + +type InterchainAccountsTestSuite struct { + suite.Suite + + coordinator *ibctesting.Coordinator + + // testing chains used for convenience and readability + chainA *ibctesting.TestChain + chainB *ibctesting.TestChain +} + +func TestICATestSuite(t *testing.T) { + suite.Run(t, new(InterchainAccountsTestSuite)) +} + +func (suite *InterchainAccountsTestSuite) SetupTest() { + suite.coordinator = ibctesting.NewCoordinator(suite.T(), 2) + suite.chainA = suite.coordinator.GetChain(ibctesting.GetChainID(0)) + suite.chainB = suite.coordinator.GetChain(ibctesting.GetChainID(1)) +} + +func NewICAPath(chainA, chainB *ibctesting.TestChain) *ibctesting.Path { + path := ibctesting.NewPath(chainA, chainB) + path.EndpointA.ChannelConfig.PortID = icatypes.PortID + path.EndpointB.ChannelConfig.PortID = icatypes.PortID + path.EndpointA.ChannelConfig.Order = channeltypes.ORDERED + path.EndpointB.ChannelConfig.Order = channeltypes.ORDERED + path.EndpointA.ChannelConfig.Version = icatypes.VersionPrefix + path.EndpointB.ChannelConfig.Version = TestVersion + + return path +} + +func InitInterchainAccount(endpoint *ibctesting.Endpoint, owner string) error { + portID, err := icatypes.GeneratePortID(owner, endpoint.ConnectionID, endpoint.Counterparty.ConnectionID) + if err != nil { + return err + } + + channelSequence := endpoint.Chain.App.GetIBCKeeper().ChannelKeeper.GetNextChannelSequence(endpoint.Chain.GetContext()) + + if err := endpoint.Chain.GetSimApp().ICAControllerKeeper.InitInterchainAccount(endpoint.Chain.GetContext(), endpoint.ConnectionID, endpoint.Counterparty.ConnectionID, owner); err != nil { + return err + } + + // commit state changes for proof verification + endpoint.Chain.App.Commit() + endpoint.Chain.NextBlock() + + // update port/channel ids + endpoint.ChannelID = channeltypes.FormatChannelIdentifier(channelSequence) + endpoint.ChannelConfig.PortID = portID + + return nil +} + +// SetupICAPath invokes the InterchainAccounts entrypoint and subsequent channel handshake handlers +func SetupICAPath(path *ibctesting.Path, owner string) error { + if err := InitInterchainAccount(path.EndpointA, owner); err != nil { + return err + } + + if err := path.EndpointB.ChanOpenTry(); err != nil { + return err + } + + if err := path.EndpointA.ChanOpenAck(); err != nil { + return err + } + + if err := path.EndpointB.ChanOpenConfirm(); err != nil { + return err + } + + return nil +} + +func (suite *InterchainAccountsTestSuite) TestOnChanOpenInit() { + var ( + channel *channeltypes.Channel + ) + + testCases := []struct { + name string + malleate func() + expPass bool + }{ + { + "success", func() {}, true, + }, + { + "controller submodule disabled", func() { + suite.chainA.GetSimApp().ICAControllerKeeper.SetParams(suite.chainA.GetContext(), types.NewParams(false)) + }, false, + }, + { + "ICA OnChanOpenInit fails - UNORDERED channel", func() { + channel.Ordering = channeltypes.UNORDERED + }, false, + }, + { + "ICA auth module callback fails", func() { + suite.chainA.GetSimApp().ICAAuthModule.IBCApp.OnChanOpenInit = func(ctx sdk.Context, order channeltypes.Order, connectionHops []string, + portID, channelID string, chanCap *capabilitytypes.Capability, + counterparty channeltypes.Counterparty, version string, + ) error { + return fmt.Errorf("mock ica auth fails") + } + }, false, + }, + } + + for _, tc := range testCases { + tc := tc + + suite.Run(tc.name, func() { + suite.SetupTest() // reset + + path := NewICAPath(suite.chainA, suite.chainB) + suite.coordinator.SetupConnections(path) + + // mock init interchain account + portID, err := icatypes.GeneratePortID(TestOwnerAddress, path.EndpointA.ConnectionID, path.EndpointB.ConnectionID) + suite.Require().NoError(err) + + portCap := suite.chainA.GetSimApp().IBCKeeper.PortKeeper.BindPort(suite.chainA.GetContext(), portID) + suite.chainA.GetSimApp().ICAControllerKeeper.ClaimCapability(suite.chainA.GetContext(), portCap, host.PortPath(portID)) + + path.EndpointA.ChannelConfig.PortID = portID + path.EndpointA.ChannelID = ibctesting.FirstChannelID + + // default values + counterparty := channeltypes.NewCounterparty(path.EndpointB.ChannelConfig.PortID, path.EndpointB.ChannelID) + channel = &channeltypes.Channel{ + State: channeltypes.INIT, + Ordering: channeltypes.ORDERED, + Counterparty: counterparty, + ConnectionHops: []string{path.EndpointA.ConnectionID}, + Version: icatypes.VersionPrefix, + } + + tc.malleate() // malleate mutates test data + + // ensure channel on chainA is set in state + suite.chainA.GetSimApp().IBCKeeper.ChannelKeeper.SetChannel(suite.chainA.GetContext(), path.EndpointA.ChannelConfig.PortID, path.EndpointA.ChannelID, *channel) + + module, _, err := suite.chainA.App.GetIBCKeeper().PortKeeper.LookupModuleByPort(suite.chainA.GetContext(), path.EndpointA.ChannelConfig.PortID) + suite.Require().NoError(err) + + chanCap, err := suite.chainA.App.GetScopedIBCKeeper().NewCapability(suite.chainA.GetContext(), host.ChannelCapabilityPath(path.EndpointA.ChannelConfig.PortID, path.EndpointA.ChannelID)) + suite.Require().NoError(err) + + cbs, ok := suite.chainA.App.GetIBCKeeper().Router.GetRoute(module) + suite.Require().True(ok) + + err = cbs.OnChanOpenInit(suite.chainA.GetContext(), channel.Ordering, channel.GetConnectionHops(), + path.EndpointA.ChannelConfig.PortID, path.EndpointA.ChannelID, chanCap, channel.Counterparty, channel.GetVersion(), + ) + + if tc.expPass { + suite.Require().NoError(err) + } else { + suite.Require().Error(err) + } + }) + } +} + +// Test initiating a ChanOpenTry using the controller chain instead of the host chain +// ChainA is the controller chain. ChainB creates a controller port as well, +// attempting to trick chainA. +// Sending a MsgChanOpenTry will never reach the application callback due to +// core IBC checks not passing, so a call to the application callback is also +// done directly. +func (suite *InterchainAccountsTestSuite) TestChanOpenTry() { + suite.SetupTest() // reset + path := NewICAPath(suite.chainA, suite.chainB) + suite.coordinator.SetupConnections(path) + + err := InitInterchainAccount(path.EndpointA, TestOwnerAddress) + suite.Require().NoError(err) + + // chainB also creates a controller port + err = InitInterchainAccount(path.EndpointB, TestOwnerAddress) + suite.Require().NoError(err) + + path.EndpointA.UpdateClient() + channelKey := host.ChannelKey(path.EndpointB.ChannelConfig.PortID, path.EndpointB.ChannelID) + proofInit, proofHeight := path.EndpointB.Chain.QueryProof(channelKey) + + // use chainA (controller) for ChanOpenTry + msg := channeltypes.NewMsgChannelOpenTry(path.EndpointA.ChannelConfig.PortID, path.EndpointA.ChannelID, TestVersion, channeltypes.ORDERED, []string{path.EndpointA.ConnectionID}, path.EndpointB.ChannelConfig.PortID, path.EndpointB.ChannelID, icatypes.VersionPrefix, proofInit, proofHeight, icatypes.ModuleName) + handler := suite.chainA.GetSimApp().MsgServiceRouter().Handler(msg) + _, err = handler(suite.chainA.GetContext(), msg) + + suite.Require().Error(err) + + // call application callback directly + module, _, err := suite.chainA.App.GetIBCKeeper().PortKeeper.LookupModuleByPort(suite.chainA.GetContext(), path.EndpointB.ChannelConfig.PortID) + suite.Require().NoError(err) + + cbs, ok := suite.chainA.App.GetIBCKeeper().Router.GetRoute(module) + suite.Require().True(ok) + + counterparty := channeltypes.NewCounterparty(path.EndpointB.ChannelConfig.PortID, path.EndpointB.ChannelID) + chanCap, found := suite.chainA.App.GetScopedIBCKeeper().GetCapability(suite.chainA.GetContext(), host.ChannelCapabilityPath(path.EndpointA.ChannelConfig.PortID, path.EndpointA.ChannelID)) + suite.Require().True(found) + + err = cbs.OnChanOpenTry( + suite.chainA.GetContext(), path.EndpointA.ChannelConfig.Order, []string{path.EndpointA.ConnectionID}, + path.EndpointA.ChannelConfig.PortID, path.EndpointA.ChannelID, chanCap, + counterparty, path.EndpointA.ChannelConfig.Version, path.EndpointB.ChannelConfig.Version, + ) + suite.Require().Error(err) +} + +func (suite *InterchainAccountsTestSuite) TestOnChanOpenAck() { + var ( + path *ibctesting.Path + ) + + testCases := []struct { + name string + malleate func() + expPass bool + }{ + { + "success", func() {}, true, + }, + { + "controller submodule disabled", func() { + suite.chainA.GetSimApp().ICAControllerKeeper.SetParams(suite.chainA.GetContext(), types.NewParams(false)) + }, false, + }, + { + "ICA OnChanOpenACK fails - invalid version", func() { + path.EndpointB.ChannelConfig.Version = "invalid|version" + }, false, + }, + { + "ICA auth module callback fails", func() { + suite.chainA.GetSimApp().ICAAuthModule.IBCApp.OnChanOpenAck = func( + ctx sdk.Context, portID, channelID string, counterpartyVersion string, + ) error { + return fmt.Errorf("mock ica auth fails") + } + }, false, + }, + } + + for _, tc := range testCases { + tc := tc + + suite.Run(tc.name, func() { + suite.SetupTest() // reset + + path = NewICAPath(suite.chainA, suite.chainB) + suite.coordinator.SetupConnections(path) + + err := InitInterchainAccount(path.EndpointA, TestOwnerAddress) + suite.Require().NoError(err) + + err = path.EndpointB.ChanOpenTry() + suite.Require().NoError(err) + + tc.malleate() // malleate mutates test data + + module, _, err := suite.chainA.App.GetIBCKeeper().PortKeeper.LookupModuleByPort(suite.chainA.GetContext(), path.EndpointA.ChannelConfig.PortID) + suite.Require().NoError(err) + + cbs, ok := suite.chainA.App.GetIBCKeeper().Router.GetRoute(module) + suite.Require().True(ok) + + err = cbs.OnChanOpenAck(suite.chainA.GetContext(), path.EndpointA.ChannelConfig.PortID, path.EndpointA.ChannelID, path.EndpointB.ChannelConfig.Version) + + if tc.expPass { + suite.Require().NoError(err) + } else { + suite.Require().Error(err) + } + + }) + } + +} + +// Test initiating a ChanOpenConfirm using the controller chain instead of the host chain +// ChainA is the controller chain. ChainB is the host chain +// Sending a MsgChanOpenConfirm will never reach the application callback due to +// core IBC checks not passing, so a call to the application callback is also +// done directly. +func (suite *InterchainAccountsTestSuite) TestChanOpenConfirm() { + suite.SetupTest() // reset + path := NewICAPath(suite.chainA, suite.chainB) + suite.coordinator.SetupConnections(path) + + err := InitInterchainAccount(path.EndpointA, TestOwnerAddress) + suite.Require().NoError(err) + + err = path.EndpointB.ChanOpenTry() + suite.Require().NoError(err) + + // chainB maliciously sets channel to OPEN + channel := channeltypes.NewChannel(channeltypes.OPEN, channeltypes.ORDERED, channeltypes.NewCounterparty(path.EndpointA.ChannelConfig.PortID, path.EndpointA.ChannelID), []string{path.EndpointB.ConnectionID}, TestVersion) + suite.chainB.GetSimApp().GetIBCKeeper().ChannelKeeper.SetChannel(suite.chainB.GetContext(), path.EndpointB.ChannelConfig.PortID, path.EndpointB.ChannelID, channel) + + // commit state changes so proof can be created + suite.chainB.App.Commit() + suite.chainB.NextBlock() + + path.EndpointA.UpdateClient() + + // query proof from ChainB + channelKey := host.ChannelKey(path.EndpointB.ChannelConfig.PortID, path.EndpointB.ChannelID) + proofAck, proofHeight := path.EndpointB.Chain.QueryProof(channelKey) + + // use chainA (controller) for ChanOpenConfirm + msg := channeltypes.NewMsgChannelOpenConfirm(path.EndpointA.ChannelConfig.PortID, path.EndpointA.ChannelID, proofAck, proofHeight, icatypes.ModuleName) + handler := suite.chainA.GetSimApp().MsgServiceRouter().Handler(msg) + _, err = handler(suite.chainA.GetContext(), msg) + + suite.Require().Error(err) + + // call application callback directly + module, _, err := suite.chainA.App.GetIBCKeeper().PortKeeper.LookupModuleByPort(suite.chainA.GetContext(), path.EndpointA.ChannelConfig.PortID) + suite.Require().NoError(err) + + cbs, ok := suite.chainA.App.GetIBCKeeper().Router.GetRoute(module) + suite.Require().True(ok) + + err = cbs.OnChanOpenConfirm( + suite.chainA.GetContext(), path.EndpointA.ChannelConfig.PortID, path.EndpointA.ChannelID, + ) + suite.Require().Error(err) + +} + +// OnChanCloseInit on controller (chainA) +func (suite *InterchainAccountsTestSuite) TestOnChanCloseInit() { + path := NewICAPath(suite.chainA, suite.chainB) + suite.coordinator.SetupConnections(path) + + err := SetupICAPath(path, TestOwnerAddress) + suite.Require().NoError(err) + + module, _, err := suite.chainA.App.GetIBCKeeper().PortKeeper.LookupModuleByPort(suite.chainA.GetContext(), path.EndpointA.ChannelConfig.PortID) + suite.Require().NoError(err) + + cbs, ok := suite.chainA.App.GetIBCKeeper().Router.GetRoute(module) + suite.Require().True(ok) + + err = cbs.OnChanCloseInit( + suite.chainA.GetContext(), path.EndpointA.ChannelConfig.PortID, path.EndpointA.ChannelID, + ) + + suite.Require().Error(err) +} + +func (suite *InterchainAccountsTestSuite) TestOnChanCloseConfirm() { + var ( + path *ibctesting.Path + ) + + testCases := []struct { + name string + malleate func() + expPass bool + }{ + + { + "success", func() {}, true, + }, + } + + for _, tc := range testCases { + suite.Run(tc.name, func() { + suite.SetupTest() // reset + + path = NewICAPath(suite.chainA, suite.chainB) + suite.coordinator.SetupConnections(path) + + err := SetupICAPath(path, TestOwnerAddress) + suite.Require().NoError(err) + + tc.malleate() // malleate mutates test data + module, _, err := suite.chainA.App.GetIBCKeeper().PortKeeper.LookupModuleByPort(suite.chainA.GetContext(), path.EndpointA.ChannelConfig.PortID) + suite.Require().NoError(err) + + cbs, ok := suite.chainA.App.GetIBCKeeper().Router.GetRoute(module) + suite.Require().True(ok) + + err = cbs.OnChanCloseConfirm( + suite.chainA.GetContext(), path.EndpointA.ChannelConfig.PortID, path.EndpointA.ChannelID) + + activeChannelID, found := suite.chainA.GetSimApp().ICAHostKeeper.GetActiveChannelID(suite.chainA.GetContext(), path.EndpointA.ChannelConfig.PortID) + + if tc.expPass { + suite.Require().NoError(err) + suite.Require().False(found) + suite.Require().Empty(activeChannelID) + } else { + suite.Require().Error(err) + } + + }) + } +} + +func (suite *InterchainAccountsTestSuite) TestOnRecvPacket() { + + testCases := []struct { + name string + malleate func() + expPass bool + }{ + { + "ICA OnRecvPacket fails with ErrInvalidChannelFlow", func() {}, false, + }, + } + + for _, tc := range testCases { + tc := tc + + suite.Run(tc.name, func() { + suite.SetupTest() // reset + + path := NewICAPath(suite.chainA, suite.chainB) + suite.coordinator.SetupConnections(path) + + err := SetupICAPath(path, TestOwnerAddress) + suite.Require().NoError(err) + + tc.malleate() // malleate mutates test data + + module, _, err := suite.chainA.App.GetIBCKeeper().PortKeeper.LookupModuleByPort(suite.chainA.GetContext(), path.EndpointA.ChannelConfig.PortID) + suite.Require().NoError(err) + + cbs, ok := suite.chainA.App.GetIBCKeeper().Router.GetRoute(module) + suite.Require().True(ok) + + packet := channeltypes.NewPacket( + []byte("empty packet data"), + suite.chainB.SenderAccount.GetSequence(), + path.EndpointB.ChannelConfig.PortID, + path.EndpointB.ChannelID, + path.EndpointA.ChannelConfig.PortID, + path.EndpointA.ChannelID, + clienttypes.NewHeight(0, 100), + 0, + ) + + ack := cbs.OnRecvPacket(suite.chainA.GetContext(), packet, TestAccAddress) + suite.Require().Equal(tc.expPass, ack.Success()) + }) + } +} + +func (suite *InterchainAccountsTestSuite) TestOnAcknowledgementPacket() { + var ( + path *ibctesting.Path + ) + + testCases := []struct { + msg string + malleate func() + expPass bool + }{ + { + "success", + func() {}, + true, + }, + { + "controller submodule disabled", func() { + suite.chainA.GetSimApp().ICAControllerKeeper.SetParams(suite.chainA.GetContext(), types.NewParams(false)) + }, false, + }, + { + "ICA auth module callback fails", func() { + suite.chainA.GetSimApp().ICAAuthModule.IBCApp.OnAcknowledgementPacket = func( + ctx sdk.Context, packet channeltypes.Packet, acknowledgement []byte, relayer sdk.AccAddress, + ) error { + return fmt.Errorf("mock ica auth fails") + } + }, false, + }, + } + + for _, tc := range testCases { + suite.Run(tc.msg, func() { + suite.SetupTest() // reset + + path = NewICAPath(suite.chainA, suite.chainB) + suite.coordinator.SetupConnections(path) + + err := SetupICAPath(path, TestOwnerAddress) + suite.Require().NoError(err) + + packet := channeltypes.NewPacket( + []byte("empty packet data"), + suite.chainA.SenderAccount.GetSequence(), + path.EndpointA.ChannelConfig.PortID, + path.EndpointA.ChannelID, + path.EndpointB.ChannelConfig.PortID, + path.EndpointB.ChannelID, + clienttypes.NewHeight(0, 100), + 0, + ) + + tc.malleate() // malleate mutates test data + + module, _, err := suite.chainA.App.GetIBCKeeper().PortKeeper.LookupModuleByPort(suite.chainA.GetContext(), path.EndpointA.ChannelConfig.PortID) + suite.Require().NoError(err) + + cbs, ok := suite.chainA.App.GetIBCKeeper().Router.GetRoute(module) + suite.Require().True(ok) + + err = cbs.OnAcknowledgementPacket(suite.chainA.GetContext(), packet, []byte("ack"), nil) + + if tc.expPass { + suite.Require().NoError(err) + } else { + suite.Require().Error(err) + } + }) + } +} + +func (suite *InterchainAccountsTestSuite) TestOnTimeoutPacket() { + var ( + path *ibctesting.Path + ) + + testCases := []struct { + msg string + malleate func() + expPass bool + }{ + { + "success", + func() {}, + true, + }, + { + "controller submodule disabled", func() { + suite.chainA.GetSimApp().ICAControllerKeeper.SetParams(suite.chainA.GetContext(), types.NewParams(false)) + }, false, + }, + { + "ICA auth module callback fails", func() { + suite.chainA.GetSimApp().ICAAuthModule.IBCApp.OnTimeoutPacket = func( + ctx sdk.Context, packet channeltypes.Packet, relayer sdk.AccAddress, + ) error { + return fmt.Errorf("mock ica auth fails") + } + }, false, + }, + } + + for _, tc := range testCases { + suite.Run(tc.msg, func() { + suite.SetupTest() // reset + + path = NewICAPath(suite.chainA, suite.chainB) + suite.coordinator.SetupConnections(path) + + err := SetupICAPath(path, TestOwnerAddress) + suite.Require().NoError(err) + + packet := channeltypes.NewPacket( + []byte("empty packet data"), + suite.chainA.SenderAccount.GetSequence(), + path.EndpointA.ChannelConfig.PortID, + path.EndpointA.ChannelID, + path.EndpointB.ChannelConfig.PortID, + path.EndpointB.ChannelID, + clienttypes.NewHeight(0, 100), + 0, + ) + + tc.malleate() // malleate mutates test data + + module, _, err := suite.chainA.App.GetIBCKeeper().PortKeeper.LookupModuleByPort(suite.chainA.GetContext(), path.EndpointA.ChannelConfig.PortID) + suite.Require().NoError(err) + + cbs, ok := suite.chainA.App.GetIBCKeeper().Router.GetRoute(module) + suite.Require().True(ok) + + err = cbs.OnTimeoutPacket(suite.chainA.GetContext(), packet, nil) + + activeChannelID, found := suite.chainA.GetSimApp().ICAControllerKeeper.GetActiveChannelID(suite.chainA.GetContext(), path.EndpointA.ChannelConfig.PortID) + + if tc.expPass { + suite.Require().NoError(err) + suite.Require().Empty(activeChannelID) + suite.Require().False(found) + } else { + suite.Require().Error(err) + } + }) + } +} + +func (suite *InterchainAccountsTestSuite) TestNegotiateAppVersion() { + var ( + proposedVersion string + ) + testCases := []struct { + name string + malleate func() + expPass bool + }{ + { + "ICA OnRecvPacket fails with ErrInvalidChannelFlow", func() {}, false, + }, + } + + for _, tc := range testCases { + tc := tc + + suite.Run(tc.name, func() { + suite.SetupTest() + path := NewICAPath(suite.chainA, suite.chainB) + suite.coordinator.SetupConnections(path) + + err := InitInterchainAccount(path.EndpointA, TestOwnerAddress) + suite.Require().NoError(err) + + module, _, err := suite.chainA.GetSimApp().GetIBCKeeper().PortKeeper.LookupModuleByPort(suite.chainA.GetContext(), path.EndpointA.ChannelConfig.PortID) + suite.Require().NoError(err) + + cbs, ok := suite.chainA.GetSimApp().GetIBCKeeper().Router.GetRoute(module) + suite.Require().True(ok) + + counterpartyPortID, err := icatypes.GeneratePortID(TestOwnerAddress, path.EndpointA.ConnectionID, path.EndpointB.ConnectionID) + suite.Require().NoError(err) + + counterparty := channeltypes.Counterparty{ + PortId: counterpartyPortID, + ChannelId: path.EndpointB.ChannelID, + } + + proposedVersion = icatypes.VersionPrefix + + tc.malleate() + + version, err := cbs.NegotiateAppVersion(suite.chainA.GetContext(), channeltypes.ORDERED, path.EndpointA.ConnectionID, path.EndpointA.ChannelConfig.PortID, counterparty, proposedVersion) + if tc.expPass { + suite.Require().NoError(err) + suite.Require().NoError(icatypes.ValidateVersion(version)) + suite.Require().Equal(TestVersion, version) + } else { + suite.Require().Error(err) + suite.Require().Empty(version) + } + }) + } +} diff --git a/modules/apps/27-interchain-accounts/controller/keeper/account.go b/modules/apps/27-interchain-accounts/controller/keeper/account.go new file mode 100644 index 00000000000..8876b3467b6 --- /dev/null +++ b/modules/apps/27-interchain-accounts/controller/keeper/account.go @@ -0,0 +1,40 @@ +package keeper + +import ( + sdk "github.com/cosmos/cosmos-sdk/types" + sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + + icatypes "github.com/cosmos/ibc-go/v2/modules/apps/27-interchain-accounts/types" + channeltypes "github.com/cosmos/ibc-go/v2/modules/core/04-channel/types" + host "github.com/cosmos/ibc-go/v2/modules/core/24-host" +) + +// InitInterchainAccount is the entry point to registering an interchain account. +// It generates a new port identifier using the owner address, connection identifier, +// and counterparty connection identifier. It will bind to the port identifier and +// call 04-channel 'ChanOpenInit'. An error is returned if the port identifier is +// already in use. Gaining access to interchain accounts whose channels have closed +// cannot be done with this function. A regular MsgChanOpenInit must be used. +func (k Keeper) InitInterchainAccount(ctx sdk.Context, connectionID, counterpartyConnectionID, owner string) error { + portID, err := icatypes.GeneratePortID(owner, connectionID, counterpartyConnectionID) + if err != nil { + return err + } + + if k.portKeeper.IsBound(ctx, portID) { + return sdkerrors.Wrap(icatypes.ErrPortAlreadyBound, portID) + } + + cap := k.BindPort(ctx, portID) + if err := k.ClaimCapability(ctx, cap, host.PortPath(portID)); err != nil { + return sdkerrors.Wrap(err, "unable to bind to newly generated portID") + } + + msg := channeltypes.NewMsgChannelOpenInit(portID, icatypes.VersionPrefix, channeltypes.ORDERED, []string{connectionID}, icatypes.PortID, icatypes.ModuleName) + handler := k.msgRouter.Handler(msg) + if _, err := handler(ctx, msg); err != nil { + return err + } + + return nil +} diff --git a/modules/apps/27-interchain-accounts/controller/keeper/account_test.go b/modules/apps/27-interchain-accounts/controller/keeper/account_test.go new file mode 100644 index 00000000000..3a019deac95 --- /dev/null +++ b/modules/apps/27-interchain-accounts/controller/keeper/account_test.go @@ -0,0 +1,72 @@ +package keeper_test + +import ( + icatypes "github.com/cosmos/ibc-go/v2/modules/apps/27-interchain-accounts/types" + ibctesting "github.com/cosmos/ibc-go/v2/testing" +) + +func (suite *KeeperTestSuite) TestInitInterchainAccount() { + var ( + owner string + path *ibctesting.Path + err error + ) + + testCases := []struct { + name string + malleate func() + expPass bool + }{ + { + "success", func() {}, true, + }, + { + "port is already bound", + func() { + suite.chainA.GetSimApp().IBCKeeper.PortKeeper.BindPort(suite.chainA.GetContext(), TestPortID) + }, + false, + }, + { + "fails to generate port-id", + func() { + owner = "" + }, + false, + }, + { + "MsgChanOpenInit fails - channel is already active", + func() { + portID, err := icatypes.GeneratePortID(owner, path.EndpointA.ConnectionID, path.EndpointB.ConnectionID) + suite.Require().NoError(err) + + suite.chainA.GetSimApp().ICAControllerKeeper.SetActiveChannelID(suite.chainA.GetContext(), portID, path.EndpointA.ChannelID) + }, + false, + }, + } + + for _, tc := range testCases { + tc := tc + + suite.Run(tc.name, func() { + suite.SetupTest() + + owner = TestOwnerAddress // must be explicitly changed + + path = NewICAPath(suite.chainA, suite.chainB) + suite.coordinator.SetupConnections(path) + + tc.malleate() // malleate mutates test data + + err = suite.chainA.GetSimApp().ICAControllerKeeper.InitInterchainAccount(suite.chainA.GetContext(), path.EndpointA.ConnectionID, path.EndpointB.ConnectionID, owner) + + if tc.expPass { + suite.Require().NoError(err) + } else { + suite.Require().Error(err) + } + + }) + } +} diff --git a/modules/apps/27-interchain-accounts/controller/keeper/genesis.go b/modules/apps/27-interchain-accounts/controller/keeper/genesis.go new file mode 100644 index 00000000000..19bcb1de6cc --- /dev/null +++ b/modules/apps/27-interchain-accounts/controller/keeper/genesis.go @@ -0,0 +1,42 @@ +package keeper + +import ( + "fmt" + + sdk "github.com/cosmos/cosmos-sdk/types" + + icatypes "github.com/cosmos/ibc-go/v2/modules/apps/27-interchain-accounts/types" + host "github.com/cosmos/ibc-go/v2/modules/core/24-host" +) + +// InitGenesis initializes the interchain accounts controller application state from a provided genesis state +func InitGenesis(ctx sdk.Context, keeper Keeper, state icatypes.ControllerGenesisState) { + for _, portID := range state.Ports { + if !keeper.IsBound(ctx, portID) { + cap := keeper.BindPort(ctx, portID) + if err := keeper.ClaimCapability(ctx, cap, host.PortPath(portID)); err != nil { + panic(fmt.Sprintf("could not claim port capability: %v", err)) + } + } + } + + for _, ch := range state.ActiveChannels { + keeper.SetActiveChannelID(ctx, ch.PortId, ch.ChannelId) + } + + for _, acc := range state.InterchainAccounts { + keeper.SetInterchainAccountAddress(ctx, acc.PortId, acc.AccountAddress) + } + + keeper.SetParams(ctx, state.Params) +} + +// ExportGenesis returns the interchain accounts controller exported genesis +func ExportGenesis(ctx sdk.Context, keeper Keeper) icatypes.ControllerGenesisState { + return icatypes.NewControllerGenesisState( + keeper.GetAllActiveChannels(ctx), + keeper.GetAllInterchainAccounts(ctx), + keeper.GetAllPorts(ctx), + keeper.GetParams(ctx), + ) +} diff --git a/modules/apps/27-interchain-accounts/controller/keeper/genesis_test.go b/modules/apps/27-interchain-accounts/controller/keeper/genesis_test.go new file mode 100644 index 00000000000..488d39d982b --- /dev/null +++ b/modules/apps/27-interchain-accounts/controller/keeper/genesis_test.go @@ -0,0 +1,66 @@ +package keeper_test + +import ( + "github.com/cosmos/ibc-go/v2/modules/apps/27-interchain-accounts/controller/keeper" + "github.com/cosmos/ibc-go/v2/modules/apps/27-interchain-accounts/controller/types" + icatypes "github.com/cosmos/ibc-go/v2/modules/apps/27-interchain-accounts/types" + ibctesting "github.com/cosmos/ibc-go/v2/testing" +) + +func (suite *KeeperTestSuite) TestInitGenesis() { + suite.SetupTest() + + genesisState := icatypes.ControllerGenesisState{ + ActiveChannels: []icatypes.ActiveChannel{ + { + PortId: TestPortID, + ChannelId: ibctesting.FirstChannelID, + }, + }, + InterchainAccounts: []icatypes.RegisteredInterchainAccount{ + { + PortId: TestPortID, + AccountAddress: TestAccAddress.String(), + }, + }, + Ports: []string{TestPortID}, + } + + keeper.InitGenesis(suite.chainA.GetContext(), suite.chainA.GetSimApp().ICAControllerKeeper, genesisState) + + channelID, found := suite.chainA.GetSimApp().ICAControllerKeeper.GetActiveChannelID(suite.chainA.GetContext(), TestPortID) + suite.Require().True(found) + suite.Require().Equal(ibctesting.FirstChannelID, channelID) + + accountAdrr, found := suite.chainA.GetSimApp().ICAControllerKeeper.GetInterchainAccountAddress(suite.chainA.GetContext(), TestPortID) + suite.Require().True(found) + suite.Require().Equal(TestAccAddress.String(), accountAdrr) + + expParams := types.NewParams(false) + params := suite.chainA.GetSimApp().ICAControllerKeeper.GetParams(suite.chainA.GetContext()) + suite.Require().Equal(expParams, params) + +} + +func (suite *KeeperTestSuite) TestExportGenesis() { + suite.SetupTest() + + path := NewICAPath(suite.chainA, suite.chainB) + suite.coordinator.SetupConnections(path) + + err := SetupICAPath(path, TestOwnerAddress) + suite.Require().NoError(err) + + genesisState := keeper.ExportGenesis(suite.chainA.GetContext(), suite.chainA.GetSimApp().ICAControllerKeeper) + + suite.Require().Equal(path.EndpointA.ChannelID, genesisState.ActiveChannels[0].ChannelId) + suite.Require().Equal(path.EndpointA.ChannelConfig.PortID, genesisState.ActiveChannels[0].PortId) + + suite.Require().Equal(TestAccAddress.String(), genesisState.InterchainAccounts[0].AccountAddress) + suite.Require().Equal(path.EndpointA.ChannelConfig.PortID, genesisState.InterchainAccounts[0].PortId) + + suite.Require().Equal([]string{TestPortID}, genesisState.GetPorts()) + + expParams := types.DefaultParams() + suite.Require().Equal(expParams, genesisState.GetParams()) +} diff --git a/modules/apps/27-interchain-accounts/controller/keeper/grpc_query.go b/modules/apps/27-interchain-accounts/controller/keeper/grpc_query.go new file mode 100644 index 00000000000..1e74921269d --- /dev/null +++ b/modules/apps/27-interchain-accounts/controller/keeper/grpc_query.go @@ -0,0 +1,19 @@ +package keeper + +import ( + "context" + sdk "github.com/cosmos/cosmos-sdk/types" + "github.com/cosmos/ibc-go/v2/modules/apps/27-interchain-accounts/controller/types" +) + +var _ types.QueryServer = Keeper{} + +// Params implements the Query/Params gRPC method +func (q Keeper) Params(c context.Context, _ *types.QueryParamsRequest) (*types.QueryParamsResponse, error) { + ctx := sdk.UnwrapSDKContext(c) + params := q.GetParams(ctx) + + return &types.QueryParamsResponse{ + Params: ¶ms, + }, nil +} diff --git a/modules/apps/27-interchain-accounts/controller/keeper/grpc_query_test.go b/modules/apps/27-interchain-accounts/controller/keeper/grpc_query_test.go new file mode 100644 index 00000000000..03aa63474a2 --- /dev/null +++ b/modules/apps/27-interchain-accounts/controller/keeper/grpc_query_test.go @@ -0,0 +1,14 @@ +package keeper_test + +import ( + sdk "github.com/cosmos/cosmos-sdk/types" + + "github.com/cosmos/ibc-go/v2/modules/apps/27-interchain-accounts/controller/types" +) + +func (suite *KeeperTestSuite) TestQueryParams() { + ctx := sdk.WrapSDKContext(suite.chainA.GetContext()) + expParams := types.DefaultParams() + res, _ := suite.chainA.GetSimApp().ICAControllerKeeper.Params(ctx, &types.QueryParamsRequest{}) + suite.Require().Equal(&expParams, res.Params) +} diff --git a/modules/apps/27-interchain-accounts/controller/keeper/handshake.go b/modules/apps/27-interchain-accounts/controller/keeper/handshake.go new file mode 100644 index 00000000000..e48dee00f08 --- /dev/null +++ b/modules/apps/27-interchain-accounts/controller/keeper/handshake.go @@ -0,0 +1,137 @@ +package keeper + +import ( + sdk "github.com/cosmos/cosmos-sdk/types" + sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + capabilitytypes "github.com/cosmos/cosmos-sdk/x/capability/types" + + icatypes "github.com/cosmos/ibc-go/v2/modules/apps/27-interchain-accounts/types" + connectiontypes "github.com/cosmos/ibc-go/v2/modules/core/03-connection/types" + channeltypes "github.com/cosmos/ibc-go/v2/modules/core/04-channel/types" + porttypes "github.com/cosmos/ibc-go/v2/modules/core/05-port/types" +) + +// OnChanOpenInit performs basic validation of channel initialization. +// The channel order must be ORDERED, the counterparty port identifier +// must be the host chain representation as defined in the types package, +// the channel version must be equal to the version in the types package, +// there must not be an active channel for the specfied port identifier, +// and the interchain accounts module must be able to claim the channel +// capability. +func (k Keeper) OnChanOpenInit( + ctx sdk.Context, + order channeltypes.Order, + connectionHops []string, + portID string, + channelID string, + chanCap *capabilitytypes.Capability, + counterparty channeltypes.Counterparty, + version string, +) error { + if order != channeltypes.ORDERED { + return sdkerrors.Wrapf(channeltypes.ErrInvalidChannelOrdering, "expected %s channel, got %s", channeltypes.ORDERED, order) + } + + connSequence, err := icatypes.ParseControllerConnSequence(portID) + if err != nil { + return sdkerrors.Wrapf(err, "expected format %s, got %s", icatypes.ControllerPortFormat, portID) + } + + counterpartyConnSequence, err := icatypes.ParseHostConnSequence(portID) + if err != nil { + return sdkerrors.Wrapf(err, "expected format %s, got %s", icatypes.ControllerPortFormat, portID) + } + + if err := k.validateControllerPortParams(ctx, channelID, portID, connSequence, counterpartyConnSequence); err != nil { + return sdkerrors.Wrapf(err, "failed to validate controller port %s", portID) + } + + if counterparty.PortId != icatypes.PortID { + return sdkerrors.Wrapf(porttypes.ErrInvalidPort, "expected %s, got %s", icatypes.PortID, counterparty.PortId) + } + + if version != icatypes.VersionPrefix { + return sdkerrors.Wrapf(icatypes.ErrInvalidVersion, "expected %s, got %s", icatypes.VersionPrefix, version) + } + + activeChannelID, found := k.GetActiveChannelID(ctx, portID) + if found { + return sdkerrors.Wrapf(porttypes.ErrInvalidPort, "existing active channel %s for portID %s", activeChannelID, portID) + } + + return nil +} + +// OnChanOpenAck sets the active channel for the interchain account/owner pair +// and stores the associated interchain account address in state keyed by it's corresponding port identifier +func (k Keeper) OnChanOpenAck( + ctx sdk.Context, + portID, + channelID string, + counterpartyVersion string, +) error { + if portID == icatypes.PortID { + return sdkerrors.Wrapf(porttypes.ErrInvalidPort, "portID cannot be host chain port ID: %s", icatypes.PortID) + } + + if err := icatypes.ValidateVersion(counterpartyVersion); err != nil { + return sdkerrors.Wrap(err, "counterparty version validation failed") + } + + k.SetActiveChannelID(ctx, portID, channelID) + + accAddr, err := icatypes.ParseAddressFromVersion(counterpartyVersion) + if err != nil { + return sdkerrors.Wrapf(err, "expected format , got %s", icatypes.Delimiter, counterpartyVersion) + } + + k.SetInterchainAccountAddress(ctx, portID, accAddr) + + return nil +} + +// OnChanCloseConfirm removes the active channel stored in state +func (k Keeper) OnChanCloseConfirm( + ctx sdk.Context, + portID, + channelID string, +) error { + + k.DeleteActiveChannelID(ctx, portID) + + return nil +} + +// validateControllerPortParams asserts the provided connection sequence and counterparty connection sequence +// match that of the associated connection stored in state +func (k Keeper) validateControllerPortParams(ctx sdk.Context, channelID, portID string, connectionSeq, counterpartyConnectionSeq uint64) error { + channel, found := k.channelKeeper.GetChannel(ctx, portID, channelID) + if !found { + return sdkerrors.Wrapf(channeltypes.ErrChannelNotFound, "port ID %s channel ID %s", portID, channelID) + } + + counterpartyHops, found := k.channelKeeper.CounterpartyHops(ctx, channel) + if !found { + return sdkerrors.Wrap(connectiontypes.ErrConnectionNotFound, channel.ConnectionHops[0]) + } + + connSeq, err := connectiontypes.ParseConnectionSequence(channel.ConnectionHops[0]) + if err != nil { + return sdkerrors.Wrapf(err, "failed to parse connection sequence %s", channel.ConnectionHops[0]) + } + + counterpartyConnSeq, err := connectiontypes.ParseConnectionSequence(counterpartyHops[0]) + if err != nil { + return sdkerrors.Wrapf(err, "failed to parse counterparty connection sequence %s", counterpartyHops[0]) + } + + if connSeq != connectionSeq { + return sdkerrors.Wrapf(connectiontypes.ErrInvalidConnection, "sequence mismatch, expected %d, got %d", connSeq, connectionSeq) + } + + if counterpartyConnSeq != counterpartyConnectionSeq { + return sdkerrors.Wrapf(connectiontypes.ErrInvalidConnection, "counterparty sequence mismatch, expected %d, got %d", counterpartyConnSeq, counterpartyConnectionSeq) + } + + return nil +} diff --git a/modules/apps/27-interchain-accounts/controller/keeper/handshake_test.go b/modules/apps/27-interchain-accounts/controller/keeper/handshake_test.go new file mode 100644 index 00000000000..31aaf9d028e --- /dev/null +++ b/modules/apps/27-interchain-accounts/controller/keeper/handshake_test.go @@ -0,0 +1,264 @@ +package keeper_test + +import ( + capabilitytypes "github.com/cosmos/cosmos-sdk/x/capability/types" + + icatypes "github.com/cosmos/ibc-go/v2/modules/apps/27-interchain-accounts/types" + channeltypes "github.com/cosmos/ibc-go/v2/modules/core/04-channel/types" + host "github.com/cosmos/ibc-go/v2/modules/core/24-host" + ibctesting "github.com/cosmos/ibc-go/v2/testing" +) + +func (suite *KeeperTestSuite) TestOnChanOpenInit() { + var ( + channel *channeltypes.Channel + path *ibctesting.Path + chanCap *capabilitytypes.Capability + ) + + testCases := []struct { + name string + malleate func() + expPass bool + }{ + + { + "success", + func() { + path.EndpointA.SetChannel(*channel) + }, + true, + }, + { + "invalid order - UNORDERED", + func() { + channel.Ordering = channeltypes.UNORDERED + }, + false, + }, + { + "invalid port ID", + func() { + path.EndpointA.ChannelConfig.PortID = "invalid-port-id" + }, + false, + }, + { + "invalid counterparty port ID", + func() { + path.EndpointA.SetChannel(*channel) + channel.Counterparty.PortId = "invalid-port-id" + }, + false, + }, + { + "invalid version", + func() { + path.EndpointA.SetChannel(*channel) + channel.Version = "version" + }, + false, + }, + { + "channel not found", + func() { + path.EndpointA.ChannelID = "invalid-channel-id" + }, + false, + }, + { + "connection not found", + func() { + channel.ConnectionHops = []string{"invalid-connnection-id"} + path.EndpointA.SetChannel(*channel) + }, + false, + }, + { + "invalid connection sequence", + func() { + portID, err := icatypes.GeneratePortID(TestOwnerAddress, "connection-1", "connection-0") + suite.Require().NoError(err) + + path.EndpointA.ChannelConfig.PortID = portID + path.EndpointA.SetChannel(*channel) + }, + false, + }, + { + "invalid counterparty connection sequence", + func() { + portID, err := icatypes.GeneratePortID(TestOwnerAddress, "connection-0", "connection-1") + suite.Require().NoError(err) + + path.EndpointA.ChannelConfig.PortID = portID + path.EndpointA.SetChannel(*channel) + }, + false, + }, + { + "channel is already active", + func() { + suite.chainA.GetSimApp().ICAControllerKeeper.SetActiveChannelID(suite.chainA.GetContext(), path.EndpointA.ChannelConfig.PortID, path.EndpointA.ChannelID) + }, + false, + }, + } + + for _, tc := range testCases { + tc := tc + + suite.Run(tc.name, func() { + suite.SetupTest() // reset + + path = NewICAPath(suite.chainA, suite.chainB) + suite.coordinator.SetupConnections(path) + + // mock init interchain account + portID, err := icatypes.GeneratePortID(TestOwnerAddress, path.EndpointA.ConnectionID, path.EndpointB.ConnectionID) + suite.Require().NoError(err) + + portCap := suite.chainA.GetSimApp().IBCKeeper.PortKeeper.BindPort(suite.chainA.GetContext(), portID) + suite.chainA.GetSimApp().ICAControllerKeeper.ClaimCapability(suite.chainA.GetContext(), portCap, host.PortPath(portID)) + path.EndpointA.ChannelConfig.PortID = portID + + // default values + counterparty := channeltypes.NewCounterparty(path.EndpointB.ChannelConfig.PortID, path.EndpointB.ChannelID) + channel = &channeltypes.Channel{ + State: channeltypes.INIT, + Ordering: channeltypes.ORDERED, + Counterparty: counterparty, + ConnectionHops: []string{path.EndpointA.ConnectionID}, + Version: icatypes.VersionPrefix, + } + + chanCap, err = suite.chainA.App.GetScopedIBCKeeper().NewCapability(suite.chainA.GetContext(), host.ChannelCapabilityPath(path.EndpointA.ChannelConfig.PortID, path.EndpointA.ChannelID)) + suite.Require().NoError(err) + + tc.malleate() // malleate mutates test data + + err = suite.chainA.GetSimApp().ICAControllerKeeper.OnChanOpenInit(suite.chainA.GetContext(), channel.Ordering, channel.GetConnectionHops(), + path.EndpointA.ChannelConfig.PortID, path.EndpointA.ChannelID, chanCap, channel.Counterparty, channel.GetVersion(), + ) + + if tc.expPass { + suite.Require().NoError(err) + } else { + suite.Require().Error(err) + } + + }) + } +} + +func (suite *KeeperTestSuite) TestOnChanOpenAck() { + var ( + path *ibctesting.Path + expectedChannelID string + counterpartyVersion string + ) + + testCases := []struct { + name string + malleate func() + expPass bool + }{ + { + "success", func() {}, true, + }, + { + "invalid counterparty version", + func() { + expectedChannelID = "" + counterpartyVersion = "version" + }, + false, + }, + { + "invalid portID", func() { + path.EndpointA.ChannelConfig.PortID = icatypes.PortID + expectedChannelID = "" + }, false, + }, + } + + for _, tc := range testCases { + tc := tc + + suite.Run(tc.name, func() { + suite.SetupTest() // reset + + path = NewICAPath(suite.chainA, suite.chainB) + counterpartyVersion = TestVersion + suite.coordinator.SetupConnections(path) + + err := InitInterchainAccount(path.EndpointA, TestOwnerAddress) + suite.Require().NoError(err) + + err = path.EndpointB.ChanOpenTry() + suite.Require().NoError(err) + expectedChannelID = path.EndpointA.ChannelID + + tc.malleate() // malleate mutates test data + + err = suite.chainA.GetSimApp().ICAControllerKeeper.OnChanOpenAck(suite.chainA.GetContext(), + path.EndpointA.ChannelConfig.PortID, path.EndpointA.ChannelID, counterpartyVersion, + ) + + activeChannelID, _ := suite.chainA.GetSimApp().ICAControllerKeeper.GetActiveChannelID(suite.chainA.GetContext(), path.EndpointA.ChannelConfig.PortID) + + suite.Require().Equal(activeChannelID, expectedChannelID) + + if tc.expPass { + suite.Require().NoError(err) + } else { + suite.Require().Error(err) + } + }) + } +} + +func (suite *KeeperTestSuite) TestOnChanCloseConfirm() { + var ( + path *ibctesting.Path + ) + + testCases := []struct { + name string + malleate func() + expPass bool + }{ + + { + "success", func() {}, true, + }, + } + + for _, tc := range testCases { + suite.Run(tc.name, func() { + suite.SetupTest() // reset + + path = NewICAPath(suite.chainA, suite.chainB) + suite.coordinator.SetupConnections(path) + + err := SetupICAPath(path, TestOwnerAddress) + suite.Require().NoError(err) + + tc.malleate() // malleate mutates test data + + err = suite.chainB.GetSimApp().ICAControllerKeeper.OnChanCloseConfirm(suite.chainB.GetContext(), + path.EndpointB.ChannelConfig.PortID, path.EndpointB.ChannelID) + + activeChannelID, found := suite.chainB.GetSimApp().ICAControllerKeeper.GetActiveChannelID(suite.chainB.GetContext(), path.EndpointB.ChannelConfig.PortID) + + if tc.expPass { + suite.Require().NoError(err) + suite.Require().False(found) + suite.Require().Empty(activeChannelID) + } else { + suite.Require().Error(err) + } + + }) + } +} diff --git a/modules/apps/27-interchain-accounts/controller/keeper/keeper.go b/modules/apps/27-interchain-accounts/controller/keeper/keeper.go new file mode 100644 index 00000000000..91705ae89e1 --- /dev/null +++ b/modules/apps/27-interchain-accounts/controller/keeper/keeper.go @@ -0,0 +1,193 @@ +package keeper + +import ( + "fmt" + "strings" + + baseapp "github.com/cosmos/cosmos-sdk/baseapp" + "github.com/cosmos/cosmos-sdk/codec" + sdk "github.com/cosmos/cosmos-sdk/types" + capabilitykeeper "github.com/cosmos/cosmos-sdk/x/capability/keeper" + capabilitytypes "github.com/cosmos/cosmos-sdk/x/capability/types" + paramtypes "github.com/cosmos/cosmos-sdk/x/params/types" + "github.com/tendermint/tendermint/libs/log" + + "github.com/cosmos/ibc-go/v2/modules/apps/27-interchain-accounts/controller/types" + icatypes "github.com/cosmos/ibc-go/v2/modules/apps/27-interchain-accounts/types" + host "github.com/cosmos/ibc-go/v2/modules/core/24-host" +) + +// Keeper defines the IBC interchain accounts controller keeper +type Keeper struct { + storeKey sdk.StoreKey + cdc codec.BinaryCodec + paramSpace paramtypes.Subspace + + ics4Wrapper icatypes.ICS4Wrapper + channelKeeper icatypes.ChannelKeeper + portKeeper icatypes.PortKeeper + accountKeeper icatypes.AccountKeeper + + scopedKeeper capabilitykeeper.ScopedKeeper + + msgRouter *baseapp.MsgServiceRouter +} + +// NewKeeper creates a new interchain accounts controller Keeper instance +func NewKeeper( + cdc codec.BinaryCodec, key sdk.StoreKey, paramSpace paramtypes.Subspace, + ics4Wrapper icatypes.ICS4Wrapper, channelKeeper icatypes.ChannelKeeper, portKeeper icatypes.PortKeeper, + accountKeeper icatypes.AccountKeeper, scopedKeeper capabilitykeeper.ScopedKeeper, msgRouter *baseapp.MsgServiceRouter, +) Keeper { + + // set KeyTable if it has not already been set + if !paramSpace.HasKeyTable() { + paramSpace = paramSpace.WithKeyTable(types.ParamKeyTable()) + } + + return Keeper{ + storeKey: key, + cdc: cdc, + paramSpace: paramSpace, + ics4Wrapper: ics4Wrapper, + channelKeeper: channelKeeper, + portKeeper: portKeeper, + accountKeeper: accountKeeper, + scopedKeeper: scopedKeeper, + msgRouter: msgRouter, + } +} + +// Logger returns the application logger, scoped to the associated module +func (k Keeper) Logger(ctx sdk.Context) log.Logger { + return ctx.Logger().With("module", fmt.Sprintf("x/%s-%s", host.ModuleName, icatypes.ModuleName)) +} + +// GetAllPorts returns all ports to which the interchain accounts controller module is bound. Used in ExportGenesis +func (k Keeper) GetAllPorts(ctx sdk.Context) []string { + store := ctx.KVStore(k.storeKey) + iterator := sdk.KVStorePrefixIterator(store, []byte(icatypes.PortKeyPrefix)) + defer iterator.Close() + + var ports []string + for ; iterator.Valid(); iterator.Next() { + keySplit := strings.Split(string(iterator.Key()), "/") + + ports = append(ports, keySplit[1]) + } + + return ports +} + +// BindPort stores the provided portID and binds to it, returning the associated capability +func (k Keeper) BindPort(ctx sdk.Context, portID string) *capabilitytypes.Capability { + store := ctx.KVStore(k.storeKey) + store.Set(icatypes.KeyPort(portID), []byte{0x01}) + + return k.portKeeper.BindPort(ctx, portID) +} + +// IsBound checks if the interchain account controller module is already bound to the desired port +func (k Keeper) IsBound(ctx sdk.Context, portID string) bool { + _, ok := k.scopedKeeper.GetCapability(ctx, host.PortPath(portID)) + return ok +} + +// AuthenticateCapability wraps the scopedKeeper's AuthenticateCapability function +func (k Keeper) AuthenticateCapability(ctx sdk.Context, cap *capabilitytypes.Capability, name string) bool { + return k.scopedKeeper.AuthenticateCapability(ctx, cap, name) +} + +// ClaimCapability wraps the scopedKeeper's ClaimCapability function +func (k Keeper) ClaimCapability(ctx sdk.Context, cap *capabilitytypes.Capability, name string) error { + return k.scopedKeeper.ClaimCapability(ctx, cap, name) +} + +// GetActiveChannelID retrieves the active channelID from the store keyed by the provided portID +func (k Keeper) GetActiveChannelID(ctx sdk.Context, portID string) (string, bool) { + store := ctx.KVStore(k.storeKey) + key := icatypes.KeyActiveChannel(portID) + + if !store.Has(key) { + return "", false + } + + return string(store.Get(key)), true +} + +// GetAllActiveChannels returns a list of all active interchain accounts controller channels and their associated port identifiers +func (k Keeper) GetAllActiveChannels(ctx sdk.Context) []icatypes.ActiveChannel { + store := ctx.KVStore(k.storeKey) + iterator := sdk.KVStorePrefixIterator(store, []byte(icatypes.ActiveChannelKeyPrefix)) + defer iterator.Close() + + var activeChannels []icatypes.ActiveChannel + for ; iterator.Valid(); iterator.Next() { + keySplit := strings.Split(string(iterator.Key()), "/") + + ch := icatypes.ActiveChannel{ + PortId: keySplit[1], + ChannelId: string(iterator.Value()), + } + + activeChannels = append(activeChannels, ch) + } + + return activeChannels +} + +// SetActiveChannelID stores the active channelID, keyed by the provided portID +func (k Keeper) SetActiveChannelID(ctx sdk.Context, portID, channelID string) { + store := ctx.KVStore(k.storeKey) + store.Set(icatypes.KeyActiveChannel(portID), []byte(channelID)) +} + +// DeleteActiveChannelID removes the active channel keyed by the provided portID stored in state +func (k Keeper) DeleteActiveChannelID(ctx sdk.Context, portID string) { + store := ctx.KVStore(k.storeKey) + store.Delete(icatypes.KeyActiveChannel(portID)) +} + +// IsActiveChannel returns true if there exists an active channel for the provided portID, otherwise false +func (k Keeper) IsActiveChannel(ctx sdk.Context, portID string) bool { + _, ok := k.GetActiveChannelID(ctx, portID) + return ok +} + +// GetInterchainAccountAddress retrieves the InterchainAccount address from the store keyed by the provided portID +func (k Keeper) GetInterchainAccountAddress(ctx sdk.Context, portID string) (string, bool) { + store := ctx.KVStore(k.storeKey) + key := icatypes.KeyOwnerAccount(portID) + + if !store.Has(key) { + return "", false + } + + return string(store.Get(key)), true +} + +// GetAllInterchainAccounts returns a list of all registered interchain account addresses and their associated controller port identifiers +func (k Keeper) GetAllInterchainAccounts(ctx sdk.Context) []icatypes.RegisteredInterchainAccount { + store := ctx.KVStore(k.storeKey) + iterator := sdk.KVStorePrefixIterator(store, []byte(icatypes.OwnerKeyPrefix)) + + var interchainAccounts []icatypes.RegisteredInterchainAccount + for ; iterator.Valid(); iterator.Next() { + keySplit := strings.Split(string(iterator.Key()), "/") + + acc := icatypes.RegisteredInterchainAccount{ + PortId: keySplit[1], + AccountAddress: string(iterator.Value()), + } + + interchainAccounts = append(interchainAccounts, acc) + } + + return interchainAccounts +} + +// SetInterchainAccountAddress stores the InterchainAccount address, keyed by the associated portID +func (k Keeper) SetInterchainAccountAddress(ctx sdk.Context, portID string, address string) { + store := ctx.KVStore(k.storeKey) + store.Set(icatypes.KeyOwnerAccount(portID), []byte(address)) +} diff --git a/modules/apps/27-interchain-accounts/controller/keeper/keeper_test.go b/modules/apps/27-interchain-accounts/controller/keeper/keeper_test.go new file mode 100644 index 00000000000..f522a954fa1 --- /dev/null +++ b/modules/apps/27-interchain-accounts/controller/keeper/keeper_test.go @@ -0,0 +1,247 @@ +package keeper_test + +import ( + "testing" + + sdk "github.com/cosmos/cosmos-sdk/types" + authtypes "github.com/cosmos/cosmos-sdk/x/auth/types" + "github.com/stretchr/testify/suite" + "github.com/tendermint/tendermint/crypto" + + icatypes "github.com/cosmos/ibc-go/v2/modules/apps/27-interchain-accounts/types" + channeltypes "github.com/cosmos/ibc-go/v2/modules/core/04-channel/types" + ibctesting "github.com/cosmos/ibc-go/v2/testing" +) + +var ( + // TestAccAddress defines a resuable bech32 address for testing purposes + // TODO: update crypto.AddressHash() when sdk uses address.Module() + TestAccAddress = icatypes.GenerateAddress(sdk.AccAddress(crypto.AddressHash([]byte(icatypes.ModuleName))), TestPortID) + // TestOwnerAddress defines a reusable bech32 address for testing purposes + TestOwnerAddress = "cosmos17dtl0mjt3t77kpuhg2edqzjpszulwhgzuj9ljs" + // TestPortID defines a resuable port identifier for testing purposes + TestPortID, _ = icatypes.GeneratePortID(TestOwnerAddress, ibctesting.FirstConnectionID, ibctesting.FirstConnectionID) + // TestVersion defines a resuable interchainaccounts version string for testing purposes + TestVersion = icatypes.NewAppVersion(icatypes.VersionPrefix, TestAccAddress.String()) +) + +type KeeperTestSuite struct { + suite.Suite + + coordinator *ibctesting.Coordinator + + // testing chains used for convenience and readability + chainA *ibctesting.TestChain + chainB *ibctesting.TestChain + chainC *ibctesting.TestChain +} + +func (suite *KeeperTestSuite) SetupTest() { + suite.coordinator = ibctesting.NewCoordinator(suite.T(), 3) + suite.chainA = suite.coordinator.GetChain(ibctesting.GetChainID(0)) + suite.chainB = suite.coordinator.GetChain(ibctesting.GetChainID(1)) + suite.chainC = suite.coordinator.GetChain(ibctesting.GetChainID(2)) +} + +func NewICAPath(chainA, chainB *ibctesting.TestChain) *ibctesting.Path { + path := ibctesting.NewPath(chainA, chainB) + path.EndpointA.ChannelConfig.PortID = icatypes.PortID + path.EndpointB.ChannelConfig.PortID = icatypes.PortID + path.EndpointA.ChannelConfig.Order = channeltypes.ORDERED + path.EndpointB.ChannelConfig.Order = channeltypes.ORDERED + path.EndpointA.ChannelConfig.Version = icatypes.VersionPrefix + path.EndpointB.ChannelConfig.Version = TestVersion + + return path +} + +// SetupICAPath invokes the InterchainAccounts entrypoint and subsequent channel handshake handlers +func SetupICAPath(path *ibctesting.Path, owner string) error { + if err := InitInterchainAccount(path.EndpointA, owner); err != nil { + return err + } + + if err := path.EndpointB.ChanOpenTry(); err != nil { + return err + } + + if err := path.EndpointA.ChanOpenAck(); err != nil { + return err + } + + if err := path.EndpointB.ChanOpenConfirm(); err != nil { + return err + } + + return nil +} + +// InitInterchainAccount is a helper function for starting the channel handshake +func InitInterchainAccount(endpoint *ibctesting.Endpoint, owner string) error { + portID, err := icatypes.GeneratePortID(owner, endpoint.ConnectionID, endpoint.Counterparty.ConnectionID) + if err != nil { + return err + } + + channelSequence := endpoint.Chain.App.GetIBCKeeper().ChannelKeeper.GetNextChannelSequence(endpoint.Chain.GetContext()) + + if err := endpoint.Chain.GetSimApp().ICAControllerKeeper.InitInterchainAccount(endpoint.Chain.GetContext(), endpoint.ConnectionID, endpoint.Counterparty.ConnectionID, owner); err != nil { + return err + } + + // commit state changes for proof verification + endpoint.Chain.App.Commit() + endpoint.Chain.NextBlock() + + // update port/channel ids + endpoint.ChannelID = channeltypes.FormatChannelIdentifier(channelSequence) + endpoint.ChannelConfig.PortID = portID + + return nil +} + +func TestKeeperTestSuite(t *testing.T) { + suite.Run(t, new(KeeperTestSuite)) +} + +func (suite *KeeperTestSuite) TestIsBound() { + suite.SetupTest() + + path := NewICAPath(suite.chainA, suite.chainB) + suite.coordinator.SetupConnections(path) + + err := SetupICAPath(path, TestOwnerAddress) + suite.Require().NoError(err) + + isBound := suite.chainA.GetSimApp().ICAControllerKeeper.IsBound(suite.chainA.GetContext(), path.EndpointA.ChannelConfig.PortID) + suite.Require().True(isBound) +} + +func (suite *KeeperTestSuite) TestGetAllPorts() { + suite.SetupTest() + + path := NewICAPath(suite.chainA, suite.chainB) + suite.coordinator.SetupConnections(path) + + err := SetupICAPath(path, TestOwnerAddress) + suite.Require().NoError(err) + + expectedPorts := []string{TestPortID} + + ports := suite.chainA.GetSimApp().ICAControllerKeeper.GetAllPorts(suite.chainA.GetContext()) + suite.Require().Len(ports, len(expectedPorts)) + suite.Require().Equal(expectedPorts, ports) +} + +func (suite *KeeperTestSuite) TestGetInterchainAccountAddress() { + suite.SetupTest() + + path := NewICAPath(suite.chainA, suite.chainB) + suite.coordinator.SetupConnections(path) + + err := SetupICAPath(path, TestOwnerAddress) + suite.Require().NoError(err) + + counterpartyPortID := path.EndpointA.ChannelConfig.PortID + expectedAddr := authtypes.NewBaseAccountWithAddress(icatypes.GenerateAddress(suite.chainA.GetSimApp().AccountKeeper.GetModuleAddress(icatypes.ModuleName), counterpartyPortID)).GetAddress() + + retrievedAddr, found := suite.chainA.GetSimApp().ICAControllerKeeper.GetInterchainAccountAddress(suite.chainA.GetContext(), counterpartyPortID) + suite.Require().True(found) + suite.Require().Equal(expectedAddr.String(), retrievedAddr) + + retrievedAddr, found = suite.chainA.GetSimApp().ICAControllerKeeper.GetInterchainAccountAddress(suite.chainA.GetContext(), "invalid port") + suite.Require().False(found) + suite.Require().Empty(retrievedAddr) +} + +func (suite *KeeperTestSuite) TestGetAllActiveChannels() { + var ( + expectedChannelID string = "test-channel" + expectedPortID string = "test-port" + ) + + suite.SetupTest() + + path := NewICAPath(suite.chainA, suite.chainB) + suite.coordinator.SetupConnections(path) + + err := SetupICAPath(path, TestOwnerAddress) + suite.Require().NoError(err) + + suite.chainA.GetSimApp().ICAControllerKeeper.SetActiveChannelID(suite.chainA.GetContext(), expectedPortID, expectedChannelID) + + expectedChannels := []icatypes.ActiveChannel{ + { + PortId: TestPortID, + ChannelId: path.EndpointA.ChannelID, + }, + { + PortId: expectedPortID, + ChannelId: expectedChannelID, + }, + } + + activeChannels := suite.chainA.GetSimApp().ICAControllerKeeper.GetAllActiveChannels(suite.chainA.GetContext()) + suite.Require().Len(activeChannels, len(expectedChannels)) + suite.Require().Equal(expectedChannels, activeChannels) +} + +func (suite *KeeperTestSuite) TestGetAllInterchainAccounts() { + var ( + expectedAccAddr string = "test-acc-addr" + expectedPortID string = "test-port" + ) + + suite.SetupTest() + + path := NewICAPath(suite.chainA, suite.chainB) + suite.coordinator.SetupConnections(path) + + err := SetupICAPath(path, TestOwnerAddress) + suite.Require().NoError(err) + + suite.chainA.GetSimApp().ICAControllerKeeper.SetInterchainAccountAddress(suite.chainA.GetContext(), expectedPortID, expectedAccAddr) + + expectedAccounts := []icatypes.RegisteredInterchainAccount{ + { + PortId: TestPortID, + AccountAddress: TestAccAddress.String(), + }, + { + PortId: expectedPortID, + AccountAddress: expectedAccAddr, + }, + } + + interchainAccounts := suite.chainA.GetSimApp().ICAControllerKeeper.GetAllInterchainAccounts(suite.chainA.GetContext()) + suite.Require().Len(interchainAccounts, len(expectedAccounts)) + suite.Require().Equal(expectedAccounts, interchainAccounts) +} + +func (suite *KeeperTestSuite) TestIsActiveChannel() { + suite.SetupTest() + + path := NewICAPath(suite.chainA, suite.chainB) + owner := TestOwnerAddress + suite.coordinator.SetupConnections(path) + + err := SetupICAPath(path, owner) + suite.Require().NoError(err) + portID := path.EndpointA.ChannelConfig.PortID + + isActive := suite.chainA.GetSimApp().ICAControllerKeeper.IsActiveChannel(suite.chainA.GetContext(), portID) + suite.Require().Equal(isActive, true) +} + +func (suite *KeeperTestSuite) TestSetInterchainAccountAddress() { + var ( + expectedAccAddr string = "test-acc-addr" + expectedPortID string = "test-port" + ) + + suite.chainA.GetSimApp().ICAControllerKeeper.SetInterchainAccountAddress(suite.chainA.GetContext(), expectedPortID, expectedAccAddr) + + retrievedAddr, found := suite.chainA.GetSimApp().ICAControllerKeeper.GetInterchainAccountAddress(suite.chainA.GetContext(), expectedPortID) + suite.Require().True(found) + suite.Require().Equal(expectedAccAddr, retrievedAddr) +} diff --git a/modules/apps/27-interchain-accounts/controller/keeper/params.go b/modules/apps/27-interchain-accounts/controller/keeper/params.go new file mode 100644 index 00000000000..55e15e26d97 --- /dev/null +++ b/modules/apps/27-interchain-accounts/controller/keeper/params.go @@ -0,0 +1,25 @@ +package keeper + +import ( + sdk "github.com/cosmos/cosmos-sdk/types" + + "github.com/cosmos/ibc-go/v2/modules/apps/27-interchain-accounts/controller/types" +) + +// IsControllerEnabled retrieves the host enabled boolean from the paramstore. +// True is returned if the controller submodule is enabled. +func (k Keeper) IsControllerEnabled(ctx sdk.Context) bool { + var res bool + k.paramSpace.Get(ctx, types.KeyControllerEnabled, &res) + return res +} + +// GetParams returns the total set of the host submodule parameters. +func (k Keeper) GetParams(ctx sdk.Context) types.Params { + return types.NewParams(k.IsControllerEnabled(ctx)) +} + +// SetParams sets the total set of the host submodule parameters. +func (k Keeper) SetParams(ctx sdk.Context, params types.Params) { + k.paramSpace.SetParamSet(ctx, ¶ms) +} diff --git a/modules/apps/27-interchain-accounts/controller/keeper/params_test.go b/modules/apps/27-interchain-accounts/controller/keeper/params_test.go new file mode 100644 index 00000000000..27138d42de5 --- /dev/null +++ b/modules/apps/27-interchain-accounts/controller/keeper/params_test.go @@ -0,0 +1,15 @@ +package keeper_test + +import "github.com/cosmos/ibc-go/v2/modules/apps/27-interchain-accounts/controller/types" + +func (suite *KeeperTestSuite) TestParams() { + expParams := types.DefaultParams() + + params := suite.chainA.GetSimApp().ICAControllerKeeper.GetParams(suite.chainA.GetContext()) + suite.Require().Equal(expParams, params) + + expParams.ControllerEnabled = false + suite.chainA.GetSimApp().ICAControllerKeeper.SetParams(suite.chainA.GetContext(), expParams) + params = suite.chainA.GetSimApp().ICAControllerKeeper.GetParams(suite.chainA.GetContext()) + suite.Require().Equal(expParams, params) +} diff --git a/modules/apps/27-interchain-accounts/controller/keeper/relay.go b/modules/apps/27-interchain-accounts/controller/keeper/relay.go new file mode 100644 index 00000000000..a7bbda175af --- /dev/null +++ b/modules/apps/27-interchain-accounts/controller/keeper/relay.go @@ -0,0 +1,80 @@ +package keeper + +import ( + sdk "github.com/cosmos/cosmos-sdk/types" + sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + capabilitytypes "github.com/cosmos/cosmos-sdk/x/capability/types" + + icatypes "github.com/cosmos/ibc-go/v2/modules/apps/27-interchain-accounts/types" + clienttypes "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" + channeltypes "github.com/cosmos/ibc-go/v2/modules/core/04-channel/types" +) + +// TrySendTx takes in a transaction from an authentication module and attempts to send the packet +// if the base application has the capability to send on the provided portID +func (k Keeper) TrySendTx(ctx sdk.Context, chanCap *capabilitytypes.Capability, portID string, icaPacketData icatypes.InterchainAccountPacketData) (uint64, error) { + // Check for the active channel + activeChannelID, found := k.GetActiveChannelID(ctx, portID) + if !found { + return 0, sdkerrors.Wrapf(icatypes.ErrActiveChannelNotFound, "failed to retrieve active channel for port %s", portID) + } + + sourceChannelEnd, found := k.channelKeeper.GetChannel(ctx, portID, activeChannelID) + if !found { + return 0, sdkerrors.Wrap(channeltypes.ErrChannelNotFound, activeChannelID) + } + + destinationPort := sourceChannelEnd.GetCounterparty().GetPortID() + destinationChannel := sourceChannelEnd.GetCounterparty().GetChannelID() + + return k.createOutgoingPacket(ctx, portID, activeChannelID, destinationPort, destinationChannel, chanCap, icaPacketData) +} + +func (k Keeper) createOutgoingPacket( + ctx sdk.Context, + sourcePort, + sourceChannel, + destinationPort, + destinationChannel string, + chanCap *capabilitytypes.Capability, + icaPacketData icatypes.InterchainAccountPacketData, +) (uint64, error) { + if err := icaPacketData.ValidateBasic(); err != nil { + return 0, sdkerrors.Wrap(err, "invalid interchain account packet data") + } + + // get the next sequence + sequence, found := k.channelKeeper.GetNextSequenceSend(ctx, sourcePort, sourceChannel) + if !found { + return 0, sdkerrors.Wrapf(channeltypes.ErrSequenceSendNotFound, "failed to retrieve next sequence send for channel %s on port %s", sourceChannel, sourcePort) + } + + // timeoutTimestamp is set to be a max number here so that we never recieve a timeout + // ics-27-1 uses ordered channels which can close upon recieving a timeout, which is an undesired effect + const timeoutTimestamp = ^uint64(0) >> 1 // Shift the unsigned bit to satisfy hermes relayer timestamp conversion + + packet := channeltypes.NewPacket( + icaPacketData.GetBytes(), + sequence, + sourcePort, + sourceChannel, + destinationPort, + destinationChannel, + clienttypes.ZeroHeight(), + timeoutTimestamp, + ) + + if err := k.ics4Wrapper.SendPacket(ctx, chanCap, packet); err != nil { + return 0, err + } + + return packet.Sequence, nil +} + +// OnTimeoutPacket removes the active channel associated with the provided packet, the underlying channel end is closed +// due to the semantics of ORDERED channels +func (k Keeper) OnTimeoutPacket(ctx sdk.Context, packet channeltypes.Packet) error { + k.DeleteActiveChannelID(ctx, packet.SourcePort) + + return nil +} diff --git a/modules/apps/27-interchain-accounts/controller/keeper/relay_test.go b/modules/apps/27-interchain-accounts/controller/keeper/relay_test.go new file mode 100644 index 00000000000..d00ed6a936a --- /dev/null +++ b/modules/apps/27-interchain-accounts/controller/keeper/relay_test.go @@ -0,0 +1,201 @@ +package keeper_test + +import ( + sdk "github.com/cosmos/cosmos-sdk/types" + banktypes "github.com/cosmos/cosmos-sdk/x/bank/types" + capabilitytypes "github.com/cosmos/cosmos-sdk/x/capability/types" + + icatypes "github.com/cosmos/ibc-go/v2/modules/apps/27-interchain-accounts/types" + clienttypes "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" + channeltypes "github.com/cosmos/ibc-go/v2/modules/core/04-channel/types" + host "github.com/cosmos/ibc-go/v2/modules/core/24-host" + ibctesting "github.com/cosmos/ibc-go/v2/testing" +) + +func (suite *KeeperTestSuite) TestTrySendTx() { + var ( + path *ibctesting.Path + packetData icatypes.InterchainAccountPacketData + chanCap *capabilitytypes.Capability + ) + + testCases := []struct { + msg string + malleate func() + expPass bool + }{ + { + "success", + func() { + interchainAccountAddr, found := suite.chainA.GetSimApp().ICAControllerKeeper.GetInterchainAccountAddress(suite.chainA.GetContext(), path.EndpointA.ChannelConfig.PortID) + suite.Require().True(found) + + msg := &banktypes.MsgSend{ + FromAddress: interchainAccountAddr, + ToAddress: suite.chainB.SenderAccount.GetAddress().String(), + Amount: sdk.NewCoins(sdk.NewCoin(sdk.DefaultBondDenom, sdk.NewInt(100))), + } + + data, err := icatypes.SerializeCosmosTx(suite.chainB.GetSimApp().AppCodec(), []sdk.Msg{msg}) + suite.Require().NoError(err) + + packetData = icatypes.InterchainAccountPacketData{ + Type: icatypes.EXECUTE_TX, + Data: data, + } + }, + true, + }, + { + "success with multiple sdk.Msg", + func() { + interchainAccountAddr, found := suite.chainA.GetSimApp().ICAControllerKeeper.GetInterchainAccountAddress(suite.chainA.GetContext(), path.EndpointA.ChannelConfig.PortID) + suite.Require().True(found) + + msgsBankSend := []sdk.Msg{ + &banktypes.MsgSend{ + FromAddress: interchainAccountAddr, + ToAddress: suite.chainB.SenderAccount.GetAddress().String(), + Amount: sdk.NewCoins(sdk.NewCoin(sdk.DefaultBondDenom, sdk.NewInt(100))), + }, + &banktypes.MsgSend{ + FromAddress: interchainAccountAddr, + ToAddress: suite.chainB.SenderAccount.GetAddress().String(), + Amount: sdk.NewCoins(sdk.NewCoin(sdk.DefaultBondDenom, sdk.NewInt(100))), + }, + } + + data, err := icatypes.SerializeCosmosTx(suite.chainB.GetSimApp().AppCodec(), msgsBankSend) + suite.Require().NoError(err) + + packetData = icatypes.InterchainAccountPacketData{ + Type: icatypes.EXECUTE_TX, + Data: data, + } + }, + true, + }, + { + "data is nil", + func() { + packetData = icatypes.InterchainAccountPacketData{ + Type: icatypes.EXECUTE_TX, + Data: nil, + } + }, + false, + }, + { + "active channel not found", + func() { + path.EndpointA.ChannelConfig.PortID = "invalid-port-id" + }, + false, + }, + { + "channel does not exist", + func() { + suite.chainA.GetSimApp().ICAControllerKeeper.SetActiveChannelID(suite.chainA.GetContext(), path.EndpointA.ChannelConfig.PortID, "channel-100") + }, + false, + }, + { + "sendPacket fails - channel closed", + func() { + err := path.EndpointA.SetChannelClosed() + suite.Require().NoError(err) + }, + false, + }, + { + "invalid channel capability provided", + func() { + chanCap = nil + }, + false, + }, + } + + for _, tc := range testCases { + tc := tc + + suite.Run(tc.msg, func() { + suite.SetupTest() // reset + + path = NewICAPath(suite.chainA, suite.chainB) + suite.coordinator.SetupConnections(path) + + err := SetupICAPath(path, TestOwnerAddress) + suite.Require().NoError(err) + + var ok bool + chanCap, ok = suite.chainA.GetSimApp().ScopedICAMockKeeper.GetCapability(path.EndpointA.Chain.GetContext(), host.ChannelCapabilityPath(path.EndpointA.ChannelConfig.PortID, path.EndpointA.ChannelID)) + suite.Require().True(ok) + + tc.malleate() // malleate mutates test data + + _, err = suite.chainA.GetSimApp().ICAControllerKeeper.TrySendTx(suite.chainA.GetContext(), chanCap, path.EndpointA.ChannelConfig.PortID, packetData) + + if tc.expPass { + suite.Require().NoError(err) + } else { + suite.Require().Error(err) + } + }) + } +} + +func (suite *KeeperTestSuite) TestOnTimeoutPacket() { + var ( + path *ibctesting.Path + ) + + testCases := []struct { + msg string + malleate func() + expPass bool + }{ + { + "success", + func() {}, + true, + }, + } + + for _, tc := range testCases { + suite.Run(tc.msg, func() { + suite.SetupTest() // reset + + path = NewICAPath(suite.chainA, suite.chainB) + suite.coordinator.SetupConnections(path) + + err := SetupICAPath(path, TestOwnerAddress) + suite.Require().NoError(err) + + tc.malleate() // malleate mutates test data + + packet := channeltypes.NewPacket( + []byte{}, + 1, + path.EndpointA.ChannelConfig.PortID, + path.EndpointA.ChannelID, + path.EndpointB.ChannelConfig.PortID, + path.EndpointB.ChannelID, + clienttypes.NewHeight(0, 100), + 0, + ) + + err = suite.chainA.GetSimApp().ICAControllerKeeper.OnTimeoutPacket(suite.chainA.GetContext(), packet) + + activeChannelID, found := suite.chainA.GetSimApp().ICAControllerKeeper.GetActiveChannelID(suite.chainA.GetContext(), path.EndpointA.ChannelConfig.PortID) + + if tc.expPass { + suite.Require().NoError(err) + suite.Require().Empty(activeChannelID) + suite.Require().False(found) + } else { + suite.Require().Error(err) + } + }) + } +} diff --git a/modules/apps/27-interchain-accounts/controller/types/controller.pb.go b/modules/apps/27-interchain-accounts/controller/types/controller.pb.go new file mode 100644 index 00000000000..3a292e9a77b --- /dev/null +++ b/modules/apps/27-interchain-accounts/controller/types/controller.pb.go @@ -0,0 +1,318 @@ +// Code generated by protoc-gen-gogo. DO NOT EDIT. +// source: ibc/applications/interchain_accounts/controller/v1/controller.proto + +package types + +import ( + fmt "fmt" + _ "github.com/cosmos/cosmos-sdk/codec/types" + _ "github.com/gogo/protobuf/gogoproto" + proto "github.com/gogo/protobuf/proto" + io "io" + math "math" + math_bits "math/bits" +) + +// Reference imports to suppress errors if they are not otherwise used. +var _ = proto.Marshal +var _ = fmt.Errorf +var _ = math.Inf + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the proto package it is being compiled against. +// A compilation error at this line likely means your copy of the +// proto package needs to be updated. +const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package + +// Params defines the set of on-chain interchain accounts parameters. +// The following parameters may be used to disable the controller submodule. +type Params struct { + // controller_enabled enables or disables the controller submodule. + ControllerEnabled bool `protobuf:"varint,1,opt,name=controller_enabled,json=controllerEnabled,proto3" json:"controller_enabled,omitempty" yaml:"controller_enabled"` +} + +func (m *Params) Reset() { *m = Params{} } +func (m *Params) String() string { return proto.CompactTextString(m) } +func (*Params) ProtoMessage() {} +func (*Params) Descriptor() ([]byte, []int) { + return fileDescriptor_177fd0fec5eb3400, []int{0} +} +func (m *Params) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *Params) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_Params.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *Params) XXX_Merge(src proto.Message) { + xxx_messageInfo_Params.Merge(m, src) +} +func (m *Params) XXX_Size() int { + return m.Size() +} +func (m *Params) XXX_DiscardUnknown() { + xxx_messageInfo_Params.DiscardUnknown(m) +} + +var xxx_messageInfo_Params proto.InternalMessageInfo + +func (m *Params) GetControllerEnabled() bool { + if m != nil { + return m.ControllerEnabled + } + return false +} + +func init() { + proto.RegisterType((*Params)(nil), "ibc.applications.interchain_accounts.controller.v1.Params") +} + +func init() { + proto.RegisterFile("ibc/applications/interchain_accounts/controller/v1/controller.proto", fileDescriptor_177fd0fec5eb3400) +} + +var fileDescriptor_177fd0fec5eb3400 = []byte{ + // 268 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x6c, 0x90, 0xb1, 0x4e, 0xc3, 0x30, + 0x14, 0x45, 0x93, 0xa5, 0x42, 0xd9, 0x88, 0x18, 0x68, 0x25, 0x0c, 0xca, 0xc4, 0x92, 0x3c, 0x35, + 0x0c, 0x48, 0x8c, 0x45, 0x6c, 0x0c, 0x15, 0x03, 0x03, 0x4b, 0x65, 0xbb, 0xc6, 0x35, 0x72, 0xfc, + 0x22, 0xdb, 0x89, 0x94, 0xbf, 0xe0, 0xb3, 0x18, 0x3b, 0x32, 0x21, 0x94, 0xfc, 0x01, 0x5f, 0x80, + 0x9a, 0x0c, 0x89, 0xd4, 0x6e, 0xd7, 0x47, 0x7e, 0x47, 0xba, 0x37, 0x7a, 0x54, 0x8c, 0x03, 0x2d, + 0x4b, 0xad, 0x38, 0xf5, 0x0a, 0x8d, 0x03, 0x65, 0xbc, 0xb0, 0x7c, 0x47, 0x95, 0xd9, 0x50, 0xce, + 0xb1, 0x32, 0xde, 0x01, 0x47, 0xe3, 0x2d, 0x6a, 0x2d, 0x2c, 0xd4, 0xcb, 0xc9, 0x2b, 0x2b, 0x2d, + 0x7a, 0x8c, 0x73, 0xc5, 0x78, 0x36, 0x95, 0x64, 0x27, 0x24, 0xd9, 0xe4, 0xac, 0x5e, 0x2e, 0xe6, + 0x12, 0x51, 0x6a, 0x01, 0xbd, 0x81, 0x55, 0xef, 0x40, 0x4d, 0x33, 0xe8, 0x16, 0x17, 0x12, 0x25, + 0xf6, 0x11, 0x0e, 0x69, 0xa0, 0xc9, 0x6b, 0x34, 0x5b, 0x53, 0x4b, 0x0b, 0x17, 0x3f, 0x47, 0xf1, + 0xe8, 0xda, 0x08, 0x43, 0x99, 0x16, 0xdb, 0xcb, 0xf0, 0x26, 0xbc, 0x3d, 0x5b, 0x5d, 0xfd, 0xfd, + 0x5c, 0xcf, 0x1b, 0x5a, 0xe8, 0x87, 0xe4, 0xf8, 0x4f, 0xf2, 0x72, 0x3e, 0xc2, 0xa7, 0x81, 0xad, + 0x3e, 0xbe, 0x5a, 0x12, 0xee, 0x5b, 0x12, 0xfe, 0xb6, 0x24, 0xfc, 0xec, 0x48, 0xb0, 0xef, 0x48, + 0xf0, 0xdd, 0x91, 0xe0, 0x6d, 0x2d, 0x95, 0xdf, 0x55, 0x2c, 0xe3, 0x58, 0x00, 0x47, 0x57, 0xa0, + 0x03, 0xc5, 0x78, 0x2a, 0x11, 0xea, 0x1c, 0x0a, 0xdc, 0x56, 0x5a, 0xb8, 0xc3, 0x76, 0x0e, 0xf2, + 0xfb, 0x74, 0x6c, 0x9c, 0x9e, 0x9a, 0xcd, 0x37, 0xa5, 0x70, 0x6c, 0xd6, 0x57, 0xb9, 0xfb, 0x0f, + 0x00, 0x00, 0xff, 0xff, 0x0f, 0xf9, 0x46, 0xeb, 0x76, 0x01, 0x00, 0x00, +} + +func (m *Params) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *Params) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *Params) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.ControllerEnabled { + i-- + if m.ControllerEnabled { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + +func encodeVarintController(dAtA []byte, offset int, v uint64) int { + offset -= sovController(v) + base := offset + for v >= 1<<7 { + dAtA[offset] = uint8(v&0x7f | 0x80) + v >>= 7 + offset++ + } + dAtA[offset] = uint8(v) + return base +} +func (m *Params) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.ControllerEnabled { + n += 2 + } + return n +} + +func sovController(x uint64) (n int) { + return (math_bits.Len64(x|1) + 6) / 7 +} +func sozController(x uint64) (n int) { + return sovController(uint64((x << 1) ^ uint64((int64(x) >> 63)))) +} +func (m *Params) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowController + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: Params: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: Params: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field ControllerEnabled", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowController + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.ControllerEnabled = bool(v != 0) + default: + iNdEx = preIndex + skippy, err := skipController(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthController + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func skipController(dAtA []byte) (n int, err error) { + l := len(dAtA) + iNdEx := 0 + depth := 0 + for iNdEx < l { + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return 0, ErrIntOverflowController + } + if iNdEx >= l { + return 0, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + wireType := int(wire & 0x7) + switch wireType { + case 0: + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return 0, ErrIntOverflowController + } + if iNdEx >= l { + return 0, io.ErrUnexpectedEOF + } + iNdEx++ + if dAtA[iNdEx-1] < 0x80 { + break + } + } + case 1: + iNdEx += 8 + case 2: + var length int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return 0, ErrIntOverflowController + } + if iNdEx >= l { + return 0, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + length |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if length < 0 { + return 0, ErrInvalidLengthController + } + iNdEx += length + case 3: + depth++ + case 4: + if depth == 0 { + return 0, ErrUnexpectedEndOfGroupController + } + depth-- + case 5: + iNdEx += 4 + default: + return 0, fmt.Errorf("proto: illegal wireType %d", wireType) + } + if iNdEx < 0 { + return 0, ErrInvalidLengthController + } + if depth == 0 { + return iNdEx, nil + } + } + return 0, io.ErrUnexpectedEOF +} + +var ( + ErrInvalidLengthController = fmt.Errorf("proto: negative length found during unmarshaling") + ErrIntOverflowController = fmt.Errorf("proto: integer overflow") + ErrUnexpectedEndOfGroupController = fmt.Errorf("proto: unexpected end of group") +) diff --git a/modules/apps/27-interchain-accounts/controller/types/errors.go b/modules/apps/27-interchain-accounts/controller/types/errors.go new file mode 100644 index 00000000000..3a0ade00fe1 --- /dev/null +++ b/modules/apps/27-interchain-accounts/controller/types/errors.go @@ -0,0 +1,10 @@ +package types + +import ( + sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" +) + +// ICA Controller sentinel errors +var ( + ErrControllerSubModuleDisabled = sdkerrors.Register(SubModuleName, 2, "controller submodule is disabled") +) diff --git a/modules/apps/27-interchain-accounts/controller/types/keys.go b/modules/apps/27-interchain-accounts/controller/types/keys.go new file mode 100644 index 00000000000..238c8f603f9 --- /dev/null +++ b/modules/apps/27-interchain-accounts/controller/types/keys.go @@ -0,0 +1,9 @@ +package types + +const ( + // SubModuleName defines the interchain accounts controller module name + SubModuleName = "icacontroller" + + // StoreKey is the store key string for the interchain accounts controller module + StoreKey = SubModuleName +) diff --git a/modules/apps/27-interchain-accounts/controller/types/params.go b/modules/apps/27-interchain-accounts/controller/types/params.go new file mode 100644 index 00000000000..eb9c413bec0 --- /dev/null +++ b/modules/apps/27-interchain-accounts/controller/types/params.go @@ -0,0 +1,59 @@ +package types + +import ( + "fmt" + + paramtypes "github.com/cosmos/cosmos-sdk/x/params/types" +) + +const ( + // DefaultControllerEnabled is the default value for the controller param (set to true) + DefaultControllerEnabled = true +) + +var ( + // KeyControllerEnabled is the store key for ControllerEnabled Params + KeyControllerEnabled = []byte("ControllerEnabled") +) + +// ParamKeyTable type declaration for parameters +func ParamKeyTable() paramtypes.KeyTable { + return paramtypes.NewKeyTable().RegisterParamSet(&Params{}) +} + +// NewParams creates a new parameter configuration for the controller submodule +func NewParams(enableController bool) Params { + return Params{ + ControllerEnabled: enableController, + } +} + +// DefaultParams is the default parameter configuration for the controller submodule +func DefaultParams() Params { + return NewParams(DefaultControllerEnabled) +} + +// Validate validates all controller submodule parameters +func (p Params) Validate() error { + if err := validateEnabled(p.ControllerEnabled); err != nil { + return err + } + + return nil +} + +// ParamSetPairs implements params.ParamSet +func (p *Params) ParamSetPairs() paramtypes.ParamSetPairs { + return paramtypes.ParamSetPairs{ + paramtypes.NewParamSetPair(KeyControllerEnabled, p.ControllerEnabled, validateEnabled), + } +} + +func validateEnabled(i interface{}) error { + _, ok := i.(bool) + if !ok { + return fmt.Errorf("invalid parameter type: %T", i) + } + + return nil +} diff --git a/modules/apps/27-interchain-accounts/controller/types/params_test.go b/modules/apps/27-interchain-accounts/controller/types/params_test.go new file mode 100644 index 00000000000..0a25fd213a0 --- /dev/null +++ b/modules/apps/27-interchain-accounts/controller/types/params_test.go @@ -0,0 +1,14 @@ +package types_test + +import ( + "testing" + + "github.com/stretchr/testify/require" + + "github.com/cosmos/ibc-go/v2/modules/apps/27-interchain-accounts/controller/types" +) + +func TestValidateParams(t *testing.T) { + require.NoError(t, types.DefaultParams().Validate()) + require.NoError(t, types.NewParams(false).Validate()) +} diff --git a/modules/apps/27-interchain-accounts/controller/types/query.pb.go b/modules/apps/27-interchain-accounts/controller/types/query.pb.go new file mode 100644 index 00000000000..659605862e9 --- /dev/null +++ b/modules/apps/27-interchain-accounts/controller/types/query.pb.go @@ -0,0 +1,547 @@ +// Code generated by protoc-gen-gogo. DO NOT EDIT. +// source: ibc/applications/interchain_accounts/controller/v1/query.proto + +package types + +import ( + context "context" + fmt "fmt" + _ "github.com/gogo/protobuf/gogoproto" + grpc1 "github.com/gogo/protobuf/grpc" + proto "github.com/gogo/protobuf/proto" + _ "google.golang.org/genproto/googleapis/api/annotations" + grpc "google.golang.org/grpc" + codes "google.golang.org/grpc/codes" + status "google.golang.org/grpc/status" + io "io" + math "math" + math_bits "math/bits" +) + +// Reference imports to suppress errors if they are not otherwise used. +var _ = proto.Marshal +var _ = fmt.Errorf +var _ = math.Inf + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the proto package it is being compiled against. +// A compilation error at this line likely means your copy of the +// proto package needs to be updated. +const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package + +// QueryParamsRequest is the request type for the Query/Params RPC method. +type QueryParamsRequest struct { +} + +func (m *QueryParamsRequest) Reset() { *m = QueryParamsRequest{} } +func (m *QueryParamsRequest) String() string { return proto.CompactTextString(m) } +func (*QueryParamsRequest) ProtoMessage() {} +func (*QueryParamsRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_df0d8b259d72854e, []int{0} +} +func (m *QueryParamsRequest) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *QueryParamsRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_QueryParamsRequest.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *QueryParamsRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryParamsRequest.Merge(m, src) +} +func (m *QueryParamsRequest) XXX_Size() int { + return m.Size() +} +func (m *QueryParamsRequest) XXX_DiscardUnknown() { + xxx_messageInfo_QueryParamsRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_QueryParamsRequest proto.InternalMessageInfo + +// QueryParamsResponse is the response type for the Query/Params RPC method. +type QueryParamsResponse struct { + // params defines the parameters of the module. + Params *Params `protobuf:"bytes,1,opt,name=params,proto3" json:"params,omitempty"` +} + +func (m *QueryParamsResponse) Reset() { *m = QueryParamsResponse{} } +func (m *QueryParamsResponse) String() string { return proto.CompactTextString(m) } +func (*QueryParamsResponse) ProtoMessage() {} +func (*QueryParamsResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_df0d8b259d72854e, []int{1} +} +func (m *QueryParamsResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *QueryParamsResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_QueryParamsResponse.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *QueryParamsResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryParamsResponse.Merge(m, src) +} +func (m *QueryParamsResponse) XXX_Size() int { + return m.Size() +} +func (m *QueryParamsResponse) XXX_DiscardUnknown() { + xxx_messageInfo_QueryParamsResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_QueryParamsResponse proto.InternalMessageInfo + +func (m *QueryParamsResponse) GetParams() *Params { + if m != nil { + return m.Params + } + return nil +} + +func init() { + proto.RegisterType((*QueryParamsRequest)(nil), "ibc.applications.interchain_accounts.controller.v1.QueryParamsRequest") + proto.RegisterType((*QueryParamsResponse)(nil), "ibc.applications.interchain_accounts.controller.v1.QueryParamsResponse") +} + +func init() { + proto.RegisterFile("ibc/applications/interchain_accounts/controller/v1/query.proto", fileDescriptor_df0d8b259d72854e) +} + +var fileDescriptor_df0d8b259d72854e = []byte{ + // 326 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x91, 0x31, 0x4b, 0x3b, 0x31, + 0x18, 0xc6, 0x9b, 0x3f, 0xfc, 0x3b, 0x9c, 0xdb, 0xd9, 0x41, 0x8a, 0x1c, 0xd2, 0xc9, 0xa5, 0x79, + 0xe9, 0x29, 0x08, 0x1d, 0x1c, 0x14, 0x74, 0xad, 0x1d, 0x5d, 0x24, 0x17, 0x43, 0x1a, 0xb9, 0xcb, + 0x9b, 0x26, 0xb9, 0x42, 0x57, 0x3f, 0x81, 0xe0, 0x97, 0x72, 0x2c, 0x88, 0xe0, 0xa6, 0xb4, 0x7e, + 0x10, 0xe9, 0xe5, 0xa0, 0x15, 0x3b, 0x68, 0xdd, 0x42, 0x5e, 0x9e, 0xdf, 0xf3, 0x3c, 0x3c, 0xd1, + 0xa9, 0xca, 0x38, 0x30, 0x63, 0x72, 0xc5, 0x99, 0x57, 0xa8, 0x1d, 0x28, 0xed, 0x85, 0xe5, 0x23, + 0xa6, 0xf4, 0x0d, 0xe3, 0x1c, 0x4b, 0xed, 0x1d, 0x70, 0xd4, 0xde, 0x62, 0x9e, 0x0b, 0x0b, 0x93, + 0x1e, 0x8c, 0x4b, 0x61, 0xa7, 0xd4, 0x58, 0xf4, 0x18, 0xa7, 0x2a, 0xe3, 0x74, 0x5d, 0x4f, 0x37, + 0xe8, 0xe9, 0x4a, 0x4f, 0x27, 0xbd, 0x76, 0x4b, 0xa2, 0xc4, 0x4a, 0x0e, 0xcb, 0x57, 0x20, 0xb5, + 0xcf, 0xb7, 0x48, 0xb2, 0xc6, 0x0d, 0x90, 0x7d, 0x89, 0x28, 0x73, 0x01, 0xcc, 0x28, 0x60, 0x5a, + 0xa3, 0xaf, 0x43, 0x55, 0xd7, 0x4e, 0x2b, 0x8a, 0xaf, 0x96, 0xd9, 0x07, 0xcc, 0xb2, 0xc2, 0x0d, + 0xc5, 0xb8, 0x14, 0xce, 0x77, 0x54, 0xb4, 0xfb, 0xe5, 0xd7, 0x19, 0xd4, 0x4e, 0xc4, 0xc3, 0xa8, + 0x69, 0xaa, 0x9f, 0x3d, 0x72, 0x40, 0x0e, 0x77, 0xd2, 0x3e, 0xfd, 0x7d, 0x55, 0x5a, 0x33, 0x6b, + 0x52, 0xfa, 0x46, 0xa2, 0xff, 0x95, 0x57, 0xfc, 0x42, 0xa2, 0x66, 0x38, 0xc6, 0x17, 0xdb, 0x80, + 0xbf, 0xf7, 0x68, 0x5f, 0xfe, 0x99, 0x13, 0x9a, 0x77, 0xfa, 0xf7, 0xcf, 0x1f, 0x8f, 0xff, 0x8e, + 0xe3, 0x14, 0xea, 0x49, 0x7e, 0x32, 0x45, 0x68, 0x78, 0x76, 0xf7, 0x34, 0x4f, 0xc8, 0x6c, 0x9e, + 0x90, 0xf7, 0x79, 0x42, 0x1e, 0x16, 0x49, 0x63, 0xb6, 0x48, 0x1a, 0xaf, 0x8b, 0xa4, 0x71, 0x3d, + 0x90, 0xca, 0x8f, 0xca, 0x8c, 0x72, 0x2c, 0x80, 0xa3, 0x2b, 0xd0, 0x2d, 0xf1, 0x5d, 0x89, 0x30, + 0x49, 0xa1, 0xc0, 0xdb, 0x32, 0x17, 0x2e, 0x98, 0xa5, 0x27, 0xdd, 0x95, 0x5f, 0x77, 0x93, 0x9f, + 0x9f, 0x1a, 0xe1, 0xb2, 0x66, 0xb5, 0xea, 0xd1, 0x67, 0x00, 0x00, 0x00, 0xff, 0xff, 0xef, 0xec, + 0xb6, 0x2f, 0xc4, 0x02, 0x00, 0x00, +} + +// Reference imports to suppress errors if they are not otherwise used. +var _ context.Context +var _ grpc.ClientConn + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the grpc package it is being compiled against. +const _ = grpc.SupportPackageIsVersion4 + +// QueryClient is the client API for Query service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. +type QueryClient interface { + // Params queries all parameters of the ICA controller submodule. + Params(ctx context.Context, in *QueryParamsRequest, opts ...grpc.CallOption) (*QueryParamsResponse, error) +} + +type queryClient struct { + cc grpc1.ClientConn +} + +func NewQueryClient(cc grpc1.ClientConn) QueryClient { + return &queryClient{cc} +} + +func (c *queryClient) Params(ctx context.Context, in *QueryParamsRequest, opts ...grpc.CallOption) (*QueryParamsResponse, error) { + out := new(QueryParamsResponse) + err := c.cc.Invoke(ctx, "/ibc.applications.interchain_accounts.controller.v1.Query/Params", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +// QueryServer is the server API for Query service. +type QueryServer interface { + // Params queries all parameters of the ICA controller submodule. + Params(context.Context, *QueryParamsRequest) (*QueryParamsResponse, error) +} + +// UnimplementedQueryServer can be embedded to have forward compatible implementations. +type UnimplementedQueryServer struct { +} + +func (*UnimplementedQueryServer) Params(ctx context.Context, req *QueryParamsRequest) (*QueryParamsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method Params not implemented") +} + +func RegisterQueryServer(s grpc1.Server, srv QueryServer) { + s.RegisterService(&_Query_serviceDesc, srv) +} + +func _Query_Params_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(QueryParamsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(QueryServer).Params(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/ibc.applications.interchain_accounts.controller.v1.Query/Params", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(QueryServer).Params(ctx, req.(*QueryParamsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +var _Query_serviceDesc = grpc.ServiceDesc{ + ServiceName: "ibc.applications.interchain_accounts.controller.v1.Query", + HandlerType: (*QueryServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "Params", + Handler: _Query_Params_Handler, + }, + }, + Streams: []grpc.StreamDesc{}, + Metadata: "ibc/applications/interchain_accounts/controller/v1/query.proto", +} + +func (m *QueryParamsRequest) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *QueryParamsRequest) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *QueryParamsRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + return len(dAtA) - i, nil +} + +func (m *QueryParamsResponse) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *QueryParamsResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *QueryParamsResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.Params != nil { + { + size, err := m.Params.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintQuery(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func encodeVarintQuery(dAtA []byte, offset int, v uint64) int { + offset -= sovQuery(v) + base := offset + for v >= 1<<7 { + dAtA[offset] = uint8(v&0x7f | 0x80) + v >>= 7 + offset++ + } + dAtA[offset] = uint8(v) + return base +} +func (m *QueryParamsRequest) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + +func (m *QueryParamsResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Params != nil { + l = m.Params.Size() + n += 1 + l + sovQuery(uint64(l)) + } + return n +} + +func sovQuery(x uint64) (n int) { + return (math_bits.Len64(x|1) + 6) / 7 +} +func sozQuery(x uint64) (n int) { + return sovQuery(uint64((x << 1) ^ uint64((int64(x) >> 63)))) +} +func (m *QueryParamsRequest) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: QueryParamsRequest: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: QueryParamsRequest: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + default: + iNdEx = preIndex + skippy, err := skipQuery(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthQuery + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *QueryParamsResponse) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: QueryParamsResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: QueryParamsResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Params", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthQuery + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthQuery + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Params == nil { + m.Params = &Params{} + } + if err := m.Params.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipQuery(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthQuery + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func skipQuery(dAtA []byte) (n int, err error) { + l := len(dAtA) + iNdEx := 0 + depth := 0 + for iNdEx < l { + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return 0, ErrIntOverflowQuery + } + if iNdEx >= l { + return 0, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + wireType := int(wire & 0x7) + switch wireType { + case 0: + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return 0, ErrIntOverflowQuery + } + if iNdEx >= l { + return 0, io.ErrUnexpectedEOF + } + iNdEx++ + if dAtA[iNdEx-1] < 0x80 { + break + } + } + case 1: + iNdEx += 8 + case 2: + var length int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return 0, ErrIntOverflowQuery + } + if iNdEx >= l { + return 0, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + length |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if length < 0 { + return 0, ErrInvalidLengthQuery + } + iNdEx += length + case 3: + depth++ + case 4: + if depth == 0 { + return 0, ErrUnexpectedEndOfGroupQuery + } + depth-- + case 5: + iNdEx += 4 + default: + return 0, fmt.Errorf("proto: illegal wireType %d", wireType) + } + if iNdEx < 0 { + return 0, ErrInvalidLengthQuery + } + if depth == 0 { + return iNdEx, nil + } + } + return 0, io.ErrUnexpectedEOF +} + +var ( + ErrInvalidLengthQuery = fmt.Errorf("proto: negative length found during unmarshaling") + ErrIntOverflowQuery = fmt.Errorf("proto: integer overflow") + ErrUnexpectedEndOfGroupQuery = fmt.Errorf("proto: unexpected end of group") +) diff --git a/modules/apps/27-interchain-accounts/controller/types/query.pb.gw.go b/modules/apps/27-interchain-accounts/controller/types/query.pb.gw.go new file mode 100644 index 00000000000..a9ac1bc03bb --- /dev/null +++ b/modules/apps/27-interchain-accounts/controller/types/query.pb.gw.go @@ -0,0 +1,148 @@ +// Code generated by protoc-gen-grpc-gateway. DO NOT EDIT. +// source: ibc/applications/interchain_accounts/controller/v1/query.proto + +/* +Package types is a reverse proxy. + +It translates gRPC into RESTful JSON APIs. +*/ +package types + +import ( + "context" + "io" + "net/http" + + "github.com/golang/protobuf/descriptor" + "github.com/golang/protobuf/proto" + "github.com/grpc-ecosystem/grpc-gateway/runtime" + "github.com/grpc-ecosystem/grpc-gateway/utilities" + "google.golang.org/grpc" + "google.golang.org/grpc/codes" + "google.golang.org/grpc/grpclog" + "google.golang.org/grpc/status" +) + +// Suppress "imported and not used" errors +var _ codes.Code +var _ io.Reader +var _ status.Status +var _ = runtime.String +var _ = utilities.NewDoubleArray +var _ = descriptor.ForMessage + +func request_Query_Params_0(ctx context.Context, marshaler runtime.Marshaler, client QueryClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq QueryParamsRequest + var metadata runtime.ServerMetadata + + msg, err := client.Params(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_Query_Params_0(ctx context.Context, marshaler runtime.Marshaler, server QueryServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq QueryParamsRequest + var metadata runtime.ServerMetadata + + msg, err := server.Params(ctx, &protoReq) + return msg, metadata, err + +} + +// RegisterQueryHandlerServer registers the http handlers for service Query to "mux". +// UnaryRPC :call QueryServer directly. +// StreamingRPC :currently unsupported pending https://github.com/grpc/grpc-go/issues/906. +// Note that using this registration option will cause many gRPC library features (such as grpc.SendHeader, etc) to stop working. Consider using RegisterQueryHandlerFromEndpoint instead. +func RegisterQueryHandlerServer(ctx context.Context, mux *runtime.ServeMux, server QueryServer) error { + + mux.Handle("GET", pattern_Query_Params_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_Query_Params_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Query_Params_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + return nil +} + +// RegisterQueryHandlerFromEndpoint is same as RegisterQueryHandler but +// automatically dials to "endpoint" and closes the connection when "ctx" gets done. +func RegisterQueryHandlerFromEndpoint(ctx context.Context, mux *runtime.ServeMux, endpoint string, opts []grpc.DialOption) (err error) { + conn, err := grpc.Dial(endpoint, opts...) + if err != nil { + return err + } + defer func() { + if err != nil { + if cerr := conn.Close(); cerr != nil { + grpclog.Infof("Failed to close conn to %s: %v", endpoint, cerr) + } + return + } + go func() { + <-ctx.Done() + if cerr := conn.Close(); cerr != nil { + grpclog.Infof("Failed to close conn to %s: %v", endpoint, cerr) + } + }() + }() + + return RegisterQueryHandler(ctx, mux, conn) +} + +// RegisterQueryHandler registers the http handlers for service Query to "mux". +// The handlers forward requests to the grpc endpoint over "conn". +func RegisterQueryHandler(ctx context.Context, mux *runtime.ServeMux, conn *grpc.ClientConn) error { + return RegisterQueryHandlerClient(ctx, mux, NewQueryClient(conn)) +} + +// RegisterQueryHandlerClient registers the http handlers for service Query +// to "mux". The handlers forward requests to the grpc endpoint over the given implementation of "QueryClient". +// Note: the gRPC framework executes interceptors within the gRPC handler. If the passed in "QueryClient" +// doesn't go through the normal gRPC flow (creating a gRPC client etc.) then it will be up to the passed in +// "QueryClient" to call the correct interceptors. +func RegisterQueryHandlerClient(ctx context.Context, mux *runtime.ServeMux, client QueryClient) error { + + mux.Handle("GET", pattern_Query_Params_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_Query_Params_0(rctx, inboundMarshaler, client, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Query_Params_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + return nil +} + +var ( + pattern_Query_Params_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3, 2, 4, 2, 5}, []string{"ibc", "apps", "interchain_accounts", "controller", "v1", "params"}, "", runtime.AssumeColonVerbOpt(true))) +) + +var ( + forward_Query_Params_0 = runtime.ForwardResponseMessage +) diff --git a/modules/apps/27-interchain-accounts/host/client/cli/cli.go b/modules/apps/27-interchain-accounts/host/client/cli/cli.go new file mode 100644 index 00000000000..9d88f4cba21 --- /dev/null +++ b/modules/apps/27-interchain-accounts/host/client/cli/cli.go @@ -0,0 +1,21 @@ +package cli + +import ( + "github.com/spf13/cobra" +) + +// GetQueryCmd returns the query commands for the ICA host submodule +func GetQueryCmd() *cobra.Command { + queryCmd := &cobra.Command{ + Use: "host", + Short: "interchain-accounts host subcommands", + DisableFlagParsing: true, + SuggestionsMinimumDistance: 2, + } + + queryCmd.AddCommand( + GetCmdParams(), + ) + + return queryCmd +} diff --git a/modules/apps/27-interchain-accounts/host/client/cli/query.go b/modules/apps/27-interchain-accounts/host/client/cli/query.go new file mode 100644 index 00000000000..822e4ec2577 --- /dev/null +++ b/modules/apps/27-interchain-accounts/host/client/cli/query.go @@ -0,0 +1,37 @@ +package cli + +import ( + "fmt" + + "github.com/spf13/cobra" + + "github.com/cosmos/cosmos-sdk/client" + "github.com/cosmos/cosmos-sdk/client/flags" + "github.com/cosmos/cosmos-sdk/version" + "github.com/cosmos/ibc-go/v2/modules/apps/27-interchain-accounts/host/types" +) + +// GetCmdParams returns the command handler for the host submodule parameter querying. +func GetCmdParams() *cobra.Command { + cmd := &cobra.Command{ + Use: "params", + Short: "Query the current interchain-accounts host submodule parameters", + Long: "Query the current interchain-accounts host submodule parameters", + Args: cobra.NoArgs, + Example: fmt.Sprintf("%s query interchain-accounts host params", version.AppName), + RunE: func(cmd *cobra.Command, _ []string) error { + clientCtx, err := client.GetClientQueryContext(cmd) + if err != nil { + return err + } + queryClient := types.NewQueryClient(clientCtx) + + res, _ := queryClient.Params(cmd.Context(), &types.QueryParamsRequest{}) + return clientCtx.PrintProto(res.Params) + }, + } + + flags.AddQueryFlagsToCmd(cmd) + + return cmd +} diff --git a/modules/apps/27-interchain-accounts/host/ibc_module.go b/modules/apps/27-interchain-accounts/host/ibc_module.go new file mode 100644 index 00000000000..b8dbc15d42e --- /dev/null +++ b/modules/apps/27-interchain-accounts/host/ibc_module.go @@ -0,0 +1,151 @@ +package host + +import ( + sdk "github.com/cosmos/cosmos-sdk/types" + sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + capabilitytypes "github.com/cosmos/cosmos-sdk/x/capability/types" + + "github.com/cosmos/ibc-go/v2/modules/apps/27-interchain-accounts/host/keeper" + "github.com/cosmos/ibc-go/v2/modules/apps/27-interchain-accounts/host/types" + icatypes "github.com/cosmos/ibc-go/v2/modules/apps/27-interchain-accounts/types" + channeltypes "github.com/cosmos/ibc-go/v2/modules/core/04-channel/types" + ibcexported "github.com/cosmos/ibc-go/v2/modules/core/exported" +) + +// IBCModule implements the ICS26 interface for interchain accounts host chains +type IBCModule struct { + keeper keeper.Keeper +} + +// NewIBCModule creates a new IBCModule given the associated keeper +func NewIBCModule(k keeper.Keeper) IBCModule { + return IBCModule{ + keeper: k, + } +} + +// OnChanOpenInit implements the IBCModule interface +func (im IBCModule) OnChanOpenInit( + ctx sdk.Context, + order channeltypes.Order, + connectionHops []string, + portID string, + channelID string, + chanCap *capabilitytypes.Capability, + counterparty channeltypes.Counterparty, + version string, +) error { + return sdkerrors.Wrap(icatypes.ErrInvalidChannelFlow, "channel handshake must be initiated by controller chain") +} + +// OnChanOpenTry implements the IBCModule interface +func (im IBCModule) OnChanOpenTry( + ctx sdk.Context, + order channeltypes.Order, + connectionHops []string, + portID, + channelID string, + chanCap *capabilitytypes.Capability, + counterparty channeltypes.Counterparty, + version, + counterpartyVersion string, +) error { + if !im.keeper.IsHostEnabled(ctx) { + return types.ErrHostSubModuleDisabled + } + + return im.keeper.OnChanOpenTry(ctx, order, connectionHops, portID, channelID, chanCap, counterparty, version, counterpartyVersion) +} + +// OnChanOpenAck implements the IBCModule interface +func (im IBCModule) OnChanOpenAck( + ctx sdk.Context, + portID, + channelID string, + counterpartyVersion string, +) error { + return sdkerrors.Wrap(icatypes.ErrInvalidChannelFlow, "channel handshake must be initiated by controller chain") +} + +// OnChanOpenAck implements the IBCModule interface +func (im IBCModule) OnChanOpenConfirm( + ctx sdk.Context, + portID, + channelID string, +) error { + if !im.keeper.IsHostEnabled(ctx) { + return types.ErrHostSubModuleDisabled + } + + return im.keeper.OnChanOpenConfirm(ctx, portID, channelID) +} + +// OnChanCloseInit implements the IBCModule interface +func (im IBCModule) OnChanCloseInit( + ctx sdk.Context, + portID, + channelID string, +) error { + // Disallow user-initiated channel closing for interchain account channels + return sdkerrors.Wrap(sdkerrors.ErrInvalidRequest, "user cannot close channel") +} + +// OnChanCloseConfirm implements the IBCModule interface +func (im IBCModule) OnChanCloseConfirm( + ctx sdk.Context, + portID, + channelID string, +) error { + return im.keeper.OnChanCloseConfirm(ctx, portID, channelID) +} + +// OnRecvPacket implements the IBCModule interface +func (im IBCModule) OnRecvPacket( + ctx sdk.Context, + packet channeltypes.Packet, + _ sdk.AccAddress, +) ibcexported.Acknowledgement { + if !im.keeper.IsHostEnabled(ctx) { + return channeltypes.NewErrorAcknowledgement(types.ErrHostSubModuleDisabled.Error()) + } + + ack := channeltypes.NewResultAcknowledgement([]byte{byte(1)}) + + if err := im.keeper.OnRecvPacket(ctx, packet); err != nil { + ack = channeltypes.NewErrorAcknowledgement(err.Error()) + } + + // NOTE: acknowledgement will be written synchronously during IBC handler execution. + return ack +} + +// OnAcknowledgementPacket implements the IBCModule interface +func (im IBCModule) OnAcknowledgementPacket( + ctx sdk.Context, + packet channeltypes.Packet, + acknowledgement []byte, + relayer sdk.AccAddress, +) error { + return sdkerrors.Wrap(icatypes.ErrInvalidChannelFlow, "cannot receive acknowledgement on a host channel end, a host chain does not send a packet over the channel") +} + +// OnTimeoutPacket implements the IBCModule interface +func (im IBCModule) OnTimeoutPacket( + ctx sdk.Context, + packet channeltypes.Packet, + relayer sdk.AccAddress, +) error { + return sdkerrors.Wrap(icatypes.ErrInvalidChannelFlow, "cannot cause a packet timeout on a host channel end, a host chain does not send a packet over the channel") +} + +// NegotiateAppVersion implements the IBCModule interface +func (im IBCModule) NegotiateAppVersion( + ctx sdk.Context, + order channeltypes.Order, + connectionID string, + portID string, + counterparty channeltypes.Counterparty, + proposedVersion string, +) (string, error) { + return im.keeper.NegotiateAppVersion(ctx, order, connectionID, portID, counterparty, proposedVersion) +} diff --git a/modules/apps/27-interchain-accounts/host/ibc_module_test.go b/modules/apps/27-interchain-accounts/host/ibc_module_test.go new file mode 100644 index 00000000000..823ae74b8ad --- /dev/null +++ b/modules/apps/27-interchain-accounts/host/ibc_module_test.go @@ -0,0 +1,644 @@ +package host_test + +import ( + "fmt" + "testing" + + sdk "github.com/cosmos/cosmos-sdk/types" + banktypes "github.com/cosmos/cosmos-sdk/x/bank/types" + capabilitytypes "github.com/cosmos/cosmos-sdk/x/capability/types" + "github.com/stretchr/testify/suite" + "github.com/tendermint/tendermint/crypto" + + "github.com/cosmos/ibc-go/v2/modules/apps/27-interchain-accounts/host/types" + icatypes "github.com/cosmos/ibc-go/v2/modules/apps/27-interchain-accounts/types" + clienttypes "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" + channeltypes "github.com/cosmos/ibc-go/v2/modules/core/04-channel/types" + host "github.com/cosmos/ibc-go/v2/modules/core/24-host" + "github.com/cosmos/ibc-go/v2/modules/core/exported" + ibctesting "github.com/cosmos/ibc-go/v2/testing" +) + +var ( + // TestAccAddress defines a resuable bech32 address for testing purposes + // TODO: update crypto.AddressHash() when sdk uses address.Module() + TestAccAddress = icatypes.GenerateAddress(sdk.AccAddress(crypto.AddressHash([]byte(icatypes.ModuleName))), TestPortID) + // TestOwnerAddress defines a reusable bech32 address for testing purposes + TestOwnerAddress = "cosmos17dtl0mjt3t77kpuhg2edqzjpszulwhgzuj9ljs" + // TestPortID defines a resuable port identifier for testing purposes + TestPortID, _ = icatypes.GeneratePortID(TestOwnerAddress, ibctesting.FirstConnectionID, ibctesting.FirstConnectionID) + // TestVersion defines a resuable interchainaccounts version string for testing purposes + TestVersion = icatypes.NewAppVersion(icatypes.VersionPrefix, TestAccAddress.String()) +) + +type InterchainAccountsTestSuite struct { + suite.Suite + + coordinator *ibctesting.Coordinator + + // testing chains used for convenience and readability + chainA *ibctesting.TestChain + chainB *ibctesting.TestChain +} + +func TestICATestSuite(t *testing.T) { + suite.Run(t, new(InterchainAccountsTestSuite)) +} + +func (suite *InterchainAccountsTestSuite) SetupTest() { + suite.coordinator = ibctesting.NewCoordinator(suite.T(), 2) + suite.chainA = suite.coordinator.GetChain(ibctesting.GetChainID(0)) + suite.chainB = suite.coordinator.GetChain(ibctesting.GetChainID(1)) +} + +func NewICAPath(chainA, chainB *ibctesting.TestChain) *ibctesting.Path { + path := ibctesting.NewPath(chainA, chainB) + path.EndpointA.ChannelConfig.PortID = icatypes.PortID + path.EndpointB.ChannelConfig.PortID = icatypes.PortID + path.EndpointA.ChannelConfig.Order = channeltypes.ORDERED + path.EndpointB.ChannelConfig.Order = channeltypes.ORDERED + path.EndpointA.ChannelConfig.Version = icatypes.VersionPrefix + path.EndpointB.ChannelConfig.Version = TestVersion + + return path +} + +func InitInterchainAccount(endpoint *ibctesting.Endpoint, owner string) error { + portID, err := icatypes.GeneratePortID(owner, endpoint.ConnectionID, endpoint.Counterparty.ConnectionID) + if err != nil { + return err + } + + channelSequence := endpoint.Chain.App.GetIBCKeeper().ChannelKeeper.GetNextChannelSequence(endpoint.Chain.GetContext()) + + if err := endpoint.Chain.GetSimApp().ICAControllerKeeper.InitInterchainAccount(endpoint.Chain.GetContext(), endpoint.ConnectionID, endpoint.Counterparty.ConnectionID, owner); err != nil { + return err + } + + // commit state changes for proof verification + endpoint.Chain.App.Commit() + endpoint.Chain.NextBlock() + + // update port/channel ids + endpoint.ChannelID = channeltypes.FormatChannelIdentifier(channelSequence) + endpoint.ChannelConfig.PortID = portID + + return nil +} + +// SetupICAPath invokes the InterchainAccounts entrypoint and subsequent channel handshake handlers +func SetupICAPath(path *ibctesting.Path, owner string) error { + if err := InitInterchainAccount(path.EndpointA, owner); err != nil { + return err + } + + if err := path.EndpointB.ChanOpenTry(); err != nil { + return err + } + + if err := path.EndpointA.ChanOpenAck(); err != nil { + return err + } + + if err := path.EndpointB.ChanOpenConfirm(); err != nil { + return err + } + + return nil +} + +// Test initiating a ChanOpenInit using the host chain instead of the controller chain +// ChainA is the controller chain. ChainB is the host chain +func (suite *InterchainAccountsTestSuite) TestChanOpenInit() { + suite.SetupTest() // reset + path := NewICAPath(suite.chainA, suite.chainB) + suite.coordinator.SetupConnections(path) + + // use chainB (host) for ChanOpenInit + msg := channeltypes.NewMsgChannelOpenInit(path.EndpointB.ChannelConfig.PortID, icatypes.VersionPrefix, channeltypes.ORDERED, []string{path.EndpointB.ConnectionID}, path.EndpointA.ChannelConfig.PortID, icatypes.ModuleName) + handler := suite.chainB.GetSimApp().MsgServiceRouter().Handler(msg) + _, err := handler(suite.chainB.GetContext(), msg) + + suite.Require().Error(err) +} + +func (suite *InterchainAccountsTestSuite) TestOnChanOpenTry() { + var ( + path *ibctesting.Path + channel *channeltypes.Channel + ) + + testCases := []struct { + name string + malleate func() + expPass bool + }{ + + { + "success", func() {}, true, + }, + { + "host submodule disabled", func() { + suite.chainB.GetSimApp().ICAHostKeeper.SetParams(suite.chainB.GetContext(), types.NewParams(false, []string{})) + }, false, + }, + { + "success: ICA auth module callback returns error", func() { + // mock module callback should not be called on host side + suite.chainB.GetSimApp().ICAAuthModule.IBCApp.OnChanOpenTry = func(ctx sdk.Context, order channeltypes.Order, connectionHops []string, + portID, channelID string, chanCap *capabilitytypes.Capability, + counterparty channeltypes.Counterparty, version, counterpartyVersion string, + ) error { + return fmt.Errorf("mock ica auth fails") + } + + }, true, + }, + { + "ICA callback fails - invalid version", func() { + channel.Version = icatypes.VersionPrefix + }, false, + }, + } + + for _, tc := range testCases { + tc := tc + + suite.Run(tc.name, func() { + suite.SetupTest() // reset + + path = NewICAPath(suite.chainA, suite.chainB) + suite.coordinator.SetupConnections(path) + + err := InitInterchainAccount(path.EndpointA, TestOwnerAddress) + suite.Require().NoError(err) + path.EndpointB.ChannelID = ibctesting.FirstChannelID + + // default values + counterparty := channeltypes.NewCounterparty(path.EndpointA.ChannelConfig.PortID, path.EndpointA.ChannelID) + channel = &channeltypes.Channel{ + State: channeltypes.TRYOPEN, + Ordering: channeltypes.ORDERED, + Counterparty: counterparty, + ConnectionHops: []string{path.EndpointB.ConnectionID}, + Version: TestVersion, + } + + tc.malleate() + + // ensure channel on chainB is set in state + suite.chainB.GetSimApp().IBCKeeper.ChannelKeeper.SetChannel(suite.chainB.GetContext(), path.EndpointB.ChannelConfig.PortID, path.EndpointB.ChannelID, *channel) + + module, _, err := suite.chainB.App.GetIBCKeeper().PortKeeper.LookupModuleByPort(suite.chainB.GetContext(), path.EndpointB.ChannelConfig.PortID) + suite.Require().NoError(err) + + chanCap, err := suite.chainB.App.GetScopedIBCKeeper().NewCapability(suite.chainB.GetContext(), host.ChannelCapabilityPath(path.EndpointB.ChannelConfig.PortID, path.EndpointB.ChannelID)) + suite.Require().NoError(err) + + cbs, ok := suite.chainB.App.GetIBCKeeper().Router.GetRoute(module) + suite.Require().True(ok) + + err = cbs.OnChanOpenTry(suite.chainB.GetContext(), channel.Ordering, channel.GetConnectionHops(), + path.EndpointB.ChannelConfig.PortID, path.EndpointB.ChannelID, chanCap, channel.Counterparty, channel.GetVersion(), path.EndpointA.ChannelConfig.Version, + ) + + if tc.expPass { + suite.Require().NoError(err) + } else { + suite.Require().Error(err) + } + + }) + } + +} + +// Test initiating a ChanOpenAck using the host chain instead of the controller chain +// ChainA is the controller chain. ChainB is the host chain +func (suite *InterchainAccountsTestSuite) TestChanOpenAck() { + suite.SetupTest() // reset + path := NewICAPath(suite.chainA, suite.chainB) + suite.coordinator.SetupConnections(path) + + err := InitInterchainAccount(path.EndpointA, TestOwnerAddress) + suite.Require().NoError(err) + + err = path.EndpointB.ChanOpenTry() + suite.Require().NoError(err) + + // chainA maliciously sets channel to TRYOPEN + channel := channeltypes.NewChannel(channeltypes.TRYOPEN, channeltypes.ORDERED, channeltypes.NewCounterparty(path.EndpointB.ChannelConfig.PortID, path.EndpointB.ChannelID), []string{path.EndpointA.ConnectionID}, TestVersion) + suite.chainA.GetSimApp().GetIBCKeeper().ChannelKeeper.SetChannel(suite.chainA.GetContext(), path.EndpointA.ChannelConfig.PortID, path.EndpointA.ChannelID, channel) + + // commit state changes so proof can be created + suite.chainA.App.Commit() + suite.chainA.NextBlock() + + path.EndpointB.UpdateClient() + + // query proof from ChainA + channelKey := host.ChannelKey(path.EndpointA.ChannelConfig.PortID, path.EndpointA.ChannelID) + proofTry, proofHeight := path.EndpointA.Chain.QueryProof(channelKey) + + // use chainB (host) for ChanOpenAck + msg := channeltypes.NewMsgChannelOpenAck(path.EndpointB.ChannelConfig.PortID, path.EndpointB.ChannelID, path.EndpointA.ChannelID, TestVersion, proofTry, proofHeight, icatypes.ModuleName) + handler := suite.chainB.GetSimApp().MsgServiceRouter().Handler(msg) + _, err = handler(suite.chainB.GetContext(), msg) + + suite.Require().Error(err) +} + +func (suite *InterchainAccountsTestSuite) TestOnChanOpenConfirm() { + testCases := []struct { + name string + malleate func() + expPass bool + }{ + + { + "success", func() {}, true, + }, + { + "host submodule disabled", func() { + suite.chainB.GetSimApp().ICAHostKeeper.SetParams(suite.chainB.GetContext(), types.NewParams(false, []string{})) + }, false, + }, + { + "success: ICA auth module callback returns error", func() { + // mock module callback should not be called on host side + suite.chainB.GetSimApp().ICAAuthModule.IBCApp.OnChanOpenConfirm = func( + ctx sdk.Context, portID, channelID string, + ) error { + return fmt.Errorf("mock ica auth fails") + } + + }, true, + }, + } + + for _, tc := range testCases { + tc := tc + + suite.Run(tc.name, func() { + suite.SetupTest() + path := NewICAPath(suite.chainA, suite.chainB) + suite.coordinator.SetupConnections(path) + + err := InitInterchainAccount(path.EndpointA, TestOwnerAddress) + suite.Require().NoError(err) + + err = path.EndpointB.ChanOpenTry() + suite.Require().NoError(err) + + err = path.EndpointA.ChanOpenAck() + suite.Require().NoError(err) + + tc.malleate() + + module, _, err := suite.chainB.App.GetIBCKeeper().PortKeeper.LookupModuleByPort(suite.chainB.GetContext(), path.EndpointB.ChannelConfig.PortID) + suite.Require().NoError(err) + + cbs, ok := suite.chainB.App.GetIBCKeeper().Router.GetRoute(module) + suite.Require().True(ok) + + err = cbs.OnChanOpenConfirm(suite.chainB.GetContext(), path.EndpointB.ChannelConfig.PortID, path.EndpointB.ChannelID) + + if tc.expPass { + suite.Require().NoError(err) + } else { + suite.Require().Error(err) + } + + }) + } + +} + +// OnChanCloseInit on host (chainB) +func (suite *InterchainAccountsTestSuite) TestOnChanCloseInit() { + path := NewICAPath(suite.chainA, suite.chainB) + suite.coordinator.SetupConnections(path) + + err := SetupICAPath(path, TestOwnerAddress) + suite.Require().NoError(err) + + module, _, err := suite.chainB.App.GetIBCKeeper().PortKeeper.LookupModuleByPort(suite.chainB.GetContext(), path.EndpointB.ChannelConfig.PortID) + suite.Require().NoError(err) + + cbs, ok := suite.chainB.App.GetIBCKeeper().Router.GetRoute(module) + suite.Require().True(ok) + + err = cbs.OnChanCloseInit( + suite.chainB.GetContext(), path.EndpointB.ChannelConfig.PortID, path.EndpointB.ChannelID, + ) + + suite.Require().Error(err) +} + +func (suite *InterchainAccountsTestSuite) TestOnChanCloseConfirm() { + var ( + path *ibctesting.Path + ) + + testCases := []struct { + name string + malleate func() + expPass bool + }{ + + { + "success", func() {}, true, + }, + } + + for _, tc := range testCases { + suite.Run(tc.name, func() { + suite.SetupTest() // reset + + path = NewICAPath(suite.chainA, suite.chainB) + suite.coordinator.SetupConnections(path) + + err := SetupICAPath(path, TestOwnerAddress) + suite.Require().NoError(err) + + tc.malleate() // malleate mutates test data + module, _, err := suite.chainB.App.GetIBCKeeper().PortKeeper.LookupModuleByPort(suite.chainB.GetContext(), path.EndpointB.ChannelConfig.PortID) + suite.Require().NoError(err) + + cbs, ok := suite.chainB.App.GetIBCKeeper().Router.GetRoute(module) + suite.Require().True(ok) + + err = cbs.OnChanCloseConfirm( + suite.chainB.GetContext(), path.EndpointB.ChannelConfig.PortID, path.EndpointB.ChannelID) + + activeChannelID, found := suite.chainB.GetSimApp().ICAHostKeeper.GetActiveChannelID(suite.chainB.GetContext(), path.EndpointB.ChannelConfig.PortID) + + if tc.expPass { + suite.Require().NoError(err) + suite.Require().False(found) + suite.Require().Empty(activeChannelID) + } else { + suite.Require().Error(err) + } + + }) + } +} + +func (suite *InterchainAccountsTestSuite) TestOnRecvPacket() { + var ( + packetData []byte + ) + testCases := []struct { + name string + malleate func() + expAckSuccess bool + }{ + { + "success", func() {}, true, + }, + { + "host submodule disabled", func() { + suite.chainB.GetSimApp().ICAHostKeeper.SetParams(suite.chainB.GetContext(), types.NewParams(false, []string{})) + }, false, + }, + { + "success with ICA auth module callback failure", func() { + suite.chainB.GetSimApp().ICAAuthModule.IBCApp.OnRecvPacket = func( + ctx sdk.Context, packet channeltypes.Packet, relayer sdk.AccAddress, + ) exported.Acknowledgement { + return channeltypes.NewErrorAcknowledgement("failed OnRecvPacket mock callback") + } + }, true, + }, + { + "ICA OnRecvPacket fails - cannot unmarshal packet data", func() { + packetData = []byte("invalid data") + }, false, + }, + } + + for _, tc := range testCases { + tc := tc + + suite.Run(tc.name, func() { + suite.SetupTest() // reset + + path := NewICAPath(suite.chainA, suite.chainB) + suite.coordinator.SetupConnections(path) + err := SetupICAPath(path, TestOwnerAddress) + suite.Require().NoError(err) + + // send 100stake to interchain account wallet + amount, _ := sdk.ParseCoinsNormalized("100stake") + interchainAccountAddr, _ := suite.chainB.GetSimApp().ICAHostKeeper.GetInterchainAccountAddress(suite.chainB.GetContext(), path.EndpointA.ChannelConfig.PortID) + bankMsg := &banktypes.MsgSend{FromAddress: suite.chainB.SenderAccount.GetAddress().String(), ToAddress: interchainAccountAddr, Amount: amount} + + _, err = suite.chainB.SendMsgs(bankMsg) + suite.Require().NoError(err) + + // build packet data + msg := &banktypes.MsgSend{ + FromAddress: interchainAccountAddr, + ToAddress: suite.chainB.SenderAccount.GetAddress().String(), + Amount: amount, + } + data, err := icatypes.SerializeCosmosTx(suite.chainA.Codec, []sdk.Msg{msg}) + suite.Require().NoError(err) + + icaPacketData := icatypes.InterchainAccountPacketData{ + Type: icatypes.EXECUTE_TX, + Data: data, + } + packetData = icaPacketData.GetBytes() + + params := types.NewParams(true, []string{sdk.MsgTypeURL(msg)}) + suite.chainB.GetSimApp().ICAHostKeeper.SetParams(suite.chainB.GetContext(), params) + + // malleate packetData for test cases + tc.malleate() + + seq := uint64(1) + packet := channeltypes.NewPacket(packetData, seq, path.EndpointA.ChannelConfig.PortID, path.EndpointA.ChannelID, path.EndpointB.ChannelConfig.PortID, path.EndpointB.ChannelID, clienttypes.NewHeight(0, 100), 0) + + tc.malleate() + + module, _, err := suite.chainB.App.GetIBCKeeper().PortKeeper.LookupModuleByPort(suite.chainB.GetContext(), path.EndpointB.ChannelConfig.PortID) + suite.Require().NoError(err) + + cbs, ok := suite.chainB.App.GetIBCKeeper().Router.GetRoute(module) + suite.Require().True(ok) + + ack := cbs.OnRecvPacket(suite.chainB.GetContext(), packet, nil) + suite.Require().Equal(tc.expAckSuccess, ack.Success()) + + }) + } + +} + +func (suite *InterchainAccountsTestSuite) TestOnAcknowledgementPacket() { + + testCases := []struct { + name string + malleate func() + expPass bool + }{ + { + "ICA OnAcknowledgementPacket fails with ErrInvalidChannelFlow", func() {}, false, + }, + } + + for _, tc := range testCases { + tc := tc + + suite.Run(tc.name, func() { + suite.SetupTest() // reset + + path := NewICAPath(suite.chainA, suite.chainB) + suite.coordinator.SetupConnections(path) + + err := SetupICAPath(path, TestOwnerAddress) + suite.Require().NoError(err) + + tc.malleate() // malleate mutates test data + + module, _, err := suite.chainB.App.GetIBCKeeper().PortKeeper.LookupModuleByPort(suite.chainB.GetContext(), path.EndpointB.ChannelConfig.PortID) + suite.Require().NoError(err) + + cbs, ok := suite.chainB.App.GetIBCKeeper().Router.GetRoute(module) + suite.Require().True(ok) + + packet := channeltypes.NewPacket( + []byte("empty packet data"), + suite.chainA.SenderAccount.GetSequence(), + path.EndpointB.ChannelConfig.PortID, + path.EndpointB.ChannelID, + path.EndpointA.ChannelConfig.PortID, + path.EndpointA.ChannelID, + clienttypes.NewHeight(0, 100), + 0, + ) + + err = cbs.OnAcknowledgementPacket(suite.chainB.GetContext(), packet, []byte("ackBytes"), TestAccAddress) + + if tc.expPass { + suite.Require().NoError(err) + } else { + suite.Require().Error(err) + } + }) + } +} + +func (suite *InterchainAccountsTestSuite) TestOnTimeoutPacket() { + + testCases := []struct { + name string + malleate func() + expPass bool + }{ + { + "ICA OnTimeoutPacket fails with ErrInvalidChannelFlow", func() {}, false, + }, + } + + for _, tc := range testCases { + tc := tc + + suite.Run(tc.name, func() { + suite.SetupTest() // reset + + path := NewICAPath(suite.chainA, suite.chainB) + suite.coordinator.SetupConnections(path) + + err := SetupICAPath(path, TestOwnerAddress) + suite.Require().NoError(err) + + tc.malleate() // malleate mutates test data + + module, _, err := suite.chainA.App.GetIBCKeeper().PortKeeper.LookupModuleByPort(suite.chainA.GetContext(), path.EndpointB.ChannelConfig.PortID) + suite.Require().NoError(err) + + cbs, ok := suite.chainA.App.GetIBCKeeper().Router.GetRoute(module) + suite.Require().True(ok) + + packet := channeltypes.NewPacket( + []byte("empty packet data"), + suite.chainA.SenderAccount.GetSequence(), + path.EndpointB.ChannelConfig.PortID, + path.EndpointB.ChannelID, + path.EndpointA.ChannelConfig.PortID, + path.EndpointA.ChannelID, + clienttypes.NewHeight(0, 100), + 0, + ) + + err = cbs.OnTimeoutPacket(suite.chainA.GetContext(), packet, TestAccAddress) + + if tc.expPass { + suite.Require().NoError(err) + } else { + suite.Require().Error(err) + } + }) + } +} + +func (suite *InterchainAccountsTestSuite) TestNegotiateAppVersion() { + var ( + proposedVersion string + ) + testCases := []struct { + name string + malleate func() + expPass bool + }{ + { + "success", func() {}, true, + }, + { + "invalid proposed version", func() { + proposedVersion = "invalid version" + }, false, + }, + } + + for _, tc := range testCases { + tc := tc + + suite.Run(tc.name, func() { + suite.SetupTest() + path := NewICAPath(suite.chainA, suite.chainB) + suite.coordinator.SetupConnections(path) + + module, _, err := suite.chainA.GetSimApp().GetIBCKeeper().PortKeeper.LookupModuleByPort(suite.chainA.GetContext(), icatypes.PortID) + suite.Require().NoError(err) + + cbs, ok := suite.chainA.GetSimApp().GetIBCKeeper().Router.GetRoute(module) + suite.Require().True(ok) + + counterpartyPortID, err := icatypes.GeneratePortID(TestOwnerAddress, path.EndpointA.ConnectionID, path.EndpointB.ConnectionID) + suite.Require().NoError(err) + + counterparty := &channeltypes.Counterparty{ + PortId: counterpartyPortID, + ChannelId: path.EndpointB.ChannelID, + } + + proposedVersion = icatypes.VersionPrefix + + tc.malleate() + + version, err := cbs.NegotiateAppVersion(suite.chainA.GetContext(), channeltypes.ORDERED, path.EndpointA.ConnectionID, icatypes.PortID, *counterparty, proposedVersion) + if tc.expPass { + suite.Require().NoError(err) + suite.Require().NoError(icatypes.ValidateVersion(version)) + suite.Require().Equal(TestVersion, version) + } else { + suite.Require().Error(err) + suite.Require().Empty(version) + } + }) + } +} diff --git a/modules/apps/27-interchain-accounts/host/keeper/account.go b/modules/apps/27-interchain-accounts/host/keeper/account.go new file mode 100644 index 00000000000..4ed947eb285 --- /dev/null +++ b/modules/apps/27-interchain-accounts/host/keeper/account.go @@ -0,0 +1,26 @@ +package keeper + +import ( + sdk "github.com/cosmos/cosmos-sdk/types" + authtypes "github.com/cosmos/cosmos-sdk/x/auth/types" + + icatypes "github.com/cosmos/ibc-go/v2/modules/apps/27-interchain-accounts/types" +) + +// RegisterInterchainAccount attempts to create a new account using the provided address and stores it in state keyed by the provided port identifier +// If an account for the provided address already exists this function returns early (no-op) +func (k Keeper) RegisterInterchainAccount(ctx sdk.Context, accAddr sdk.AccAddress, controllerPortID string) { + if acc := k.accountKeeper.GetAccount(ctx, accAddr); acc != nil { + return + } + + interchainAccount := icatypes.NewInterchainAccount( + authtypes.NewBaseAccountWithAddress(accAddr), + controllerPortID, + ) + + k.accountKeeper.NewAccount(ctx, interchainAccount) + k.accountKeeper.SetAccount(ctx, interchainAccount) + + k.SetInterchainAccountAddress(ctx, controllerPortID, interchainAccount.Address) +} diff --git a/modules/apps/27-interchain-accounts/host/keeper/account_test.go b/modules/apps/27-interchain-accounts/host/keeper/account_test.go new file mode 100644 index 00000000000..90be30ff2c8 --- /dev/null +++ b/modules/apps/27-interchain-accounts/host/keeper/account_test.go @@ -0,0 +1,33 @@ +package keeper_test + +import ( + sdk "github.com/cosmos/cosmos-sdk/types" + + icatypes "github.com/cosmos/ibc-go/v2/modules/apps/27-interchain-accounts/types" + ibctesting "github.com/cosmos/ibc-go/v2/testing" +) + +func (suite *KeeperTestSuite) TestRegisterInterchainAccount() { + suite.SetupTest() + + path := NewICAPath(suite.chainA, suite.chainB) + suite.coordinator.SetupConnections(path) + + // InitInterchainAccount + err := SetupICAPath(path, TestOwnerAddress) + suite.Require().NoError(err) + + portID, err := icatypes.GeneratePortID(TestOwnerAddress, ibctesting.FirstConnectionID, ibctesting.FirstConnectionID) + suite.Require().NoError(err) + + // Get the address of the interchain account stored in state during handshake step + storedAddr, found := suite.chainB.GetSimApp().ICAHostKeeper.GetInterchainAccountAddress(suite.chainB.GetContext(), portID) + suite.Require().True(found) + + icaAddr, err := sdk.AccAddressFromBech32(storedAddr) + suite.Require().NoError(err) + + // Check if account is created + interchainAccount := suite.chainB.GetSimApp().AccountKeeper.GetAccount(suite.chainB.GetContext(), icaAddr) + suite.Require().Equal(interchainAccount.GetAddress().String(), storedAddr) +} diff --git a/modules/apps/27-interchain-accounts/host/keeper/genesis.go b/modules/apps/27-interchain-accounts/host/keeper/genesis.go new file mode 100644 index 00000000000..12174ca3f26 --- /dev/null +++ b/modules/apps/27-interchain-accounts/host/keeper/genesis.go @@ -0,0 +1,40 @@ +package keeper + +import ( + "fmt" + + sdk "github.com/cosmos/cosmos-sdk/types" + + icatypes "github.com/cosmos/ibc-go/v2/modules/apps/27-interchain-accounts/types" + host "github.com/cosmos/ibc-go/v2/modules/core/24-host" +) + +// InitGenesis initializes the interchain accounts host application state from a provided genesis state +func InitGenesis(ctx sdk.Context, keeper Keeper, state icatypes.HostGenesisState) { + if !keeper.IsBound(ctx, state.Port) { + cap := keeper.BindPort(ctx, state.Port) + if err := keeper.ClaimCapability(ctx, cap, host.PortPath(state.Port)); err != nil { + panic(fmt.Sprintf("could not claim port capability: %v", err)) + } + } + + for _, ch := range state.ActiveChannels { + keeper.SetActiveChannelID(ctx, ch.PortId, ch.ChannelId) + } + + for _, acc := range state.InterchainAccounts { + keeper.SetInterchainAccountAddress(ctx, acc.PortId, acc.AccountAddress) + } + + keeper.SetParams(ctx, state.Params) +} + +// ExportGenesis returns the interchain accounts host exported genesis +func ExportGenesis(ctx sdk.Context, keeper Keeper) icatypes.HostGenesisState { + return icatypes.NewHostGenesisState( + keeper.GetAllActiveChannels(ctx), + keeper.GetAllInterchainAccounts(ctx), + icatypes.PortID, + keeper.GetParams(ctx), + ) +} diff --git a/modules/apps/27-interchain-accounts/host/keeper/genesis_test.go b/modules/apps/27-interchain-accounts/host/keeper/genesis_test.go new file mode 100644 index 00000000000..ba1e7e252c4 --- /dev/null +++ b/modules/apps/27-interchain-accounts/host/keeper/genesis_test.go @@ -0,0 +1,65 @@ +package keeper_test + +import ( + "github.com/cosmos/ibc-go/v2/modules/apps/27-interchain-accounts/host/keeper" + "github.com/cosmos/ibc-go/v2/modules/apps/27-interchain-accounts/host/types" + icatypes "github.com/cosmos/ibc-go/v2/modules/apps/27-interchain-accounts/types" + ibctesting "github.com/cosmos/ibc-go/v2/testing" +) + +func (suite *KeeperTestSuite) TestInitGenesis() { + suite.SetupTest() + + genesisState := icatypes.HostGenesisState{ + ActiveChannels: []icatypes.ActiveChannel{ + { + PortId: TestPortID, + ChannelId: ibctesting.FirstChannelID, + }, + }, + InterchainAccounts: []icatypes.RegisteredInterchainAccount{ + { + PortId: TestPortID, + AccountAddress: TestAccAddress.String(), + }, + }, + Port: icatypes.PortID, + } + + keeper.InitGenesis(suite.chainA.GetContext(), suite.chainA.GetSimApp().ICAHostKeeper, genesisState) + + channelID, found := suite.chainA.GetSimApp().ICAHostKeeper.GetActiveChannelID(suite.chainA.GetContext(), TestPortID) + suite.Require().True(found) + suite.Require().Equal(ibctesting.FirstChannelID, channelID) + + accountAdrr, found := suite.chainA.GetSimApp().ICAHostKeeper.GetInterchainAccountAddress(suite.chainA.GetContext(), TestPortID) + suite.Require().True(found) + suite.Require().Equal(TestAccAddress.String(), accountAdrr) + + expParams := types.NewParams(false, nil) + params := suite.chainA.GetSimApp().ICAHostKeeper.GetParams(suite.chainA.GetContext()) + suite.Require().Equal(expParams, params) +} + +func (suite *KeeperTestSuite) TestExportGenesis() { + suite.SetupTest() + + path := NewICAPath(suite.chainA, suite.chainB) + suite.coordinator.SetupConnections(path) + + err := SetupICAPath(path, TestOwnerAddress) + suite.Require().NoError(err) + + genesisState := keeper.ExportGenesis(suite.chainB.GetContext(), suite.chainB.GetSimApp().ICAHostKeeper) + + suite.Require().Equal(path.EndpointB.ChannelID, genesisState.ActiveChannels[0].ChannelId) + suite.Require().Equal(path.EndpointB.ChannelConfig.PortID, genesisState.ActiveChannels[0].PortId) + + suite.Require().Equal(TestAccAddress.String(), genesisState.InterchainAccounts[0].AccountAddress) + suite.Require().Equal(path.EndpointA.ChannelConfig.PortID, genesisState.InterchainAccounts[0].PortId) + + suite.Require().Equal(icatypes.PortID, genesisState.GetPort()) + + expParams := types.DefaultParams() + suite.Require().Equal(expParams, genesisState.GetParams()) +} diff --git a/modules/apps/27-interchain-accounts/host/keeper/grpc_query.go b/modules/apps/27-interchain-accounts/host/keeper/grpc_query.go new file mode 100644 index 00000000000..5cb4b569b00 --- /dev/null +++ b/modules/apps/27-interchain-accounts/host/keeper/grpc_query.go @@ -0,0 +1,19 @@ +package keeper + +import ( + "context" + sdk "github.com/cosmos/cosmos-sdk/types" + "github.com/cosmos/ibc-go/v2/modules/apps/27-interchain-accounts/host/types" +) + +var _ types.QueryServer = Keeper{} + +// Params implements the Query/Params gRPC method +func (q Keeper) Params(c context.Context, _ *types.QueryParamsRequest) (*types.QueryParamsResponse, error) { + ctx := sdk.UnwrapSDKContext(c) + params := q.GetParams(ctx) + + return &types.QueryParamsResponse{ + Params: ¶ms, + }, nil +} diff --git a/modules/apps/27-interchain-accounts/host/keeper/grpc_query_test.go b/modules/apps/27-interchain-accounts/host/keeper/grpc_query_test.go new file mode 100644 index 00000000000..123679f7b86 --- /dev/null +++ b/modules/apps/27-interchain-accounts/host/keeper/grpc_query_test.go @@ -0,0 +1,14 @@ +package keeper_test + +import ( + sdk "github.com/cosmos/cosmos-sdk/types" + + "github.com/cosmos/ibc-go/v2/modules/apps/27-interchain-accounts/host/types" +) + +func (suite *KeeperTestSuite) TestQueryParams() { + ctx := sdk.WrapSDKContext(suite.chainA.GetContext()) + expParams := types.DefaultParams() + res, _ := suite.chainA.GetSimApp().ICAHostKeeper.Params(ctx, &types.QueryParamsRequest{}) + suite.Require().Equal(&expParams, res.Params) +} diff --git a/modules/apps/27-interchain-accounts/host/keeper/handshake.go b/modules/apps/27-interchain-accounts/host/keeper/handshake.go new file mode 100644 index 00000000000..c4c40e68d8e --- /dev/null +++ b/modules/apps/27-interchain-accounts/host/keeper/handshake.go @@ -0,0 +1,137 @@ +package keeper + +import ( + sdk "github.com/cosmos/cosmos-sdk/types" + sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + capabilitytypes "github.com/cosmos/cosmos-sdk/x/capability/types" + + icatypes "github.com/cosmos/ibc-go/v2/modules/apps/27-interchain-accounts/types" + connectiontypes "github.com/cosmos/ibc-go/v2/modules/core/03-connection/types" + channeltypes "github.com/cosmos/ibc-go/v2/modules/core/04-channel/types" + porttypes "github.com/cosmos/ibc-go/v2/modules/core/05-port/types" + host "github.com/cosmos/ibc-go/v2/modules/core/24-host" +) + +// OnChanOpenTry performs basic validation of the ICA channel +// and registers a new interchain account (if it doesn't exist). +func (k Keeper) OnChanOpenTry( + ctx sdk.Context, + order channeltypes.Order, + connectionHops []string, + portID, + channelID string, + chanCap *capabilitytypes.Capability, + counterparty channeltypes.Counterparty, + version, + counterpartyVersion string, +) error { + if order != channeltypes.ORDERED { + return sdkerrors.Wrapf(channeltypes.ErrInvalidChannelOrdering, "expected %s channel, got %s", channeltypes.ORDERED, order) + } + + if portID != icatypes.PortID { + return sdkerrors.Wrapf(porttypes.ErrInvalidPort, "expected %s, got %s", icatypes.PortID, portID) + } + + connSequence, err := icatypes.ParseHostConnSequence(counterparty.PortId) + if err != nil { + return sdkerrors.Wrapf(err, "expected format %s, got %s", icatypes.ControllerPortFormat, counterparty.PortId) + } + + counterpartyConnSequence, err := icatypes.ParseControllerConnSequence(counterparty.PortId) + if err != nil { + return sdkerrors.Wrapf(err, "expected format %s, got %s", icatypes.ControllerPortFormat, counterparty.PortId) + } + + if err := k.validateControllerPortParams(ctx, channelID, portID, connSequence, counterpartyConnSequence); err != nil { + return sdkerrors.Wrapf(err, "failed to validate controller port %s", counterparty.PortId) + } + + if err := icatypes.ValidateVersion(version); err != nil { + return sdkerrors.Wrap(err, "version validation failed") + } + + if counterpartyVersion != icatypes.VersionPrefix { + return sdkerrors.Wrapf(icatypes.ErrInvalidVersion, "expected %s, got %s", icatypes.VersionPrefix, version) + } + + // On the host chain the capability may only be claimed during the OnChanOpenTry + // The capability being claimed in OpenInit is for a controller chain (the port is different) + if err := k.ClaimCapability(ctx, chanCap, host.ChannelCapabilityPath(portID, channelID)); err != nil { + return sdkerrors.Wrapf(err, "failed to claim capability for channel %s on port %s", channelID, portID) + } + + // Check to ensure that the version string contains the expected address generated from the Counterparty portID + accAddr := icatypes.GenerateAddress(k.accountKeeper.GetModuleAddress(icatypes.ModuleName), counterparty.PortId) + parsedAddr, err := icatypes.ParseAddressFromVersion(version) + if err != nil { + return sdkerrors.Wrapf(err, "expected format , got %s", icatypes.Delimiter, version) + } + + if parsedAddr != accAddr.String() { + return sdkerrors.Wrapf(icatypes.ErrInvalidVersion, "version contains invalid account address: expected %s, got %s", parsedAddr, accAddr) + } + + // Register interchain account if it does not already exist + k.RegisterInterchainAccount(ctx, accAddr, counterparty.PortId) + + return nil +} + +// OnChanOpenConfirm completes the handshake process by setting the active channel in state on the host chain +func (k Keeper) OnChanOpenConfirm( + ctx sdk.Context, + portID, + channelID string, +) error { + + k.SetActiveChannelID(ctx, portID, channelID) + + return nil +} + +// OnChanCloseConfirm removes the active channel stored in state +func (k Keeper) OnChanCloseConfirm( + ctx sdk.Context, + portID, + channelID string, +) error { + + k.DeleteActiveChannelID(ctx, portID) + + return nil +} + +// validateControllerPortParams asserts the provided connection sequence and counterparty connection sequence +// match that of the associated connection stored in state +func (k Keeper) validateControllerPortParams(ctx sdk.Context, channelID, portID string, connectionSeq, counterpartyConnectionSeq uint64) error { + channel, found := k.channelKeeper.GetChannel(ctx, portID, channelID) + if !found { + return sdkerrors.Wrapf(channeltypes.ErrChannelNotFound, "port ID %s channel ID %s", portID, channelID) + } + + counterpartyHops, found := k.channelKeeper.CounterpartyHops(ctx, channel) + if !found { + return sdkerrors.Wrap(connectiontypes.ErrConnectionNotFound, channel.ConnectionHops[0]) + } + + connSeq, err := connectiontypes.ParseConnectionSequence(channel.ConnectionHops[0]) + if err != nil { + return sdkerrors.Wrapf(err, "failed to parse connection sequence %s", channel.ConnectionHops[0]) + } + + counterpartyConnSeq, err := connectiontypes.ParseConnectionSequence(counterpartyHops[0]) + if err != nil { + return sdkerrors.Wrapf(err, "failed to parse counterparty connection sequence %s", counterpartyHops[0]) + } + + if connSeq != connectionSeq { + return sdkerrors.Wrapf(connectiontypes.ErrInvalidConnection, "sequence mismatch, expected %d, got %d", connSeq, connectionSeq) + } + + if counterpartyConnSeq != counterpartyConnectionSeq { + return sdkerrors.Wrapf(connectiontypes.ErrInvalidConnection, "counterparty sequence mismatch, expected %d, got %d", counterpartyConnSeq, counterpartyConnectionSeq) + } + + return nil +} diff --git a/modules/apps/27-interchain-accounts/host/keeper/handshake_test.go b/modules/apps/27-interchain-accounts/host/keeper/handshake_test.go new file mode 100644 index 00000000000..c07b46834e6 --- /dev/null +++ b/modules/apps/27-interchain-accounts/host/keeper/handshake_test.go @@ -0,0 +1,267 @@ +package keeper_test + +import ( + capabilitytypes "github.com/cosmos/cosmos-sdk/x/capability/types" + + icatypes "github.com/cosmos/ibc-go/v2/modules/apps/27-interchain-accounts/types" + channeltypes "github.com/cosmos/ibc-go/v2/modules/core/04-channel/types" + host "github.com/cosmos/ibc-go/v2/modules/core/24-host" + ibctesting "github.com/cosmos/ibc-go/v2/testing" +) + +func (suite *KeeperTestSuite) TestOnChanOpenTry() { + var ( + channel *channeltypes.Channel + path *ibctesting.Path + chanCap *capabilitytypes.Capability + counterpartyVersion string + ) + + testCases := []struct { + name string + malleate func() + expPass bool + }{ + + { + "success", + func() { + path.EndpointB.SetChannel(*channel) + }, + true, + }, + { + "invalid order - UNORDERED", + func() { + channel.Ordering = channeltypes.UNORDERED + }, + false, + }, + { + "invalid port", + func() { + path.EndpointB.ChannelConfig.PortID = "invalid-port-id" + }, + false, + }, + { + "invalid counterparty port", + func() { + channel.Counterparty.PortId = "invalid-port-id" + }, + false, + }, + { + "channel not found", + func() { + path.EndpointB.ChannelID = "invalid-channel-id" + }, + false, + }, + { + "connection not found", + func() { + channel.ConnectionHops = []string{"invalid-connnection-id"} + path.EndpointB.SetChannel(*channel) + }, + false, + }, + { + "invalid connection sequence", + func() { + portID, err := icatypes.GeneratePortID(TestOwnerAddress, "connection-0", "connection-1") + suite.Require().NoError(err) + + channel.Counterparty.PortId = portID + path.EndpointB.SetChannel(*channel) + }, + false, + }, + { + "invalid counterparty connection sequence", + func() { + portID, err := icatypes.GeneratePortID(TestOwnerAddress, "connection-1", "connection-0") + suite.Require().NoError(err) + + channel.Counterparty.PortId = portID + path.EndpointB.SetChannel(*channel) + }, + false, + }, + { + "invalid version", + func() { + channel.Version = "version" + path.EndpointB.SetChannel(*channel) + }, + false, + }, + { + "invalid counterparty version", + func() { + counterpartyVersion = "version" + path.EndpointB.SetChannel(*channel) + }, + false, + }, + { + "capability already claimed", + func() { + path.EndpointB.SetChannel(*channel) + err := suite.chainB.GetSimApp().ScopedICAHostKeeper.ClaimCapability(suite.chainB.GetContext(), chanCap, host.ChannelCapabilityPath(path.EndpointB.ChannelConfig.PortID, path.EndpointB.ChannelID)) + suite.Require().NoError(err) + }, + false, + }, + { + "invalid account address", + func() { + portID, err := icatypes.GeneratePortID("invalid-owner-addr", "connection-0", "connection-0") + suite.Require().NoError(err) + + channel.Counterparty.PortId = portID + path.EndpointB.SetChannel(*channel) + }, + false, + }, + } + + for _, tc := range testCases { + tc := tc + + suite.Run(tc.name, func() { + suite.SetupTest() // reset + + path = NewICAPath(suite.chainA, suite.chainB) + counterpartyVersion = icatypes.VersionPrefix + suite.coordinator.SetupConnections(path) + + err := InitInterchainAccount(path.EndpointA, TestOwnerAddress) + suite.Require().NoError(err) + + // set the channel id on host + channelSequence := path.EndpointB.Chain.App.GetIBCKeeper().ChannelKeeper.GetNextChannelSequence(path.EndpointB.Chain.GetContext()) + path.EndpointB.ChannelID = channeltypes.FormatChannelIdentifier(channelSequence) + + // default values + counterparty := channeltypes.NewCounterparty(path.EndpointA.ChannelConfig.PortID, path.EndpointA.ChannelID) + channel = &channeltypes.Channel{ + State: channeltypes.TRYOPEN, + Ordering: channeltypes.ORDERED, + Counterparty: counterparty, + ConnectionHops: []string{path.EndpointB.ConnectionID}, + Version: TestVersion, + } + + chanCap, err = suite.chainB.App.GetScopedIBCKeeper().NewCapability(suite.chainB.GetContext(), host.ChannelCapabilityPath(path.EndpointB.ChannelConfig.PortID, path.EndpointB.ChannelID)) + suite.Require().NoError(err) + + tc.malleate() // malleate mutates test data + + err = suite.chainB.GetSimApp().ICAHostKeeper.OnChanOpenTry(suite.chainB.GetContext(), channel.Ordering, channel.GetConnectionHops(), + path.EndpointB.ChannelConfig.PortID, path.EndpointB.ChannelID, chanCap, channel.Counterparty, channel.GetVersion(), + counterpartyVersion, + ) + + if tc.expPass { + suite.Require().NoError(err) + } else { + suite.Require().Error(err) + } + }) + } +} + +func (suite *KeeperTestSuite) TestOnChanOpenConfirm() { + var ( + path *ibctesting.Path + ) + + testCases := []struct { + name string + malleate func() + expPass bool + }{ + + { + "success", func() {}, true, + }, + } + + for _, tc := range testCases { + tc := tc + + suite.Run(tc.name, func() { + suite.SetupTest() // reset + + path = NewICAPath(suite.chainA, suite.chainB) + suite.coordinator.SetupConnections(path) + + err := InitInterchainAccount(path.EndpointA, TestOwnerAddress) + suite.Require().NoError(err) + + err = path.EndpointB.ChanOpenTry() + suite.Require().NoError(err) + + err = path.EndpointA.ChanOpenAck() + suite.Require().NoError(err) + + tc.malleate() // malleate mutates test data + + err = suite.chainB.GetSimApp().ICAHostKeeper.OnChanOpenConfirm(suite.chainB.GetContext(), + path.EndpointA.ChannelConfig.PortID, path.EndpointA.ChannelID) + + if tc.expPass { + suite.Require().NoError(err) + } else { + suite.Require().Error(err) + } + + }) + } +} + +func (suite *KeeperTestSuite) TestOnChanCloseConfirm() { + var ( + path *ibctesting.Path + ) + + testCases := []struct { + name string + malleate func() + expPass bool + }{ + + { + "success", func() {}, true, + }, + } + + for _, tc := range testCases { + suite.Run(tc.name, func() { + suite.SetupTest() // reset + + path = NewICAPath(suite.chainA, suite.chainB) + suite.coordinator.SetupConnections(path) + + err := SetupICAPath(path, TestOwnerAddress) + suite.Require().NoError(err) + + tc.malleate() // malleate mutates test data + + err = suite.chainB.GetSimApp().ICAHostKeeper.OnChanCloseConfirm(suite.chainB.GetContext(), + path.EndpointB.ChannelConfig.PortID, path.EndpointB.ChannelID) + + activeChannelID, found := suite.chainB.GetSimApp().ICAHostKeeper.GetActiveChannelID(suite.chainB.GetContext(), path.EndpointB.ChannelConfig.PortID) + + if tc.expPass { + suite.Require().NoError(err) + suite.Require().False(found) + suite.Require().Empty(activeChannelID) + } else { + suite.Require().Error(err) + } + + }) + } +} diff --git a/modules/apps/27-interchain-accounts/host/keeper/keeper.go b/modules/apps/27-interchain-accounts/host/keeper/keeper.go new file mode 100644 index 00000000000..c4d9261651b --- /dev/null +++ b/modules/apps/27-interchain-accounts/host/keeper/keeper.go @@ -0,0 +1,201 @@ +package keeper + +import ( + "fmt" + "strings" + + baseapp "github.com/cosmos/cosmos-sdk/baseapp" + "github.com/cosmos/cosmos-sdk/codec" + sdk "github.com/cosmos/cosmos-sdk/types" + sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + capabilitykeeper "github.com/cosmos/cosmos-sdk/x/capability/keeper" + capabilitytypes "github.com/cosmos/cosmos-sdk/x/capability/types" + paramtypes "github.com/cosmos/cosmos-sdk/x/params/types" + "github.com/tendermint/tendermint/libs/log" + + "github.com/cosmos/ibc-go/v2/modules/apps/27-interchain-accounts/host/types" + icatypes "github.com/cosmos/ibc-go/v2/modules/apps/27-interchain-accounts/types" + channeltypes "github.com/cosmos/ibc-go/v2/modules/core/04-channel/types" + host "github.com/cosmos/ibc-go/v2/modules/core/24-host" +) + +// Keeper defines the IBC interchain accounts host keeper +type Keeper struct { + storeKey sdk.StoreKey + cdc codec.BinaryCodec + paramSpace paramtypes.Subspace + + channelKeeper icatypes.ChannelKeeper + portKeeper icatypes.PortKeeper + accountKeeper icatypes.AccountKeeper + + scopedKeeper capabilitykeeper.ScopedKeeper + + msgRouter *baseapp.MsgServiceRouter +} + +// NewKeeper creates a new interchain accounts host Keeper instance +func NewKeeper( + cdc codec.BinaryCodec, key sdk.StoreKey, paramSpace paramtypes.Subspace, + channelKeeper icatypes.ChannelKeeper, portKeeper icatypes.PortKeeper, + accountKeeper icatypes.AccountKeeper, scopedKeeper capabilitykeeper.ScopedKeeper, msgRouter *baseapp.MsgServiceRouter, +) Keeper { + + // ensure ibc interchain accounts module account is set + if addr := accountKeeper.GetModuleAddress(icatypes.ModuleName); addr == nil { + panic("the Interchain Accounts module account has not been set") + } + + // set KeyTable if it has not already been set + if !paramSpace.HasKeyTable() { + paramSpace = paramSpace.WithKeyTable(types.ParamKeyTable()) + } + + return Keeper{ + storeKey: key, + cdc: cdc, + paramSpace: paramSpace, + channelKeeper: channelKeeper, + portKeeper: portKeeper, + accountKeeper: accountKeeper, + scopedKeeper: scopedKeeper, + msgRouter: msgRouter, + } +} + +// Logger returns the application logger, scoped to the associated module +func (k Keeper) Logger(ctx sdk.Context) log.Logger { + return ctx.Logger().With("module", fmt.Sprintf("x/%s-%s", host.ModuleName, icatypes.ModuleName)) +} + +// BindPort stores the provided portID and binds to it, returning the associated capability +func (k Keeper) BindPort(ctx sdk.Context, portID string) *capabilitytypes.Capability { + store := ctx.KVStore(k.storeKey) + store.Set(icatypes.KeyPort(portID), []byte{0x01}) + + return k.portKeeper.BindPort(ctx, portID) +} + +// IsBound checks if the interchain account host module is already bound to the desired port +func (k Keeper) IsBound(ctx sdk.Context, portID string) bool { + _, ok := k.scopedKeeper.GetCapability(ctx, host.PortPath(portID)) + return ok +} + +// AuthenticateCapability wraps the scopedKeeper's AuthenticateCapability function +func (k Keeper) AuthenticateCapability(ctx sdk.Context, cap *capabilitytypes.Capability, name string) bool { + return k.scopedKeeper.AuthenticateCapability(ctx, cap, name) +} + +// ClaimCapability wraps the scopedKeeper's ClaimCapability function +func (k Keeper) ClaimCapability(ctx sdk.Context, cap *capabilitytypes.Capability, name string) error { + return k.scopedKeeper.ClaimCapability(ctx, cap, name) +} + +// GetActiveChannelID retrieves the active channelID from the store keyed by the provided portID +func (k Keeper) GetActiveChannelID(ctx sdk.Context, portID string) (string, bool) { + store := ctx.KVStore(k.storeKey) + key := icatypes.KeyActiveChannel(portID) + + if !store.Has(key) { + return "", false + } + + return string(store.Get(key)), true +} + +// GetAllActiveChannels returns a list of all active interchain accounts host channels and their associated port identifiers +func (k Keeper) GetAllActiveChannels(ctx sdk.Context) []icatypes.ActiveChannel { + store := ctx.KVStore(k.storeKey) + iterator := sdk.KVStorePrefixIterator(store, []byte(icatypes.ActiveChannelKeyPrefix)) + defer iterator.Close() + + var activeChannels []icatypes.ActiveChannel + for ; iterator.Valid(); iterator.Next() { + keySplit := strings.Split(string(iterator.Key()), "/") + + ch := icatypes.ActiveChannel{ + PortId: keySplit[1], + ChannelId: string(iterator.Value()), + } + + activeChannels = append(activeChannels, ch) + } + + return activeChannels +} + +// SetActiveChannelID stores the active channelID, keyed by the provided portID +func (k Keeper) SetActiveChannelID(ctx sdk.Context, portID, channelID string) { + store := ctx.KVStore(k.storeKey) + store.Set(icatypes.KeyActiveChannel(portID), []byte(channelID)) +} + +// DeleteActiveChannelID removes the active channel keyed by the provided portID stored in state +func (k Keeper) DeleteActiveChannelID(ctx sdk.Context, portID string) { + store := ctx.KVStore(k.storeKey) + store.Delete(icatypes.KeyActiveChannel(portID)) +} + +// IsActiveChannel returns true if there exists an active channel for the provided portID, otherwise false +func (k Keeper) IsActiveChannel(ctx sdk.Context, portID string) bool { + _, ok := k.GetActiveChannelID(ctx, portID) + return ok +} + +// GetInterchainAccountAddress retrieves the InterchainAccount address from the store keyed by the provided portID +func (k Keeper) GetInterchainAccountAddress(ctx sdk.Context, portID string) (string, bool) { + store := ctx.KVStore(k.storeKey) + key := icatypes.KeyOwnerAccount(portID) + + if !store.Has(key) { + return "", false + } + + return string(store.Get(key)), true +} + +// GetAllInterchainAccounts returns a list of all registered interchain account addresses and their associated controller port identifiers +func (k Keeper) GetAllInterchainAccounts(ctx sdk.Context) []icatypes.RegisteredInterchainAccount { + store := ctx.KVStore(k.storeKey) + iterator := sdk.KVStorePrefixIterator(store, []byte(icatypes.OwnerKeyPrefix)) + + var interchainAccounts []icatypes.RegisteredInterchainAccount + for ; iterator.Valid(); iterator.Next() { + keySplit := strings.Split(string(iterator.Key()), "/") + + acc := icatypes.RegisteredInterchainAccount{ + PortId: keySplit[1], + AccountAddress: string(iterator.Value()), + } + + interchainAccounts = append(interchainAccounts, acc) + } + + return interchainAccounts +} + +// SetInterchainAccountAddress stores the InterchainAccount address, keyed by the associated portID +func (k Keeper) SetInterchainAccountAddress(ctx sdk.Context, portID string, address string) { + store := ctx.KVStore(k.storeKey) + store.Set(icatypes.KeyOwnerAccount(portID), []byte(address)) +} + +// NegotiateAppVersion handles application version negotation for the IBC interchain accounts module +func (k Keeper) NegotiateAppVersion( + ctx sdk.Context, + order channeltypes.Order, + connectionID string, + portID string, + counterparty channeltypes.Counterparty, + proposedVersion string, +) (string, error) { + if proposedVersion != icatypes.VersionPrefix { + return "", sdkerrors.Wrapf(icatypes.ErrInvalidVersion, "failed to negotiate app version: expected %s, got %s", icatypes.VersionPrefix, proposedVersion) + } + + moduleAccAddr := k.accountKeeper.GetModuleAddress(icatypes.ModuleName) + accAddr := icatypes.GenerateAddress(moduleAccAddr, counterparty.PortId) + + return icatypes.NewAppVersion(icatypes.VersionPrefix, accAddr.String()), nil +} diff --git a/modules/apps/27-interchain-accounts/host/keeper/keeper_test.go b/modules/apps/27-interchain-accounts/host/keeper/keeper_test.go new file mode 100644 index 00000000000..5f12ab2dfd1 --- /dev/null +++ b/modules/apps/27-interchain-accounts/host/keeper/keeper_test.go @@ -0,0 +1,229 @@ +package keeper_test + +import ( + "testing" + + sdk "github.com/cosmos/cosmos-sdk/types" + authtypes "github.com/cosmos/cosmos-sdk/x/auth/types" + "github.com/stretchr/testify/suite" + "github.com/tendermint/tendermint/crypto" + + icatypes "github.com/cosmos/ibc-go/v2/modules/apps/27-interchain-accounts/types" + channeltypes "github.com/cosmos/ibc-go/v2/modules/core/04-channel/types" + ibctesting "github.com/cosmos/ibc-go/v2/testing" +) + +var ( + // TestAccAddress defines a resuable bech32 address for testing purposes + // TODO: update crypto.AddressHash() when sdk uses address.Module() + TestAccAddress = icatypes.GenerateAddress(sdk.AccAddress(crypto.AddressHash([]byte(icatypes.ModuleName))), TestPortID) + // TestOwnerAddress defines a reusable bech32 address for testing purposes + TestOwnerAddress = "cosmos17dtl0mjt3t77kpuhg2edqzjpszulwhgzuj9ljs" + // TestPortID defines a resuable port identifier for testing purposes + TestPortID, _ = icatypes.GeneratePortID(TestOwnerAddress, ibctesting.FirstConnectionID, ibctesting.FirstConnectionID) + // TestVersion defines a resuable interchainaccounts version string for testing purposes + TestVersion = icatypes.NewAppVersion(icatypes.VersionPrefix, TestAccAddress.String()) +) + +type KeeperTestSuite struct { + suite.Suite + + coordinator *ibctesting.Coordinator + + // testing chains used for convenience and readability + chainA *ibctesting.TestChain + chainB *ibctesting.TestChain + chainC *ibctesting.TestChain +} + +func (suite *KeeperTestSuite) SetupTest() { + suite.coordinator = ibctesting.NewCoordinator(suite.T(), 3) + suite.chainA = suite.coordinator.GetChain(ibctesting.GetChainID(0)) + suite.chainB = suite.coordinator.GetChain(ibctesting.GetChainID(1)) + suite.chainC = suite.coordinator.GetChain(ibctesting.GetChainID(2)) +} + +func NewICAPath(chainA, chainB *ibctesting.TestChain) *ibctesting.Path { + path := ibctesting.NewPath(chainA, chainB) + path.EndpointA.ChannelConfig.PortID = icatypes.PortID + path.EndpointB.ChannelConfig.PortID = icatypes.PortID + path.EndpointA.ChannelConfig.Order = channeltypes.ORDERED + path.EndpointB.ChannelConfig.Order = channeltypes.ORDERED + path.EndpointA.ChannelConfig.Version = icatypes.VersionPrefix + path.EndpointB.ChannelConfig.Version = TestVersion + + return path +} + +// SetupICAPath invokes the InterchainAccounts entrypoint and subsequent channel handshake handlers +func SetupICAPath(path *ibctesting.Path, owner string) error { + if err := InitInterchainAccount(path.EndpointA, owner); err != nil { + return err + } + + if err := path.EndpointB.ChanOpenTry(); err != nil { + return err + } + + if err := path.EndpointA.ChanOpenAck(); err != nil { + return err + } + + if err := path.EndpointB.ChanOpenConfirm(); err != nil { + return err + } + + return nil +} + +// InitInterchainAccount is a helper function for starting the channel handshake +func InitInterchainAccount(endpoint *ibctesting.Endpoint, owner string) error { + portID, err := icatypes.GeneratePortID(owner, endpoint.ConnectionID, endpoint.Counterparty.ConnectionID) + if err != nil { + return err + } + + channelSequence := endpoint.Chain.App.GetIBCKeeper().ChannelKeeper.GetNextChannelSequence(endpoint.Chain.GetContext()) + + if err := endpoint.Chain.GetSimApp().ICAControllerKeeper.InitInterchainAccount(endpoint.Chain.GetContext(), endpoint.ConnectionID, endpoint.Counterparty.ConnectionID, owner); err != nil { + return err + } + + // commit state changes for proof verification + endpoint.Chain.App.Commit() + endpoint.Chain.NextBlock() + + // update port/channel ids + endpoint.ChannelID = channeltypes.FormatChannelIdentifier(channelSequence) + endpoint.ChannelConfig.PortID = portID + + return nil +} + +func TestKeeperTestSuite(t *testing.T) { + suite.Run(t, new(KeeperTestSuite)) +} + +func (suite *KeeperTestSuite) TestIsBound() { + suite.SetupTest() + + path := NewICAPath(suite.chainA, suite.chainB) + suite.coordinator.SetupConnections(path) + + err := SetupICAPath(path, TestOwnerAddress) + suite.Require().NoError(err) + + isBound := suite.chainB.GetSimApp().ICAHostKeeper.IsBound(suite.chainB.GetContext(), path.EndpointB.ChannelConfig.PortID) + suite.Require().True(isBound) +} + +func (suite *KeeperTestSuite) TestGetInterchainAccountAddress() { + suite.SetupTest() + + path := NewICAPath(suite.chainA, suite.chainB) + suite.coordinator.SetupConnections(path) + + err := SetupICAPath(path, TestOwnerAddress) + suite.Require().NoError(err) + + counterpartyPortID := path.EndpointA.ChannelConfig.PortID + expectedAddr := authtypes.NewBaseAccountWithAddress(icatypes.GenerateAddress(suite.chainA.GetSimApp().AccountKeeper.GetModuleAddress(icatypes.ModuleName), counterpartyPortID)).GetAddress() + + retrievedAddr, found := suite.chainB.GetSimApp().ICAHostKeeper.GetInterchainAccountAddress(suite.chainB.GetContext(), counterpartyPortID) + suite.Require().True(found) + suite.Require().Equal(expectedAddr.String(), retrievedAddr) + + retrievedAddr, found = suite.chainB.GetSimApp().ICAHostKeeper.GetInterchainAccountAddress(suite.chainB.GetContext(), "invalid port") + suite.Require().False(found) + suite.Require().Empty(retrievedAddr) +} + +func (suite *KeeperTestSuite) TestGetAllActiveChannels() { + var ( + expectedChannelID string = "test-channel" + expectedPortID string = "test-port" + ) + + suite.SetupTest() + + path := NewICAPath(suite.chainA, suite.chainB) + suite.coordinator.SetupConnections(path) + + err := SetupICAPath(path, TestOwnerAddress) + suite.Require().NoError(err) + + suite.chainB.GetSimApp().ICAHostKeeper.SetActiveChannelID(suite.chainB.GetContext(), expectedPortID, expectedChannelID) + + expectedChannels := []icatypes.ActiveChannel{ + { + PortId: path.EndpointB.ChannelConfig.PortID, + ChannelId: path.EndpointB.ChannelID, + }, + { + PortId: expectedPortID, + ChannelId: expectedChannelID, + }, + } + + activeChannels := suite.chainB.GetSimApp().ICAHostKeeper.GetAllActiveChannels(suite.chainB.GetContext()) + suite.Require().Len(activeChannels, len(expectedChannels)) + suite.Require().Equal(expectedChannels, activeChannels) +} + +func (suite *KeeperTestSuite) TestGetAllInterchainAccounts() { + var ( + expectedAccAddr string = "test-acc-addr" + expectedPortID string = "test-port" + ) + + suite.SetupTest() + + path := NewICAPath(suite.chainA, suite.chainB) + suite.coordinator.SetupConnections(path) + + err := SetupICAPath(path, TestOwnerAddress) + suite.Require().NoError(err) + + suite.chainB.GetSimApp().ICAHostKeeper.SetInterchainAccountAddress(suite.chainB.GetContext(), expectedPortID, expectedAccAddr) + + expectedAccounts := []icatypes.RegisteredInterchainAccount{ + { + PortId: TestPortID, + AccountAddress: TestAccAddress.String(), + }, + { + PortId: expectedPortID, + AccountAddress: expectedAccAddr, + }, + } + + interchainAccounts := suite.chainB.GetSimApp().ICAHostKeeper.GetAllInterchainAccounts(suite.chainB.GetContext()) + suite.Require().Len(interchainAccounts, len(expectedAccounts)) + suite.Require().Equal(expectedAccounts, interchainAccounts) +} + +func (suite *KeeperTestSuite) TestIsActiveChannel() { + suite.SetupTest() + + path := NewICAPath(suite.chainA, suite.chainB) + suite.coordinator.SetupConnections(path) + + err := SetupICAPath(path, TestOwnerAddress) + suite.Require().NoError(err) + + isActive := suite.chainB.GetSimApp().ICAHostKeeper.IsActiveChannel(suite.chainB.GetContext(), path.EndpointB.ChannelConfig.PortID) + suite.Require().True(isActive) +} + +func (suite *KeeperTestSuite) TestSetInterchainAccountAddress() { + var ( + expectedAccAddr string = "test-acc-addr" + expectedPortID string = "test-port" + ) + + suite.chainB.GetSimApp().ICAHostKeeper.SetInterchainAccountAddress(suite.chainB.GetContext(), expectedPortID, expectedAccAddr) + + retrievedAddr, found := suite.chainB.GetSimApp().ICAHostKeeper.GetInterchainAccountAddress(suite.chainB.GetContext(), expectedPortID) + suite.Require().True(found) + suite.Require().Equal(expectedAccAddr, retrievedAddr) +} diff --git a/modules/apps/27-interchain-accounts/host/keeper/params.go b/modules/apps/27-interchain-accounts/host/keeper/params.go new file mode 100644 index 00000000000..b126dd6bd8a --- /dev/null +++ b/modules/apps/27-interchain-accounts/host/keeper/params.go @@ -0,0 +1,32 @@ +package keeper + +import ( + sdk "github.com/cosmos/cosmos-sdk/types" + + "github.com/cosmos/ibc-go/v2/modules/apps/27-interchain-accounts/host/types" +) + +// IsHostEnabled retrieves the host enabled boolean from the paramstore. +// True is returned if the host submodule is enabled. +func (k Keeper) IsHostEnabled(ctx sdk.Context) bool { + var res bool + k.paramSpace.Get(ctx, types.KeyHostEnabled, &res) + return res +} + +// GetAllowMessages retrieves the host enabled msg types from the paramstore +func (k Keeper) GetAllowMessages(ctx sdk.Context) []string { + var res []string + k.paramSpace.Get(ctx, types.KeyAllowMessages, &res) + return res +} + +// GetParams returns the total set of the host submodule parameters. +func (k Keeper) GetParams(ctx sdk.Context) types.Params { + return types.NewParams(k.IsHostEnabled(ctx), k.GetAllowMessages(ctx)) +} + +// SetParams sets the total set of the host submodule parameters. +func (k Keeper) SetParams(ctx sdk.Context, params types.Params) { + k.paramSpace.SetParamSet(ctx, ¶ms) +} diff --git a/modules/apps/27-interchain-accounts/host/keeper/params_test.go b/modules/apps/27-interchain-accounts/host/keeper/params_test.go new file mode 100644 index 00000000000..ff4d6d55868 --- /dev/null +++ b/modules/apps/27-interchain-accounts/host/keeper/params_test.go @@ -0,0 +1,16 @@ +package keeper_test + +import "github.com/cosmos/ibc-go/v2/modules/apps/27-interchain-accounts/host/types" + +func (suite *KeeperTestSuite) TestParams() { + expParams := types.DefaultParams() + + params := suite.chainA.GetSimApp().ICAHostKeeper.GetParams(suite.chainA.GetContext()) + suite.Require().Equal(expParams, params) + + expParams.HostEnabled = false + expParams.AllowMessages = []string{"/cosmos.staking.v1beta1.MsgDelegate"} + suite.chainA.GetSimApp().ICAHostKeeper.SetParams(suite.chainA.GetContext(), expParams) + params = suite.chainA.GetSimApp().ICAHostKeeper.GetParams(suite.chainA.GetContext()) + suite.Require().Equal(expParams, params) +} diff --git a/modules/apps/27-interchain-accounts/host/keeper/relay.go b/modules/apps/27-interchain-accounts/host/keeper/relay.go new file mode 100644 index 00000000000..244e0d06e0c --- /dev/null +++ b/modules/apps/27-interchain-accounts/host/keeper/relay.go @@ -0,0 +1,93 @@ +package keeper + +import ( + sdk "github.com/cosmos/cosmos-sdk/types" + sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + + "github.com/cosmos/ibc-go/v2/modules/apps/27-interchain-accounts/host/types" + icatypes "github.com/cosmos/ibc-go/v2/modules/apps/27-interchain-accounts/types" + channeltypes "github.com/cosmos/ibc-go/v2/modules/core/04-channel/types" +) + +// AuthenticateTx ensures the provided msgs contain the correct interchain account signer address retrieved +// from state using the provided controller port identifier +func (k Keeper) AuthenticateTx(ctx sdk.Context, msgs []sdk.Msg, portID string) error { + interchainAccountAddr, found := k.GetInterchainAccountAddress(ctx, portID) + if !found { + return sdkerrors.Wrapf(icatypes.ErrInterchainAccountNotFound, "failed to retrieve interchain account on port %s", portID) + } + + allowMsgs := k.GetAllowMessages(ctx) + for _, msg := range msgs { + if !types.ContainsMsgType(allowMsgs, msg) { + return sdkerrors.Wrapf(sdkerrors.ErrUnauthorized, "message type not allowed: %s", sdk.MsgTypeURL(msg)) + } + + for _, signer := range msg.GetSigners() { + if interchainAccountAddr != signer.String() { + return sdkerrors.Wrapf(sdkerrors.ErrUnauthorized, "unexpected signer address: expected %s, got %s", interchainAccountAddr, signer.String()) + } + } + } + + return nil +} + +func (k Keeper) executeTx(ctx sdk.Context, sourcePort, destPort, destChannel string, msgs []sdk.Msg) error { + if err := k.AuthenticateTx(ctx, msgs, sourcePort); err != nil { + return err + } + + // CacheContext returns a new context with the multi-store branched into a cached storage object + // writeCache is called only if all msgs succeed, performing state transitions atomically + cacheCtx, writeCache := ctx.CacheContext() + for _, msg := range msgs { + if err := msg.ValidateBasic(); err != nil { + return err + } + + if _, err := k.executeMsg(cacheCtx, msg); err != nil { + return err + } + } + + writeCache() + + return nil +} + +// Attempts to get the message handler from the router and if found will then execute the message +func (k Keeper) executeMsg(ctx sdk.Context, msg sdk.Msg) (*sdk.Result, error) { + handler := k.msgRouter.Handler(msg) + if handler == nil { + return nil, icatypes.ErrInvalidRoute + } + + return handler(ctx, msg) +} + +// OnRecvPacket handles a given interchain accounts packet on a destination host chain +func (k Keeper) OnRecvPacket(ctx sdk.Context, packet channeltypes.Packet) error { + var data icatypes.InterchainAccountPacketData + + if err := icatypes.ModuleCdc.UnmarshalJSON(packet.GetData(), &data); err != nil { + // UnmarshalJSON errors are indeterminate and therefore are not wrapped and included in failed acks + return sdkerrors.Wrapf(icatypes.ErrUnknownDataType, "cannot unmarshal ICS-27 interchain account packet data") + } + + switch data.Type { + case icatypes.EXECUTE_TX: + msgs, err := icatypes.DeserializeCosmosTx(k.cdc, data.Data) + if err != nil { + return err + } + + if err = k.executeTx(ctx, packet.SourcePort, packet.DestinationPort, packet.DestinationChannel, msgs); err != nil { + return err + } + + return nil + default: + return icatypes.ErrUnknownDataType + } +} diff --git a/modules/apps/27-interchain-accounts/host/keeper/relay_test.go b/modules/apps/27-interchain-accounts/host/keeper/relay_test.go new file mode 100644 index 00000000000..d77e0735bbd --- /dev/null +++ b/modules/apps/27-interchain-accounts/host/keeper/relay_test.go @@ -0,0 +1,449 @@ +package keeper_test + +import ( + "time" + + codectypes "github.com/cosmos/cosmos-sdk/codec/types" + sdk "github.com/cosmos/cosmos-sdk/types" + banktypes "github.com/cosmos/cosmos-sdk/x/bank/types" + disttypes "github.com/cosmos/cosmos-sdk/x/distribution/types" + govtypes "github.com/cosmos/cosmos-sdk/x/gov/types" + stakingtypes "github.com/cosmos/cosmos-sdk/x/staking/types" + + "github.com/cosmos/ibc-go/v2/modules/apps/27-interchain-accounts/host/types" + icatypes "github.com/cosmos/ibc-go/v2/modules/apps/27-interchain-accounts/types" + transfertypes "github.com/cosmos/ibc-go/v2/modules/apps/transfer/types" + clienttypes "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" + channeltypes "github.com/cosmos/ibc-go/v2/modules/core/04-channel/types" + ibctesting "github.com/cosmos/ibc-go/v2/testing" +) + +func (suite *KeeperTestSuite) TestOnRecvPacket() { + var ( + path *ibctesting.Path + packetData []byte + ) + + testCases := []struct { + msg string + malleate func() + expPass bool + }{ + { + "interchain account successfully executes banktypes.MsgSend", + func() { + interchainAccountAddr, found := suite.chainB.GetSimApp().ICAHostKeeper.GetInterchainAccountAddress(suite.chainB.GetContext(), path.EndpointA.ChannelConfig.PortID) + suite.Require().True(found) + + msg := &banktypes.MsgSend{ + FromAddress: interchainAccountAddr, + ToAddress: suite.chainB.SenderAccount.GetAddress().String(), + Amount: sdk.NewCoins(sdk.NewCoin(sdk.DefaultBondDenom, sdk.NewInt(100))), + } + + data, err := icatypes.SerializeCosmosTx(suite.chainA.GetSimApp().AppCodec(), []sdk.Msg{msg}) + suite.Require().NoError(err) + + icaPacketData := icatypes.InterchainAccountPacketData{ + Type: icatypes.EXECUTE_TX, + Data: data, + } + + packetData = icaPacketData.GetBytes() + + params := types.NewParams(true, []string{sdk.MsgTypeURL(msg)}) + suite.chainB.GetSimApp().ICAHostKeeper.SetParams(suite.chainB.GetContext(), params) + }, + true, + }, + { + "interchain account successfully executes stakingtypes.MsgDelegate", + func() { + interchainAccountAddr, found := suite.chainB.GetSimApp().ICAHostKeeper.GetInterchainAccountAddress(suite.chainB.GetContext(), path.EndpointA.ChannelConfig.PortID) + suite.Require().True(found) + + validatorAddr := (sdk.ValAddress)(suite.chainB.Vals.Validators[0].Address) + msg := &stakingtypes.MsgDelegate{ + DelegatorAddress: interchainAccountAddr, + ValidatorAddress: validatorAddr.String(), + Amount: sdk.NewCoin(sdk.DefaultBondDenom, sdk.NewInt(5000)), + } + + data, err := icatypes.SerializeCosmosTx(suite.chainA.GetSimApp().AppCodec(), []sdk.Msg{msg}) + suite.Require().NoError(err) + + icaPacketData := icatypes.InterchainAccountPacketData{ + Type: icatypes.EXECUTE_TX, + Data: data, + } + + packetData = icaPacketData.GetBytes() + + params := types.NewParams(true, []string{sdk.MsgTypeURL(msg)}) + suite.chainB.GetSimApp().ICAHostKeeper.SetParams(suite.chainB.GetContext(), params) + }, + true, + }, + { + "interchain account successfully executes stakingtypes.MsgDelegate and stakingtypes.MsgUndelegate sequentially", + func() { + interchainAccountAddr, found := suite.chainB.GetSimApp().ICAHostKeeper.GetInterchainAccountAddress(suite.chainB.GetContext(), path.EndpointA.ChannelConfig.PortID) + suite.Require().True(found) + + validatorAddr := (sdk.ValAddress)(suite.chainB.Vals.Validators[0].Address) + msgDelegate := &stakingtypes.MsgDelegate{ + DelegatorAddress: interchainAccountAddr, + ValidatorAddress: validatorAddr.String(), + Amount: sdk.NewCoin(sdk.DefaultBondDenom, sdk.NewInt(5000)), + } + + msgUndelegate := &stakingtypes.MsgUndelegate{ + DelegatorAddress: interchainAccountAddr, + ValidatorAddress: validatorAddr.String(), + Amount: sdk.NewCoin(sdk.DefaultBondDenom, sdk.NewInt(5000)), + } + + data, err := icatypes.SerializeCosmosTx(suite.chainA.GetSimApp().AppCodec(), []sdk.Msg{msgDelegate, msgUndelegate}) + suite.Require().NoError(err) + + icaPacketData := icatypes.InterchainAccountPacketData{ + Type: icatypes.EXECUTE_TX, + Data: data, + } + + packetData = icaPacketData.GetBytes() + + params := types.NewParams(true, []string{sdk.MsgTypeURL(msgDelegate), sdk.MsgTypeURL(msgUndelegate)}) + suite.chainB.GetSimApp().ICAHostKeeper.SetParams(suite.chainB.GetContext(), params) + }, + true, + }, + { + "interchain account successfully executes govtypes.MsgSubmitProposal", + func() { + interchainAccountAddr, found := suite.chainB.GetSimApp().ICAHostKeeper.GetInterchainAccountAddress(suite.chainB.GetContext(), path.EndpointA.ChannelConfig.PortID) + suite.Require().True(found) + + testProposal := &govtypes.TextProposal{ + Title: "IBC Gov Proposal", + Description: "tokens for all!", + } + + any, err := codectypes.NewAnyWithValue(testProposal) + suite.Require().NoError(err) + + msg := &govtypes.MsgSubmitProposal{ + Content: any, + InitialDeposit: sdk.NewCoins(sdk.NewCoin(sdk.DefaultBondDenom, sdk.NewInt(5000))), + Proposer: interchainAccountAddr, + } + + data, err := icatypes.SerializeCosmosTx(suite.chainA.GetSimApp().AppCodec(), []sdk.Msg{msg}) + suite.Require().NoError(err) + + icaPacketData := icatypes.InterchainAccountPacketData{ + Type: icatypes.EXECUTE_TX, + Data: data, + } + + packetData = icaPacketData.GetBytes() + + params := types.NewParams(true, []string{sdk.MsgTypeURL(msg)}) + suite.chainB.GetSimApp().ICAHostKeeper.SetParams(suite.chainB.GetContext(), params) + }, + true, + }, + { + "interchain account successfully executes govtypes.MsgVote", + func() { + interchainAccountAddr, found := suite.chainB.GetSimApp().ICAHostKeeper.GetInterchainAccountAddress(suite.chainB.GetContext(), path.EndpointA.ChannelConfig.PortID) + suite.Require().True(found) + + // Populate the gov keeper in advance with an active proposal + testProposal := &govtypes.TextProposal{ + Title: "IBC Gov Proposal", + Description: "tokens for all!", + } + + proposal, err := govtypes.NewProposal(testProposal, govtypes.DefaultStartingProposalID, time.Now(), time.Now().Add(time.Hour)) + suite.Require().NoError(err) + + suite.chainB.GetSimApp().GovKeeper.SetProposal(suite.chainB.GetContext(), proposal) + suite.chainB.GetSimApp().GovKeeper.ActivateVotingPeriod(suite.chainB.GetContext(), proposal) + + msg := &govtypes.MsgVote{ + ProposalId: govtypes.DefaultStartingProposalID, + Voter: interchainAccountAddr, + Option: govtypes.OptionYes, + } + + data, err := icatypes.SerializeCosmosTx(suite.chainA.GetSimApp().AppCodec(), []sdk.Msg{msg}) + suite.Require().NoError(err) + + icaPacketData := icatypes.InterchainAccountPacketData{ + Type: icatypes.EXECUTE_TX, + Data: data, + } + + packetData = icaPacketData.GetBytes() + + params := types.NewParams(true, []string{sdk.MsgTypeURL(msg)}) + suite.chainB.GetSimApp().ICAHostKeeper.SetParams(suite.chainB.GetContext(), params) + }, + true, + }, + { + "interchain account successfully executes disttypes.MsgFundCommunityPool", + func() { + interchainAccountAddr, found := suite.chainB.GetSimApp().ICAHostKeeper.GetInterchainAccountAddress(suite.chainB.GetContext(), path.EndpointA.ChannelConfig.PortID) + suite.Require().True(found) + + msg := &disttypes.MsgFundCommunityPool{ + Amount: sdk.NewCoins(sdk.NewCoin(sdk.DefaultBondDenom, sdk.NewInt(5000))), + Depositor: interchainAccountAddr, + } + + data, err := icatypes.SerializeCosmosTx(suite.chainA.GetSimApp().AppCodec(), []sdk.Msg{msg}) + suite.Require().NoError(err) + + icaPacketData := icatypes.InterchainAccountPacketData{ + Type: icatypes.EXECUTE_TX, + Data: data, + } + + packetData = icaPacketData.GetBytes() + + params := types.NewParams(true, []string{sdk.MsgTypeURL(msg)}) + suite.chainB.GetSimApp().ICAHostKeeper.SetParams(suite.chainB.GetContext(), params) + }, + true, + }, + { + "interchain account successfully executes disttypes.MsgSetWithdrawAddress", + func() { + interchainAccountAddr, found := suite.chainB.GetSimApp().ICAHostKeeper.GetInterchainAccountAddress(suite.chainB.GetContext(), path.EndpointA.ChannelConfig.PortID) + suite.Require().True(found) + + msg := &disttypes.MsgSetWithdrawAddress{ + DelegatorAddress: interchainAccountAddr, + WithdrawAddress: suite.chainB.SenderAccount.GetAddress().String(), + } + + data, err := icatypes.SerializeCosmosTx(suite.chainA.GetSimApp().AppCodec(), []sdk.Msg{msg}) + suite.Require().NoError(err) + + icaPacketData := icatypes.InterchainAccountPacketData{ + Type: icatypes.EXECUTE_TX, + Data: data, + } + + packetData = icaPacketData.GetBytes() + + params := types.NewParams(true, []string{sdk.MsgTypeURL(msg)}) + suite.chainB.GetSimApp().ICAHostKeeper.SetParams(suite.chainB.GetContext(), params) + }, + true, + }, + { + "interchain account successfully executes transfertypes.MsgTransfer", + func() { + transferPath := ibctesting.NewPath(suite.chainB, suite.chainC) + transferPath.EndpointA.ChannelConfig.PortID = ibctesting.TransferPort + transferPath.EndpointB.ChannelConfig.PortID = ibctesting.TransferPort + + suite.coordinator.Setup(transferPath) + + interchainAccountAddr, found := suite.chainB.GetSimApp().ICAHostKeeper.GetInterchainAccountAddress(suite.chainB.GetContext(), path.EndpointA.ChannelConfig.PortID) + suite.Require().True(found) + + msg := &transfertypes.MsgTransfer{ + SourcePort: transferPath.EndpointA.ChannelConfig.PortID, + SourceChannel: transferPath.EndpointA.ChannelID, + Token: sdk.NewCoin(sdk.DefaultBondDenom, sdk.NewInt(100)), + Sender: interchainAccountAddr, + Receiver: suite.chainA.SenderAccount.GetAddress().String(), + TimeoutHeight: clienttypes.NewHeight(0, 100), + TimeoutTimestamp: uint64(0), + } + + data, err := icatypes.SerializeCosmosTx(suite.chainA.GetSimApp().AppCodec(), []sdk.Msg{msg}) + suite.Require().NoError(err) + + icaPacketData := icatypes.InterchainAccountPacketData{ + Type: icatypes.EXECUTE_TX, + Data: data, + } + + packetData = icaPacketData.GetBytes() + + params := types.NewParams(true, []string{sdk.MsgTypeURL(msg)}) + suite.chainB.GetSimApp().ICAHostKeeper.SetParams(suite.chainB.GetContext(), params) + }, + true, + }, + { + "cannot unmarshal interchain account packet data", + func() { + packetData = []byte{} + }, + false, + }, + { + "cannot deserialize interchain account packet data messages", + func() { + data := []byte("invalid packet data") + + icaPacketData := icatypes.InterchainAccountPacketData{ + Type: icatypes.EXECUTE_TX, + Data: data, + } + + packetData = icaPacketData.GetBytes() + }, + false, + }, + { + "invalid packet type - UNSPECIFIED", + func() { + data, err := icatypes.SerializeCosmosTx(suite.chainA.GetSimApp().AppCodec(), []sdk.Msg{&banktypes.MsgSend{}}) + suite.Require().NoError(err) + + icaPacketData := icatypes.InterchainAccountPacketData{ + Type: icatypes.UNSPECIFIED, + Data: data, + } + + packetData = icaPacketData.GetBytes() + }, + false, + }, + { + "unauthorised: interchain account not found for controller port ID", + func() { + path.EndpointA.ChannelConfig.PortID = "invalid-port-id" + + data, err := icatypes.SerializeCosmosTx(suite.chainA.GetSimApp().AppCodec(), []sdk.Msg{&banktypes.MsgSend{}}) + suite.Require().NoError(err) + + icaPacketData := icatypes.InterchainAccountPacketData{ + Type: icatypes.EXECUTE_TX, + Data: data, + } + + packetData = icaPacketData.GetBytes() + }, + false, + }, + { + "unauthorised: message type not allowed", // NOTE: do not update params to explicitly force the error + func() { + msg := &banktypes.MsgSend{ + FromAddress: suite.chainB.SenderAccount.GetAddress().String(), + ToAddress: suite.chainB.SenderAccount.GetAddress().String(), + Amount: sdk.NewCoins(sdk.NewCoin(sdk.DefaultBondDenom, sdk.NewInt(100))), + } + + data, err := icatypes.SerializeCosmosTx(suite.chainA.GetSimApp().AppCodec(), []sdk.Msg{msg}) + suite.Require().NoError(err) + + icaPacketData := icatypes.InterchainAccountPacketData{ + Type: icatypes.EXECUTE_TX, + Data: data, + } + + packetData = icaPacketData.GetBytes() + }, + false, + }, + { + "unauthorised: signer address is not the interchain account associated with the controller portID", + func() { + msg := &banktypes.MsgSend{ + FromAddress: suite.chainB.SenderAccount.GetAddress().String(), // unexpected signer + ToAddress: suite.chainB.SenderAccount.GetAddress().String(), + Amount: sdk.NewCoins(sdk.NewCoin(sdk.DefaultBondDenom, sdk.NewInt(100))), + } + + data, err := icatypes.SerializeCosmosTx(suite.chainA.GetSimApp().AppCodec(), []sdk.Msg{msg}) + suite.Require().NoError(err) + + icaPacketData := icatypes.InterchainAccountPacketData{ + Type: icatypes.EXECUTE_TX, + Data: data, + } + + packetData = icaPacketData.GetBytes() + + params := types.NewParams(true, []string{sdk.MsgTypeURL(msg)}) + suite.chainB.GetSimApp().ICAHostKeeper.SetParams(suite.chainB.GetContext(), params) + }, + false, + }, + } + + for _, tc := range testCases { + tc := tc + + suite.Run(tc.msg, func() { + suite.SetupTest() // reset + + path = NewICAPath(suite.chainA, suite.chainB) + suite.coordinator.SetupConnections(path) + + err := SetupICAPath(path, TestOwnerAddress) + suite.Require().NoError(err) + + portID, err := icatypes.GeneratePortID(TestOwnerAddress, ibctesting.FirstConnectionID, ibctesting.FirstConnectionID) + suite.Require().NoError(err) + + // Get the address of the interchain account stored in state during handshake step + storedAddr, found := suite.chainB.GetSimApp().ICAHostKeeper.GetInterchainAccountAddress(suite.chainB.GetContext(), portID) + suite.Require().True(found) + + icaAddr, err := sdk.AccAddressFromBech32(storedAddr) + suite.Require().NoError(err) + + // Check if account is created + interchainAccount := suite.chainB.GetSimApp().AccountKeeper.GetAccount(suite.chainB.GetContext(), icaAddr) + suite.Require().Equal(interchainAccount.GetAddress().String(), storedAddr) + + suite.fundICAWallet(suite.chainB.GetContext(), path.EndpointA.ChannelConfig.PortID, sdk.NewCoins(sdk.NewCoin(sdk.DefaultBondDenom, sdk.NewInt(10000)))) + + tc.malleate() // malleate mutates test data + + packet := channeltypes.NewPacket( + packetData, + suite.chainA.SenderAccount.GetSequence(), + path.EndpointA.ChannelConfig.PortID, + path.EndpointA.ChannelID, + path.EndpointB.ChannelConfig.PortID, + path.EndpointB.ChannelID, + clienttypes.NewHeight(0, 100), + 0, + ) + + err = suite.chainB.GetSimApp().ICAHostKeeper.OnRecvPacket(suite.chainB.GetContext(), packet) + + if tc.expPass { + suite.Require().NoError(err) + } else { + suite.Require().Error(err) + } + }) + } +} + +func (suite *KeeperTestSuite) fundICAWallet(ctx sdk.Context, portID string, amount sdk.Coins) { + interchainAccountAddr, found := suite.chainB.GetSimApp().ICAHostKeeper.GetInterchainAccountAddress(ctx, portID) + suite.Require().True(found) + + msgBankSend := &banktypes.MsgSend{ + FromAddress: suite.chainB.SenderAccount.GetAddress().String(), + ToAddress: interchainAccountAddr, + Amount: amount, + } + + res, err := suite.chainB.SendMsgs(msgBankSend) + suite.Require().NotEmpty(res) + suite.Require().NoError(err) +} diff --git a/modules/apps/27-interchain-accounts/host/types/errors.go b/modules/apps/27-interchain-accounts/host/types/errors.go new file mode 100644 index 00000000000..b16b4093e5e --- /dev/null +++ b/modules/apps/27-interchain-accounts/host/types/errors.go @@ -0,0 +1,10 @@ +package types + +import ( + sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" +) + +// ICA Host sentinel errors +var ( + ErrHostSubModuleDisabled = sdkerrors.Register(SubModuleName, 2, "host submodule is disabled") +) diff --git a/modules/apps/27-interchain-accounts/host/types/host.pb.go b/modules/apps/27-interchain-accounts/host/types/host.pb.go new file mode 100644 index 00000000000..8ad1c15c24b --- /dev/null +++ b/modules/apps/27-interchain-accounts/host/types/host.pb.go @@ -0,0 +1,377 @@ +// Code generated by protoc-gen-gogo. DO NOT EDIT. +// source: ibc/applications/interchain_accounts/host/v1/host.proto + +package types + +import ( + fmt "fmt" + _ "github.com/cosmos/cosmos-sdk/codec/types" + _ "github.com/gogo/protobuf/gogoproto" + proto "github.com/gogo/protobuf/proto" + io "io" + math "math" + math_bits "math/bits" +) + +// Reference imports to suppress errors if they are not otherwise used. +var _ = proto.Marshal +var _ = fmt.Errorf +var _ = math.Inf + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the proto package it is being compiled against. +// A compilation error at this line likely means your copy of the +// proto package needs to be updated. +const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package + +// Params defines the set of on-chain interchain accounts parameters. +// The following parameters may be used to disable the host submodule. +type Params struct { + // host_enabled enables or disables the host submodule. + HostEnabled bool `protobuf:"varint,1,opt,name=host_enabled,json=hostEnabled,proto3" json:"host_enabled,omitempty" yaml:"host_enabled"` + // allow_messages defines a list of sdk message typeURLs allowed to be executed on a host chain. + AllowMessages []string `protobuf:"bytes,2,rep,name=allow_messages,json=allowMessages,proto3" json:"allow_messages,omitempty" yaml:"allow_messages"` +} + +func (m *Params) Reset() { *m = Params{} } +func (m *Params) String() string { return proto.CompactTextString(m) } +func (*Params) ProtoMessage() {} +func (*Params) Descriptor() ([]byte, []int) { + return fileDescriptor_48e202774f13d08e, []int{0} +} +func (m *Params) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *Params) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_Params.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *Params) XXX_Merge(src proto.Message) { + xxx_messageInfo_Params.Merge(m, src) +} +func (m *Params) XXX_Size() int { + return m.Size() +} +func (m *Params) XXX_DiscardUnknown() { + xxx_messageInfo_Params.DiscardUnknown(m) +} + +var xxx_messageInfo_Params proto.InternalMessageInfo + +func (m *Params) GetHostEnabled() bool { + if m != nil { + return m.HostEnabled + } + return false +} + +func (m *Params) GetAllowMessages() []string { + if m != nil { + return m.AllowMessages + } + return nil +} + +func init() { + proto.RegisterType((*Params)(nil), "ibc.applications.interchain_accounts.host.v1.Params") +} + +func init() { + proto.RegisterFile("ibc/applications/interchain_accounts/host/v1/host.proto", fileDescriptor_48e202774f13d08e) +} + +var fileDescriptor_48e202774f13d08e = []byte{ + // 306 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x6c, 0x90, 0xbf, 0x6a, 0x32, 0x41, + 0x14, 0xc5, 0xdd, 0xef, 0x03, 0x49, 0x36, 0x7f, 0x0a, 0x93, 0x10, 0xb5, 0x58, 0x65, 0x2b, 0x8b, + 0xb8, 0x17, 0x4d, 0x21, 0x58, 0x05, 0x21, 0x4d, 0x20, 0x10, 0x2c, 0xd3, 0xc8, 0xcc, 0x38, 0x19, + 0x07, 0x66, 0xe7, 0x2e, 0xde, 0x59, 0x83, 0x2f, 0x90, 0x3a, 0x8f, 0x95, 0xd2, 0x32, 0x95, 0x04, + 0x7d, 0x03, 0x9f, 0x20, 0xec, 0x6c, 0x20, 0x0a, 0xa9, 0xe6, 0x9e, 0x73, 0xf8, 0x1d, 0x98, 0x13, + 0x0e, 0x34, 0x17, 0xc0, 0xb2, 0xcc, 0x68, 0xc1, 0x9c, 0x46, 0x4b, 0xa0, 0xad, 0x93, 0x73, 0x31, + 0x63, 0xda, 0x4e, 0x98, 0x10, 0x98, 0x5b, 0x47, 0x30, 0x43, 0x72, 0xb0, 0xe8, 0xf9, 0x37, 0xc9, + 0xe6, 0xe8, 0xb0, 0x76, 0xa3, 0xb9, 0x48, 0xf6, 0xc1, 0xe4, 0x0f, 0x30, 0xf1, 0xc0, 0xa2, 0xd7, + 0x6c, 0x28, 0x44, 0x65, 0x24, 0x78, 0x96, 0xe7, 0x2f, 0xc0, 0xec, 0xb2, 0x2c, 0x6a, 0x5e, 0x2a, + 0x54, 0xe8, 0x4f, 0x28, 0xae, 0xd2, 0x8d, 0xdf, 0x82, 0xb0, 0xfa, 0xc4, 0xe6, 0x2c, 0xa5, 0xda, + 0x30, 0x3c, 0x2d, 0x6a, 0x26, 0xd2, 0x32, 0x6e, 0xe4, 0xb4, 0x1e, 0xb4, 0x83, 0xce, 0xd1, 0xe8, + 0x7a, 0xb7, 0x6e, 0x5d, 0x2c, 0x59, 0x6a, 0x86, 0xf1, 0x7e, 0x1a, 0x8f, 0x4f, 0x0a, 0x79, 0x5f, + 0xaa, 0xda, 0x5d, 0x78, 0xce, 0x8c, 0xc1, 0xd7, 0x49, 0x2a, 0x89, 0x98, 0x92, 0x54, 0xff, 0xd7, + 0xfe, 0xdf, 0x39, 0x1e, 0x35, 0x76, 0xeb, 0xd6, 0x55, 0x49, 0x1f, 0xe6, 0xf1, 0xf8, 0xcc, 0x1b, + 0x8f, 0x3f, 0x7a, 0x34, 0xfd, 0xd8, 0x44, 0xc1, 0x6a, 0x13, 0x05, 0x5f, 0x9b, 0x28, 0x78, 0xdf, + 0x46, 0x95, 0xd5, 0x36, 0xaa, 0x7c, 0x6e, 0xa3, 0xca, 0xf3, 0x83, 0xd2, 0x6e, 0x96, 0xf3, 0x44, + 0x60, 0x0a, 0x02, 0x29, 0x45, 0x02, 0xcd, 0x45, 0x57, 0x21, 0x2c, 0xfa, 0x90, 0xe2, 0x34, 0x37, + 0x92, 0x8a, 0x69, 0x09, 0xfa, 0x83, 0xee, 0xef, 0x38, 0xdd, 0xc3, 0x55, 0xdd, 0x32, 0x93, 0xc4, + 0xab, 0xfe, 0xd7, 0xb7, 0xdf, 0x01, 0x00, 0x00, 0xff, 0xff, 0x6b, 0x0d, 0x8d, 0xb8, 0x8f, 0x01, + 0x00, 0x00, +} + +func (m *Params) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *Params) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *Params) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.AllowMessages) > 0 { + for iNdEx := len(m.AllowMessages) - 1; iNdEx >= 0; iNdEx-- { + i -= len(m.AllowMessages[iNdEx]) + copy(dAtA[i:], m.AllowMessages[iNdEx]) + i = encodeVarintHost(dAtA, i, uint64(len(m.AllowMessages[iNdEx]))) + i-- + dAtA[i] = 0x12 + } + } + if m.HostEnabled { + i-- + if m.HostEnabled { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + +func encodeVarintHost(dAtA []byte, offset int, v uint64) int { + offset -= sovHost(v) + base := offset + for v >= 1<<7 { + dAtA[offset] = uint8(v&0x7f | 0x80) + v >>= 7 + offset++ + } + dAtA[offset] = uint8(v) + return base +} +func (m *Params) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.HostEnabled { + n += 2 + } + if len(m.AllowMessages) > 0 { + for _, s := range m.AllowMessages { + l = len(s) + n += 1 + l + sovHost(uint64(l)) + } + } + return n +} + +func sovHost(x uint64) (n int) { + return (math_bits.Len64(x|1) + 6) / 7 +} +func sozHost(x uint64) (n int) { + return sovHost(uint64((x << 1) ^ uint64((int64(x) >> 63)))) +} +func (m *Params) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowHost + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: Params: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: Params: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field HostEnabled", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowHost + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.HostEnabled = bool(v != 0) + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field AllowMessages", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowHost + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthHost + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthHost + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.AllowMessages = append(m.AllowMessages, string(dAtA[iNdEx:postIndex])) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipHost(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthHost + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func skipHost(dAtA []byte) (n int, err error) { + l := len(dAtA) + iNdEx := 0 + depth := 0 + for iNdEx < l { + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return 0, ErrIntOverflowHost + } + if iNdEx >= l { + return 0, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + wireType := int(wire & 0x7) + switch wireType { + case 0: + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return 0, ErrIntOverflowHost + } + if iNdEx >= l { + return 0, io.ErrUnexpectedEOF + } + iNdEx++ + if dAtA[iNdEx-1] < 0x80 { + break + } + } + case 1: + iNdEx += 8 + case 2: + var length int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return 0, ErrIntOverflowHost + } + if iNdEx >= l { + return 0, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + length |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if length < 0 { + return 0, ErrInvalidLengthHost + } + iNdEx += length + case 3: + depth++ + case 4: + if depth == 0 { + return 0, ErrUnexpectedEndOfGroupHost + } + depth-- + case 5: + iNdEx += 4 + default: + return 0, fmt.Errorf("proto: illegal wireType %d", wireType) + } + if iNdEx < 0 { + return 0, ErrInvalidLengthHost + } + if depth == 0 { + return iNdEx, nil + } + } + return 0, io.ErrUnexpectedEOF +} + +var ( + ErrInvalidLengthHost = fmt.Errorf("proto: negative length found during unmarshaling") + ErrIntOverflowHost = fmt.Errorf("proto: integer overflow") + ErrUnexpectedEndOfGroupHost = fmt.Errorf("proto: unexpected end of group") +) diff --git a/modules/apps/27-interchain-accounts/host/types/keys.go b/modules/apps/27-interchain-accounts/host/types/keys.go new file mode 100644 index 00000000000..74c93cdb605 --- /dev/null +++ b/modules/apps/27-interchain-accounts/host/types/keys.go @@ -0,0 +1,24 @@ +package types + +import ( + sdk "github.com/cosmos/cosmos-sdk/types" +) + +const ( + // SubModuleName defines the interchain accounts host module name + SubModuleName = "icahost" + + // StoreKey is the store key string for the interchain accounts host module + StoreKey = SubModuleName +) + +// ContainsMsgType returns true if the sdk.Msg TypeURL is present in allowMsgs, otherwise false +func ContainsMsgType(allowMsgs []string, msg sdk.Msg) bool { + for _, v := range allowMsgs { + if v == sdk.MsgTypeURL(msg) { + return true + } + } + + return false +} diff --git a/modules/apps/27-interchain-accounts/host/types/params.go b/modules/apps/27-interchain-accounts/host/types/params.go new file mode 100644 index 00000000000..480de05c286 --- /dev/null +++ b/modules/apps/27-interchain-accounts/host/types/params.go @@ -0,0 +1,83 @@ +package types + +import ( + "fmt" + "strings" + + paramtypes "github.com/cosmos/cosmos-sdk/x/params/types" +) + +const ( + // DefaultHostEnabled is the default value for the host param (set to true) + DefaultHostEnabled = true +) + +var ( + // KeyHostEnabled is the store key for HostEnabled Params + KeyHostEnabled = []byte("HostEnabled") + // KeyAllowMessages is the store key for the AllowMessages Params + KeyAllowMessages = []byte("AllowMessages") +) + +// ParamKeyTable type declaration for parameters +func ParamKeyTable() paramtypes.KeyTable { + return paramtypes.NewKeyTable().RegisterParamSet(&Params{}) +} + +// NewParams creates a new parameter configuration for the host submodule +func NewParams(enableHost bool, allowMsgs []string) Params { + return Params{ + HostEnabled: enableHost, + AllowMessages: allowMsgs, + } +} + +// DefaultParams is the default parameter configuration for the host submodule +func DefaultParams() Params { + return NewParams(DefaultHostEnabled, nil) +} + +// Validate validates all host submodule parameters +func (p Params) Validate() error { + if err := validateEnabled(p.HostEnabled); err != nil { + return err + } + + if err := validateAllowlist(p.AllowMessages); err != nil { + return err + } + + return nil +} + +// ParamSetPairs implements params.ParamSet +func (p *Params) ParamSetPairs() paramtypes.ParamSetPairs { + return paramtypes.ParamSetPairs{ + paramtypes.NewParamSetPair(KeyHostEnabled, p.HostEnabled, validateEnabled), + paramtypes.NewParamSetPair(KeyAllowMessages, p.AllowMessages, validateAllowlist), + } +} + +func validateEnabled(i interface{}) error { + _, ok := i.(bool) + if !ok { + return fmt.Errorf("invalid parameter type: %T", i) + } + + return nil +} + +func validateAllowlist(i interface{}) error { + allowMsgs, ok := i.([]string) + if !ok { + return fmt.Errorf("invalid parameter type: %T", i) + } + + for _, typeURL := range allowMsgs { + if strings.TrimSpace(typeURL) == "" { + return fmt.Errorf("parameter must not contain empty strings: %s", allowMsgs) + } + } + + return nil +} diff --git a/modules/apps/27-interchain-accounts/host/types/params_test.go b/modules/apps/27-interchain-accounts/host/types/params_test.go new file mode 100644 index 00000000000..75dc5ff342e --- /dev/null +++ b/modules/apps/27-interchain-accounts/host/types/params_test.go @@ -0,0 +1,14 @@ +package types_test + +import ( + "testing" + + "github.com/stretchr/testify/require" + + "github.com/cosmos/ibc-go/v2/modules/apps/27-interchain-accounts/host/types" +) + +func TestValidateParams(t *testing.T) { + require.NoError(t, types.DefaultParams().Validate()) + require.NoError(t, types.NewParams(false, []string{}).Validate()) +} diff --git a/modules/apps/27-interchain-accounts/host/types/query.pb.go b/modules/apps/27-interchain-accounts/host/types/query.pb.go new file mode 100644 index 00000000000..5f8f55bf816 --- /dev/null +++ b/modules/apps/27-interchain-accounts/host/types/query.pb.go @@ -0,0 +1,547 @@ +// Code generated by protoc-gen-gogo. DO NOT EDIT. +// source: ibc/applications/interchain_accounts/host/v1/query.proto + +package types + +import ( + context "context" + fmt "fmt" + _ "github.com/gogo/protobuf/gogoproto" + grpc1 "github.com/gogo/protobuf/grpc" + proto "github.com/gogo/protobuf/proto" + _ "google.golang.org/genproto/googleapis/api/annotations" + grpc "google.golang.org/grpc" + codes "google.golang.org/grpc/codes" + status "google.golang.org/grpc/status" + io "io" + math "math" + math_bits "math/bits" +) + +// Reference imports to suppress errors if they are not otherwise used. +var _ = proto.Marshal +var _ = fmt.Errorf +var _ = math.Inf + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the proto package it is being compiled against. +// A compilation error at this line likely means your copy of the +// proto package needs to be updated. +const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package + +// QueryParamsRequest is the request type for the Query/Params RPC method. +type QueryParamsRequest struct { +} + +func (m *QueryParamsRequest) Reset() { *m = QueryParamsRequest{} } +func (m *QueryParamsRequest) String() string { return proto.CompactTextString(m) } +func (*QueryParamsRequest) ProtoMessage() {} +func (*QueryParamsRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_e6b7e23fc90c353a, []int{0} +} +func (m *QueryParamsRequest) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *QueryParamsRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_QueryParamsRequest.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *QueryParamsRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryParamsRequest.Merge(m, src) +} +func (m *QueryParamsRequest) XXX_Size() int { + return m.Size() +} +func (m *QueryParamsRequest) XXX_DiscardUnknown() { + xxx_messageInfo_QueryParamsRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_QueryParamsRequest proto.InternalMessageInfo + +// QueryParamsResponse is the response type for the Query/Params RPC method. +type QueryParamsResponse struct { + // params defines the parameters of the module. + Params *Params `protobuf:"bytes,1,opt,name=params,proto3" json:"params,omitempty"` +} + +func (m *QueryParamsResponse) Reset() { *m = QueryParamsResponse{} } +func (m *QueryParamsResponse) String() string { return proto.CompactTextString(m) } +func (*QueryParamsResponse) ProtoMessage() {} +func (*QueryParamsResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_e6b7e23fc90c353a, []int{1} +} +func (m *QueryParamsResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *QueryParamsResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_QueryParamsResponse.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *QueryParamsResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryParamsResponse.Merge(m, src) +} +func (m *QueryParamsResponse) XXX_Size() int { + return m.Size() +} +func (m *QueryParamsResponse) XXX_DiscardUnknown() { + xxx_messageInfo_QueryParamsResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_QueryParamsResponse proto.InternalMessageInfo + +func (m *QueryParamsResponse) GetParams() *Params { + if m != nil { + return m.Params + } + return nil +} + +func init() { + proto.RegisterType((*QueryParamsRequest)(nil), "ibc.applications.interchain_accounts.host.v1.QueryParamsRequest") + proto.RegisterType((*QueryParamsResponse)(nil), "ibc.applications.interchain_accounts.host.v1.QueryParamsResponse") +} + +func init() { + proto.RegisterFile("ibc/applications/interchain_accounts/host/v1/query.proto", fileDescriptor_e6b7e23fc90c353a) +} + +var fileDescriptor_e6b7e23fc90c353a = []byte{ + // 322 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x91, 0x31, 0x4b, 0x3b, 0x31, + 0x18, 0xc6, 0x9b, 0x3f, 0xfc, 0x3b, 0x9c, 0xdb, 0xd9, 0x41, 0x8a, 0x04, 0xe9, 0xe4, 0xd0, 0xe6, + 0xa5, 0x67, 0xa1, 0x8e, 0xea, 0x28, 0x0e, 0xea, 0xe8, 0x22, 0xb9, 0x34, 0xa4, 0x81, 0x5e, 0xde, + 0xf4, 0x92, 0x2b, 0x74, 0xf5, 0x13, 0x08, 0x7e, 0x24, 0x17, 0x17, 0xa1, 0xe0, 0xe2, 0x28, 0xad, + 0x1f, 0x44, 0x2e, 0x77, 0xa0, 0x45, 0x11, 0x0e, 0xb7, 0x97, 0x37, 0x3c, 0xbf, 0xe7, 0x79, 0xde, + 0x44, 0xc7, 0x3a, 0x15, 0xc0, 0xad, 0x9d, 0x69, 0xc1, 0xbd, 0x46, 0xe3, 0x40, 0x1b, 0x2f, 0x73, + 0x31, 0xe5, 0xda, 0xdc, 0x72, 0x21, 0xb0, 0x30, 0xde, 0xc1, 0x14, 0x9d, 0x87, 0xc5, 0x10, 0xe6, + 0x85, 0xcc, 0x97, 0xcc, 0xe6, 0xe8, 0x31, 0xee, 0xeb, 0x54, 0xb0, 0xaf, 0x4a, 0xf6, 0x83, 0x92, + 0x95, 0x4a, 0xb6, 0x18, 0x76, 0xf7, 0x15, 0xa2, 0x9a, 0x49, 0xe0, 0x56, 0x03, 0x37, 0x06, 0x7d, + 0xad, 0x09, 0xac, 0x6e, 0x47, 0xa1, 0xc2, 0x30, 0x42, 0x39, 0xd5, 0xdb, 0x71, 0xa3, 0x6c, 0xc1, + 0x29, 0x08, 0x7b, 0x9d, 0x28, 0xbe, 0x2a, 0x93, 0x5e, 0xf2, 0x9c, 0x67, 0xee, 0x5a, 0xce, 0x0b, + 0xe9, 0x7c, 0x4f, 0x44, 0xbb, 0x5b, 0x5b, 0x67, 0xd1, 0x38, 0x19, 0x5f, 0x44, 0x6d, 0x1b, 0x36, + 0x7b, 0xe4, 0x80, 0x1c, 0xee, 0x24, 0x23, 0xd6, 0xa4, 0x18, 0xab, 0x69, 0x35, 0x23, 0x79, 0x26, + 0xd1, 0xff, 0xe0, 0x12, 0x3f, 0x92, 0xa8, 0x5d, 0x3d, 0xc6, 0x27, 0xcd, 0x90, 0xdf, 0xb3, 0x77, + 0x4f, 0xff, 0x40, 0xa8, 0x7a, 0xf6, 0x46, 0x77, 0x2f, 0xef, 0x0f, 0xff, 0x58, 0xdc, 0x87, 0xfa, + 0xac, 0xbf, 0x9f, 0xb3, 0xea, 0x73, 0x36, 0x79, 0x5a, 0x53, 0xb2, 0x5a, 0x53, 0xf2, 0xb6, 0xa6, + 0xe4, 0x7e, 0x43, 0x5b, 0xab, 0x0d, 0x6d, 0xbd, 0x6e, 0x68, 0xeb, 0xe6, 0x5c, 0x69, 0x3f, 0x2d, + 0x52, 0x26, 0x30, 0x03, 0x81, 0x2e, 0x43, 0x57, 0x82, 0x07, 0x0a, 0x61, 0x91, 0x40, 0x86, 0x93, + 0x62, 0x26, 0x5d, 0x65, 0x93, 0x8c, 0x07, 0x9f, 0x4e, 0x83, 0x6d, 0x27, 0xbf, 0xb4, 0xd2, 0xa5, + 0xed, 0xf0, 0x6f, 0x47, 0x1f, 0x01, 0x00, 0x00, 0xff, 0xff, 0x60, 0xf9, 0x1a, 0x0c, 0x8e, 0x02, + 0x00, 0x00, +} + +// Reference imports to suppress errors if they are not otherwise used. +var _ context.Context +var _ grpc.ClientConn + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the grpc package it is being compiled against. +const _ = grpc.SupportPackageIsVersion4 + +// QueryClient is the client API for Query service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. +type QueryClient interface { + // Params queries all parameters of the ICA host submodule. + Params(ctx context.Context, in *QueryParamsRequest, opts ...grpc.CallOption) (*QueryParamsResponse, error) +} + +type queryClient struct { + cc grpc1.ClientConn +} + +func NewQueryClient(cc grpc1.ClientConn) QueryClient { + return &queryClient{cc} +} + +func (c *queryClient) Params(ctx context.Context, in *QueryParamsRequest, opts ...grpc.CallOption) (*QueryParamsResponse, error) { + out := new(QueryParamsResponse) + err := c.cc.Invoke(ctx, "/ibc.applications.interchain_accounts.host.v1.Query/Params", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +// QueryServer is the server API for Query service. +type QueryServer interface { + // Params queries all parameters of the ICA host submodule. + Params(context.Context, *QueryParamsRequest) (*QueryParamsResponse, error) +} + +// UnimplementedQueryServer can be embedded to have forward compatible implementations. +type UnimplementedQueryServer struct { +} + +func (*UnimplementedQueryServer) Params(ctx context.Context, req *QueryParamsRequest) (*QueryParamsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method Params not implemented") +} + +func RegisterQueryServer(s grpc1.Server, srv QueryServer) { + s.RegisterService(&_Query_serviceDesc, srv) +} + +func _Query_Params_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(QueryParamsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(QueryServer).Params(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/ibc.applications.interchain_accounts.host.v1.Query/Params", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(QueryServer).Params(ctx, req.(*QueryParamsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +var _Query_serviceDesc = grpc.ServiceDesc{ + ServiceName: "ibc.applications.interchain_accounts.host.v1.Query", + HandlerType: (*QueryServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "Params", + Handler: _Query_Params_Handler, + }, + }, + Streams: []grpc.StreamDesc{}, + Metadata: "ibc/applications/interchain_accounts/host/v1/query.proto", +} + +func (m *QueryParamsRequest) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *QueryParamsRequest) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *QueryParamsRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + return len(dAtA) - i, nil +} + +func (m *QueryParamsResponse) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *QueryParamsResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *QueryParamsResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.Params != nil { + { + size, err := m.Params.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintQuery(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func encodeVarintQuery(dAtA []byte, offset int, v uint64) int { + offset -= sovQuery(v) + base := offset + for v >= 1<<7 { + dAtA[offset] = uint8(v&0x7f | 0x80) + v >>= 7 + offset++ + } + dAtA[offset] = uint8(v) + return base +} +func (m *QueryParamsRequest) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + +func (m *QueryParamsResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Params != nil { + l = m.Params.Size() + n += 1 + l + sovQuery(uint64(l)) + } + return n +} + +func sovQuery(x uint64) (n int) { + return (math_bits.Len64(x|1) + 6) / 7 +} +func sozQuery(x uint64) (n int) { + return sovQuery(uint64((x << 1) ^ uint64((int64(x) >> 63)))) +} +func (m *QueryParamsRequest) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: QueryParamsRequest: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: QueryParamsRequest: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + default: + iNdEx = preIndex + skippy, err := skipQuery(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthQuery + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *QueryParamsResponse) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: QueryParamsResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: QueryParamsResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Params", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthQuery + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthQuery + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Params == nil { + m.Params = &Params{} + } + if err := m.Params.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipQuery(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthQuery + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func skipQuery(dAtA []byte) (n int, err error) { + l := len(dAtA) + iNdEx := 0 + depth := 0 + for iNdEx < l { + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return 0, ErrIntOverflowQuery + } + if iNdEx >= l { + return 0, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + wireType := int(wire & 0x7) + switch wireType { + case 0: + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return 0, ErrIntOverflowQuery + } + if iNdEx >= l { + return 0, io.ErrUnexpectedEOF + } + iNdEx++ + if dAtA[iNdEx-1] < 0x80 { + break + } + } + case 1: + iNdEx += 8 + case 2: + var length int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return 0, ErrIntOverflowQuery + } + if iNdEx >= l { + return 0, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + length |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if length < 0 { + return 0, ErrInvalidLengthQuery + } + iNdEx += length + case 3: + depth++ + case 4: + if depth == 0 { + return 0, ErrUnexpectedEndOfGroupQuery + } + depth-- + case 5: + iNdEx += 4 + default: + return 0, fmt.Errorf("proto: illegal wireType %d", wireType) + } + if iNdEx < 0 { + return 0, ErrInvalidLengthQuery + } + if depth == 0 { + return iNdEx, nil + } + } + return 0, io.ErrUnexpectedEOF +} + +var ( + ErrInvalidLengthQuery = fmt.Errorf("proto: negative length found during unmarshaling") + ErrIntOverflowQuery = fmt.Errorf("proto: integer overflow") + ErrUnexpectedEndOfGroupQuery = fmt.Errorf("proto: unexpected end of group") +) diff --git a/modules/apps/27-interchain-accounts/host/types/query.pb.gw.go b/modules/apps/27-interchain-accounts/host/types/query.pb.gw.go new file mode 100644 index 00000000000..fbf8503339f --- /dev/null +++ b/modules/apps/27-interchain-accounts/host/types/query.pb.gw.go @@ -0,0 +1,148 @@ +// Code generated by protoc-gen-grpc-gateway. DO NOT EDIT. +// source: ibc/applications/interchain_accounts/host/v1/query.proto + +/* +Package types is a reverse proxy. + +It translates gRPC into RESTful JSON APIs. +*/ +package types + +import ( + "context" + "io" + "net/http" + + "github.com/golang/protobuf/descriptor" + "github.com/golang/protobuf/proto" + "github.com/grpc-ecosystem/grpc-gateway/runtime" + "github.com/grpc-ecosystem/grpc-gateway/utilities" + "google.golang.org/grpc" + "google.golang.org/grpc/codes" + "google.golang.org/grpc/grpclog" + "google.golang.org/grpc/status" +) + +// Suppress "imported and not used" errors +var _ codes.Code +var _ io.Reader +var _ status.Status +var _ = runtime.String +var _ = utilities.NewDoubleArray +var _ = descriptor.ForMessage + +func request_Query_Params_0(ctx context.Context, marshaler runtime.Marshaler, client QueryClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq QueryParamsRequest + var metadata runtime.ServerMetadata + + msg, err := client.Params(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_Query_Params_0(ctx context.Context, marshaler runtime.Marshaler, server QueryServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq QueryParamsRequest + var metadata runtime.ServerMetadata + + msg, err := server.Params(ctx, &protoReq) + return msg, metadata, err + +} + +// RegisterQueryHandlerServer registers the http handlers for service Query to "mux". +// UnaryRPC :call QueryServer directly. +// StreamingRPC :currently unsupported pending https://github.com/grpc/grpc-go/issues/906. +// Note that using this registration option will cause many gRPC library features (such as grpc.SendHeader, etc) to stop working. Consider using RegisterQueryHandlerFromEndpoint instead. +func RegisterQueryHandlerServer(ctx context.Context, mux *runtime.ServeMux, server QueryServer) error { + + mux.Handle("GET", pattern_Query_Params_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_Query_Params_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Query_Params_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + return nil +} + +// RegisterQueryHandlerFromEndpoint is same as RegisterQueryHandler but +// automatically dials to "endpoint" and closes the connection when "ctx" gets done. +func RegisterQueryHandlerFromEndpoint(ctx context.Context, mux *runtime.ServeMux, endpoint string, opts []grpc.DialOption) (err error) { + conn, err := grpc.Dial(endpoint, opts...) + if err != nil { + return err + } + defer func() { + if err != nil { + if cerr := conn.Close(); cerr != nil { + grpclog.Infof("Failed to close conn to %s: %v", endpoint, cerr) + } + return + } + go func() { + <-ctx.Done() + if cerr := conn.Close(); cerr != nil { + grpclog.Infof("Failed to close conn to %s: %v", endpoint, cerr) + } + }() + }() + + return RegisterQueryHandler(ctx, mux, conn) +} + +// RegisterQueryHandler registers the http handlers for service Query to "mux". +// The handlers forward requests to the grpc endpoint over "conn". +func RegisterQueryHandler(ctx context.Context, mux *runtime.ServeMux, conn *grpc.ClientConn) error { + return RegisterQueryHandlerClient(ctx, mux, NewQueryClient(conn)) +} + +// RegisterQueryHandlerClient registers the http handlers for service Query +// to "mux". The handlers forward requests to the grpc endpoint over the given implementation of "QueryClient". +// Note: the gRPC framework executes interceptors within the gRPC handler. If the passed in "QueryClient" +// doesn't go through the normal gRPC flow (creating a gRPC client etc.) then it will be up to the passed in +// "QueryClient" to call the correct interceptors. +func RegisterQueryHandlerClient(ctx context.Context, mux *runtime.ServeMux, client QueryClient) error { + + mux.Handle("GET", pattern_Query_Params_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_Query_Params_0(rctx, inboundMarshaler, client, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Query_Params_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + return nil +} + +var ( + pattern_Query_Params_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3, 2, 4, 2, 5}, []string{"ibc", "apps", "interchain_accounts", "host", "v1", "params"}, "", runtime.AssumeColonVerbOpt(true))) +) + +var ( + forward_Query_Params_0 = runtime.ForwardResponseMessage +) diff --git a/modules/apps/27-interchain-accounts/module.go b/modules/apps/27-interchain-accounts/module.go new file mode 100644 index 00000000000..8691111bbb1 --- /dev/null +++ b/modules/apps/27-interchain-accounts/module.go @@ -0,0 +1,182 @@ +package ica + +import ( + "context" + "encoding/json" + "fmt" + + "github.com/gorilla/mux" + "github.com/spf13/cobra" + + "github.com/cosmos/cosmos-sdk/client" + "github.com/cosmos/cosmos-sdk/codec" + codectypes "github.com/cosmos/cosmos-sdk/codec/types" + sdk "github.com/cosmos/cosmos-sdk/types" + "github.com/cosmos/cosmos-sdk/types/module" + "github.com/grpc-ecosystem/grpc-gateway/runtime" + abci "github.com/tendermint/tendermint/abci/types" + + "github.com/cosmos/ibc-go/v2/modules/apps/27-interchain-accounts/client/cli" + "github.com/cosmos/ibc-go/v2/modules/apps/27-interchain-accounts/controller" + controllerkeeper "github.com/cosmos/ibc-go/v2/modules/apps/27-interchain-accounts/controller/keeper" + controllertypes "github.com/cosmos/ibc-go/v2/modules/apps/27-interchain-accounts/controller/types" + "github.com/cosmos/ibc-go/v2/modules/apps/27-interchain-accounts/host" + hostkeeper "github.com/cosmos/ibc-go/v2/modules/apps/27-interchain-accounts/host/keeper" + hosttypes "github.com/cosmos/ibc-go/v2/modules/apps/27-interchain-accounts/host/types" + "github.com/cosmos/ibc-go/v2/modules/apps/27-interchain-accounts/types" + porttypes "github.com/cosmos/ibc-go/v2/modules/core/05-port/types" +) + +var ( + _ module.AppModule = AppModule{} + _ module.AppModuleBasic = AppModuleBasic{} + + _ porttypes.IBCModule = controller.IBCModule{} + _ porttypes.IBCModule = host.IBCModule{} +) + +// AppModuleBasic is the IBC interchain accounts AppModuleBasic +type AppModuleBasic struct{} + +// Name implements AppModuleBasic interface +func (AppModuleBasic) Name() string { + return types.ModuleName +} + +// RegisterLegacyAminoCodec implements AppModuleBasic interface +func (AppModuleBasic) RegisterLegacyAminoCodec(cdc *codec.LegacyAmino) { + types.RegisterLegacyAminoCodec(cdc) +} + +// RegisterInterfaces registers module concrete types into protobuf Any +func (AppModuleBasic) RegisterInterfaces(registry codectypes.InterfaceRegistry) { + types.RegisterInterfaces(registry) +} + +// DefaultGenesis returns default genesis state as raw bytes for the IBC +// interchain accounts module +func (AppModuleBasic) DefaultGenesis(cdc codec.JSONCodec) json.RawMessage { + return cdc.MustMarshalJSON(types.DefaultGenesis()) +} + +// ValidateGenesis performs genesis state validation for the IBC interchain acounts module +func (AppModuleBasic) ValidateGenesis(cdc codec.JSONCodec, config client.TxEncodingConfig, bz json.RawMessage) error { + var gs types.GenesisState + if err := cdc.UnmarshalJSON(bz, &gs); err != nil { + return fmt.Errorf("failed to unmarshal %s genesis state: %w", types.ModuleName, err) + } + + return gs.Validate() +} + +// RegisterRESTRoutes implements AppModuleBasic interface +func (AppModuleBasic) RegisterRESTRoutes(ctx client.Context, rtr *mux.Router) { +} + +// RegisterGRPCGatewayRoutes registers the gRPC Gateway routes for the interchain accounts module. +func (AppModuleBasic) RegisterGRPCGatewayRoutes(clientCtx client.Context, mux *runtime.ServeMux) { + controllertypes.RegisterQueryHandlerClient(context.Background(), mux, controllertypes.NewQueryClient(clientCtx)) + hosttypes.RegisterQueryHandlerClient(context.Background(), mux, hosttypes.NewQueryClient(clientCtx)) +} + +// GetTxCmd implements AppModuleBasic interface +func (AppModuleBasic) GetTxCmd() *cobra.Command { + return nil +} + +// GetQueryCmd implements AppModuleBasic interface +func (AppModuleBasic) GetQueryCmd() *cobra.Command { + return cli.GetQueryCmd() +} + +// AppModule is the application module for the IBC interchain accounts module +type AppModule struct { + AppModuleBasic + controllerKeeper *controllerkeeper.Keeper + hostKeeper *hostkeeper.Keeper +} + +// NewAppModule creates a new IBC interchain accounts module +func NewAppModule(controllerKeeper *controllerkeeper.Keeper, hostKeeper *hostkeeper.Keeper) AppModule { + return AppModule{ + controllerKeeper: controllerKeeper, + hostKeeper: hostKeeper, + } +} + +// RegisterInvariants implements the AppModule interface +func (AppModule) RegisterInvariants(ir sdk.InvariantRegistry) { +} + +// Route implements the AppModule interface +func (AppModule) Route() sdk.Route { + return sdk.NewRoute(types.RouterKey, nil) +} + +// NewHandler implements the AppModule interface +func (AppModule) NewHandler() sdk.Handler { + return nil +} + +// QuerierRoute implements the AppModule interface +func (AppModule) QuerierRoute() string { + return types.QuerierRoute +} + +// LegacyQuerierHandler implements the AppModule interface +func (am AppModule) LegacyQuerierHandler(legacyQuerierCdc *codec.LegacyAmino) sdk.Querier { + return nil +} + +// RegisterServices registers module services +func (am AppModule) RegisterServices(cfg module.Configurator) { +} + +// InitGenesis performs genesis initialization for the interchain accounts module. +// It returns no validator updates. +func (am AppModule) InitGenesis(ctx sdk.Context, cdc codec.JSONCodec, data json.RawMessage) []abci.ValidatorUpdate { + var genesisState types.GenesisState + cdc.MustUnmarshalJSON(data, &genesisState) + + if am.controllerKeeper != nil { + controllerkeeper.InitGenesis(ctx, *am.controllerKeeper, genesisState.ControllerGenesisState) + } + + if am.hostKeeper != nil { + hostkeeper.InitGenesis(ctx, *am.hostKeeper, genesisState.HostGenesisState) + } + + return []abci.ValidatorUpdate{} +} + +// ExportGenesis returns the exported genesis state as raw bytes for the interchain accounts module +func (am AppModule) ExportGenesis(ctx sdk.Context, cdc codec.JSONCodec) json.RawMessage { + var ( + controllerGenesisState = types.DefaultControllerGenesis() + hostGenesisState = types.DefaultHostGenesis() + ) + + if am.controllerKeeper != nil { + controllerGenesisState = controllerkeeper.ExportGenesis(ctx, *am.controllerKeeper) + } + + if am.hostKeeper != nil { + hostGenesisState = hostkeeper.ExportGenesis(ctx, *am.hostKeeper) + } + + gs := types.NewGenesisState(controllerGenesisState, hostGenesisState) + + return cdc.MustMarshalJSON(gs) +} + +// ConsensusVersion implements AppModule/ConsensusVersion. +func (AppModule) ConsensusVersion() uint64 { return 1 } + +// BeginBlock implements the AppModule interface +func (am AppModule) BeginBlock(ctx sdk.Context, req abci.RequestBeginBlock) { +} + +// EndBlock implements the AppModule interface +func (am AppModule) EndBlock(ctx sdk.Context, req abci.RequestEndBlock) []abci.ValidatorUpdate { + return []abci.ValidatorUpdate{} +} diff --git a/modules/apps/27-interchain-accounts/types/account.go b/modules/apps/27-interchain-accounts/types/account.go new file mode 100644 index 00000000000..e55c57f3b35 --- /dev/null +++ b/modules/apps/27-interchain-accounts/types/account.go @@ -0,0 +1,128 @@ +package types + +import ( + "encoding/json" + "strings" + + crypto "github.com/cosmos/cosmos-sdk/crypto/types" + sdk "github.com/cosmos/cosmos-sdk/types" + sdkaddress "github.com/cosmos/cosmos-sdk/types/address" + sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + authtypes "github.com/cosmos/cosmos-sdk/x/auth/types" + yaml "gopkg.in/yaml.v2" +) + +var ( + _ authtypes.GenesisAccount = (*InterchainAccount)(nil) + _ InterchainAccountI = (*InterchainAccount)(nil) +) + +// InterchainAccountI wraps the authtypes.AccountI interface +type InterchainAccountI interface { + authtypes.AccountI +} + +// interchainAccountPretty defines an unexported struct used for encoding the InterchainAccount details +type interchainAccountPretty struct { + Address sdk.AccAddress `json:"address" yaml:"address"` + PubKey string `json:"public_key" yaml:"public_key"` + AccountNumber uint64 `json:"account_number" yaml:"account_number"` + Sequence uint64 `json:"sequence" yaml:"sequence"` + AccountOwner string `json:"account_owner" yaml:"account_owner"` +} + +// GenerateAddress returns an sdk.AccAddress derived using the provided module account address and port identifier. +// The sdk.AccAddress returned is a sub-address of the module account, using the controller chain's port identifier as the derivation key +func GenerateAddress(moduleAccAddr sdk.AccAddress, portID string) sdk.AccAddress { + return sdk.AccAddress(sdkaddress.Derive(moduleAccAddr, []byte(portID))) +} + +// NewInterchainAccount creates and returns a new InterchainAccount type +func NewInterchainAccount(ba *authtypes.BaseAccount, accountOwner string) *InterchainAccount { + return &InterchainAccount{ + BaseAccount: ba, + AccountOwner: accountOwner, + } +} + +// SetPubKey implements the authtypes.AccountI interface +func (ia InterchainAccount) SetPubKey(pubKey crypto.PubKey) error { + return sdkerrors.Wrap(ErrUnsupported, "cannot set public key for interchain account") +} + +// SetSequence implements the authtypes.AccountI interface +func (ia InterchainAccount) SetSequence(seq uint64) error { + return sdkerrors.Wrap(ErrUnsupported, "cannot set sequence number for interchain account") +} + +// Validate implements basic validation of the InterchainAccount +func (ia InterchainAccount) Validate() error { + if strings.TrimSpace(ia.AccountOwner) == "" { + return sdkerrors.Wrap(ErrInvalidAccountAddress, "AccountOwner cannot be empty") + } + + return ia.BaseAccount.Validate() +} + +// String returns a string representation of the InterchainAccount +func (ia InterchainAccount) String() string { + out, _ := ia.MarshalYAML() + return string(out) +} + +// MarshalYAML returns the YAML representation of the InterchainAccount +func (ia InterchainAccount) MarshalYAML() ([]byte, error) { + accAddr, err := sdk.AccAddressFromBech32(ia.Address) + if err != nil { + return nil, err + } + + bz, err := yaml.Marshal(interchainAccountPretty{ + Address: accAddr, + PubKey: "", + AccountNumber: ia.AccountNumber, + Sequence: ia.Sequence, + AccountOwner: ia.AccountOwner, + }) + + if err != nil { + return nil, err + } + + return bz, nil +} + +// MarshalJSON returns the JSON representation of the InterchainAccount +func (ia InterchainAccount) MarshalJSON() ([]byte, error) { + accAddr, err := sdk.AccAddressFromBech32(ia.Address) + if err != nil { + return nil, err + } + + bz, err := json.Marshal(interchainAccountPretty{ + Address: accAddr, + PubKey: "", + AccountNumber: ia.AccountNumber, + Sequence: ia.Sequence, + AccountOwner: ia.AccountOwner, + }) + + if err != nil { + return nil, err + } + + return bz, nil +} + +// UnmarshalJSON unmarshals raw JSON bytes into the InterchainAccount +func (ia *InterchainAccount) UnmarshalJSON(bz []byte) error { + var alias interchainAccountPretty + if err := json.Unmarshal(bz, &alias); err != nil { + return err + } + + ia.BaseAccount = authtypes.NewBaseAccount(alias.Address, nil, alias.AccountNumber, alias.Sequence) + ia.AccountOwner = alias.AccountOwner + + return nil +} diff --git a/modules/apps/27-interchain-accounts/types/account.pb.go b/modules/apps/27-interchain-accounts/types/account.pb.go new file mode 100644 index 00000000000..d645d28b72c --- /dev/null +++ b/modules/apps/27-interchain-accounts/types/account.pb.go @@ -0,0 +1,377 @@ +// Code generated by protoc-gen-gogo. DO NOT EDIT. +// source: ibc/applications/interchain_accounts/v1/account.proto + +package types + +import ( + fmt "fmt" + types "github.com/cosmos/cosmos-sdk/x/auth/types" + _ "github.com/gogo/protobuf/gogoproto" + proto "github.com/gogo/protobuf/proto" + _ "github.com/regen-network/cosmos-proto" + io "io" + math "math" + math_bits "math/bits" +) + +// Reference imports to suppress errors if they are not otherwise used. +var _ = proto.Marshal +var _ = fmt.Errorf +var _ = math.Inf + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the proto package it is being compiled against. +// A compilation error at this line likely means your copy of the +// proto package needs to be updated. +const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package + +// An InterchainAccount is defined as a BaseAccount & the address of the account owner on the controller chain +type InterchainAccount struct { + *types.BaseAccount `protobuf:"bytes,1,opt,name=base_account,json=baseAccount,proto3,embedded=base_account" json:"base_account,omitempty" yaml:"base_account"` + AccountOwner string `protobuf:"bytes,2,opt,name=account_owner,json=accountOwner,proto3" json:"account_owner,omitempty" yaml:"account_owner"` +} + +func (m *InterchainAccount) Reset() { *m = InterchainAccount{} } +func (*InterchainAccount) ProtoMessage() {} +func (*InterchainAccount) Descriptor() ([]byte, []int) { + return fileDescriptor_5561bd92625bf7da, []int{0} +} +func (m *InterchainAccount) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *InterchainAccount) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_InterchainAccount.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *InterchainAccount) XXX_Merge(src proto.Message) { + xxx_messageInfo_InterchainAccount.Merge(m, src) +} +func (m *InterchainAccount) XXX_Size() int { + return m.Size() +} +func (m *InterchainAccount) XXX_DiscardUnknown() { + xxx_messageInfo_InterchainAccount.DiscardUnknown(m) +} + +var xxx_messageInfo_InterchainAccount proto.InternalMessageInfo + +func init() { + proto.RegisterType((*InterchainAccount)(nil), "ibc.applications.interchain_accounts.v1.InterchainAccount") +} + +func init() { + proto.RegisterFile("ibc/applications/interchain_accounts/v1/account.proto", fileDescriptor_5561bd92625bf7da) +} + +var fileDescriptor_5561bd92625bf7da = []byte{ + // 341 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x32, 0xcd, 0x4c, 0x4a, 0xd6, + 0x4f, 0x2c, 0x28, 0xc8, 0xc9, 0x4c, 0x4e, 0x2c, 0xc9, 0xcc, 0xcf, 0x2b, 0xd6, 0xcf, 0xcc, 0x2b, + 0x49, 0x2d, 0x4a, 0xce, 0x48, 0xcc, 0xcc, 0x8b, 0x4f, 0x4c, 0x4e, 0xce, 0x2f, 0xcd, 0x2b, 0x29, + 0xd6, 0x2f, 0x33, 0xd4, 0x87, 0xb2, 0xf5, 0x0a, 0x8a, 0xf2, 0x4b, 0xf2, 0x85, 0xd4, 0x33, 0x93, + 0x92, 0xf5, 0x90, 0xb5, 0xe9, 0x61, 0xd1, 0xa6, 0x57, 0x66, 0x28, 0x25, 0x99, 0x9c, 0x5f, 0x9c, + 0x9b, 0x5f, 0x1c, 0x0f, 0xd6, 0xa6, 0x0f, 0xe1, 0x40, 0xcc, 0x90, 0x12, 0x49, 0xcf, 0x4f, 0xcf, + 0x87, 0x88, 0x83, 0x58, 0x50, 0x51, 0x39, 0x88, 0x1a, 0xfd, 0xc4, 0xd2, 0x92, 0x0c, 0xfd, 0x32, + 0xc3, 0xa4, 0xd4, 0x92, 0x44, 0x43, 0x30, 0x07, 0x22, 0xaf, 0x74, 0x85, 0x91, 0x4b, 0xd0, 0x13, + 0x6e, 0x97, 0x23, 0xc4, 0x2a, 0xa1, 0x04, 0x2e, 0x9e, 0xa4, 0xc4, 0xe2, 0x54, 0x98, 0xd5, 0x12, + 0x8c, 0x0a, 0x8c, 0x1a, 0xdc, 0x46, 0x0a, 0x7a, 0x50, 0x0b, 0xc1, 0xfa, 0xa1, 0x86, 0xe9, 0x39, + 0x25, 0x16, 0xa7, 0x42, 0xf5, 0x39, 0x49, 0x5f, 0xb8, 0x27, 0xcf, 0xf8, 0xe9, 0x9e, 0xbc, 0x70, + 0x65, 0x62, 0x6e, 0x8e, 0x95, 0x12, 0xb2, 0x19, 0x4a, 0x41, 0xdc, 0x49, 0x08, 0x95, 0x42, 0xb6, + 0x5c, 0xbc, 0x50, 0x89, 0xf8, 0xfc, 0xf2, 0xbc, 0xd4, 0x22, 0x09, 0x26, 0x05, 0x46, 0x0d, 0x4e, + 0x27, 0x89, 0x4f, 0xf7, 0xe4, 0x45, 0x20, 0x9a, 0x51, 0xa4, 0x95, 0x82, 0x78, 0xa0, 0x7c, 0x7f, + 0x10, 0xd7, 0x4a, 0xae, 0x63, 0x81, 0x3c, 0xc3, 0x8c, 0x05, 0xf2, 0x0c, 0x97, 0xb6, 0xe8, 0x0a, + 0x61, 0xb8, 0xdf, 0xd3, 0x29, 0xfe, 0xc4, 0x23, 0x39, 0xc6, 0x0b, 0x8f, 0xe4, 0x18, 0x1f, 0x3c, + 0x92, 0x63, 0x9c, 0xf0, 0x58, 0x8e, 0xe1, 0xc2, 0x63, 0x39, 0x86, 0x1b, 0x8f, 0xe5, 0x18, 0xa2, + 0x5c, 0xd3, 0x33, 0x4b, 0x32, 0x4a, 0x93, 0xf4, 0x92, 0xf3, 0x73, 0xa1, 0xe1, 0xa7, 0x9f, 0x99, + 0x94, 0xac, 0x9b, 0x9e, 0xaf, 0x5f, 0x66, 0xa4, 0x9f, 0x9b, 0x9f, 0x52, 0x9a, 0x93, 0x5a, 0x0c, + 0x8a, 0xc1, 0x62, 0x7d, 0x23, 0x73, 0x5d, 0x44, 0x2c, 0xe8, 0xc2, 0x23, 0xaf, 0xa4, 0xb2, 0x20, + 0xb5, 0x38, 0x89, 0x0d, 0x1c, 0x7c, 0xc6, 0x80, 0x00, 0x00, 0x00, 0xff, 0xff, 0xe7, 0xf4, 0x36, + 0xc4, 0xf1, 0x01, 0x00, 0x00, +} + +func (m *InterchainAccount) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *InterchainAccount) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *InterchainAccount) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.AccountOwner) > 0 { + i -= len(m.AccountOwner) + copy(dAtA[i:], m.AccountOwner) + i = encodeVarintAccount(dAtA, i, uint64(len(m.AccountOwner))) + i-- + dAtA[i] = 0x12 + } + if m.BaseAccount != nil { + { + size, err := m.BaseAccount.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintAccount(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func encodeVarintAccount(dAtA []byte, offset int, v uint64) int { + offset -= sovAccount(v) + base := offset + for v >= 1<<7 { + dAtA[offset] = uint8(v&0x7f | 0x80) + v >>= 7 + offset++ + } + dAtA[offset] = uint8(v) + return base +} +func (m *InterchainAccount) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.BaseAccount != nil { + l = m.BaseAccount.Size() + n += 1 + l + sovAccount(uint64(l)) + } + l = len(m.AccountOwner) + if l > 0 { + n += 1 + l + sovAccount(uint64(l)) + } + return n +} + +func sovAccount(x uint64) (n int) { + return (math_bits.Len64(x|1) + 6) / 7 +} +func sozAccount(x uint64) (n int) { + return sovAccount(uint64((x << 1) ^ uint64((int64(x) >> 63)))) +} +func (m *InterchainAccount) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowAccount + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: InterchainAccount: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: InterchainAccount: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field BaseAccount", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowAccount + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthAccount + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthAccount + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.BaseAccount == nil { + m.BaseAccount = &types.BaseAccount{} + } + if err := m.BaseAccount.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field AccountOwner", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowAccount + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthAccount + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthAccount + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.AccountOwner = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipAccount(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthAccount + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func skipAccount(dAtA []byte) (n int, err error) { + l := len(dAtA) + iNdEx := 0 + depth := 0 + for iNdEx < l { + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return 0, ErrIntOverflowAccount + } + if iNdEx >= l { + return 0, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + wireType := int(wire & 0x7) + switch wireType { + case 0: + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return 0, ErrIntOverflowAccount + } + if iNdEx >= l { + return 0, io.ErrUnexpectedEOF + } + iNdEx++ + if dAtA[iNdEx-1] < 0x80 { + break + } + } + case 1: + iNdEx += 8 + case 2: + var length int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return 0, ErrIntOverflowAccount + } + if iNdEx >= l { + return 0, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + length |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if length < 0 { + return 0, ErrInvalidLengthAccount + } + iNdEx += length + case 3: + depth++ + case 4: + if depth == 0 { + return 0, ErrUnexpectedEndOfGroupAccount + } + depth-- + case 5: + iNdEx += 4 + default: + return 0, fmt.Errorf("proto: illegal wireType %d", wireType) + } + if iNdEx < 0 { + return 0, ErrInvalidLengthAccount + } + if depth == 0 { + return iNdEx, nil + } + } + return 0, io.ErrUnexpectedEOF +} + +var ( + ErrInvalidLengthAccount = fmt.Errorf("proto: negative length found during unmarshaling") + ErrIntOverflowAccount = fmt.Errorf("proto: integer overflow") + ErrUnexpectedEndOfGroupAccount = fmt.Errorf("proto: unexpected end of group") +) diff --git a/modules/apps/27-interchain-accounts/types/account_test.go b/modules/apps/27-interchain-accounts/types/account_test.go new file mode 100644 index 00000000000..b3ad5a37b1f --- /dev/null +++ b/modules/apps/27-interchain-accounts/types/account_test.go @@ -0,0 +1,128 @@ +package types_test + +import ( + "encoding/json" + "fmt" + "testing" + + "github.com/cosmos/cosmos-sdk/crypto/keys/secp256k1" + sdk "github.com/cosmos/cosmos-sdk/types" + authtypes "github.com/cosmos/cosmos-sdk/x/auth/types" + "github.com/stretchr/testify/suite" + + "github.com/cosmos/ibc-go/v2/modules/apps/27-interchain-accounts/types" + ibctesting "github.com/cosmos/ibc-go/v2/testing" +) + +var ( + // TestOwnerAddress defines a reusable bech32 address for testing purposes + TestOwnerAddress = "cosmos17dtl0mjt3t77kpuhg2edqzjpszulwhgzuj9ljs" + // TestPortID defines a resuable port identifier for testing purposes + TestPortID, _ = types.GeneratePortID(TestOwnerAddress, "connection-0", "connection-0") +) + +type TypesTestSuite struct { + suite.Suite + + coordinator *ibctesting.Coordinator + + chainA *ibctesting.TestChain + chainB *ibctesting.TestChain +} + +func (suite *TypesTestSuite) SetupTest() { + suite.coordinator = ibctesting.NewCoordinator(suite.T(), 2) + + suite.chainA = suite.coordinator.GetChain(ibctesting.GetChainID(0)) + suite.chainB = suite.coordinator.GetChain(ibctesting.GetChainID(1)) +} + +func TestTypesTestSuite(t *testing.T) { + suite.Run(t, new(TypesTestSuite)) +} + +func (suite *TypesTestSuite) TestGenerateAddress() { + addr := types.GenerateAddress([]byte{}, "test-port-id") + accAddr, err := sdk.AccAddressFromBech32(addr.String()) + + suite.Require().NoError(err, "TestGenerateAddress failed") + suite.Require().NotEmpty(accAddr) +} + +func (suite *TypesTestSuite) TestInterchainAccount() { + pubkey := secp256k1.GenPrivKey().PubKey() + addr := sdk.AccAddress(pubkey.Address()) + baseAcc := authtypes.NewBaseAccountWithAddress(addr) + interchainAcc := types.NewInterchainAccount(baseAcc, TestOwnerAddress) + + // should fail when trying to set the public key or sequence of an interchain account + err := interchainAcc.SetPubKey(pubkey) + suite.Require().Error(err) + err = interchainAcc.SetSequence(1) + suite.Require().Error(err) +} + +func (suite *TypesTestSuite) TestGenesisAccountValidate() { + pubkey := secp256k1.GenPrivKey().PubKey() + addr := sdk.AccAddress(pubkey.Address()) + baseAcc := authtypes.NewBaseAccountWithAddress(addr) + pubkey = secp256k1.GenPrivKey().PubKey() + ownerAddr := sdk.AccAddress(pubkey.Address()) + + testCases := []struct { + name string + acc authtypes.GenesisAccount + expPass bool + }{ + { + "success", + types.NewInterchainAccount(baseAcc, ownerAddr.String()), + true, + }, + { + "interchain account with empty AccountOwner field", + types.NewInterchainAccount(baseAcc, ""), + false, + }, + } + + for _, tc := range testCases { + err := tc.acc.Validate() + + if tc.expPass { + suite.Require().NoError(err) + } else { + suite.Require().Error(err) + } + } +} + +func (suite *TypesTestSuite) TestInterchainAccountMarshalYAML() { + addr := suite.chainA.SenderAccount.GetAddress() + baseAcc := authtypes.NewBaseAccountWithAddress(addr) + + interchainAcc := types.NewInterchainAccount(baseAcc, suite.chainB.SenderAccount.GetAddress().String()) + bz, err := interchainAcc.MarshalYAML() + suite.Require().NoError(err) + + expected := fmt.Sprintf("address: %s\npublic_key: \"\"\naccount_number: 0\nsequence: 0\naccount_owner: %s\n", suite.chainA.SenderAccount.GetAddress(), suite.chainB.SenderAccount.GetAddress()) + suite.Require().Equal(expected, string(bz)) +} + +func (suite *TypesTestSuite) TestInterchainAccountJSON() { + addr := suite.chainA.SenderAccount.GetAddress() + ba := authtypes.NewBaseAccountWithAddress(addr) + + interchainAcc := types.NewInterchainAccount(ba, suite.chainB.SenderAccount.GetAddress().String()) + + bz, err := json.Marshal(interchainAcc) + suite.Require().NoError(err) + + bz1, err := interchainAcc.MarshalJSON() + suite.Require().NoError(err) + suite.Require().Equal(string(bz), string(bz1)) + + var a types.InterchainAccount + suite.Require().NoError(json.Unmarshal(bz, &a)) + suite.Require().Equal(a.String(), interchainAcc.String()) +} diff --git a/modules/apps/27-interchain-accounts/types/codec.go b/modules/apps/27-interchain-accounts/types/codec.go new file mode 100644 index 00000000000..971554a83e4 --- /dev/null +++ b/modules/apps/27-interchain-accounts/types/codec.go @@ -0,0 +1,79 @@ +package types + +import ( + "github.com/cosmos/cosmos-sdk/codec" + codectypes "github.com/cosmos/cosmos-sdk/codec/types" + sdk "github.com/cosmos/cosmos-sdk/types" + authtypes "github.com/cosmos/cosmos-sdk/x/auth/types" +) + +var ( + // ModuleCdc references the global interchain accounts module codec. Note, the codec + // should ONLY be used in certain instances of tests and for JSON encoding. + // + // The actual codec used for serialization should be provided to interchain accounts and + // defined at the application level. + ModuleCdc = codec.NewProtoCodec(codectypes.NewInterfaceRegistry()) +) + +// RegisterLegacyAminoCodec registers the account interfaces and concrete types on the +// provided LegacyAmino codec. These types are used for Amino JSON serialization +func RegisterLegacyAminoCodec(cdc *codec.LegacyAmino) { + cdc.RegisterInterface((*InterchainAccountI)(nil), nil) + cdc.RegisterConcrete(&InterchainAccount{}, "27-interchain-accounts/InterchainAccount", nil) +} + +// RegisterInterface associates protoName with AccountI interface +// and creates a registry of it's concrete implementations +func RegisterInterfaces(registry codectypes.InterfaceRegistry) { + registry.RegisterImplementations((*authtypes.AccountI)(nil), &InterchainAccount{}) +} + +// SerializeCosmosTx serializes a slice of sdk.Msg's using the CosmosTx type. The sdk.Msg's are +// packed into Any's and inserted into the Messages field of a CosmosTx. The proto marshaled CosmosTx +// bytes are returned. +func SerializeCosmosTx(cdc codec.BinaryCodec, msgs []sdk.Msg) (bz []byte, err error) { + msgAnys := make([]*codectypes.Any, len(msgs)) + + for i, msg := range msgs { + msgAnys[i], err = codectypes.NewAnyWithValue(msg) + if err != nil { + return nil, err + } + } + + cosmosTx := &CosmosTx{ + Messages: msgAnys, + } + + bz, err = cdc.Marshal(cosmosTx) + if err != nil { + return nil, err + } + + return bz, nil +} + +// DeserializeCosmosTx unmarshals and unpacks a slice of transaction bytes +// into a slice of sdk.Msg's. +func DeserializeCosmosTx(cdc codec.BinaryCodec, data []byte) ([]sdk.Msg, error) { + var cosmosTx CosmosTx + if err := cdc.Unmarshal(data, &cosmosTx); err != nil { + return nil, err + } + + msgs := make([]sdk.Msg, len(cosmosTx.Messages)) + + for i, any := range cosmosTx.Messages { + var msg sdk.Msg + + err := cdc.UnpackAny(any, &msg) + if err != nil { + return nil, err + } + + msgs[i] = msg + } + + return msgs, nil +} diff --git a/modules/apps/27-interchain-accounts/types/codec_test.go b/modules/apps/27-interchain-accounts/types/codec_test.go new file mode 100644 index 00000000000..49b2042c163 --- /dev/null +++ b/modules/apps/27-interchain-accounts/types/codec_test.go @@ -0,0 +1,130 @@ +package types_test + +import ( + sdk "github.com/cosmos/cosmos-sdk/types" + banktypes "github.com/cosmos/cosmos-sdk/x/bank/types" + govtypes "github.com/cosmos/cosmos-sdk/x/gov/types" + + "github.com/cosmos/ibc-go/v2/modules/apps/27-interchain-accounts/types" + "github.com/cosmos/ibc-go/v2/testing/simapp" +) + +// caseRawBytes defines a helper struct, used for testing codec operations +type caseRawBytes struct { + name string + bz []byte + expPass bool +} + +// mockSdkMsg defines a mock struct, used for testing codec error scenarios +type mockSdkMsg struct{} + +// Reset implements sdk.Msg +func (mockSdkMsg) Reset() { +} + +// String implements sdk.Msg +func (mockSdkMsg) String() string { + return "" +} + +// ProtoMessage implements sdk.Msg +func (mockSdkMsg) ProtoMessage() { +} + +// ValidateBasic implements sdk.Msg +func (mockSdkMsg) ValidateBasic() error { + return nil +} + +// GetSigners implements sdk.Msg +func (mockSdkMsg) GetSigners() []sdk.AccAddress { + return []sdk.AccAddress{} +} + +func (suite *TypesTestSuite) TestSerializeCosmosTx() { + + testCases := []struct { + name string + msgs []sdk.Msg + expPass bool + }{ + { + "single msg", + []sdk.Msg{ + &banktypes.MsgSend{ + FromAddress: TestOwnerAddress, + ToAddress: TestOwnerAddress, + Amount: sdk.NewCoins(sdk.NewCoin("bananas", sdk.NewInt(100))), + }, + }, + true, + }, + { + "multiple msgs, same types", + []sdk.Msg{ + &banktypes.MsgSend{ + FromAddress: TestOwnerAddress, + ToAddress: TestOwnerAddress, + Amount: sdk.NewCoins(sdk.NewCoin("bananas", sdk.NewInt(100))), + }, + &banktypes.MsgSend{ + FromAddress: TestOwnerAddress, + ToAddress: TestOwnerAddress, + Amount: sdk.NewCoins(sdk.NewCoin("bananas", sdk.NewInt(200))), + }, + }, + true, + }, + { + "multiple msgs, different types", + []sdk.Msg{ + &banktypes.MsgSend{ + FromAddress: TestOwnerAddress, + ToAddress: TestOwnerAddress, + Amount: sdk.NewCoins(sdk.NewCoin("bananas", sdk.NewInt(100))), + }, + &govtypes.MsgSubmitProposal{ + InitialDeposit: sdk.NewCoins(sdk.NewCoin("bananas", sdk.NewInt(100))), + Proposer: TestOwnerAddress, + }, + }, + true, + }, + { + "unregistered msg type", + []sdk.Msg{ + &mockSdkMsg{}, + }, + false, + }, + { + "multiple unregistered msg types", + []sdk.Msg{ + &mockSdkMsg{}, + &mockSdkMsg{}, + &mockSdkMsg{}, + }, + false, + }, + } + + testCasesAny := []caseRawBytes{} + + for _, tc := range testCases { + bz, err := types.SerializeCosmosTx(simapp.MakeTestEncodingConfig().Marshaler, tc.msgs) + suite.Require().NoError(err, tc.name) + + testCasesAny = append(testCasesAny, caseRawBytes{tc.name, bz, tc.expPass}) + } + + for i, tc := range testCasesAny { + msgs, err := types.DeserializeCosmosTx(simapp.MakeTestEncodingConfig().Marshaler, tc.bz) + if tc.expPass { + suite.Require().NoError(err, tc.name) + suite.Require().Equal(testCases[i].msgs, msgs, tc.name) + } else { + suite.Require().Error(err, tc.name) + } + } +} diff --git a/modules/apps/27-interchain-accounts/types/errors.go b/modules/apps/27-interchain-accounts/types/errors.go new file mode 100644 index 00000000000..6061c6ae243 --- /dev/null +++ b/modules/apps/27-interchain-accounts/types/errors.go @@ -0,0 +1,20 @@ +package types + +import ( + sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" +) + +var ( + ErrUnknownDataType = sdkerrors.Register(ModuleName, 2, "unknown data type") + ErrAccountAlreadyExist = sdkerrors.Register(ModuleName, 3, "account already exist") + ErrPortAlreadyBound = sdkerrors.Register(ModuleName, 4, "port is already bound") + ErrInvalidChannelFlow = sdkerrors.Register(ModuleName, 5, "invalid message sent to channel end") + ErrInvalidOutgoingData = sdkerrors.Register(ModuleName, 6, "invalid outgoing data") + ErrInvalidRoute = sdkerrors.Register(ModuleName, 7, "invalid route") + ErrInterchainAccountNotFound = sdkerrors.Register(ModuleName, 8, "interchain account not found") + ErrInterchainAccountAlreadySet = sdkerrors.Register(ModuleName, 9, "interchain account is already set") + ErrActiveChannelNotFound = sdkerrors.Register(ModuleName, 10, "no active channel for this owner") + ErrInvalidVersion = sdkerrors.Register(ModuleName, 11, "invalid interchain accounts version") + ErrInvalidAccountAddress = sdkerrors.Register(ModuleName, 12, "invalid account address") + ErrUnsupported = sdkerrors.Register(ModuleName, 13, "interchain account does not support this action") +) diff --git a/modules/apps/27-interchain-accounts/types/expected_keepers.go b/modules/apps/27-interchain-accounts/types/expected_keepers.go new file mode 100644 index 00000000000..558a38c4033 --- /dev/null +++ b/modules/apps/27-interchain-accounts/types/expected_keepers.go @@ -0,0 +1,37 @@ +package types + +import ( + sdk "github.com/cosmos/cosmos-sdk/types" + authtypes "github.com/cosmos/cosmos-sdk/x/auth/types" + capabilitytypes "github.com/cosmos/cosmos-sdk/x/capability/types" + + channeltypes "github.com/cosmos/ibc-go/v2/modules/core/04-channel/types" + ibcexported "github.com/cosmos/ibc-go/v2/modules/core/exported" +) + +// AccountKeeper defines the expected account keeper +type AccountKeeper interface { + NewAccount(ctx sdk.Context, acc authtypes.AccountI) authtypes.AccountI + GetAccount(ctx sdk.Context, addr sdk.AccAddress) authtypes.AccountI + SetAccount(ctx sdk.Context, acc authtypes.AccountI) + GetModuleAccount(ctx sdk.Context, name string) authtypes.ModuleAccountI + GetModuleAddress(name string) sdk.AccAddress +} + +// ICS4Wrapper defines the expected ICS4Wrapper for middleware +type ICS4Wrapper interface { + SendPacket(ctx sdk.Context, channelCap *capabilitytypes.Capability, packet ibcexported.PacketI) error +} + +// ChannelKeeper defines the expected IBC channel keeper +type ChannelKeeper interface { + GetChannel(ctx sdk.Context, srcPort, srcChan string) (channel channeltypes.Channel, found bool) + GetNextSequenceSend(ctx sdk.Context, portID, channelID string) (uint64, bool) + CounterpartyHops(ctx sdk.Context, channel channeltypes.Channel) ([]string, bool) +} + +// PortKeeper defines the expected IBC port keeper +type PortKeeper interface { + BindPort(ctx sdk.Context, portID string) *capabilitytypes.Capability + IsBound(ctx sdk.Context, portID string) bool +} diff --git a/modules/apps/27-interchain-accounts/types/genesis.go b/modules/apps/27-interchain-accounts/types/genesis.go new file mode 100644 index 00000000000..97a906cf5f5 --- /dev/null +++ b/modules/apps/27-interchain-accounts/types/genesis.go @@ -0,0 +1,139 @@ +package types + +import ( + controllertypes "github.com/cosmos/ibc-go/v2/modules/apps/27-interchain-accounts/controller/types" + hosttypes "github.com/cosmos/ibc-go/v2/modules/apps/27-interchain-accounts/host/types" + host "github.com/cosmos/ibc-go/v2/modules/core/24-host" +) + +// DefaultGenesis creates and returns the interchain accounts GenesisState +func DefaultGenesis() *GenesisState { + return &GenesisState{ + ControllerGenesisState: DefaultControllerGenesis(), + HostGenesisState: DefaultHostGenesis(), + } +} + +// NewGenesisState creates and returns a new GenesisState instance from the provided controller and host genesis state types +func NewGenesisState(controllerGenesisState ControllerGenesisState, hostGenesisState HostGenesisState) *GenesisState { + return &GenesisState{ + ControllerGenesisState: controllerGenesisState, + HostGenesisState: hostGenesisState, + } +} + +// Validate performs basic validation of the interchain accounts GenesisState +func (gs GenesisState) Validate() error { + if err := gs.ControllerGenesisState.Validate(); err != nil { + return err + } + + if err := gs.HostGenesisState.Validate(); err != nil { + return err + } + + return nil +} + +// DefaultControllerGenesis creates and returns the default interchain accounts ControllerGenesisState +func DefaultControllerGenesis() ControllerGenesisState { + return ControllerGenesisState{ + Params: controllertypes.DefaultParams(), + } +} + +// NewControllerGenesisState creates a returns a new ControllerGenesisState instance +func NewControllerGenesisState(channels []ActiveChannel, accounts []RegisteredInterchainAccount, ports []string, controllerParams controllertypes.Params) ControllerGenesisState { + return ControllerGenesisState{ + ActiveChannels: channels, + InterchainAccounts: accounts, + Ports: ports, + Params: controllerParams, + } +} + +// Validate performs basic validation of the ControllerGenesisState +func (gs ControllerGenesisState) Validate() error { + for _, ch := range gs.ActiveChannels { + if err := host.ChannelIdentifierValidator(ch.ChannelId); err != nil { + return err + } + + if err := host.PortIdentifierValidator(ch.PortId); err != nil { + return err + } + } + + for _, acc := range gs.InterchainAccounts { + if err := host.PortIdentifierValidator(acc.PortId); err != nil { + return err + } + + if err := ValidateAccountAddress(acc.AccountAddress); err != nil { + return err + } + } + + for _, port := range gs.Ports { + if err := host.PortIdentifierValidator(port); err != nil { + return err + } + } + + if err := gs.Params.Validate(); err != nil { + return err + } + + return nil +} + +// DefaultHostGenesis creates and returns the default interchain accounts HostGenesisState +func DefaultHostGenesis() HostGenesisState { + return HostGenesisState{ + Port: PortID, + Params: hosttypes.DefaultParams(), + } +} + +// NewHostGenesisState creates a returns a new HostGenesisState instance +func NewHostGenesisState(channels []ActiveChannel, accounts []RegisteredInterchainAccount, port string, hostParams hosttypes.Params) HostGenesisState { + return HostGenesisState{ + ActiveChannels: channels, + InterchainAccounts: accounts, + Port: port, + Params: hostParams, + } +} + +// Validate performs basic validation of the HostGenesisState +func (gs HostGenesisState) Validate() error { + for _, ch := range gs.ActiveChannels { + if err := host.ChannelIdentifierValidator(ch.ChannelId); err != nil { + return err + } + + if err := host.PortIdentifierValidator(ch.PortId); err != nil { + return err + } + } + + for _, acc := range gs.InterchainAccounts { + if err := host.PortIdentifierValidator(acc.PortId); err != nil { + return err + } + + if err := ValidateAccountAddress(acc.AccountAddress); err != nil { + return err + } + } + + if err := host.PortIdentifierValidator(gs.Port); err != nil { + return err + } + + if err := gs.Params.Validate(); err != nil { + return err + } + + return nil +} diff --git a/modules/apps/27-interchain-accounts/types/genesis.pb.go b/modules/apps/27-interchain-accounts/types/genesis.pb.go new file mode 100644 index 00000000000..5a226263fb8 --- /dev/null +++ b/modules/apps/27-interchain-accounts/types/genesis.pb.go @@ -0,0 +1,1548 @@ +// Code generated by protoc-gen-gogo. DO NOT EDIT. +// source: ibc/applications/interchain_accounts/v1/genesis.proto + +package types + +import ( + fmt "fmt" + types "github.com/cosmos/ibc-go/v2/modules/apps/27-interchain-accounts/controller/types" + types1 "github.com/cosmos/ibc-go/v2/modules/apps/27-interchain-accounts/host/types" + _ "github.com/gogo/protobuf/gogoproto" + proto "github.com/gogo/protobuf/proto" + io "io" + math "math" + math_bits "math/bits" +) + +// Reference imports to suppress errors if they are not otherwise used. +var _ = proto.Marshal +var _ = fmt.Errorf +var _ = math.Inf + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the proto package it is being compiled against. +// A compilation error at this line likely means your copy of the +// proto package needs to be updated. +const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package + +// GenesisState defines the interchain accounts genesis state +type GenesisState struct { + ControllerGenesisState ControllerGenesisState `protobuf:"bytes,1,opt,name=controller_genesis_state,json=controllerGenesisState,proto3" json:"controller_genesis_state" yaml:"controller_genesis_state"` + HostGenesisState HostGenesisState `protobuf:"bytes,2,opt,name=host_genesis_state,json=hostGenesisState,proto3" json:"host_genesis_state" yaml:"host_genesis_state"` +} + +func (m *GenesisState) Reset() { *m = GenesisState{} } +func (m *GenesisState) String() string { return proto.CompactTextString(m) } +func (*GenesisState) ProtoMessage() {} +func (*GenesisState) Descriptor() ([]byte, []int) { + return fileDescriptor_629b3ced0911516b, []int{0} +} +func (m *GenesisState) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *GenesisState) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_GenesisState.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *GenesisState) XXX_Merge(src proto.Message) { + xxx_messageInfo_GenesisState.Merge(m, src) +} +func (m *GenesisState) XXX_Size() int { + return m.Size() +} +func (m *GenesisState) XXX_DiscardUnknown() { + xxx_messageInfo_GenesisState.DiscardUnknown(m) +} + +var xxx_messageInfo_GenesisState proto.InternalMessageInfo + +func (m *GenesisState) GetControllerGenesisState() ControllerGenesisState { + if m != nil { + return m.ControllerGenesisState + } + return ControllerGenesisState{} +} + +func (m *GenesisState) GetHostGenesisState() HostGenesisState { + if m != nil { + return m.HostGenesisState + } + return HostGenesisState{} +} + +// ControllerGenesisState defines the interchain accounts controller genesis state +type ControllerGenesisState struct { + ActiveChannels []ActiveChannel `protobuf:"bytes,1,rep,name=active_channels,json=activeChannels,proto3" json:"active_channels" yaml:"active_channels"` + InterchainAccounts []RegisteredInterchainAccount `protobuf:"bytes,2,rep,name=interchain_accounts,json=interchainAccounts,proto3" json:"interchain_accounts" yaml:"interchain_accounts"` + Ports []string `protobuf:"bytes,3,rep,name=ports,proto3" json:"ports,omitempty"` + Params types.Params `protobuf:"bytes,4,opt,name=params,proto3" json:"params"` +} + +func (m *ControllerGenesisState) Reset() { *m = ControllerGenesisState{} } +func (m *ControllerGenesisState) String() string { return proto.CompactTextString(m) } +func (*ControllerGenesisState) ProtoMessage() {} +func (*ControllerGenesisState) Descriptor() ([]byte, []int) { + return fileDescriptor_629b3ced0911516b, []int{1} +} +func (m *ControllerGenesisState) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *ControllerGenesisState) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_ControllerGenesisState.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *ControllerGenesisState) XXX_Merge(src proto.Message) { + xxx_messageInfo_ControllerGenesisState.Merge(m, src) +} +func (m *ControllerGenesisState) XXX_Size() int { + return m.Size() +} +func (m *ControllerGenesisState) XXX_DiscardUnknown() { + xxx_messageInfo_ControllerGenesisState.DiscardUnknown(m) +} + +var xxx_messageInfo_ControllerGenesisState proto.InternalMessageInfo + +func (m *ControllerGenesisState) GetActiveChannels() []ActiveChannel { + if m != nil { + return m.ActiveChannels + } + return nil +} + +func (m *ControllerGenesisState) GetInterchainAccounts() []RegisteredInterchainAccount { + if m != nil { + return m.InterchainAccounts + } + return nil +} + +func (m *ControllerGenesisState) GetPorts() []string { + if m != nil { + return m.Ports + } + return nil +} + +func (m *ControllerGenesisState) GetParams() types.Params { + if m != nil { + return m.Params + } + return types.Params{} +} + +// HostGenesisState defines the interchain accounts host genesis state +type HostGenesisState struct { + ActiveChannels []ActiveChannel `protobuf:"bytes,1,rep,name=active_channels,json=activeChannels,proto3" json:"active_channels" yaml:"active_channels"` + InterchainAccounts []RegisteredInterchainAccount `protobuf:"bytes,2,rep,name=interchain_accounts,json=interchainAccounts,proto3" json:"interchain_accounts" yaml:"interchain_accounts"` + Port string `protobuf:"bytes,3,opt,name=port,proto3" json:"port,omitempty"` + Params types1.Params `protobuf:"bytes,4,opt,name=params,proto3" json:"params"` +} + +func (m *HostGenesisState) Reset() { *m = HostGenesisState{} } +func (m *HostGenesisState) String() string { return proto.CompactTextString(m) } +func (*HostGenesisState) ProtoMessage() {} +func (*HostGenesisState) Descriptor() ([]byte, []int) { + return fileDescriptor_629b3ced0911516b, []int{2} +} +func (m *HostGenesisState) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *HostGenesisState) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_HostGenesisState.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *HostGenesisState) XXX_Merge(src proto.Message) { + xxx_messageInfo_HostGenesisState.Merge(m, src) +} +func (m *HostGenesisState) XXX_Size() int { + return m.Size() +} +func (m *HostGenesisState) XXX_DiscardUnknown() { + xxx_messageInfo_HostGenesisState.DiscardUnknown(m) +} + +var xxx_messageInfo_HostGenesisState proto.InternalMessageInfo + +func (m *HostGenesisState) GetActiveChannels() []ActiveChannel { + if m != nil { + return m.ActiveChannels + } + return nil +} + +func (m *HostGenesisState) GetInterchainAccounts() []RegisteredInterchainAccount { + if m != nil { + return m.InterchainAccounts + } + return nil +} + +func (m *HostGenesisState) GetPort() string { + if m != nil { + return m.Port + } + return "" +} + +func (m *HostGenesisState) GetParams() types1.Params { + if m != nil { + return m.Params + } + return types1.Params{} +} + +// ActiveChannel contains a pairing of port ID and channel ID for an active interchain accounts channel +type ActiveChannel struct { + PortId string `protobuf:"bytes,1,opt,name=port_id,json=portId,proto3" json:"port_id,omitempty" yaml:"port_id"` + ChannelId string `protobuf:"bytes,2,opt,name=channel_id,json=channelId,proto3" json:"channel_id,omitempty" yaml:"channel_id"` +} + +func (m *ActiveChannel) Reset() { *m = ActiveChannel{} } +func (m *ActiveChannel) String() string { return proto.CompactTextString(m) } +func (*ActiveChannel) ProtoMessage() {} +func (*ActiveChannel) Descriptor() ([]byte, []int) { + return fileDescriptor_629b3ced0911516b, []int{3} +} +func (m *ActiveChannel) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *ActiveChannel) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_ActiveChannel.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *ActiveChannel) XXX_Merge(src proto.Message) { + xxx_messageInfo_ActiveChannel.Merge(m, src) +} +func (m *ActiveChannel) XXX_Size() int { + return m.Size() +} +func (m *ActiveChannel) XXX_DiscardUnknown() { + xxx_messageInfo_ActiveChannel.DiscardUnknown(m) +} + +var xxx_messageInfo_ActiveChannel proto.InternalMessageInfo + +func (m *ActiveChannel) GetPortId() string { + if m != nil { + return m.PortId + } + return "" +} + +func (m *ActiveChannel) GetChannelId() string { + if m != nil { + return m.ChannelId + } + return "" +} + +// RegisteredInterchainAccount contains a pairing of controller port ID and associated interchain account address +type RegisteredInterchainAccount struct { + PortId string `protobuf:"bytes,1,opt,name=port_id,json=portId,proto3" json:"port_id,omitempty" yaml:"port_id"` + AccountAddress string `protobuf:"bytes,2,opt,name=account_address,json=accountAddress,proto3" json:"account_address,omitempty" yaml:"account_address"` +} + +func (m *RegisteredInterchainAccount) Reset() { *m = RegisteredInterchainAccount{} } +func (m *RegisteredInterchainAccount) String() string { return proto.CompactTextString(m) } +func (*RegisteredInterchainAccount) ProtoMessage() {} +func (*RegisteredInterchainAccount) Descriptor() ([]byte, []int) { + return fileDescriptor_629b3ced0911516b, []int{4} +} +func (m *RegisteredInterchainAccount) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *RegisteredInterchainAccount) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_RegisteredInterchainAccount.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *RegisteredInterchainAccount) XXX_Merge(src proto.Message) { + xxx_messageInfo_RegisteredInterchainAccount.Merge(m, src) +} +func (m *RegisteredInterchainAccount) XXX_Size() int { + return m.Size() +} +func (m *RegisteredInterchainAccount) XXX_DiscardUnknown() { + xxx_messageInfo_RegisteredInterchainAccount.DiscardUnknown(m) +} + +var xxx_messageInfo_RegisteredInterchainAccount proto.InternalMessageInfo + +func (m *RegisteredInterchainAccount) GetPortId() string { + if m != nil { + return m.PortId + } + return "" +} + +func (m *RegisteredInterchainAccount) GetAccountAddress() string { + if m != nil { + return m.AccountAddress + } + return "" +} + +func init() { + proto.RegisterType((*GenesisState)(nil), "ibc.applications.interchain_accounts.v1.GenesisState") + proto.RegisterType((*ControllerGenesisState)(nil), "ibc.applications.interchain_accounts.v1.ControllerGenesisState") + proto.RegisterType((*HostGenesisState)(nil), "ibc.applications.interchain_accounts.v1.HostGenesisState") + proto.RegisterType((*ActiveChannel)(nil), "ibc.applications.interchain_accounts.v1.ActiveChannel") + proto.RegisterType((*RegisteredInterchainAccount)(nil), "ibc.applications.interchain_accounts.v1.RegisteredInterchainAccount") +} + +func init() { + proto.RegisterFile("ibc/applications/interchain_accounts/v1/genesis.proto", fileDescriptor_629b3ced0911516b) +} + +var fileDescriptor_629b3ced0911516b = []byte{ + // 609 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x94, 0xcf, 0x6f, 0xd3, 0x30, + 0x14, 0xc7, 0x9b, 0x66, 0x0c, 0xd5, 0x83, 0x31, 0xcc, 0x98, 0x42, 0x91, 0xd2, 0xe2, 0xcb, 0x2a, + 0xa1, 0x25, 0x5a, 0x19, 0x4c, 0xec, 0x82, 0x96, 0x82, 0x60, 0x37, 0x14, 0x2e, 0x88, 0x4b, 0xe4, + 0x3a, 0x56, 0x6a, 0x29, 0x8d, 0xa3, 0xd8, 0xab, 0xb4, 0x13, 0x77, 0x2e, 0x70, 0x43, 0x5c, 0x91, + 0xf8, 0x3f, 0x38, 0xee, 0xb8, 0x23, 0xa7, 0x0a, 0xad, 0xff, 0x41, 0xff, 0x02, 0x64, 0x27, 0xea, + 0x8f, 0xd0, 0x4d, 0xe1, 0xce, 0xa9, 0x76, 0xfc, 0xbe, 0xdf, 0xf7, 0x79, 0x7e, 0xee, 0x03, 0x4f, + 0x59, 0x9f, 0xb8, 0x38, 0x4d, 0x63, 0x46, 0xb0, 0x64, 0x3c, 0x11, 0x2e, 0x4b, 0x24, 0xcd, 0xc8, + 0x00, 0xb3, 0x24, 0xc0, 0x84, 0xf0, 0xd3, 0x44, 0x0a, 0x77, 0xb4, 0xef, 0x46, 0x34, 0xa1, 0x82, + 0x09, 0x27, 0xcd, 0xb8, 0xe4, 0x70, 0x97, 0xf5, 0x89, 0xb3, 0x28, 0x73, 0x56, 0xc8, 0x9c, 0xd1, + 0x7e, 0x73, 0x3b, 0xe2, 0x11, 0xd7, 0x1a, 0x57, 0xad, 0x72, 0x79, 0xb3, 0x57, 0x29, 0x2b, 0xe1, + 0x89, 0xcc, 0x78, 0x1c, 0xd3, 0x4c, 0x01, 0xcc, 0x77, 0x85, 0xc9, 0x61, 0x25, 0x93, 0x01, 0x17, + 0x52, 0xc9, 0xd5, 0x6f, 0x2e, 0x44, 0x3f, 0xeb, 0xe0, 0xd6, 0xeb, 0xbc, 0x9c, 0x77, 0x12, 0x4b, + 0x0a, 0xbf, 0x1b, 0xc0, 0x9a, 0xdb, 0x07, 0x45, 0xa9, 0x81, 0x50, 0x87, 0x96, 0xd1, 0x36, 0x3a, + 0x1b, 0xdd, 0x17, 0x4e, 0xc5, 0x8a, 0x9d, 0xde, 0xcc, 0x68, 0x31, 0x87, 0xb7, 0x7b, 0x3e, 0x6e, + 0xd5, 0xa6, 0xe3, 0x56, 0xeb, 0x0c, 0x0f, 0xe3, 0x23, 0x74, 0x55, 0x3a, 0xe4, 0xef, 0x90, 0x95, + 0x06, 0xf0, 0x93, 0x01, 0xa0, 0x2a, 0xa2, 0x84, 0x57, 0xd7, 0x78, 0xcf, 0x2b, 0xe3, 0xbd, 0xe1, + 0x42, 0x2e, 0x81, 0x3d, 0x2a, 0xc0, 0x1e, 0xe4, 0x60, 0x7f, 0xa7, 0x40, 0xfe, 0xd6, 0xa0, 0x24, + 0x42, 0x3f, 0x4c, 0xb0, 0xb3, 0xba, 0x50, 0xf8, 0x11, 0xdc, 0xc1, 0x44, 0xb2, 0x11, 0x0d, 0xc8, + 0x00, 0x27, 0x09, 0x8d, 0x85, 0x65, 0xb4, 0xcd, 0xce, 0x46, 0xf7, 0x59, 0x65, 0xc6, 0x63, 0xad, + 0xef, 0xe5, 0x72, 0xcf, 0x2e, 0x00, 0x77, 0x72, 0xc0, 0x92, 0x39, 0xf2, 0x37, 0xf1, 0x62, 0xb8, + 0x80, 0xdf, 0x0c, 0x70, 0x6f, 0x85, 0xb1, 0x55, 0xd7, 0x14, 0x2f, 0x2b, 0x53, 0xf8, 0x34, 0x62, + 0x42, 0xd2, 0x8c, 0x86, 0x27, 0xb3, 0x80, 0xe3, 0xfc, 0xdc, 0x43, 0x05, 0x53, 0x33, 0x67, 0x5a, + 0xe1, 0x80, 0x7c, 0xc8, 0xca, 0x32, 0x01, 0xb7, 0xc1, 0x8d, 0x94, 0x67, 0x52, 0x58, 0x66, 0xdb, + 0xec, 0x34, 0xfc, 0x7c, 0x03, 0xdf, 0x83, 0xf5, 0x14, 0x67, 0x78, 0x28, 0xac, 0x35, 0xdd, 0xcd, + 0xa3, 0x6a, 0x8c, 0x0b, 0xff, 0x88, 0xd1, 0xbe, 0xf3, 0x56, 0x3b, 0x78, 0x6b, 0x8a, 0xcc, 0x2f, + 0xfc, 0xd0, 0x57, 0x13, 0x6c, 0x95, 0x3b, 0xfe, 0xbf, 0x43, 0xd7, 0x75, 0x08, 0x82, 0x35, 0xd5, + 0x14, 0xcb, 0x6c, 0x1b, 0x9d, 0x86, 0xaf, 0xd7, 0xd0, 0x2f, 0xf5, 0xe7, 0xa0, 0x1a, 0xa1, 0x1e, + 0x39, 0x57, 0x75, 0x26, 0x03, 0xb7, 0x97, 0x2e, 0x11, 0x3e, 0x06, 0x37, 0x55, 0xb2, 0x80, 0x85, + 0x7a, 0xe4, 0x34, 0x3c, 0x38, 0x1d, 0xb7, 0x36, 0x73, 0xfa, 0xe2, 0x00, 0xf9, 0xeb, 0x6a, 0x75, + 0x12, 0xc2, 0x03, 0x00, 0x8a, 0xeb, 0x55, 0xf1, 0x75, 0x1d, 0x7f, 0x7f, 0x3a, 0x6e, 0xdd, 0x2d, + 0xa6, 0xcb, 0xec, 0x0c, 0xf9, 0x8d, 0x62, 0x73, 0x12, 0xa2, 0xcf, 0x06, 0x78, 0x78, 0xcd, 0x9d, + 0xfd, 0x1b, 0x42, 0x4f, 0xbd, 0x22, 0xad, 0x0b, 0x70, 0x18, 0x66, 0x54, 0x88, 0x82, 0xa3, 0xb9, + 0xf8, 0x12, 0x96, 0x02, 0xf4, 0x4b, 0xd0, 0x5f, 0x8e, 0xf3, 0x0f, 0x5e, 0x70, 0x7e, 0x69, 0x1b, + 0x17, 0x97, 0xb6, 0xf1, 0xfb, 0xd2, 0x36, 0xbe, 0x4c, 0xec, 0xda, 0xc5, 0xc4, 0xae, 0xfd, 0x9a, + 0xd8, 0xb5, 0x0f, 0xaf, 0x22, 0x26, 0x07, 0xa7, 0x7d, 0x87, 0xf0, 0xa1, 0x4b, 0xb8, 0x18, 0x72, + 0xe1, 0xb2, 0x3e, 0xd9, 0x8b, 0xb8, 0x3b, 0xea, 0xba, 0x43, 0x1e, 0x9e, 0xc6, 0x54, 0xa8, 0xe9, + 0x2f, 0xdc, 0xee, 0xe1, 0xde, 0xfc, 0xf6, 0xf7, 0x66, 0x83, 0x5f, 0x9e, 0xa5, 0x54, 0xf4, 0xd7, + 0xf5, 0xc8, 0x7f, 0xf2, 0x27, 0x00, 0x00, 0xff, 0xff, 0x61, 0x4a, 0xb3, 0xe7, 0xe8, 0x06, 0x00, + 0x00, +} + +func (m *GenesisState) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *GenesisState) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *GenesisState) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + { + size, err := m.HostGenesisState.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintGenesis(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x12 + { + size, err := m.ControllerGenesisState.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintGenesis(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0xa + return len(dAtA) - i, nil +} + +func (m *ControllerGenesisState) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *ControllerGenesisState) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *ControllerGenesisState) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + { + size, err := m.Params.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintGenesis(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x22 + if len(m.Ports) > 0 { + for iNdEx := len(m.Ports) - 1; iNdEx >= 0; iNdEx-- { + i -= len(m.Ports[iNdEx]) + copy(dAtA[i:], m.Ports[iNdEx]) + i = encodeVarintGenesis(dAtA, i, uint64(len(m.Ports[iNdEx]))) + i-- + dAtA[i] = 0x1a + } + } + if len(m.InterchainAccounts) > 0 { + for iNdEx := len(m.InterchainAccounts) - 1; iNdEx >= 0; iNdEx-- { + { + size, err := m.InterchainAccounts[iNdEx].MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintGenesis(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x12 + } + } + if len(m.ActiveChannels) > 0 { + for iNdEx := len(m.ActiveChannels) - 1; iNdEx >= 0; iNdEx-- { + { + size, err := m.ActiveChannels[iNdEx].MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintGenesis(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0xa + } + } + return len(dAtA) - i, nil +} + +func (m *HostGenesisState) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *HostGenesisState) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *HostGenesisState) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + { + size, err := m.Params.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintGenesis(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x22 + if len(m.Port) > 0 { + i -= len(m.Port) + copy(dAtA[i:], m.Port) + i = encodeVarintGenesis(dAtA, i, uint64(len(m.Port))) + i-- + dAtA[i] = 0x1a + } + if len(m.InterchainAccounts) > 0 { + for iNdEx := len(m.InterchainAccounts) - 1; iNdEx >= 0; iNdEx-- { + { + size, err := m.InterchainAccounts[iNdEx].MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintGenesis(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x12 + } + } + if len(m.ActiveChannels) > 0 { + for iNdEx := len(m.ActiveChannels) - 1; iNdEx >= 0; iNdEx-- { + { + size, err := m.ActiveChannels[iNdEx].MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintGenesis(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0xa + } + } + return len(dAtA) - i, nil +} + +func (m *ActiveChannel) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *ActiveChannel) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *ActiveChannel) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.ChannelId) > 0 { + i -= len(m.ChannelId) + copy(dAtA[i:], m.ChannelId) + i = encodeVarintGenesis(dAtA, i, uint64(len(m.ChannelId))) + i-- + dAtA[i] = 0x12 + } + if len(m.PortId) > 0 { + i -= len(m.PortId) + copy(dAtA[i:], m.PortId) + i = encodeVarintGenesis(dAtA, i, uint64(len(m.PortId))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *RegisteredInterchainAccount) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *RegisteredInterchainAccount) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *RegisteredInterchainAccount) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.AccountAddress) > 0 { + i -= len(m.AccountAddress) + copy(dAtA[i:], m.AccountAddress) + i = encodeVarintGenesis(dAtA, i, uint64(len(m.AccountAddress))) + i-- + dAtA[i] = 0x12 + } + if len(m.PortId) > 0 { + i -= len(m.PortId) + copy(dAtA[i:], m.PortId) + i = encodeVarintGenesis(dAtA, i, uint64(len(m.PortId))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func encodeVarintGenesis(dAtA []byte, offset int, v uint64) int { + offset -= sovGenesis(v) + base := offset + for v >= 1<<7 { + dAtA[offset] = uint8(v&0x7f | 0x80) + v >>= 7 + offset++ + } + dAtA[offset] = uint8(v) + return base +} +func (m *GenesisState) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = m.ControllerGenesisState.Size() + n += 1 + l + sovGenesis(uint64(l)) + l = m.HostGenesisState.Size() + n += 1 + l + sovGenesis(uint64(l)) + return n +} + +func (m *ControllerGenesisState) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if len(m.ActiveChannels) > 0 { + for _, e := range m.ActiveChannels { + l = e.Size() + n += 1 + l + sovGenesis(uint64(l)) + } + } + if len(m.InterchainAccounts) > 0 { + for _, e := range m.InterchainAccounts { + l = e.Size() + n += 1 + l + sovGenesis(uint64(l)) + } + } + if len(m.Ports) > 0 { + for _, s := range m.Ports { + l = len(s) + n += 1 + l + sovGenesis(uint64(l)) + } + } + l = m.Params.Size() + n += 1 + l + sovGenesis(uint64(l)) + return n +} + +func (m *HostGenesisState) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if len(m.ActiveChannels) > 0 { + for _, e := range m.ActiveChannels { + l = e.Size() + n += 1 + l + sovGenesis(uint64(l)) + } + } + if len(m.InterchainAccounts) > 0 { + for _, e := range m.InterchainAccounts { + l = e.Size() + n += 1 + l + sovGenesis(uint64(l)) + } + } + l = len(m.Port) + if l > 0 { + n += 1 + l + sovGenesis(uint64(l)) + } + l = m.Params.Size() + n += 1 + l + sovGenesis(uint64(l)) + return n +} + +func (m *ActiveChannel) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.PortId) + if l > 0 { + n += 1 + l + sovGenesis(uint64(l)) + } + l = len(m.ChannelId) + if l > 0 { + n += 1 + l + sovGenesis(uint64(l)) + } + return n +} + +func (m *RegisteredInterchainAccount) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.PortId) + if l > 0 { + n += 1 + l + sovGenesis(uint64(l)) + } + l = len(m.AccountAddress) + if l > 0 { + n += 1 + l + sovGenesis(uint64(l)) + } + return n +} + +func sovGenesis(x uint64) (n int) { + return (math_bits.Len64(x|1) + 6) / 7 +} +func sozGenesis(x uint64) (n int) { + return sovGenesis(uint64((x << 1) ^ uint64((int64(x) >> 63)))) +} +func (m *GenesisState) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenesis + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: GenesisState: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: GenesisState: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ControllerGenesisState", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenesis + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenesis + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthGenesis + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.ControllerGenesisState.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field HostGenesisState", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenesis + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenesis + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthGenesis + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.HostGenesisState.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenesis(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthGenesis + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *ControllerGenesisState) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenesis + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: ControllerGenesisState: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ControllerGenesisState: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ActiveChannels", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenesis + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenesis + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthGenesis + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.ActiveChannels = append(m.ActiveChannels, ActiveChannel{}) + if err := m.ActiveChannels[len(m.ActiveChannels)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field InterchainAccounts", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenesis + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenesis + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthGenesis + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.InterchainAccounts = append(m.InterchainAccounts, RegisteredInterchainAccount{}) + if err := m.InterchainAccounts[len(m.InterchainAccounts)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Ports", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenesis + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthGenesis + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthGenesis + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Ports = append(m.Ports, string(dAtA[iNdEx:postIndex])) + iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Params", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenesis + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenesis + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthGenesis + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.Params.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenesis(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthGenesis + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *HostGenesisState) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenesis + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: HostGenesisState: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: HostGenesisState: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ActiveChannels", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenesis + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenesis + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthGenesis + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.ActiveChannels = append(m.ActiveChannels, ActiveChannel{}) + if err := m.ActiveChannels[len(m.ActiveChannels)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field InterchainAccounts", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenesis + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenesis + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthGenesis + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.InterchainAccounts = append(m.InterchainAccounts, RegisteredInterchainAccount{}) + if err := m.InterchainAccounts[len(m.InterchainAccounts)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Port", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenesis + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthGenesis + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthGenesis + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Port = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Params", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenesis + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenesis + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthGenesis + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.Params.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenesis(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthGenesis + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *ActiveChannel) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenesis + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: ActiveChannel: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ActiveChannel: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field PortId", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenesis + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthGenesis + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthGenesis + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.PortId = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ChannelId", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenesis + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthGenesis + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthGenesis + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.ChannelId = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenesis(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthGenesis + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *RegisteredInterchainAccount) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenesis + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: RegisteredInterchainAccount: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: RegisteredInterchainAccount: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field PortId", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenesis + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthGenesis + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthGenesis + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.PortId = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field AccountAddress", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenesis + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthGenesis + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthGenesis + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.AccountAddress = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenesis(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthGenesis + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func skipGenesis(dAtA []byte) (n int, err error) { + l := len(dAtA) + iNdEx := 0 + depth := 0 + for iNdEx < l { + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return 0, ErrIntOverflowGenesis + } + if iNdEx >= l { + return 0, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + wireType := int(wire & 0x7) + switch wireType { + case 0: + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return 0, ErrIntOverflowGenesis + } + if iNdEx >= l { + return 0, io.ErrUnexpectedEOF + } + iNdEx++ + if dAtA[iNdEx-1] < 0x80 { + break + } + } + case 1: + iNdEx += 8 + case 2: + var length int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return 0, ErrIntOverflowGenesis + } + if iNdEx >= l { + return 0, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + length |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if length < 0 { + return 0, ErrInvalidLengthGenesis + } + iNdEx += length + case 3: + depth++ + case 4: + if depth == 0 { + return 0, ErrUnexpectedEndOfGroupGenesis + } + depth-- + case 5: + iNdEx += 4 + default: + return 0, fmt.Errorf("proto: illegal wireType %d", wireType) + } + if iNdEx < 0 { + return 0, ErrInvalidLengthGenesis + } + if depth == 0 { + return iNdEx, nil + } + } + return 0, io.ErrUnexpectedEOF +} + +var ( + ErrInvalidLengthGenesis = fmt.Errorf("proto: negative length found during unmarshaling") + ErrIntOverflowGenesis = fmt.Errorf("proto: integer overflow") + ErrUnexpectedEndOfGroupGenesis = fmt.Errorf("proto: unexpected end of group") +) diff --git a/modules/apps/27-interchain-accounts/types/genesis_test.go b/modules/apps/27-interchain-accounts/types/genesis_test.go new file mode 100644 index 00000000000..2ac017c63ad --- /dev/null +++ b/modules/apps/27-interchain-accounts/types/genesis_test.go @@ -0,0 +1,313 @@ +package types_test + +import ( + controllertypes "github.com/cosmos/ibc-go/v2/modules/apps/27-interchain-accounts/controller/types" + hosttypes "github.com/cosmos/ibc-go/v2/modules/apps/27-interchain-accounts/host/types" + "github.com/cosmos/ibc-go/v2/modules/apps/27-interchain-accounts/types" + ibctesting "github.com/cosmos/ibc-go/v2/testing" +) + +func (suite *TypesTestSuite) TestValidateGenesisState() { + var ( + genesisState types.GenesisState + ) + + testCases := []struct { + name string + malleate func() + expPass bool + }{ + { + "success", + func() {}, + true, + }, + { + "failed to validate - empty value", + func() { + genesisState = types.GenesisState{} + }, + false, + }, + { + "failed to validate - invalid controller genesis", + func() { + genesisState = *types.NewGenesisState(types.ControllerGenesisState{Ports: []string{"invalid|port"}}, types.DefaultHostGenesis()) + }, + false, + }, + { + "failed to validate - invalid host genesis", + func() { + genesisState = *types.NewGenesisState(types.DefaultControllerGenesis(), types.HostGenesisState{}) + }, + false, + }, + } + + for _, tc := range testCases { + suite.Run(tc.name, func() { + genesisState = *types.DefaultGenesis() + + tc.malleate() // malleate mutates test data + + err := genesisState.Validate() + + if tc.expPass { + suite.Require().NoError(err, tc.name) + } else { + suite.Require().Error(err, tc.name) + } + }) + } +} + +func (suite *TypesTestSuite) TestValidateControllerGenesisState() { + var ( + genesisState types.ControllerGenesisState + ) + + testCases := []struct { + name string + malleate func() + expPass bool + }{ + { + "success", + func() {}, + true, + }, + { + "failed to validate active channel - invalid port identifier", + func() { + activeChannels := []types.ActiveChannel{ + { + PortId: "invalid|port", + ChannelId: ibctesting.FirstChannelID, + }, + } + + genesisState = types.NewControllerGenesisState(activeChannels, []types.RegisteredInterchainAccount{}, []string{}, controllertypes.DefaultParams()) + }, + false, + }, + { + "failed to validate active channel - invalid channel identifier", + func() { + activeChannels := []types.ActiveChannel{ + { + PortId: TestPortID, + ChannelId: "invalid|channel", + }, + } + + genesisState = types.NewControllerGenesisState(activeChannels, []types.RegisteredInterchainAccount{}, []string{}, controllertypes.DefaultParams()) + }, + false, + }, + { + "failed to validate registered account - invalid port identifier", + func() { + activeChannels := []types.ActiveChannel{ + { + PortId: TestPortID, + ChannelId: ibctesting.FirstChannelID, + }, + } + + registeredAccounts := []types.RegisteredInterchainAccount{ + { + PortId: "invalid|port", + AccountAddress: TestOwnerAddress, + }, + } + + genesisState = types.NewControllerGenesisState(activeChannels, registeredAccounts, []string{}, controllertypes.DefaultParams()) + }, + false, + }, + { + "failed to validate registered account - invalid owner address", + func() { + activeChannels := []types.ActiveChannel{ + { + PortId: TestPortID, + ChannelId: ibctesting.FirstChannelID, + }, + } + + registeredAccounts := []types.RegisteredInterchainAccount{ + { + PortId: TestPortID, + AccountAddress: "", + }, + } + + genesisState = types.NewControllerGenesisState(activeChannels, registeredAccounts, []string{}, controllertypes.DefaultParams()) + }, + false, + }, + { + "failed to validate controller ports - invalid port identifier", + func() { + activeChannels := []types.ActiveChannel{ + { + PortId: TestPortID, + ChannelId: ibctesting.FirstChannelID, + }, + } + + registeredAccounts := []types.RegisteredInterchainAccount{ + { + PortId: TestPortID, + AccountAddress: TestOwnerAddress, + }, + } + + genesisState = types.NewControllerGenesisState(activeChannels, registeredAccounts, []string{"invalid|port"}, controllertypes.DefaultParams()) + }, + false, + }, + } + + for _, tc := range testCases { + suite.Run(tc.name, func() { + genesisState = types.DefaultControllerGenesis() + + tc.malleate() // malleate mutates test data + + err := genesisState.Validate() + + if tc.expPass { + suite.Require().NoError(err, tc.name) + } else { + suite.Require().Error(err, tc.name) + } + }) + } +} + +func (suite *TypesTestSuite) TestValidateHostGenesisState() { + var ( + genesisState types.HostGenesisState + ) + + testCases := []struct { + name string + malleate func() + expPass bool + }{ + { + "success", + func() {}, + true, + }, + { + "failed to validate active channel - invalid port identifier", + func() { + activeChannels := []types.ActiveChannel{ + { + PortId: "invalid|port", + ChannelId: ibctesting.FirstChannelID, + }, + } + + genesisState = types.NewHostGenesisState(activeChannels, []types.RegisteredInterchainAccount{}, types.PortID, hosttypes.DefaultParams()) + }, + false, + }, + { + "failed to validate active channel - invalid channel identifier", + func() { + activeChannels := []types.ActiveChannel{ + { + PortId: TestPortID, + ChannelId: "invalid|channel", + }, + } + + genesisState = types.NewHostGenesisState(activeChannels, []types.RegisteredInterchainAccount{}, types.PortID, hosttypes.DefaultParams()) + }, + false, + }, + { + "failed to validate registered account - invalid port identifier", + func() { + activeChannels := []types.ActiveChannel{ + { + PortId: TestPortID, + ChannelId: ibctesting.FirstChannelID, + }, + } + + registeredAccounts := []types.RegisteredInterchainAccount{ + { + PortId: "invalid|port", + AccountAddress: TestOwnerAddress, + }, + } + + genesisState = types.NewHostGenesisState(activeChannels, registeredAccounts, types.PortID, hosttypes.DefaultParams()) + }, + false, + }, + { + "failed to validate registered account - invalid owner address", + func() { + activeChannels := []types.ActiveChannel{ + { + PortId: TestPortID, + ChannelId: ibctesting.FirstChannelID, + }, + } + + registeredAccounts := []types.RegisteredInterchainAccount{ + { + PortId: TestPortID, + AccountAddress: "", + }, + } + + genesisState = types.NewHostGenesisState(activeChannels, registeredAccounts, types.PortID, hosttypes.DefaultParams()) + }, + false, + }, + { + "failed to validate controller ports - invalid port identifier", + func() { + activeChannels := []types.ActiveChannel{ + { + PortId: TestPortID, + ChannelId: ibctesting.FirstChannelID, + }, + } + + registeredAccounts := []types.RegisteredInterchainAccount{ + { + PortId: TestPortID, + AccountAddress: TestOwnerAddress, + }, + } + + genesisState = types.NewHostGenesisState(activeChannels, registeredAccounts, "invalid|port", hosttypes.DefaultParams()) + }, + false, + }, + } + + for _, tc := range testCases { + suite.Run(tc.name, func() { + genesisState = types.DefaultHostGenesis() + + tc.malleate() // malleate mutates test data + + err := genesisState.Validate() + + if tc.expPass { + suite.Require().NoError(err, tc.name) + } else { + suite.Require().Error(err, tc.name) + } + }) + } +} diff --git a/modules/apps/27-interchain-accounts/types/keys.go b/modules/apps/27-interchain-accounts/types/keys.go new file mode 100644 index 00000000000..3f535a01489 --- /dev/null +++ b/modules/apps/27-interchain-accounts/types/keys.go @@ -0,0 +1,54 @@ +package types + +import ( + "fmt" +) + +const ( + // ModuleName defines the interchain accounts module name + ModuleName = "interchainaccounts" + + // VersionPrefix defines the current version for interchain accounts + VersionPrefix = "ics27-1" + + // PortID is the default port id that the interchain accounts module binds to + PortID = "interchain-account" + + // StoreKey is the store key string for interchain accounts + StoreKey = ModuleName + + // RouterKey is the message route for interchain accounts + RouterKey = ModuleName + + // QuerierRoute is the querier route for interchain accounts + QuerierRoute = ModuleName + + // Delimiter is the delimiter used for the interchain accounts version string + Delimiter = "." +) + +var ( + // ActiveChannelKeyPrefix defines the key prefix used to store active channels + ActiveChannelKeyPrefix = "activeChannel" + + // OwnerKeyPrefix defines the key prefix used to store interchain accounts + OwnerKeyPrefix = "owner" + + // PortKeyPrefix defines the key prefix used to store ports + PortKeyPrefix = "port" +) + +// KeyActiveChannel creates and returns a new key used for active channels store operations +func KeyActiveChannel(portID string) []byte { + return []byte(fmt.Sprintf("%s/%s", ActiveChannelKeyPrefix, portID)) +} + +// KeyOwnerAccount creates and returns a new key used for interchain account store operations +func KeyOwnerAccount(portID string) []byte { + return []byte(fmt.Sprintf("%s/%s", OwnerKeyPrefix, portID)) +} + +// KeyPort creates and returns a new key used for port store operations +func KeyPort(portID string) []byte { + return []byte(fmt.Sprintf("%s/%s", PortKeyPrefix, portID)) +} diff --git a/modules/apps/27-interchain-accounts/types/keys_test.go b/modules/apps/27-interchain-accounts/types/keys_test.go new file mode 100644 index 00000000000..037061a3d3e --- /dev/null +++ b/modules/apps/27-interchain-accounts/types/keys_test.go @@ -0,0 +1,15 @@ +package types_test + +import ( + "github.com/cosmos/ibc-go/v2/modules/apps/27-interchain-accounts/types" +) + +func (suite *TypesTestSuite) TestKeyActiveChannel() { + key := types.KeyActiveChannel("port-id") + suite.Require().Equal("activeChannel/port-id", string(key)) +} + +func (suite *TypesTestSuite) TestKeyOwnerAccount() { + key := types.KeyOwnerAccount("port-id") + suite.Require().Equal("owner/port-id", string(key)) +} diff --git a/modules/apps/27-interchain-accounts/types/packet.go b/modules/apps/27-interchain-accounts/types/packet.go new file mode 100644 index 00000000000..e7669a77fc9 --- /dev/null +++ b/modules/apps/27-interchain-accounts/types/packet.go @@ -0,0 +1,50 @@ +package types + +import ( + codectypes "github.com/cosmos/cosmos-sdk/codec/types" + sdk "github.com/cosmos/cosmos-sdk/types" + sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" +) + +// MaxMemoCharLength defines the maximum length for the InterchainAccountPacketData memo field +const MaxMemoCharLength = 256 + +// ValidateBasic performs basic validation of the interchain account packet data. +// The memo may be empty. +func (iapd InterchainAccountPacketData) ValidateBasic() error { + if iapd.Type == UNSPECIFIED { + return sdkerrors.Wrap(ErrInvalidOutgoingData, "packet data type cannot be unspecified") + } + + if iapd.Data == nil { + return sdkerrors.Wrap(ErrInvalidOutgoingData, "packet data cannot be empty") + } + + if len(iapd.Memo) > MaxMemoCharLength { + return sdkerrors.Wrapf(ErrInvalidOutgoingData, "packet data memo cannot be greater than %d characters", MaxMemoCharLength) + } + + return nil +} + +// GetBytes returns the JSON marshalled interchain account packet data. +func (iapd InterchainAccountPacketData) GetBytes() []byte { + return sdk.MustSortJSON(ModuleCdc.MustMarshalJSON(&iapd)) +} + +// GetBytes returns the JSON marshalled interchain account CosmosTx. +func (ct CosmosTx) GetBytes() []byte { + return sdk.MustSortJSON(ModuleCdc.MustMarshalJSON(&ct)) +} + +// UnpackInterfaces implements UnpackInterfacesMessage.UnpackInterfaces +func (ct CosmosTx) UnpackInterfaces(unpacker codectypes.AnyUnpacker) error { + for _, any := range ct.Messages { + err := unpacker.UnpackAny(any, new(sdk.Msg)) + if err != nil { + return err + } + } + + return nil +} diff --git a/modules/apps/27-interchain-accounts/types/packet_test.go b/modules/apps/27-interchain-accounts/types/packet_test.go new file mode 100644 index 00000000000..1c8d5c5fc4f --- /dev/null +++ b/modules/apps/27-interchain-accounts/types/packet_test.go @@ -0,0 +1,75 @@ +package types_test + +import ( + "github.com/cosmos/ibc-go/v2/modules/apps/27-interchain-accounts/types" +) + +var largeMemo = "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum" + +func (suite *TypesTestSuite) TestValidateBasic() { + testCases := []struct { + name string + packetData types.InterchainAccountPacketData + expPass bool + }{ + { + "success", + types.InterchainAccountPacketData{ + Type: types.EXECUTE_TX, + Data: []byte("data"), + Memo: "memo", + }, + true, + }, + { + "success, empty memo", + types.InterchainAccountPacketData{ + Type: types.EXECUTE_TX, + Data: []byte("data"), + }, + true, + }, + { + "type unspecified", + types.InterchainAccountPacketData{ + Type: types.UNSPECIFIED, + Data: []byte("data"), + Memo: "memo", + }, + false, + }, + { + "empty data", + types.InterchainAccountPacketData{ + Type: types.EXECUTE_TX, + Data: nil, + Memo: "memo", + }, + false, + }, + { + "memo too large", + types.InterchainAccountPacketData{ + Type: types.EXECUTE_TX, + Data: []byte("data"), + Memo: largeMemo, + }, + false, + }, + } + + for _, tc := range testCases { + tc := tc + suite.Run(tc.name, func() { + suite.SetupTest() // reset + + err := tc.packetData.ValidateBasic() + + if tc.expPass { + suite.Require().NoError(err) + } else { + suite.Require().Error(err) + } + }) + } +} diff --git a/modules/apps/27-interchain-accounts/types/port.go b/modules/apps/27-interchain-accounts/types/port.go new file mode 100644 index 00000000000..c44c5eda9ba --- /dev/null +++ b/modules/apps/27-interchain-accounts/types/port.go @@ -0,0 +1,78 @@ +package types + +import ( + "fmt" + "strconv" + "strings" + + sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + connectiontypes "github.com/cosmos/ibc-go/v2/modules/core/03-connection/types" + porttypes "github.com/cosmos/ibc-go/v2/modules/core/05-port/types" +) + +const ( + // ControllerPortFormat is the expected port identifier format to which controller chains must conform + // See (TODO: Link to spec when updated) + ControllerPortFormat = "..." +) + +// GeneratePortID generates an interchain accounts controller port identifier for the provided owner +// in the following format: +// +// 'ics-27---' +// https://github.com/seantking/ibc/tree/sean/ics-27-updates/spec/app/ics-027-interchain-accounts#registering--controlling-flows +// TODO: update link to spec +func GeneratePortID(owner, connectionID, counterpartyConnectionID string) (string, error) { + if strings.TrimSpace(owner) == "" { + return "", sdkerrors.Wrap(ErrInvalidAccountAddress, "owner address cannot be empty") + } + + connectionSeq, err := connectiontypes.ParseConnectionSequence(connectionID) + if err != nil { + return "", sdkerrors.Wrap(err, "invalid connection identifier") + } + + counterpartyConnectionSeq, err := connectiontypes.ParseConnectionSequence(counterpartyConnectionID) + if err != nil { + return "", sdkerrors.Wrap(err, "invalid counterparty connection identifier") + } + + return fmt.Sprint( + VersionPrefix, Delimiter, + connectionSeq, Delimiter, + counterpartyConnectionSeq, Delimiter, + owner, + ), nil +} + +// ParseControllerConnSequence attempts to parse the controller connection sequence from the provided port identifier +// The port identifier must match the controller chain format outlined in (TODO: link spec), otherwise an empty string is returned +func ParseControllerConnSequence(portID string) (uint64, error) { + s := strings.Split(portID, Delimiter) + if len(s) != 4 { + return 0, sdkerrors.Wrap(porttypes.ErrInvalidPort, "failed to parse port identifier") + } + + seq, err := strconv.ParseUint(s[1], 10, 64) + if err != nil { + return 0, sdkerrors.Wrapf(err, "failed to parse connection sequence (%s)", s[1]) + } + + return seq, nil +} + +// ParseHostConnSequence attempts to parse the host connection sequence from the provided port identifier +// The port identifier must match the controller chain format outlined in (TODO: link spec), otherwise an empty string is returned +func ParseHostConnSequence(portID string) (uint64, error) { + s := strings.Split(portID, Delimiter) + if len(s) != 4 { + return 0, sdkerrors.Wrap(porttypes.ErrInvalidPort, "failed to parse port identifier") + } + + seq, err := strconv.ParseUint(s[2], 10, 64) + if err != nil { + return 0, sdkerrors.Wrapf(err, "failed to parse connection sequence (%s)", s[2]) + } + + return seq, nil +} diff --git a/modules/apps/27-interchain-accounts/types/port_test.go b/modules/apps/27-interchain-accounts/types/port_test.go new file mode 100644 index 00000000000..cd12548c8d5 --- /dev/null +++ b/modules/apps/27-interchain-accounts/types/port_test.go @@ -0,0 +1,169 @@ +package types_test + +import ( + "fmt" + + "github.com/cosmos/ibc-go/v2/modules/apps/27-interchain-accounts/types" + ibctesting "github.com/cosmos/ibc-go/v2/testing" +) + +func (suite *TypesTestSuite) TestGeneratePortID() { + var ( + path *ibctesting.Path + owner = TestOwnerAddress + ) + + testCases := []struct { + name string + malleate func() + expValue string + expPass bool + }{ + { + "success", + func() {}, + fmt.Sprint(types.VersionPrefix, types.Delimiter, "0", types.Delimiter, "0", types.Delimiter, TestOwnerAddress), + true, + }, + { + "success with non matching connection sequences", + func() { + path.EndpointA.ConnectionID = "connection-1" + }, + fmt.Sprint(types.VersionPrefix, types.Delimiter, "1", types.Delimiter, "0", types.Delimiter, TestOwnerAddress), + true, + }, + { + "invalid connectionID", + func() { + path.EndpointA.ConnectionID = "connection" + }, + "", + false, + }, + { + "invalid counterparty connectionID", + func() { + path.EndpointB.ConnectionID = "connection" + }, + "", + false, + }, + { + "invalid owner address", + func() { + owner = " " + }, + "", + false, + }, + } + + for _, tc := range testCases { + tc := tc + suite.Run(tc.name, func() { + suite.SetupTest() // reset + + path = ibctesting.NewPath(suite.chainA, suite.chainB) + suite.coordinator.Setup(path) + + tc.malleate() // malleate mutates test data + + portID, err := types.GeneratePortID(owner, path.EndpointA.ConnectionID, path.EndpointB.ConnectionID) + + if tc.expPass { + suite.Require().NoError(err, tc.name) + suite.Require().Equal(tc.expValue, portID) + } else { + suite.Require().Error(err, tc.name) + suite.Require().Empty(portID) + } + }) + } +} + +func (suite *TypesTestSuite) TestParseControllerConnSequence() { + + testCases := []struct { + name string + portID string + expValue uint64 + expPass bool + }{ + { + "success", + TestPortID, + 0, + true, + }, + { + "failed to parse port identifier", + "invalid-port-id", + 0, + false, + }, + { + "failed to parse connection sequence", + "ics27-1.x.y.cosmos1", + 0, + false, + }, + } + + for _, tc := range testCases { + suite.Run(tc.name, func() { + connSeq, err := types.ParseControllerConnSequence(tc.portID) + + if tc.expPass { + suite.Require().Equal(tc.expValue, connSeq) + suite.Require().NoError(err, tc.name) + } else { + suite.Require().Zero(connSeq) + suite.Require().Error(err, tc.name) + } + }) + } +} + +func (suite *TypesTestSuite) TestParseHostConnSequence() { + + testCases := []struct { + name string + portID string + expValue uint64 + expPass bool + }{ + { + "success", + TestPortID, + 0, + true, + }, + { + "failed to parse port identifier", + "invalid-port-id", + 0, + false, + }, + { + "failed to parse connection sequence", + "ics27-1.x.y.cosmos1", + 0, + false, + }, + } + + for _, tc := range testCases { + suite.Run(tc.name, func() { + connSeq, err := types.ParseHostConnSequence(tc.portID) + + if tc.expPass { + suite.Require().Equal(tc.expValue, connSeq) + suite.Require().NoError(err, tc.name) + } else { + suite.Require().Zero(connSeq) + suite.Require().Error(err, tc.name) + } + }) + } +} diff --git a/modules/apps/27-interchain-accounts/types/types.pb.go b/modules/apps/27-interchain-accounts/types/types.pb.go new file mode 100644 index 00000000000..7ed9c1b9e7e --- /dev/null +++ b/modules/apps/27-interchain-accounts/types/types.pb.go @@ -0,0 +1,634 @@ +// Code generated by protoc-gen-gogo. DO NOT EDIT. +// source: ibc/applications/interchain_accounts/v1/types.proto + +package types + +import ( + fmt "fmt" + types "github.com/cosmos/cosmos-sdk/codec/types" + _ "github.com/gogo/protobuf/gogoproto" + proto "github.com/gogo/protobuf/proto" + io "io" + math "math" + math_bits "math/bits" +) + +// Reference imports to suppress errors if they are not otherwise used. +var _ = proto.Marshal +var _ = fmt.Errorf +var _ = math.Inf + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the proto package it is being compiled against. +// A compilation error at this line likely means your copy of the +// proto package needs to be updated. +const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package + +// Type defines a classification of message issued from a controller chain to its associated interchain accounts +// host +type Type int32 + +const ( + // Default zero value enumeration + UNSPECIFIED Type = 0 + // Execute a transaction on an interchain accounts host chain + EXECUTE_TX Type = 1 +) + +var Type_name = map[int32]string{ + 0: "TYPE_UNSPECIFIED", + 1: "TYPE_EXECUTE_TX", +} + +var Type_value = map[string]int32{ + "TYPE_UNSPECIFIED": 0, + "TYPE_EXECUTE_TX": 1, +} + +func (x Type) String() string { + return proto.EnumName(Type_name, int32(x)) +} + +func (Type) EnumDescriptor() ([]byte, []int) { + return fileDescriptor_39bab93e18d89799, []int{0} +} + +// InterchainAccountPacketData is comprised of a raw transaction, type of transaction and optional memo field. +type InterchainAccountPacketData struct { + Type Type `protobuf:"varint,1,opt,name=type,proto3,enum=ibc.applications.interchain_accounts.v1.Type" json:"type,omitempty"` + Data []byte `protobuf:"bytes,2,opt,name=data,proto3" json:"data,omitempty"` + Memo string `protobuf:"bytes,3,opt,name=memo,proto3" json:"memo,omitempty"` +} + +func (m *InterchainAccountPacketData) Reset() { *m = InterchainAccountPacketData{} } +func (m *InterchainAccountPacketData) String() string { return proto.CompactTextString(m) } +func (*InterchainAccountPacketData) ProtoMessage() {} +func (*InterchainAccountPacketData) Descriptor() ([]byte, []int) { + return fileDescriptor_39bab93e18d89799, []int{0} +} +func (m *InterchainAccountPacketData) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *InterchainAccountPacketData) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_InterchainAccountPacketData.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *InterchainAccountPacketData) XXX_Merge(src proto.Message) { + xxx_messageInfo_InterchainAccountPacketData.Merge(m, src) +} +func (m *InterchainAccountPacketData) XXX_Size() int { + return m.Size() +} +func (m *InterchainAccountPacketData) XXX_DiscardUnknown() { + xxx_messageInfo_InterchainAccountPacketData.DiscardUnknown(m) +} + +var xxx_messageInfo_InterchainAccountPacketData proto.InternalMessageInfo + +func (m *InterchainAccountPacketData) GetType() Type { + if m != nil { + return m.Type + } + return UNSPECIFIED +} + +func (m *InterchainAccountPacketData) GetData() []byte { + if m != nil { + return m.Data + } + return nil +} + +func (m *InterchainAccountPacketData) GetMemo() string { + if m != nil { + return m.Memo + } + return "" +} + +// CosmosTx contains a list of sdk.Msg's. It should be used when sending transactions to an SDK host chain. +type CosmosTx struct { + Messages []*types.Any `protobuf:"bytes,1,rep,name=messages,proto3" json:"messages,omitempty"` +} + +func (m *CosmosTx) Reset() { *m = CosmosTx{} } +func (m *CosmosTx) String() string { return proto.CompactTextString(m) } +func (*CosmosTx) ProtoMessage() {} +func (*CosmosTx) Descriptor() ([]byte, []int) { + return fileDescriptor_39bab93e18d89799, []int{1} +} +func (m *CosmosTx) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *CosmosTx) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_CosmosTx.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *CosmosTx) XXX_Merge(src proto.Message) { + xxx_messageInfo_CosmosTx.Merge(m, src) +} +func (m *CosmosTx) XXX_Size() int { + return m.Size() +} +func (m *CosmosTx) XXX_DiscardUnknown() { + xxx_messageInfo_CosmosTx.DiscardUnknown(m) +} + +var xxx_messageInfo_CosmosTx proto.InternalMessageInfo + +func (m *CosmosTx) GetMessages() []*types.Any { + if m != nil { + return m.Messages + } + return nil +} + +func init() { + proto.RegisterEnum("ibc.applications.interchain_accounts.v1.Type", Type_name, Type_value) + proto.RegisterType((*InterchainAccountPacketData)(nil), "ibc.applications.interchain_accounts.v1.InterchainAccountPacketData") + proto.RegisterType((*CosmosTx)(nil), "ibc.applications.interchain_accounts.v1.CosmosTx") +} + +func init() { + proto.RegisterFile("ibc/applications/interchain_accounts/v1/types.proto", fileDescriptor_39bab93e18d89799) +} + +var fileDescriptor_39bab93e18d89799 = []byte{ + // 391 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x51, 0x41, 0x8b, 0xd3, 0x40, + 0x18, 0xcd, 0xb8, 0x41, 0xd6, 0x59, 0xd9, 0x2d, 0x61, 0x0f, 0x31, 0x42, 0x08, 0x2b, 0x62, 0x10, + 0x32, 0xe3, 0x66, 0x0f, 0x5e, 0xbc, 0xd4, 0x6e, 0x84, 0x5e, 0xa4, 0xc4, 0x14, 0xaa, 0x97, 0x30, + 0x99, 0x8e, 0xe9, 0x60, 0x93, 0x09, 0x9d, 0x49, 0x31, 0xff, 0xa0, 0xf4, 0xe4, 0x1f, 0xe8, 0xc9, + 0x3f, 0xe3, 0xb1, 0x47, 0x8f, 0xd2, 0xfe, 0x11, 0xc9, 0x04, 0xdb, 0x1e, 0x3c, 0xec, 0xed, 0xf1, + 0xf8, 0xde, 0x9b, 0xf7, 0xe6, 0xc1, 0x3b, 0x9e, 0x51, 0x4c, 0xaa, 0x6a, 0xce, 0x29, 0x51, 0x5c, + 0x94, 0x12, 0xf3, 0x52, 0xb1, 0x05, 0x9d, 0x11, 0x5e, 0xa6, 0x84, 0x52, 0x51, 0x97, 0x4a, 0xe2, + 0xe5, 0x2d, 0x56, 0x4d, 0xc5, 0x24, 0xaa, 0x16, 0x42, 0x09, 0xeb, 0x15, 0xcf, 0x28, 0x3a, 0x15, + 0xa1, 0xff, 0x88, 0xd0, 0xf2, 0xd6, 0x79, 0x96, 0x0b, 0x91, 0xcf, 0x19, 0xd6, 0xb2, 0xac, 0xfe, + 0x8a, 0x49, 0xd9, 0x74, 0x1e, 0xce, 0x75, 0x2e, 0x72, 0xa1, 0x21, 0x6e, 0x51, 0xc7, 0xde, 0xac, + 0x00, 0x7c, 0x3e, 0x3c, 0x78, 0xf5, 0x3b, 0xab, 0x11, 0xa1, 0xdf, 0x98, 0xba, 0x27, 0x8a, 0x58, + 0x7d, 0x68, 0xb6, 0x41, 0x6c, 0xe0, 0x01, 0xff, 0x32, 0x0c, 0xd0, 0x03, 0x83, 0xa0, 0xa4, 0xa9, + 0x58, 0xac, 0xa5, 0x96, 0x05, 0xcd, 0x29, 0x51, 0xc4, 0x7e, 0xe4, 0x01, 0xff, 0x69, 0xac, 0x71, + 0xcb, 0x15, 0xac, 0x10, 0xf6, 0x99, 0x07, 0xfc, 0x27, 0xb1, 0xc6, 0x37, 0xef, 0xe0, 0xf9, 0x40, + 0xc8, 0x42, 0xc8, 0xe4, 0xbb, 0xf5, 0x06, 0x9e, 0x17, 0x4c, 0x4a, 0x92, 0x33, 0x69, 0x03, 0xef, + 0xcc, 0xbf, 0x08, 0xaf, 0x51, 0x57, 0x0d, 0xfd, 0xab, 0x86, 0xfa, 0x65, 0x13, 0x1f, 0xae, 0x5e, + 0x4f, 0xa0, 0xd9, 0xbe, 0x69, 0xbd, 0x84, 0xbd, 0xe4, 0xf3, 0x28, 0x4a, 0xc7, 0x1f, 0x3f, 0x8d, + 0xa2, 0xc1, 0xf0, 0xc3, 0x30, 0xba, 0xef, 0x19, 0xce, 0xd5, 0x7a, 0xe3, 0x5d, 0x9c, 0x50, 0xd6, + 0x0b, 0x78, 0xa5, 0xcf, 0xa2, 0x49, 0x34, 0x18, 0x27, 0x51, 0x9a, 0x4c, 0x7a, 0xc0, 0xb9, 0x5c, + 0x6f, 0x3c, 0x78, 0x64, 0x1c, 0x73, 0xf5, 0xd3, 0x35, 0xde, 0xa7, 0xbf, 0x76, 0x2e, 0xd8, 0xee, + 0x5c, 0xf0, 0x67, 0xe7, 0x82, 0x1f, 0x7b, 0xd7, 0xd8, 0xee, 0x5d, 0xe3, 0xf7, 0xde, 0x35, 0xbe, + 0x44, 0x39, 0x57, 0xb3, 0x3a, 0x43, 0x54, 0x14, 0x98, 0xea, 0xe8, 0x98, 0x67, 0x34, 0xc8, 0x05, + 0x5e, 0x86, 0xb8, 0x10, 0xd3, 0x7a, 0xce, 0x64, 0xbb, 0xb5, 0xc4, 0xe1, 0xdb, 0xe0, 0xf8, 0x51, + 0xc1, 0x61, 0x66, 0xbd, 0x71, 0xf6, 0x58, 0x57, 0xba, 0xfb, 0x1b, 0x00, 0x00, 0xff, 0xff, 0xfa, + 0xbe, 0xe0, 0xb6, 0x1b, 0x02, 0x00, 0x00, +} + +func (m *InterchainAccountPacketData) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *InterchainAccountPacketData) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *InterchainAccountPacketData) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.Memo) > 0 { + i -= len(m.Memo) + copy(dAtA[i:], m.Memo) + i = encodeVarintTypes(dAtA, i, uint64(len(m.Memo))) + i-- + dAtA[i] = 0x1a + } + if len(m.Data) > 0 { + i -= len(m.Data) + copy(dAtA[i:], m.Data) + i = encodeVarintTypes(dAtA, i, uint64(len(m.Data))) + i-- + dAtA[i] = 0x12 + } + if m.Type != 0 { + i = encodeVarintTypes(dAtA, i, uint64(m.Type)) + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + +func (m *CosmosTx) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *CosmosTx) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *CosmosTx) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.Messages) > 0 { + for iNdEx := len(m.Messages) - 1; iNdEx >= 0; iNdEx-- { + { + size, err := m.Messages[iNdEx].MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintTypes(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0xa + } + } + return len(dAtA) - i, nil +} + +func encodeVarintTypes(dAtA []byte, offset int, v uint64) int { + offset -= sovTypes(v) + base := offset + for v >= 1<<7 { + dAtA[offset] = uint8(v&0x7f | 0x80) + v >>= 7 + offset++ + } + dAtA[offset] = uint8(v) + return base +} +func (m *InterchainAccountPacketData) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Type != 0 { + n += 1 + sovTypes(uint64(m.Type)) + } + l = len(m.Data) + if l > 0 { + n += 1 + l + sovTypes(uint64(l)) + } + l = len(m.Memo) + if l > 0 { + n += 1 + l + sovTypes(uint64(l)) + } + return n +} + +func (m *CosmosTx) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if len(m.Messages) > 0 { + for _, e := range m.Messages { + l = e.Size() + n += 1 + l + sovTypes(uint64(l)) + } + } + return n +} + +func sovTypes(x uint64) (n int) { + return (math_bits.Len64(x|1) + 6) / 7 +} +func sozTypes(x uint64) (n int) { + return sovTypes(uint64((x << 1) ^ uint64((int64(x) >> 63)))) +} +func (m *InterchainAccountPacketData) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTypes + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: InterchainAccountPacketData: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: InterchainAccountPacketData: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Type", wireType) + } + m.Type = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTypes + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Type |= Type(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Data", wireType) + } + var byteLen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTypes + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + byteLen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if byteLen < 0 { + return ErrInvalidLengthTypes + } + postIndex := iNdEx + byteLen + if postIndex < 0 { + return ErrInvalidLengthTypes + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Data = append(m.Data[:0], dAtA[iNdEx:postIndex]...) + if m.Data == nil { + m.Data = []byte{} + } + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Memo", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTypes + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthTypes + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthTypes + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Memo = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipTypes(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthTypes + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *CosmosTx) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTypes + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: CosmosTx: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: CosmosTx: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Messages", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTypes + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthTypes + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthTypes + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Messages = append(m.Messages, &types.Any{}) + if err := m.Messages[len(m.Messages)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipTypes(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthTypes + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func skipTypes(dAtA []byte) (n int, err error) { + l := len(dAtA) + iNdEx := 0 + depth := 0 + for iNdEx < l { + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return 0, ErrIntOverflowTypes + } + if iNdEx >= l { + return 0, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + wireType := int(wire & 0x7) + switch wireType { + case 0: + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return 0, ErrIntOverflowTypes + } + if iNdEx >= l { + return 0, io.ErrUnexpectedEOF + } + iNdEx++ + if dAtA[iNdEx-1] < 0x80 { + break + } + } + case 1: + iNdEx += 8 + case 2: + var length int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return 0, ErrIntOverflowTypes + } + if iNdEx >= l { + return 0, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + length |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if length < 0 { + return 0, ErrInvalidLengthTypes + } + iNdEx += length + case 3: + depth++ + case 4: + if depth == 0 { + return 0, ErrUnexpectedEndOfGroupTypes + } + depth-- + case 5: + iNdEx += 4 + default: + return 0, fmt.Errorf("proto: illegal wireType %d", wireType) + } + if iNdEx < 0 { + return 0, ErrInvalidLengthTypes + } + if depth == 0 { + return iNdEx, nil + } + } + return 0, io.ErrUnexpectedEOF +} + +var ( + ErrInvalidLengthTypes = fmt.Errorf("proto: negative length found during unmarshaling") + ErrIntOverflowTypes = fmt.Errorf("proto: integer overflow") + ErrUnexpectedEndOfGroupTypes = fmt.Errorf("proto: unexpected end of group") +) diff --git a/modules/apps/27-interchain-accounts/types/version.go b/modules/apps/27-interchain-accounts/types/version.go new file mode 100644 index 00000000000..ffa33aa0017 --- /dev/null +++ b/modules/apps/27-interchain-accounts/types/version.go @@ -0,0 +1,67 @@ +package types + +import ( + "fmt" + "regexp" + "strings" + + sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" +) + +// DefaultMaxAddrLength defines the default maximum character length used in validation of addresses +var DefaultMaxAddrLength = 128 + +// IsValidAddr defines a regular expression to check if the provided string consists of +// strictly alphanumeric characters +var IsValidAddr = regexp.MustCompile("^[a-zA-Z0-9]*$").MatchString + +// NewVersion returns a complete version string in the format: VersionPrefix + Delimter + AccAddress +func NewAppVersion(versionPrefix, accAddr string) string { + return fmt.Sprint(versionPrefix, Delimiter, accAddr) +} + +// ParseAddressFromVersion attempts to extract the associated account address from the provided version string +func ParseAddressFromVersion(version string) (string, error) { + s := strings.Split(version, Delimiter) + if len(s) != 2 { + return "", sdkerrors.Wrap(ErrInvalidVersion, "failed to parse version") + } + + return s[1], nil +} + +// ValidateVersion performs basic validation of the provided ics27 version string. +// An ics27 version string may include an optional account address as per [TODO: Add spec when available] +// ValidateVersion first attempts to split the version string using the standard delimiter, then asserts a supported +// version prefix is included, followed by additional checks which enforce constraints on the account address. +func ValidateVersion(version string) error { + s := strings.Split(version, Delimiter) + + if len(s) != 2 { + return sdkerrors.Wrapf(ErrInvalidVersion, "expected format , got %s", Delimiter, version) + } + + if s[0] != VersionPrefix { + return sdkerrors.Wrapf(ErrInvalidVersion, "expected %s, got %s", VersionPrefix, s[0]) + } + + if err := ValidateAccountAddress(s[1]); err != nil { + return err + } + + return nil +} + +// ValidateAccountAddress performs basic validation of interchain account addresses, enforcing constraints +// on address length and character set +func ValidateAccountAddress(addr string) error { + if !IsValidAddr(addr) || len(addr) == 0 || len(addr) > DefaultMaxAddrLength { + return sdkerrors.Wrapf( + ErrInvalidAccountAddress, + "address must contain strictly alphanumeric characters, not exceeding %d characters in length", + DefaultMaxAddrLength, + ) + } + + return nil +} diff --git a/modules/apps/27-interchain-accounts/types/version_test.go b/modules/apps/27-interchain-accounts/types/version_test.go new file mode 100644 index 00000000000..0ad4a235eb7 --- /dev/null +++ b/modules/apps/27-interchain-accounts/types/version_test.go @@ -0,0 +1,106 @@ +package types_test + +import ( + "fmt" + + "github.com/cosmos/ibc-go/v2/modules/apps/27-interchain-accounts/types" +) + +func (suite *TypesTestSuite) TestParseAddressFromVersion() { + + testCases := []struct { + name string + version string + expValue string + expPass bool + }{ + { + "success", + types.NewAppVersion(types.VersionPrefix, TestOwnerAddress), + TestOwnerAddress, + true, + }, + { + "failed to parse address from version", + "invalid-version-string", + "", + false, + }, + { + "failure with multiple delimiters", + fmt.Sprint(types.NewAppVersion(types.VersionPrefix, TestOwnerAddress), types.Delimiter, types.NewAppVersion(types.VersionPrefix, TestOwnerAddress)), + "", + false, + }, + } + + for _, tc := range testCases { + suite.Run(tc.name, func() { + addr, err := types.ParseAddressFromVersion(tc.version) + + if tc.expPass { + suite.Require().Equal(tc.expValue, addr) + suite.Require().NoError(err, tc.name) + } else { + suite.Require().Empty(addr) + suite.Require().Error(err, tc.name) + } + }) + } +} + +func (suite *TypesTestSuite) TestValidateVersion() { + testCases := []struct { + name string + version string + expPass bool + }{ + { + "success", + types.NewAppVersion(types.VersionPrefix, TestOwnerAddress), + true, + }, + { + "unexpected version string format", + "invalid-version-string-format", + false, + }, + { + "unexpected version string format, additional delimiter", + types.NewAppVersion(types.VersionPrefix, "cosmos17dtl0mjt3t77kpu.hg2edqzjpszulwhgzuj9ljs"), + false, + }, + { + "invalid version", + types.NewAppVersion("ics27-5", TestOwnerAddress), + false, + }, + { + "invalid account address - empty", + types.NewAppVersion(types.VersionPrefix, ""), + false, + }, + { + "invalid account address - exceeded character length", + types.NewAppVersion(types.VersionPrefix, "ofwafxhdmqcdbpzvrccxkidbunrwyyoboyctignpvthxbwxtmnzyfwhhywobaatltfwafxhdmqcdbpzvrccxkidbunrwyyoboyctignpvthxbwxtmnzyfwhhywobaatlt"), + false, + }, + { + "invalid account address - non alphanumeric characters", + types.NewAppVersion(types.VersionPrefix, "-_-"), + false, + }, + } + + for _, tc := range testCases { + suite.Run(tc.name, func() { + err := types.ValidateVersion(tc.version) + + if tc.expPass { + suite.Require().NoError(err, tc.name) + } else { + suite.Require().Error(err, tc.name) + } + }) + } +} diff --git a/modules/core/04-channel/types/errors.go b/modules/core/04-channel/types/errors.go index 8149136ed56..8c31cfbae18 100644 --- a/modules/core/04-channel/types/errors.go +++ b/modules/core/04-channel/types/errors.go @@ -36,4 +36,6 @@ var ( // Perform a no-op on the current Msg ErrNoOpMsg = sdkerrors.Register(SubModuleName, 23, "message is redundant, no-op will be performed") + + ErrInvalidChannelVersion = sdkerrors.Register(SubModuleName, 24, "invalid channel version") ) diff --git a/proto/ibc/applications/interchain_accounts/controller/v1/controller.proto b/proto/ibc/applications/interchain_accounts/controller/v1/controller.proto new file mode 100644 index 00000000000..4689b72124e --- /dev/null +++ b/proto/ibc/applications/interchain_accounts/controller/v1/controller.proto @@ -0,0 +1,15 @@ +syntax = "proto3"; + +package ibc.applications.interchain_accounts.controller.v1; + +option go_package = "github.com/cosmos/ibc-go/v2/modules/apps/27-interchain-accounts/controller/types"; + +import "google/protobuf/any.proto"; +import "gogoproto/gogo.proto"; + +// Params defines the set of on-chain interchain accounts parameters. +// The following parameters may be used to disable the controller submodule. +message Params { + // controller_enabled enables or disables the controller submodule. + bool controller_enabled = 1 [(gogoproto.moretags) = "yaml:\"controller_enabled\""]; +} diff --git a/proto/ibc/applications/interchain_accounts/controller/v1/query.proto b/proto/ibc/applications/interchain_accounts/controller/v1/query.proto new file mode 100644 index 00000000000..d6e25f8a252 --- /dev/null +++ b/proto/ibc/applications/interchain_accounts/controller/v1/query.proto @@ -0,0 +1,27 @@ +syntax = "proto3"; + +package ibc.applications.interchain_accounts.controller.v1; + +option go_package = "github.com/cosmos/ibc-go/v2/modules/apps/27-interchain-accounts/controller/types"; + +import "gogoproto/gogo.proto"; +import "ibc/applications/interchain_accounts/controller/v1/controller.proto"; +import "google/api/annotations.proto"; + +// Query provides defines the gRPC querier service. +service Query { + // Params queries all parameters of the ICA controller submodule. + rpc Params(QueryParamsRequest) returns (QueryParamsResponse) { + option (google.api.http).get = "/ibc/apps/interchain_accounts/controller/v1/params"; + } +} + +// QueryParamsRequest is the request type for the Query/Params RPC method. +message QueryParamsRequest {} + +// QueryParamsResponse is the response type for the Query/Params RPC method. +message QueryParamsResponse { + // params defines the parameters of the module. + Params params = 1; +} + diff --git a/proto/ibc/applications/interchain_accounts/host/v1/host.proto b/proto/ibc/applications/interchain_accounts/host/v1/host.proto new file mode 100644 index 00000000000..5798c2f95c9 --- /dev/null +++ b/proto/ibc/applications/interchain_accounts/host/v1/host.proto @@ -0,0 +1,17 @@ +syntax = "proto3"; + +package ibc.applications.interchain_accounts.host.v1; + +option go_package = "github.com/cosmos/ibc-go/v2/modules/apps/27-interchain-accounts/host/types"; + +import "google/protobuf/any.proto"; +import "gogoproto/gogo.proto"; + +// Params defines the set of on-chain interchain accounts parameters. +// The following parameters may be used to disable the host submodule. +message Params { + // host_enabled enables or disables the host submodule. + bool host_enabled = 1 [(gogoproto.moretags) = "yaml:\"host_enabled\""]; + // allow_messages defines a list of sdk message typeURLs allowed to be executed on a host chain. + repeated string allow_messages = 2 [(gogoproto.moretags) = "yaml:\"allow_messages\""]; +} diff --git a/proto/ibc/applications/interchain_accounts/host/v1/query.proto b/proto/ibc/applications/interchain_accounts/host/v1/query.proto new file mode 100644 index 00000000000..4802b724af9 --- /dev/null +++ b/proto/ibc/applications/interchain_accounts/host/v1/query.proto @@ -0,0 +1,27 @@ +syntax = "proto3"; + +package ibc.applications.interchain_accounts.host.v1; + +option go_package = "github.com/cosmos/ibc-go/v2/modules/apps/27-interchain-accounts/host/types"; + +import "google/api/annotations.proto"; +import "gogoproto/gogo.proto"; +import "ibc/applications/interchain_accounts/host/v1/host.proto"; + +// Query provides defines the gRPC querier service. +service Query { + // Params queries all parameters of the ICA host submodule. + rpc Params(QueryParamsRequest) returns (QueryParamsResponse) { + option (google.api.http).get = "/ibc/apps/interchain_accounts/host/v1/params"; + } +} + +// QueryParamsRequest is the request type for the Query/Params RPC method. +message QueryParamsRequest {} + +// QueryParamsResponse is the response type for the Query/Params RPC method. +message QueryParamsResponse { + // params defines the parameters of the module. + Params params = 1; +} + diff --git a/proto/ibc/applications/interchain_accounts/v1/account.proto b/proto/ibc/applications/interchain_accounts/v1/account.proto new file mode 100644 index 00000000000..b7af89b502b --- /dev/null +++ b/proto/ibc/applications/interchain_accounts/v1/account.proto @@ -0,0 +1,20 @@ +syntax = "proto3"; + +package ibc.applications.interchain_accounts.v1; + +option go_package = "github.com/cosmos/ibc-go/v2/modules/apps/27-interchain-accounts/types"; + +import "cosmos_proto/cosmos.proto"; +import "gogoproto/gogo.proto"; +import "cosmos/auth/v1beta1/auth.proto"; + +// An InterchainAccount is defined as a BaseAccount & the address of the account owner on the controller chain +message InterchainAccount { + option (gogoproto.goproto_getters) = false; + option (gogoproto.goproto_stringer) = false; + option (cosmos_proto.implements_interface) = "InterchainAccountI"; + + cosmos.auth.v1beta1.BaseAccount base_account = 1 + [(gogoproto.embed) = true, (gogoproto.moretags) = "yaml:\"base_account\""]; + string account_owner = 2 [(gogoproto.moretags) = "yaml:\"account_owner\""]; +} diff --git a/proto/ibc/applications/interchain_accounts/v1/genesis.proto b/proto/ibc/applications/interchain_accounts/v1/genesis.proto new file mode 100644 index 00000000000..670d05de534 --- /dev/null +++ b/proto/ibc/applications/interchain_accounts/v1/genesis.proto @@ -0,0 +1,49 @@ +syntax = "proto3"; + +package ibc.applications.interchain_accounts.v1; + +option go_package = "github.com/cosmos/ibc-go/v2/modules/apps/27-interchain-accounts/types"; + +import "gogoproto/gogo.proto"; +import "ibc/applications/interchain_accounts/controller/v1/controller.proto"; +import "ibc/applications/interchain_accounts/host/v1/host.proto"; + +// GenesisState defines the interchain accounts genesis state +message GenesisState { + ControllerGenesisState controller_genesis_state = 1 + [(gogoproto.nullable) = false, (gogoproto.moretags) = "yaml:\"controller_genesis_state\""]; + HostGenesisState host_genesis_state = 2 + [(gogoproto.nullable) = false, (gogoproto.moretags) = "yaml:\"host_genesis_state\""]; +} + +// ControllerGenesisState defines the interchain accounts controller genesis state +message ControllerGenesisState { + repeated ActiveChannel active_channels = 1 + [(gogoproto.nullable) = false, (gogoproto.moretags) = "yaml:\"active_channels\""]; + repeated RegisteredInterchainAccount interchain_accounts = 2 + [(gogoproto.nullable) = false, (gogoproto.moretags) = "yaml:\"interchain_accounts\""]; + repeated string ports = 3; + ibc.applications.interchain_accounts.controller.v1.Params params = 4 [(gogoproto.nullable) = false]; +} + +// HostGenesisState defines the interchain accounts host genesis state +message HostGenesisState { + repeated ActiveChannel active_channels = 1 + [(gogoproto.nullable) = false, (gogoproto.moretags) = "yaml:\"active_channels\""]; + repeated RegisteredInterchainAccount interchain_accounts = 2 + [(gogoproto.nullable) = false, (gogoproto.moretags) = "yaml:\"interchain_accounts\""]; + string port = 3; + ibc.applications.interchain_accounts.host.v1.Params params = 4 [(gogoproto.nullable) = false]; +} + +// ActiveChannel contains a pairing of port ID and channel ID for an active interchain accounts channel +message ActiveChannel { + string port_id = 1 [(gogoproto.moretags) = "yaml:\"port_id\""]; + string channel_id = 2 [(gogoproto.moretags) = "yaml:\"channel_id\""]; +} + +// RegisteredInterchainAccount contains a pairing of controller port ID and associated interchain account address +message RegisteredInterchainAccount { + string port_id = 1 [(gogoproto.moretags) = "yaml:\"port_id\""]; + string account_address = 2 [(gogoproto.moretags) = "yaml:\"account_address\""]; +} diff --git a/proto/ibc/applications/interchain_accounts/v1/types.proto b/proto/ibc/applications/interchain_accounts/v1/types.proto new file mode 100644 index 00000000000..c6d9d0a3e96 --- /dev/null +++ b/proto/ibc/applications/interchain_accounts/v1/types.proto @@ -0,0 +1,31 @@ +syntax = "proto3"; + +package ibc.applications.interchain_accounts.v1; + +option go_package = "github.com/cosmos/ibc-go/v2/modules/apps/27-interchain-accounts/types"; + +import "google/protobuf/any.proto"; +import "gogoproto/gogo.proto"; + +// Type defines a classification of message issued from a controller chain to its associated interchain accounts +// host +enum Type { + option (gogoproto.goproto_enum_prefix) = false; + + // Default zero value enumeration + TYPE_UNSPECIFIED = 0 [(gogoproto.enumvalue_customname) = "UNSPECIFIED"]; + // Execute a transaction on an interchain accounts host chain + TYPE_EXECUTE_TX = 1 [(gogoproto.enumvalue_customname) = "EXECUTE_TX"]; +} + +// InterchainAccountPacketData is comprised of a raw transaction, type of transaction and optional memo field. +message InterchainAccountPacketData { + Type type = 1; + bytes data = 2; + string memo = 3; +} + +// CosmosTx contains a list of sdk.Msg's. It should be used when sending transactions to an SDK host chain. +message CosmosTx { + repeated google.protobuf.Any messages = 1; +} diff --git a/testing/README.md b/testing/README.md index f7a71bb1348..189f8e8c6cc 100644 --- a/testing/README.md +++ b/testing/README.md @@ -294,7 +294,7 @@ When writing IBC applications acting as middleware, it might be desirable to tes This can be done by wiring a middleware stack in the app.go file using existing applications as middleware and IBC base applications. The mock module may also be leveraged to act as a base application in the instance that such an application is not available for testing or causes dependency concerns. -The mock module contains a `MockIBCApp`. This struct contains a function field for every IBC App Module callback. +The mock IBC module contains a `MockIBCApp`. This struct contains a function field for every IBC App Module callback. Each of these functions can be individually set to mock expected behaviour of a base application. For example, if one wanted to test that the base application cannot affect the outcome of the `OnChanOpenTry` callback, the mock module base application callback could be updated as such: @@ -303,3 +303,17 @@ For example, if one wanted to test that the base application cannot affect the o return fmt.Errorf("mock base app must not be called for OnChanOpenTry") } ``` + +Using a mock module as a base application in a middleware stack may require adding the module to your `SimApp`. +This is because IBC will route to the top level IBC module of a middleware stack, so a module which never +sits at the top of middleware stack will need to be accessed via a public field in `SimApp` + +This might look like: +```go + suite.chainA.GetSimApp().ICAAuthModule.IBCApp.OnChanOpenInit = func(ctx sdk.Context, order channeltypes.Order, connectionHops []string, + portID, channelID string, chanCap *capabilitytypes.Capability, + counterparty channeltypes.Counterparty, version string, + ) error { + return fmt.Errorf("mock ica auth fails") + } +``` diff --git a/testing/app.go b/testing/app.go index 6a2bb551e2f..5fd5904043f 100644 --- a/testing/app.go +++ b/testing/app.go @@ -89,8 +89,8 @@ func SetupWithGenesisValSet(t *testing.T, valSet *tmtypes.ValidatorSet, genAccs } validators = append(validators, validator) delegations = append(delegations, stakingtypes.NewDelegation(genAccs[0].GetAddress(), val.Address.Bytes(), sdk.OneDec())) - } + // set validators and delegations stakingGenesis := stakingtypes.NewGenesisState(stakingtypes.DefaultParams(), validators, delegations) genesisState[stakingtypes.ModuleName] = app.AppCodec().MustMarshalJSON(stakingGenesis) diff --git a/testing/simapp/app.go b/testing/simapp/app.go index 5c9eedf6767..d1463889779 100644 --- a/testing/simapp/app.go +++ b/testing/simapp/app.go @@ -80,6 +80,14 @@ import ( upgradeclient "github.com/cosmos/cosmos-sdk/x/upgrade/client" upgradekeeper "github.com/cosmos/cosmos-sdk/x/upgrade/keeper" upgradetypes "github.com/cosmos/cosmos-sdk/x/upgrade/types" + ica "github.com/cosmos/ibc-go/v2/modules/apps/27-interchain-accounts" + icacontroller "github.com/cosmos/ibc-go/v2/modules/apps/27-interchain-accounts/controller" + icacontrollerkeeper "github.com/cosmos/ibc-go/v2/modules/apps/27-interchain-accounts/controller/keeper" + icacontrollertypes "github.com/cosmos/ibc-go/v2/modules/apps/27-interchain-accounts/controller/types" + icahost "github.com/cosmos/ibc-go/v2/modules/apps/27-interchain-accounts/host" + icahostkeeper "github.com/cosmos/ibc-go/v2/modules/apps/27-interchain-accounts/host/keeper" + icahosttypes "github.com/cosmos/ibc-go/v2/modules/apps/27-interchain-accounts/host/types" + icatypes "github.com/cosmos/ibc-go/v2/modules/apps/27-interchain-accounts/types" transfer "github.com/cosmos/ibc-go/v2/modules/apps/transfer" ibctransferkeeper "github.com/cosmos/ibc-go/v2/modules/apps/transfer/keeper" ibctransfertypes "github.com/cosmos/ibc-go/v2/modules/apps/transfer/types" @@ -130,6 +138,7 @@ var ( evidence.AppModuleBasic{}, transfer.AppModuleBasic{}, ibcmock.AppModuleBasic{}, + ica.AppModuleBasic{}, authzmodule.AppModuleBasic{}, vesting.AppModuleBasic{}, ) @@ -143,6 +152,7 @@ var ( stakingtypes.NotBondedPoolName: {authtypes.Burner, authtypes.Staking}, govtypes.ModuleName: {authtypes.Burner}, ibctransfertypes.ModuleName: {authtypes.Minter, authtypes.Burner}, + icatypes.ModuleName: nil, } ) @@ -168,27 +178,36 @@ type SimApp struct { memKeys map[string]*sdk.MemoryStoreKey // keepers - AccountKeeper authkeeper.AccountKeeper - BankKeeper bankkeeper.Keeper - CapabilityKeeper *capabilitykeeper.Keeper - StakingKeeper stakingkeeper.Keeper - SlashingKeeper slashingkeeper.Keeper - MintKeeper mintkeeper.Keeper - DistrKeeper distrkeeper.Keeper - GovKeeper govkeeper.Keeper - CrisisKeeper crisiskeeper.Keeper - UpgradeKeeper upgradekeeper.Keeper - ParamsKeeper paramskeeper.Keeper - AuthzKeeper authzkeeper.Keeper - IBCKeeper *ibckeeper.Keeper // IBC Keeper must be a pointer in the app, so we can SetRouter on it correctly - EvidenceKeeper evidencekeeper.Keeper - TransferKeeper ibctransferkeeper.Keeper - FeeGrantKeeper feegrantkeeper.Keeper + AccountKeeper authkeeper.AccountKeeper + BankKeeper bankkeeper.Keeper + CapabilityKeeper *capabilitykeeper.Keeper + StakingKeeper stakingkeeper.Keeper + SlashingKeeper slashingkeeper.Keeper + MintKeeper mintkeeper.Keeper + DistrKeeper distrkeeper.Keeper + GovKeeper govkeeper.Keeper + CrisisKeeper crisiskeeper.Keeper + UpgradeKeeper upgradekeeper.Keeper + ParamsKeeper paramskeeper.Keeper + AuthzKeeper authzkeeper.Keeper + IBCKeeper *ibckeeper.Keeper // IBC Keeper must be a pointer in the app, so we can SetRouter on it correctly + ICAControllerKeeper icacontrollerkeeper.Keeper + ICAHostKeeper icahostkeeper.Keeper + EvidenceKeeper evidencekeeper.Keeper + TransferKeeper ibctransferkeeper.Keeper + FeeGrantKeeper feegrantkeeper.Keeper // make scoped keepers public for test purposes - ScopedIBCKeeper capabilitykeeper.ScopedKeeper - ScopedTransferKeeper capabilitykeeper.ScopedKeeper - ScopedIBCMockKeeper capabilitykeeper.ScopedKeeper + ScopedIBCKeeper capabilitykeeper.ScopedKeeper + ScopedTransferKeeper capabilitykeeper.ScopedKeeper + ScopedICAControllerKeeper capabilitykeeper.ScopedKeeper + ScopedICAHostKeeper capabilitykeeper.ScopedKeeper + ScopedIBCMockKeeper capabilitykeeper.ScopedKeeper + ScopedICAMockKeeper capabilitykeeper.ScopedKeeper + + // make IBC modules public for test purposes + // these modules are never directly routed to by the IBC Router + ICAAuthModule ibcmock.IBCModule // the module manager mm *module.Manager @@ -229,7 +248,7 @@ func NewSimApp( authtypes.StoreKey, banktypes.StoreKey, stakingtypes.StoreKey, minttypes.StoreKey, distrtypes.StoreKey, slashingtypes.StoreKey, govtypes.StoreKey, paramstypes.StoreKey, ibchost.StoreKey, upgradetypes.StoreKey, feegrant.StoreKey, - evidencetypes.StoreKey, ibctransfertypes.StoreKey, capabilitytypes.StoreKey, + evidencetypes.StoreKey, ibctransfertypes.StoreKey, icacontrollertypes.StoreKey, icahosttypes.StoreKey, capabilitytypes.StoreKey, authzkeeper.StoreKey, ) tkeys := sdk.NewTransientStoreKeys(paramstypes.TStoreKey) @@ -255,9 +274,13 @@ func NewSimApp( app.CapabilityKeeper = capabilitykeeper.NewKeeper(appCodec, keys[capabilitytypes.StoreKey], memKeys[capabilitytypes.MemStoreKey]) scopedIBCKeeper := app.CapabilityKeeper.ScopeToModule(ibchost.ModuleName) scopedTransferKeeper := app.CapabilityKeeper.ScopeToModule(ibctransfertypes.ModuleName) + scopedICAControllerKeeper := app.CapabilityKeeper.ScopeToModule(icacontrollertypes.SubModuleName) + scopedICAHostKeeper := app.CapabilityKeeper.ScopeToModule(icahosttypes.SubModuleName) + // NOTE: the IBC mock keeper and application module is used only for testing core IBC. Do - // note replicate if you do not need to test core IBC or light clients. + // not replicate if you do not need to test core IBC or light clients. scopedIBCMockKeeper := app.CapabilityKeeper.ScopeToModule(ibcmock.ModuleName) + scopedICAMockKeeper := app.CapabilityKeeper.ScopeToModule(ibcmock.ModuleName + icacontrollertypes.SubModuleName) // seal capability keeper after scoping modules app.CapabilityKeeper.Seal() @@ -323,15 +346,41 @@ func NewSimApp( ) transferModule := transfer.NewAppModule(app.TransferKeeper) transferIBCModule := transfer.NewIBCModule(app.TransferKeeper) + // NOTE: the IBC mock keeper and application module is used only for testing core IBC. Do - // note replicate if you do not need to test core IBC or light clients. + // not replicate if you do not need to test core IBC or light clients. mockModule := ibcmock.NewAppModule(scopedIBCMockKeeper, &app.IBCKeeper.PortKeeper) mockIBCModule := ibcmock.NewIBCModule(&ibcmock.MockIBCApp{}, scopedIBCMockKeeper) - // Create static IBC router, add transfer route, then set and seal it + app.ICAControllerKeeper = icacontrollerkeeper.NewKeeper( + appCodec, keys[icacontrollertypes.StoreKey], app.GetSubspace(icacontrollertypes.SubModuleName), + app.IBCKeeper.ChannelKeeper, // may be replaced with middleware such as ics29 fee + app.IBCKeeper.ChannelKeeper, &app.IBCKeeper.PortKeeper, + app.AccountKeeper, scopedICAControllerKeeper, app.MsgServiceRouter(), + ) + + app.ICAHostKeeper = icahostkeeper.NewKeeper( + appCodec, keys[icahosttypes.StoreKey], app.GetSubspace(icahosttypes.SubModuleName), + app.IBCKeeper.ChannelKeeper, &app.IBCKeeper.PortKeeper, + app.AccountKeeper, scopedICAHostKeeper, app.MsgServiceRouter(), + ) + + icaModule := ica.NewAppModule(&app.ICAControllerKeeper, &app.ICAHostKeeper) + + // initialize ICA module with mock module as the authentication module on the controller side + icaAuthModule := ibcmock.NewIBCModule(&ibcmock.MockIBCApp{}, scopedICAMockKeeper) + app.ICAAuthModule = icaAuthModule + + icaControllerIBCModule := icacontroller.NewIBCModule(app.ICAControllerKeeper, icaAuthModule) + icaHostIBCModule := icahost.NewIBCModule(app.ICAHostKeeper) + + // Create static IBC router, add app routes, then set and seal it ibcRouter := porttypes.NewRouter() - ibcRouter.AddRoute(ibctransfertypes.ModuleName, transferIBCModule) - ibcRouter.AddRoute(ibcmock.ModuleName, mockIBCModule) + ibcRouter.AddRoute(icacontrollertypes.SubModuleName, icaControllerIBCModule). + AddRoute(icahosttypes.SubModuleName, icaHostIBCModule). + AddRoute(ibcmock.ModuleName+icacontrollertypes.SubModuleName, icaControllerIBCModule). // ica with mock auth module stack route to ica (top level of middleware stack) + AddRoute(ibctransfertypes.ModuleName, transferIBCModule). + AddRoute(ibcmock.ModuleName, mockIBCModule) app.IBCKeeper.SetRouter(ibcRouter) // create evidence keeper with router @@ -371,6 +420,7 @@ func NewSimApp( params.NewAppModule(app.ParamsKeeper), authzmodule.NewAppModule(appCodec, app.AuthzKeeper, app.AccountKeeper, app.BankKeeper, app.interfaceRegistry), transferModule, + icaModule, mockModule, ) @@ -394,7 +444,7 @@ func NewSimApp( capabilitytypes.ModuleName, authtypes.ModuleName, banktypes.ModuleName, distrtypes.ModuleName, stakingtypes.ModuleName, slashingtypes.ModuleName, govtypes.ModuleName, minttypes.ModuleName, crisistypes.ModuleName, ibchost.ModuleName, genutiltypes.ModuleName, evidencetypes.ModuleName, authz.ModuleName, ibctransfertypes.ModuleName, - ibcmock.ModuleName, feegrant.ModuleName, + icatypes.ModuleName, ibcmock.ModuleName, feegrant.ModuleName, ) app.mm.RegisterInvariants(&app.CrisisKeeper) @@ -461,10 +511,13 @@ func NewSimApp( app.ScopedIBCKeeper = scopedIBCKeeper app.ScopedTransferKeeper = scopedTransferKeeper + app.ScopedICAControllerKeeper = scopedICAControllerKeeper + app.ScopedICAHostKeeper = scopedICAHostKeeper // NOTE: the IBC mock keeper and application module is used only for testing core IBC. Do // note replicate if you do not need to test core IBC or light clients. app.ScopedIBCMockKeeper = scopedIBCMockKeeper + app.ScopedICAMockKeeper = scopedICAMockKeeper return app } @@ -579,11 +632,6 @@ func (app *SimApp) GetScopedIBCKeeper() capabilitykeeper.ScopedKeeper { return app.ScopedIBCKeeper } -// GetMockModule returns the mock module in the testing application -func (app *SimApp) GetMockModule() ibcmock.AppModule { - return app.mm.Modules[ibcmock.ModuleName].(ibcmock.AppModule) -} - // GetTxConfig implements the TestingApp interface. func (app *SimApp) GetTxConfig() client.TxConfig { return MakeTestEncodingConfig().TxConfig @@ -660,6 +708,8 @@ func initParamsKeeper(appCodec codec.BinaryCodec, legacyAmino *codec.LegacyAmino paramsKeeper.Subspace(crisistypes.ModuleName) paramsKeeper.Subspace(ibctransfertypes.ModuleName) paramsKeeper.Subspace(ibchost.ModuleName) + paramsKeeper.Subspace(icacontrollertypes.SubModuleName) + paramsKeeper.Subspace(icahosttypes.SubModuleName) return paramsKeeper } diff --git a/third_party/proto/cosmos/auth/v1beta1/auth.proto b/third_party/proto/cosmos/auth/v1beta1/auth.proto new file mode 100644 index 00000000000..79071456f6e --- /dev/null +++ b/third_party/proto/cosmos/auth/v1beta1/auth.proto @@ -0,0 +1,51 @@ +syntax = "proto3"; +package cosmos.auth.v1beta1; + +import "cosmos_proto/cosmos.proto"; +import "gogoproto/gogo.proto"; +import "google/protobuf/any.proto"; + +option go_package = "github.com/cosmos/cosmos-sdk/x/auth/types"; + +// BaseAccount defines a base account type. It contains all the necessary fields +// for basic account functionality. Any custom account type should extend this +// type for additional functionality (e.g. vesting). +message BaseAccount { + option (gogoproto.goproto_getters) = false; + option (gogoproto.goproto_stringer) = false; + option (gogoproto.equal) = false; + + option (cosmos_proto.implements_interface) = "AccountI"; + + string address = 1; + google.protobuf.Any pub_key = 2 + [(gogoproto.jsontag) = "public_key,omitempty", (gogoproto.moretags) = "yaml:\"public_key\""]; + uint64 account_number = 3 [(gogoproto.moretags) = "yaml:\"account_number\""]; + uint64 sequence = 4; +} + +// ModuleAccount defines an account for modules that holds coins on a pool. +message ModuleAccount { + option (gogoproto.goproto_getters) = false; + option (gogoproto.goproto_stringer) = false; + option (cosmos_proto.implements_interface) = "ModuleAccountI"; + + BaseAccount base_account = 1 [(gogoproto.embed) = true, (gogoproto.moretags) = "yaml:\"base_account\""]; + string name = 2; + repeated string permissions = 3; +} + +// Params defines the parameters for the auth module. +message Params { + option (gogoproto.equal) = true; + option (gogoproto.goproto_stringer) = false; + + uint64 max_memo_characters = 1 [(gogoproto.moretags) = "yaml:\"max_memo_characters\""]; + uint64 tx_sig_limit = 2 [(gogoproto.moretags) = "yaml:\"tx_sig_limit\""]; + uint64 tx_size_cost_per_byte = 3 [(gogoproto.moretags) = "yaml:\"tx_size_cost_per_byte\""]; + uint64 sig_verify_cost_ed25519 = 4 + [(gogoproto.customname) = "SigVerifyCostED25519", (gogoproto.moretags) = "yaml:\"sig_verify_cost_ed25519\""]; + uint64 sig_verify_cost_secp256k1 = 5 + [(gogoproto.customname) = "SigVerifyCostSecp256k1", (gogoproto.moretags) = "yaml:\"sig_verify_cost_secp256k1\""]; +} + diff --git a/third_party/proto/cosmos/auth/v1beta1/genesis.proto b/third_party/proto/cosmos/auth/v1beta1/genesis.proto new file mode 100644 index 00000000000..5d6823e6b35 --- /dev/null +++ b/third_party/proto/cosmos/auth/v1beta1/genesis.proto @@ -0,0 +1,18 @@ +syntax = "proto3"; +package cosmos.auth.v1beta1; + +import "google/protobuf/any.proto"; +import "gogoproto/gogo.proto"; +import "cosmos/auth/v1beta1/auth.proto"; + +option go_package = "github.com/cosmos/cosmos-sdk/x/auth/types"; + +// GenesisState defines the auth module's genesis state. +message GenesisState { + // params defines all the paramaters of the module. + Params params = 1 [(gogoproto.nullable) = false]; + + // accounts are the accounts present at genesis. + repeated google.protobuf.Any accounts = 2; +} + diff --git a/third_party/proto/cosmos/auth/v1beta1/query.proto b/third_party/proto/cosmos/auth/v1beta1/query.proto new file mode 100644 index 00000000000..2c438c7b5ed --- /dev/null +++ b/third_party/proto/cosmos/auth/v1beta1/query.proto @@ -0,0 +1,48 @@ +syntax = "proto3"; +package cosmos.auth.v1beta1; + +import "gogoproto/gogo.proto"; +import "google/protobuf/any.proto"; +import "google/api/annotations.proto"; +import "cosmos/auth/v1beta1/auth.proto"; +import "cosmos_proto/cosmos.proto"; + +option go_package = "github.com/cosmos/cosmos-sdk/x/auth/types"; + +// Query defines the gRPC querier service. +service Query { + // Account returns account details based on address. + rpc Account(QueryAccountRequest) returns (QueryAccountResponse) { + option (google.api.http).get = "/cosmos/auth/v1beta1/accounts/{address}"; + } + + // Params queries all parameters. + rpc Params(QueryParamsRequest) returns (QueryParamsResponse) { + option (google.api.http).get = "/cosmos/auth/v1beta1/params"; + } +} + +// QueryAccountRequest is the request type for the Query/Account RPC method. +message QueryAccountRequest { + option (gogoproto.equal) = false; + option (gogoproto.goproto_getters) = false; + + // address defines the address to query for. + string address = 1; +} + +// QueryAccountResponse is the response type for the Query/Account RPC method. +message QueryAccountResponse { + // account defines the account of the corresponding address. + google.protobuf.Any account = 1 [(cosmos_proto.accepts_interface) = "AccountI"]; +} + +// QueryParamsRequest is the request type for the Query/Params RPC method. +message QueryParamsRequest {} + +// QueryParamsResponse is the response type for the Query/Params RPC method. +message QueryParamsResponse { + // params defines the parameters of the module. + Params params = 1 [(gogoproto.nullable) = false]; +} + diff --git a/third_party/proto/cosmos_proto/cosmos.proto b/third_party/proto/cosmos_proto/cosmos.proto new file mode 100644 index 00000000000..167b170757b --- /dev/null +++ b/third_party/proto/cosmos_proto/cosmos.proto @@ -0,0 +1,16 @@ +syntax = "proto3"; +package cosmos_proto; + +import "google/protobuf/descriptor.proto"; + +option go_package = "github.com/regen-network/cosmos-proto"; + +extend google.protobuf.MessageOptions { + string interface_type = 93001; + + string implements_interface = 93002; +} + +extend google.protobuf.FieldOptions { + string accepts_interface = 93001; +} From ce8b564f156c40952601a2eb71848c0b4367efbc Mon Sep 17 00:00:00 2001 From: Carlos Rodriguez Date: Wed, 8 Dec 2021 10:16:58 +0100 Subject: [PATCH 063/107] update changelog (#602) Co-authored-by: Carlos Rodriguez --- CHANGELOG.md | 36 +++++++++++++++++++++++++++++++++++- 1 file changed, 35 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index dab57d2ed7a..6e0a37d0a44 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -51,7 +51,6 @@ Ref: https://keepachangelog.com/en/1.0.0/ * [\#383](https://github.com/cosmos/ibc-go/pull/383) Adds helper functions for merging and splitting middleware versions from the underlying app version. * (modules/core/05-port) [\#288](https://github.com/cosmos/ibc-go/issues/288) Making the 05-port keeper function IsBound public. The IsBound function checks if the provided portID is already binded to a module. -* (02-client) [\#568](https://github.com/cosmos/ibc-go/pull/568) In IBC `transfer` cli command use local clock time as reference for relative timestamp timeout if greater than the block timestamp queried from the latest consensus state corresponding to the counterparty channel. ### Features @@ -59,6 +58,19 @@ Ref: https://keepachangelog.com/en/1.0.0/ ### Bug Fixes +## [v2.0.1](https://github.com/cosmos/ibc-go/releases/tag/v2.0.1) - 2021-12-05 + +### Dependencies + +* [\#567](https://github.com/cosmos/ibc-go/pull/567) Bump SDK version to v0.44.4 + +### Improvements + +* (02-client) [\#568](https://github.com/cosmos/ibc-go/pull/568) In IBC `transfer` cli command use local clock time as reference for relative timestamp timeout if greater than the block timestamp queried from the latest consensus state corresponding to the counterparty channel. +* [\#583](https://github.com/cosmos/ibc-go/pull/583) Move third_party/proto/confio/proofs.proto to third_party/proto/proofs.proto to enable proto service reflection. Migrate `buf` from v1beta1 to v1. + +### Bug Fixes + * (02-client) [\#500](https://github.com/cosmos/ibc-go/pull/500) Fix IBC `update-client proposal` cli command to expect correct number of args. ## [v2.0.0](https://github.com/cosmos/ibc-go/releases/tag/v2.0.0) - 2021-11-09 @@ -77,6 +89,16 @@ Ref: https://keepachangelog.com/en/1.0.0/ * [\#384](https://github.com/cosmos/ibc-go/pull/384) Added `NegotiateAppVersion` method to `IBCModule` interface supported by a gRPC query service in `05-port`. This provides routing of requests to the desired application module callback, which in turn performs application version negotiation. +## [v1.2.4](https://github.com/cosmos/ibc-go/releases/tag/v1.2.4) - 2021-12-05 + +### Dependencies + +* [\#567](https://github.com/cosmos/ibc-go/pull/567) Bump SDK version to v0.44.4 + +### Improvements + +* [\#583](https://github.com/cosmos/ibc-go/pull/583) Move third_party/proto/confio/proofs.proto to third_party/proto/proofs.proto to enable proto service reflection. Migrate `buf` from v1beta1 to v1. + ## [v1.2.3](https://github.com/cosmos/ibc-go/releases/tag/v1.2.3) - 2021-11-09 ### Dependencies @@ -86,6 +108,8 @@ Ref: https://keepachangelog.com/en/1.0.0/ ## [v1.2.2](https://github.com/cosmos/ibc-go/releases/tag/v1.2.2) - 2021-10-15 +### Dependencies + * [\#485](https://github.com/cosmos/ibc-go/pull/485) Bump SDK version to v0.44.2 ## [v1.2.1](https://github.com/cosmos/ibc-go/releases/tag/v1.2.1) - 2021-10-04 @@ -112,6 +136,16 @@ Ref: https://keepachangelog.com/en/1.0.0/ * [\#386](https://github.com/cosmos/ibc-go/pull/386) Bump [tendermint](https://github.com/tendermint/tendermint) from v0.34.12 to v0.34.13. +## [v1.1.4](https://github.com/cosmos/ibc-go/releases/tag/v1.1.4) - 2021-12-05 + +### Dependencies + +* [\#567](https://github.com/cosmos/ibc-go/pull/567) Bump SDK version to v0.44.4 + +### Improvements + +* [\#583](https://github.com/cosmos/ibc-go/pull/583) Move third_party/proto/confio/proofs.proto to third_party/proto/proofs.proto to enable proto service reflection. Migrate `buf` from v1beta1 to v1. + ## [v1.1.3](https://github.com/cosmos/ibc-go/releases/tag/v1.1.3) - 2021-11-09 ### Dependencies From d618e137b73d695bd93a731748ce2e8d1b1fda4f Mon Sep 17 00:00:00 2001 From: Sean King Date: Wed, 8 Dec 2021 15:51:02 +0100 Subject: [PATCH 064/107] chore: add changelog for ICA (#604) --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 6e0a37d0a44..8bd3a48a16d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -234,6 +234,7 @@ Ref: https://keepachangelog.com/en/1.0.0/ ### Features * [\#198](https://github.com/cosmos/ibc-go/pull/198) New CLI command `query ibc-transfer escrow-address ` to get the escrow address for a channel; can be used to then query balance of escrowed tokens +* [\#380](https://github.com/cosmos/ibc-go/pull/380) Adding the Interchain Accounts module v1 ### Client Breaking Changes From 7a0fedddf6a038fdda8b6911a345b7c6ab8a564e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?colin=20axn=C3=A9r?= <25233464+colin-axner@users.noreply.github.com> Date: Wed, 8 Dec 2021 15:57:27 +0100 Subject: [PATCH 065/107] bump go package to v3 (#605) * add migration doc * bump go package to v3 * fix migration doc * revert unnecessary change * Update docs/migrations/v2-to-v3.md Co-authored-by: Damian Nolan Co-authored-by: Damian Nolan --- docs/migrations/v2-to-v3.md | 41 ++++ go.mod | 2 +- .../27-interchain-accounts/client/cli/cli.go | 4 +- .../controller/client/cli/query.go | 2 +- .../controller/ibc_module.go | 12 +- .../controller/ibc_module_test.go | 12 +- .../controller/keeper/account.go | 6 +- .../controller/keeper/account_test.go | 4 +- .../controller/keeper/genesis.go | 4 +- .../controller/keeper/genesis_test.go | 8 +- .../controller/keeper/grpc_query.go | 2 +- .../controller/keeper/grpc_query_test.go | 2 +- .../controller/keeper/handshake.go | 8 +- .../controller/keeper/handshake_test.go | 8 +- .../controller/keeper/keeper.go | 6 +- .../controller/keeper/keeper_test.go | 6 +- .../controller/keeper/params.go | 2 +- .../controller/keeper/params_test.go | 2 +- .../controller/keeper/relay.go | 6 +- .../controller/keeper/relay_test.go | 10 +- .../controller/types/controller.pb.go | 34 ++-- .../controller/types/params_test.go | 2 +- .../controller/types/query.pb.go | 44 ++--- .../host/client/cli/query.go | 2 +- .../27-interchain-accounts/host/ibc_module.go | 10 +- .../host/ibc_module_test.go | 14 +- .../host/keeper/account.go | 2 +- .../host/keeper/account_test.go | 4 +- .../host/keeper/genesis.go | 4 +- .../host/keeper/genesis_test.go | 8 +- .../host/keeper/grpc_query.go | 2 +- .../host/keeper/grpc_query_test.go | 2 +- .../host/keeper/handshake.go | 10 +- .../host/keeper/handshake_test.go | 8 +- .../host/keeper/keeper.go | 8 +- .../host/keeper/keeper_test.go | 6 +- .../host/keeper/params.go | 2 +- .../host/keeper/params_test.go | 2 +- .../host/keeper/relay.go | 6 +- .../host/keeper/relay_test.go | 12 +- .../host/types/host.pb.go | 6 +- .../host/types/params_test.go | 2 +- .../host/types/query.pb.go | 44 ++--- modules/apps/27-interchain-accounts/module.go | 18 +- .../types/account.pb.go | 6 +- .../types/account_test.go | 4 +- .../types/codec_test.go | 4 +- .../types/expected_keepers.go | 4 +- .../27-interchain-accounts/types/genesis.go | 6 +- .../types/genesis.pb.go | 84 ++++---- .../types/genesis_test.go | 8 +- .../27-interchain-accounts/types/keys_test.go | 2 +- .../types/packet_test.go | 2 +- .../apps/27-interchain-accounts/types/port.go | 4 +- .../27-interchain-accounts/types/port_test.go | 4 +- .../27-interchain-accounts/types/types.pb.go | 46 ++--- .../types/version_test.go | 2 +- modules/apps/transfer/client/cli/query.go | 2 +- modules/apps/transfer/client/cli/tx.go | 6 +- modules/apps/transfer/ibc_module.go | 12 +- modules/apps/transfer/ibc_module_test.go | 8 +- modules/apps/transfer/keeper/encoding.go | 2 +- modules/apps/transfer/keeper/genesis.go | 2 +- modules/apps/transfer/keeper/genesis_test.go | 2 +- modules/apps/transfer/keeper/grpc_query.go | 2 +- .../apps/transfer/keeper/grpc_query_test.go | 2 +- modules/apps/transfer/keeper/keeper.go | 4 +- modules/apps/transfer/keeper/keeper_test.go | 4 +- .../apps/transfer/keeper/mbt_relay_test.go | 8 +- modules/apps/transfer/keeper/msg_server.go | 2 +- modules/apps/transfer/keeper/params.go | 2 +- modules/apps/transfer/keeper/params_test.go | 2 +- modules/apps/transfer/keeper/relay.go | 10 +- modules/apps/transfer/keeper/relay_test.go | 12 +- modules/apps/transfer/module.go | 10 +- modules/apps/transfer/simulation/decoder.go | 2 +- .../apps/transfer/simulation/decoder_test.go | 6 +- modules/apps/transfer/simulation/genesis.go | 2 +- .../apps/transfer/simulation/genesis_test.go | 4 +- modules/apps/transfer/simulation/params.go | 2 +- .../apps/transfer/simulation/params_test.go | 2 +- modules/apps/transfer/transfer_test.go | 8 +- .../apps/transfer/types/expected_keepers.go | 6 +- modules/apps/transfer/types/genesis.go | 2 +- modules/apps/transfer/types/genesis.pb.go | 44 ++--- modules/apps/transfer/types/genesis_test.go | 2 +- modules/apps/transfer/types/keys_test.go | 2 +- modules/apps/transfer/types/msgs.go | 4 +- modules/apps/transfer/types/msgs_test.go | 2 +- modules/apps/transfer/types/packet.pb.go | 33 ++-- modules/apps/transfer/types/query.pb.go | 66 +++---- modules/apps/transfer/types/trace.go | 2 +- modules/apps/transfer/types/transfer.pb.go | 34 ++-- modules/apps/transfer/types/tx.pb.go | 66 +++---- modules/core/02-client/abci.go | 6 +- modules/core/02-client/abci_test.go | 12 +- modules/core/02-client/client/cli/cli.go | 2 +- modules/core/02-client/client/cli/query.go | 6 +- modules/core/02-client/client/cli/tx.go | 4 +- .../core/02-client/client/proposal_handler.go | 2 +- modules/core/02-client/client/utils/utils.go | 12 +- modules/core/02-client/genesis.go | 6 +- modules/core/02-client/keeper/client.go | 4 +- modules/core/02-client/keeper/client_test.go | 16 +- modules/core/02-client/keeper/encoding.go | 4 +- modules/core/02-client/keeper/grpc_query.go | 6 +- .../core/02-client/keeper/grpc_query_test.go | 10 +- modules/core/02-client/keeper/keeper.go | 10 +- modules/core/02-client/keeper/keeper_test.go | 18 +- modules/core/02-client/keeper/migrations.go | 2 +- modules/core/02-client/keeper/params.go | 2 +- modules/core/02-client/keeper/params_test.go | 2 +- modules/core/02-client/keeper/proposal.go | 4 +- .../core/02-client/keeper/proposal_test.go | 8 +- modules/core/02-client/legacy/v100/genesis.go | 8 +- .../02-client/legacy/v100/genesis_test.go | 16 +- .../core/02-client/legacy/v100/solomachine.go | 2 +- .../02-client/legacy/v100/solomachine.pb.go | 178 ++++++++--------- modules/core/02-client/legacy/v100/store.go | 12 +- .../core/02-client/legacy/v100/store_test.go | 12 +- modules/core/02-client/module.go | 4 +- modules/core/02-client/proposal_handler.go | 4 +- .../core/02-client/proposal_handler_test.go | 8 +- modules/core/02-client/simulation/decoder.go | 6 +- .../core/02-client/simulation/decoder_test.go | 10 +- modules/core/02-client/simulation/genesis.go | 2 +- modules/core/02-client/types/client.go | 4 +- modules/core/02-client/types/client.pb.go | 92 ++++----- modules/core/02-client/types/client_test.go | 4 +- modules/core/02-client/types/codec.go | 2 +- modules/core/02-client/types/codec_test.go | 12 +- modules/core/02-client/types/encoding.go | 2 +- modules/core/02-client/types/encoding_test.go | 4 +- modules/core/02-client/types/events.go | 2 +- modules/core/02-client/types/genesis.go | 4 +- modules/core/02-client/types/genesis.pb.go | 60 +++--- modules/core/02-client/types/genesis_test.go | 16 +- modules/core/02-client/types/height.go | 2 +- modules/core/02-client/types/height_test.go | 2 +- modules/core/02-client/types/keys.go | 2 +- modules/core/02-client/types/keys_test.go | 2 +- modules/core/02-client/types/msgs.go | 4 +- modules/core/02-client/types/msgs_test.go | 12 +- modules/core/02-client/types/params.go | 2 +- modules/core/02-client/types/params_test.go | 2 +- modules/core/02-client/types/proposal.go | 2 +- modules/core/02-client/types/proposal_test.go | 6 +- modules/core/02-client/types/query.go | 2 +- modules/core/02-client/types/query.pb.go | 6 +- modules/core/02-client/types/tx.pb.go | 78 ++++---- modules/core/03-connection/client/cli/cli.go | 2 +- .../core/03-connection/client/cli/query.go | 6 +- .../core/03-connection/client/utils/utils.go | 14 +- modules/core/03-connection/genesis.go | 4 +- .../core/03-connection/keeper/grpc_query.go | 6 +- .../03-connection/keeper/grpc_query_test.go | 8 +- .../core/03-connection/keeper/handshake.go | 8 +- .../03-connection/keeper/handshake_test.go | 12 +- modules/core/03-connection/keeper/keeper.go | 10 +- .../core/03-connection/keeper/keeper_test.go | 4 +- modules/core/03-connection/keeper/params.go | 2 +- .../core/03-connection/keeper/params_test.go | 2 +- modules/core/03-connection/keeper/verify.go | 4 +- .../core/03-connection/keeper/verify_test.go | 16 +- modules/core/03-connection/module.go | 4 +- .../core/03-connection/simulation/decoder.go | 4 +- .../03-connection/simulation/decoder_test.go | 8 +- .../core/03-connection/simulation/genesis.go | 2 +- modules/core/03-connection/types/codec.go | 2 +- .../core/03-connection/types/connection.go | 6 +- .../core/03-connection/types/connection.pb.go | 70 +++---- .../03-connection/types/connection_test.go | 8 +- modules/core/03-connection/types/events.go | 2 +- .../03-connection/types/expected_keepers.go | 2 +- modules/core/03-connection/types/genesis.go | 2 +- .../core/03-connection/types/genesis.pb.go | 4 +- .../core/03-connection/types/genesis_test.go | 6 +- modules/core/03-connection/types/keys.go | 2 +- modules/core/03-connection/types/keys_test.go | 2 +- modules/core/03-connection/types/msgs.go | 8 +- modules/core/03-connection/types/msgs_test.go | 12 +- .../core/03-connection/types/params_test.go | 2 +- modules/core/03-connection/types/query.go | 4 +- modules/core/03-connection/types/query.pb.go | 82 ++++---- modules/core/03-connection/types/tx.pb.go | 90 ++++----- modules/core/03-connection/types/version.go | 2 +- .../core/03-connection/types/version_test.go | 6 +- modules/core/04-channel/client/cli/cli.go | 2 +- modules/core/04-channel/client/cli/query.go | 6 +- modules/core/04-channel/client/utils/utils.go | 12 +- modules/core/04-channel/genesis.go | 4 +- modules/core/04-channel/keeper/events.go | 4 +- modules/core/04-channel/keeper/grpc_query.go | 8 +- .../core/04-channel/keeper/grpc_query_test.go | 10 +- modules/core/04-channel/keeper/handshake.go | 10 +- .../core/04-channel/keeper/handshake_test.go | 12 +- modules/core/04-channel/keeper/keeper.go | 12 +- modules/core/04-channel/keeper/keeper_test.go | 4 +- modules/core/04-channel/keeper/packet.go | 10 +- modules/core/04-channel/keeper/packet_test.go | 16 +- modules/core/04-channel/keeper/timeout.go | 8 +- .../core/04-channel/keeper/timeout_test.go | 12 +- modules/core/04-channel/module.go | 4 +- modules/core/04-channel/simulation/decoder.go | 4 +- .../04-channel/simulation/decoder_test.go | 8 +- modules/core/04-channel/simulation/genesis.go | 2 +- .../04-channel/types/acknowledgement_test.go | 2 +- modules/core/04-channel/types/channel.go | 4 +- modules/core/04-channel/types/channel.pb.go | 116 +++++------ modules/core/04-channel/types/channel_test.go | 2 +- modules/core/04-channel/types/codec.go | 2 +- modules/core/04-channel/types/events.go | 2 +- .../core/04-channel/types/expected_keepers.go | 4 +- modules/core/04-channel/types/genesis.go | 2 +- modules/core/04-channel/types/genesis.pb.go | 48 ++--- modules/core/04-channel/types/genesis_test.go | 2 +- modules/core/04-channel/types/keys.go | 2 +- modules/core/04-channel/types/keys_test.go | 2 +- modules/core/04-channel/types/msgs.go | 6 +- modules/core/04-channel/types/msgs_test.go | 10 +- modules/core/04-channel/types/packet.go | 6 +- modules/core/04-channel/types/packet_test.go | 4 +- modules/core/04-channel/types/query.go | 4 +- modules/core/04-channel/types/query.pb.go | 186 +++++++++--------- modules/core/04-channel/types/tx.pb.go | 146 +++++++------- modules/core/04-channel/types/version_test.go | 2 +- modules/core/05-port/keeper/grpc_query.go | 4 +- .../core/05-port/keeper/grpc_query_test.go | 6 +- modules/core/05-port/keeper/keeper.go | 4 +- modules/core/05-port/keeper/keeper_test.go | 4 +- modules/core/05-port/module.go | 4 +- modules/core/05-port/types/module.go | 4 +- modules/core/05-port/types/query.pb.go | 52 ++--- modules/core/23-commitment/types/codec.go | 2 +- .../core/23-commitment/types/commitment.pb.go | 14 +- modules/core/23-commitment/types/merkle.go | 2 +- .../core/23-commitment/types/merkle_test.go | 2 +- .../core/23-commitment/types/utils_test.go | 2 +- modules/core/24-host/keys.go | 2 +- modules/core/24-host/parse_test.go | 4 +- modules/core/ante/ante.go | 6 +- modules/core/ante/ante_test.go | 10 +- modules/core/client/cli/cli.go | 8 +- modules/core/client/query.go | 6 +- modules/core/genesis.go | 10 +- modules/core/genesis_test.go | 22 +-- modules/core/keeper/grpc_query.go | 8 +- modules/core/keeper/keeper.go | 16 +- modules/core/keeper/migrations.go | 2 +- modules/core/keeper/msg_server.go | 10 +- modules/core/keeper/msg_server_test.go | 18 +- modules/core/legacy/v100/genesis.go | 10 +- modules/core/legacy/v100/genesis_test.go | 18 +- modules/core/module.go | 20 +- modules/core/simulation/decoder.go | 10 +- modules/core/simulation/decoder_test.go | 14 +- modules/core/simulation/genesis.go | 16 +- modules/core/simulation/genesis_test.go | 6 +- modules/core/types/codec.go | 14 +- modules/core/types/genesis.go | 6 +- modules/core/types/genesis.pb.go | 28 +-- modules/core/types/query.go | 16 +- .../light-clients/06-solomachine/module.go | 2 +- .../06-solomachine/types/client_state.go | 8 +- .../06-solomachine/types/client_state_test.go | 16 +- .../06-solomachine/types/codec.go | 4 +- .../06-solomachine/types/codec_test.go | 10 +- .../06-solomachine/types/consensus_state.go | 4 +- .../types/consensus_state_test.go | 6 +- .../06-solomachine/types/header.go | 4 +- .../06-solomachine/types/header_test.go | 6 +- .../06-solomachine/types/misbehaviour.go | 6 +- .../types/misbehaviour_handle.go | 4 +- .../types/misbehaviour_handle_test.go | 8 +- .../06-solomachine/types/misbehaviour_test.go | 6 +- .../06-solomachine/types/proof.go | 10 +- .../06-solomachine/types/proof_test.go | 6 +- .../06-solomachine/types/proposal_handle.go | 4 +- .../types/proposal_handle_test.go | 8 +- .../06-solomachine/types/solomachine.go | 2 +- .../06-solomachine/types/solomachine.pb.go | 178 ++++++++--------- .../06-solomachine/types/solomachine_test.go | 8 +- .../06-solomachine/types/update.go | 4 +- .../06-solomachine/types/update_test.go | 8 +- modules/light-clients/07-tendermint/module.go | 2 +- .../07-tendermint/types/client_state.go | 12 +- .../07-tendermint/types/client_state_test.go | 16 +- .../07-tendermint/types/codec.go | 2 +- .../07-tendermint/types/consensus_state.go | 6 +- .../types/consensus_state_test.go | 6 +- .../07-tendermint/types/genesis.go | 4 +- .../07-tendermint/types/genesis_test.go | 6 +- .../07-tendermint/types/header.go | 6 +- .../07-tendermint/types/header_test.go | 6 +- .../07-tendermint/types/misbehaviour.go | 6 +- .../types/misbehaviour_handle.go | 4 +- .../types/misbehaviour_handle_test.go | 12 +- .../07-tendermint/types/misbehaviour_test.go | 10 +- .../07-tendermint/types/proposal_handle.go | 4 +- .../types/proposal_handle_test.go | 8 +- .../07-tendermint/types/store.go | 6 +- .../07-tendermint/types/store_test.go | 14 +- .../07-tendermint/types/tendermint.pb.go | 114 +++++------ .../07-tendermint/types/tendermint_test.go | 10 +- .../07-tendermint/types/update.go | 6 +- .../07-tendermint/types/update_test.go | 12 +- .../07-tendermint/types/upgrade.go | 6 +- .../07-tendermint/types/upgrade_test.go | 10 +- modules/light-clients/09-localhost/module.go | 2 +- .../09-localhost/types/client_state.go | 10 +- .../09-localhost/types/client_state_test.go | 16 +- .../light-clients/09-localhost/types/codec.go | 2 +- .../09-localhost/types/localhost.pb.go | 6 +- .../09-localhost/types/localhost_test.go | 6 +- .../controller/v1/controller.proto | 2 +- .../controller/v1/query.proto | 3 +- .../interchain_accounts/host/v1/host.proto | 2 +- .../interchain_accounts/host/v1/query.proto | 3 +- .../interchain_accounts/v1/account.proto | 2 +- .../interchain_accounts/v1/genesis.proto | 2 +- .../interchain_accounts/v1/types.proto | 2 +- .../applications/transfer/v1/genesis.proto | 2 +- .../ibc/applications/transfer/v1/query.proto | 2 +- .../applications/transfer/v1/transfer.proto | 2 +- proto/ibc/applications/transfer/v1/tx.proto | 2 +- .../ibc/applications/transfer/v2/packet.proto | 2 +- proto/ibc/core/channel/v1/channel.proto | 2 +- proto/ibc/core/channel/v1/genesis.proto | 2 +- proto/ibc/core/channel/v1/query.proto | 2 +- proto/ibc/core/channel/v1/tx.proto | 2 +- proto/ibc/core/client/v1/client.proto | 2 +- proto/ibc/core/client/v1/genesis.proto | 2 +- proto/ibc/core/client/v1/query.proto | 2 +- proto/ibc/core/client/v1/tx.proto | 2 +- proto/ibc/core/commitment/v1/commitment.proto | 2 +- proto/ibc/core/connection/v1/connection.proto | 2 +- proto/ibc/core/connection/v1/genesis.proto | 2 +- proto/ibc/core/connection/v1/query.proto | 2 +- proto/ibc/core/connection/v1/tx.proto | 2 +- proto/ibc/core/port/v1/query.proto | 2 +- proto/ibc/core/types/v1/genesis.proto | 2 +- .../lightclients/localhost/v1/localhost.proto | 2 +- .../solomachine/v1/solomachine.proto | 2 +- .../solomachine/v2/solomachine.proto | 2 +- .../tendermint/v1/tendermint.proto | 2 +- testing/README.md | 4 +- testing/app.go | 4 +- testing/chain.go | 16 +- testing/chain_test.go | 4 +- testing/config.go | 10 +- testing/endpoint.go | 14 +- testing/events.go | 6 +- testing/mock/ibc_app.go | 4 +- testing/mock/ibc_module.go | 6 +- testing/mock/mock.go | 6 +- testing/mock/privval_test.go | 2 +- testing/path.go | 2 +- testing/sdk_test.go | 6 +- testing/simapp/app.go | 40 ++-- testing/simapp/encoding.go | 2 +- testing/simapp/genesis_account_test.go | 2 +- testing/simapp/sim_bench_test.go | 2 +- testing/simapp/sim_test.go | 6 +- testing/simapp/simd/cmd/cmd_test.go | 4 +- testing/simapp/simd/cmd/genaccounts_test.go | 4 +- testing/simapp/simd/cmd/root.go | 4 +- testing/simapp/simd/main.go | 4 +- testing/simapp/state.go | 2 +- testing/simapp/test_helpers.go | 2 +- testing/simapp/utils.go | 2 +- testing/solomachine.go | 10 +- testing/values.go | 12 +- 372 files changed, 2056 insertions(+), 2016 deletions(-) create mode 100644 docs/migrations/v2-to-v3.md diff --git a/docs/migrations/v2-to-v3.md b/docs/migrations/v2-to-v3.md new file mode 100644 index 00000000000..f3fad769d08 --- /dev/null +++ b/docs/migrations/v2-to-v3.md @@ -0,0 +1,41 @@ +# Migrating from v2.0.0 to v3.0.0 + +This document is intended to highlight significant changes which may require more information than presented in the CHANGELOG. +Any changes that must be done by a user of ibc-go should be documented here. + +There are four sections based on the four potential user groups of this document: +- Chains +- IBC Apps +- Relayers +- IBC Light Clients + +**Note:** ibc-go supports golang semantic versioning and therefore all imports must be updated to bump the version number on major releases. +```go +github.com/cosmos/ibc-go/v2 -> github.com/cosmos/ibc-go/v3 +``` + +No genesis or in-place migrations are required when upgrading from v1 or v2 of ibc-go. + +## Chains + +ICS27 Interchain Accounts has been added as a supported IBC application of ibc-go. + +## IBC Apps + +Previously, IBC module callbacks were apart of the `AppModule` type. +The recommended approach is to create an `IBCModule` type and move the IBC module callbacks from `AppModule` to `IBCModule` in a separate file `ibc_module.go`. + +The mock module go API has been broken in this release by applying the above format. +The IBC module callbacks have been moved from the mock modules `AppModule` into a new type `IBCModule`. + +As apart of this release, the mock module now supports middleware testing. Please see the [README](../../testing/README.md#middleware-testing) for more information. + +Please review the [mock](../../testing/mock/ibc_module.go) and [transfer](../../modules/apps/transfer/ibc_module.go) modules as examples. Additionally, [simapp](../../testing/simapp/app.go) provides an example of how `IBCModule` types should now be added to the IBC router in favour of `AppModule`. + +## Relayers + +- No relevant changes were made in this release. + +## IBC Light Clients + +- No relevant changes were made in this release. diff --git a/go.mod b/go.mod index 2f60220f62e..f9e8a8032bb 100644 --- a/go.mod +++ b/go.mod @@ -1,6 +1,6 @@ go 1.17 -module github.com/cosmos/ibc-go/v2 +module github.com/cosmos/ibc-go/v3 replace github.com/gogo/protobuf => github.com/regen-network/protobuf v1.3.3-alpha.regen.1 diff --git a/modules/apps/27-interchain-accounts/client/cli/cli.go b/modules/apps/27-interchain-accounts/client/cli/cli.go index 25a89600be7..95b49f29e2a 100644 --- a/modules/apps/27-interchain-accounts/client/cli/cli.go +++ b/modules/apps/27-interchain-accounts/client/cli/cli.go @@ -3,8 +3,8 @@ package cli import ( "github.com/spf13/cobra" - controllercli "github.com/cosmos/ibc-go/v2/modules/apps/27-interchain-accounts/controller/client/cli" - hostcli "github.com/cosmos/ibc-go/v2/modules/apps/27-interchain-accounts/host/client/cli" + controllercli "github.com/cosmos/ibc-go/v3/modules/apps/27-interchain-accounts/controller/client/cli" + hostcli "github.com/cosmos/ibc-go/v3/modules/apps/27-interchain-accounts/host/client/cli" ) // GetQueryCmd returns the query commands for the interchain-accounts submodule diff --git a/modules/apps/27-interchain-accounts/controller/client/cli/query.go b/modules/apps/27-interchain-accounts/controller/client/cli/query.go index 18c007ea2e9..3be2cf12704 100644 --- a/modules/apps/27-interchain-accounts/controller/client/cli/query.go +++ b/modules/apps/27-interchain-accounts/controller/client/cli/query.go @@ -8,7 +8,7 @@ import ( "github.com/cosmos/cosmos-sdk/client" "github.com/cosmos/cosmos-sdk/client/flags" "github.com/cosmos/cosmos-sdk/version" - "github.com/cosmos/ibc-go/v2/modules/apps/27-interchain-accounts/controller/types" + "github.com/cosmos/ibc-go/v3/modules/apps/27-interchain-accounts/controller/types" ) // GetCmdParams returns the command handler for the controller submodule parameter querying. diff --git a/modules/apps/27-interchain-accounts/controller/ibc_module.go b/modules/apps/27-interchain-accounts/controller/ibc_module.go index 897191eca08..dff1456d20c 100644 --- a/modules/apps/27-interchain-accounts/controller/ibc_module.go +++ b/modules/apps/27-interchain-accounts/controller/ibc_module.go @@ -5,12 +5,12 @@ import ( sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" capabilitytypes "github.com/cosmos/cosmos-sdk/x/capability/types" - "github.com/cosmos/ibc-go/v2/modules/apps/27-interchain-accounts/controller/keeper" - "github.com/cosmos/ibc-go/v2/modules/apps/27-interchain-accounts/controller/types" - icatypes "github.com/cosmos/ibc-go/v2/modules/apps/27-interchain-accounts/types" - channeltypes "github.com/cosmos/ibc-go/v2/modules/core/04-channel/types" - porttypes "github.com/cosmos/ibc-go/v2/modules/core/05-port/types" - ibcexported "github.com/cosmos/ibc-go/v2/modules/core/exported" + "github.com/cosmos/ibc-go/v3/modules/apps/27-interchain-accounts/controller/keeper" + "github.com/cosmos/ibc-go/v3/modules/apps/27-interchain-accounts/controller/types" + icatypes "github.com/cosmos/ibc-go/v3/modules/apps/27-interchain-accounts/types" + channeltypes "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types" + porttypes "github.com/cosmos/ibc-go/v3/modules/core/05-port/types" + ibcexported "github.com/cosmos/ibc-go/v3/modules/core/exported" ) // IBCModule implements the ICS26 interface for interchain accounts controller chains diff --git a/modules/apps/27-interchain-accounts/controller/ibc_module_test.go b/modules/apps/27-interchain-accounts/controller/ibc_module_test.go index 0cba3a54eae..ea4fc108f49 100644 --- a/modules/apps/27-interchain-accounts/controller/ibc_module_test.go +++ b/modules/apps/27-interchain-accounts/controller/ibc_module_test.go @@ -9,12 +9,12 @@ import ( "github.com/stretchr/testify/suite" "github.com/tendermint/tendermint/crypto" - "github.com/cosmos/ibc-go/v2/modules/apps/27-interchain-accounts/controller/types" - icatypes "github.com/cosmos/ibc-go/v2/modules/apps/27-interchain-accounts/types" - clienttypes "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" - channeltypes "github.com/cosmos/ibc-go/v2/modules/core/04-channel/types" - host "github.com/cosmos/ibc-go/v2/modules/core/24-host" - ibctesting "github.com/cosmos/ibc-go/v2/testing" + "github.com/cosmos/ibc-go/v3/modules/apps/27-interchain-accounts/controller/types" + icatypes "github.com/cosmos/ibc-go/v3/modules/apps/27-interchain-accounts/types" + clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" + channeltypes "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types" + host "github.com/cosmos/ibc-go/v3/modules/core/24-host" + ibctesting "github.com/cosmos/ibc-go/v3/testing" ) var ( diff --git a/modules/apps/27-interchain-accounts/controller/keeper/account.go b/modules/apps/27-interchain-accounts/controller/keeper/account.go index 8876b3467b6..835b6f40ddb 100644 --- a/modules/apps/27-interchain-accounts/controller/keeper/account.go +++ b/modules/apps/27-interchain-accounts/controller/keeper/account.go @@ -4,9 +4,9 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" - icatypes "github.com/cosmos/ibc-go/v2/modules/apps/27-interchain-accounts/types" - channeltypes "github.com/cosmos/ibc-go/v2/modules/core/04-channel/types" - host "github.com/cosmos/ibc-go/v2/modules/core/24-host" + icatypes "github.com/cosmos/ibc-go/v3/modules/apps/27-interchain-accounts/types" + channeltypes "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types" + host "github.com/cosmos/ibc-go/v3/modules/core/24-host" ) // InitInterchainAccount is the entry point to registering an interchain account. diff --git a/modules/apps/27-interchain-accounts/controller/keeper/account_test.go b/modules/apps/27-interchain-accounts/controller/keeper/account_test.go index 3a019deac95..0cbc9f4e281 100644 --- a/modules/apps/27-interchain-accounts/controller/keeper/account_test.go +++ b/modules/apps/27-interchain-accounts/controller/keeper/account_test.go @@ -1,8 +1,8 @@ package keeper_test import ( - icatypes "github.com/cosmos/ibc-go/v2/modules/apps/27-interchain-accounts/types" - ibctesting "github.com/cosmos/ibc-go/v2/testing" + icatypes "github.com/cosmos/ibc-go/v3/modules/apps/27-interchain-accounts/types" + ibctesting "github.com/cosmos/ibc-go/v3/testing" ) func (suite *KeeperTestSuite) TestInitInterchainAccount() { diff --git a/modules/apps/27-interchain-accounts/controller/keeper/genesis.go b/modules/apps/27-interchain-accounts/controller/keeper/genesis.go index 19bcb1de6cc..8b0d8b896ee 100644 --- a/modules/apps/27-interchain-accounts/controller/keeper/genesis.go +++ b/modules/apps/27-interchain-accounts/controller/keeper/genesis.go @@ -5,8 +5,8 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" - icatypes "github.com/cosmos/ibc-go/v2/modules/apps/27-interchain-accounts/types" - host "github.com/cosmos/ibc-go/v2/modules/core/24-host" + icatypes "github.com/cosmos/ibc-go/v3/modules/apps/27-interchain-accounts/types" + host "github.com/cosmos/ibc-go/v3/modules/core/24-host" ) // InitGenesis initializes the interchain accounts controller application state from a provided genesis state diff --git a/modules/apps/27-interchain-accounts/controller/keeper/genesis_test.go b/modules/apps/27-interchain-accounts/controller/keeper/genesis_test.go index 488d39d982b..fca58db2e44 100644 --- a/modules/apps/27-interchain-accounts/controller/keeper/genesis_test.go +++ b/modules/apps/27-interchain-accounts/controller/keeper/genesis_test.go @@ -1,10 +1,10 @@ package keeper_test import ( - "github.com/cosmos/ibc-go/v2/modules/apps/27-interchain-accounts/controller/keeper" - "github.com/cosmos/ibc-go/v2/modules/apps/27-interchain-accounts/controller/types" - icatypes "github.com/cosmos/ibc-go/v2/modules/apps/27-interchain-accounts/types" - ibctesting "github.com/cosmos/ibc-go/v2/testing" + "github.com/cosmos/ibc-go/v3/modules/apps/27-interchain-accounts/controller/keeper" + "github.com/cosmos/ibc-go/v3/modules/apps/27-interchain-accounts/controller/types" + icatypes "github.com/cosmos/ibc-go/v3/modules/apps/27-interchain-accounts/types" + ibctesting "github.com/cosmos/ibc-go/v3/testing" ) func (suite *KeeperTestSuite) TestInitGenesis() { diff --git a/modules/apps/27-interchain-accounts/controller/keeper/grpc_query.go b/modules/apps/27-interchain-accounts/controller/keeper/grpc_query.go index 1e74921269d..deb5cfae106 100644 --- a/modules/apps/27-interchain-accounts/controller/keeper/grpc_query.go +++ b/modules/apps/27-interchain-accounts/controller/keeper/grpc_query.go @@ -3,7 +3,7 @@ package keeper import ( "context" sdk "github.com/cosmos/cosmos-sdk/types" - "github.com/cosmos/ibc-go/v2/modules/apps/27-interchain-accounts/controller/types" + "github.com/cosmos/ibc-go/v3/modules/apps/27-interchain-accounts/controller/types" ) var _ types.QueryServer = Keeper{} diff --git a/modules/apps/27-interchain-accounts/controller/keeper/grpc_query_test.go b/modules/apps/27-interchain-accounts/controller/keeper/grpc_query_test.go index 03aa63474a2..e76cdac1fb4 100644 --- a/modules/apps/27-interchain-accounts/controller/keeper/grpc_query_test.go +++ b/modules/apps/27-interchain-accounts/controller/keeper/grpc_query_test.go @@ -3,7 +3,7 @@ package keeper_test import ( sdk "github.com/cosmos/cosmos-sdk/types" - "github.com/cosmos/ibc-go/v2/modules/apps/27-interchain-accounts/controller/types" + "github.com/cosmos/ibc-go/v3/modules/apps/27-interchain-accounts/controller/types" ) func (suite *KeeperTestSuite) TestQueryParams() { diff --git a/modules/apps/27-interchain-accounts/controller/keeper/handshake.go b/modules/apps/27-interchain-accounts/controller/keeper/handshake.go index e48dee00f08..c2c510e0e2c 100644 --- a/modules/apps/27-interchain-accounts/controller/keeper/handshake.go +++ b/modules/apps/27-interchain-accounts/controller/keeper/handshake.go @@ -5,10 +5,10 @@ import ( sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" capabilitytypes "github.com/cosmos/cosmos-sdk/x/capability/types" - icatypes "github.com/cosmos/ibc-go/v2/modules/apps/27-interchain-accounts/types" - connectiontypes "github.com/cosmos/ibc-go/v2/modules/core/03-connection/types" - channeltypes "github.com/cosmos/ibc-go/v2/modules/core/04-channel/types" - porttypes "github.com/cosmos/ibc-go/v2/modules/core/05-port/types" + icatypes "github.com/cosmos/ibc-go/v3/modules/apps/27-interchain-accounts/types" + connectiontypes "github.com/cosmos/ibc-go/v3/modules/core/03-connection/types" + channeltypes "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types" + porttypes "github.com/cosmos/ibc-go/v3/modules/core/05-port/types" ) // OnChanOpenInit performs basic validation of channel initialization. diff --git a/modules/apps/27-interchain-accounts/controller/keeper/handshake_test.go b/modules/apps/27-interchain-accounts/controller/keeper/handshake_test.go index 31aaf9d028e..c121447cf3c 100644 --- a/modules/apps/27-interchain-accounts/controller/keeper/handshake_test.go +++ b/modules/apps/27-interchain-accounts/controller/keeper/handshake_test.go @@ -3,10 +3,10 @@ package keeper_test import ( capabilitytypes "github.com/cosmos/cosmos-sdk/x/capability/types" - icatypes "github.com/cosmos/ibc-go/v2/modules/apps/27-interchain-accounts/types" - channeltypes "github.com/cosmos/ibc-go/v2/modules/core/04-channel/types" - host "github.com/cosmos/ibc-go/v2/modules/core/24-host" - ibctesting "github.com/cosmos/ibc-go/v2/testing" + icatypes "github.com/cosmos/ibc-go/v3/modules/apps/27-interchain-accounts/types" + channeltypes "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types" + host "github.com/cosmos/ibc-go/v3/modules/core/24-host" + ibctesting "github.com/cosmos/ibc-go/v3/testing" ) func (suite *KeeperTestSuite) TestOnChanOpenInit() { diff --git a/modules/apps/27-interchain-accounts/controller/keeper/keeper.go b/modules/apps/27-interchain-accounts/controller/keeper/keeper.go index 91705ae89e1..5fa49fd2d89 100644 --- a/modules/apps/27-interchain-accounts/controller/keeper/keeper.go +++ b/modules/apps/27-interchain-accounts/controller/keeper/keeper.go @@ -12,9 +12,9 @@ import ( paramtypes "github.com/cosmos/cosmos-sdk/x/params/types" "github.com/tendermint/tendermint/libs/log" - "github.com/cosmos/ibc-go/v2/modules/apps/27-interchain-accounts/controller/types" - icatypes "github.com/cosmos/ibc-go/v2/modules/apps/27-interchain-accounts/types" - host "github.com/cosmos/ibc-go/v2/modules/core/24-host" + "github.com/cosmos/ibc-go/v3/modules/apps/27-interchain-accounts/controller/types" + icatypes "github.com/cosmos/ibc-go/v3/modules/apps/27-interchain-accounts/types" + host "github.com/cosmos/ibc-go/v3/modules/core/24-host" ) // Keeper defines the IBC interchain accounts controller keeper diff --git a/modules/apps/27-interchain-accounts/controller/keeper/keeper_test.go b/modules/apps/27-interchain-accounts/controller/keeper/keeper_test.go index f522a954fa1..e1678689509 100644 --- a/modules/apps/27-interchain-accounts/controller/keeper/keeper_test.go +++ b/modules/apps/27-interchain-accounts/controller/keeper/keeper_test.go @@ -8,9 +8,9 @@ import ( "github.com/stretchr/testify/suite" "github.com/tendermint/tendermint/crypto" - icatypes "github.com/cosmos/ibc-go/v2/modules/apps/27-interchain-accounts/types" - channeltypes "github.com/cosmos/ibc-go/v2/modules/core/04-channel/types" - ibctesting "github.com/cosmos/ibc-go/v2/testing" + icatypes "github.com/cosmos/ibc-go/v3/modules/apps/27-interchain-accounts/types" + channeltypes "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types" + ibctesting "github.com/cosmos/ibc-go/v3/testing" ) var ( diff --git a/modules/apps/27-interchain-accounts/controller/keeper/params.go b/modules/apps/27-interchain-accounts/controller/keeper/params.go index 55e15e26d97..d199b8b554d 100644 --- a/modules/apps/27-interchain-accounts/controller/keeper/params.go +++ b/modules/apps/27-interchain-accounts/controller/keeper/params.go @@ -3,7 +3,7 @@ package keeper import ( sdk "github.com/cosmos/cosmos-sdk/types" - "github.com/cosmos/ibc-go/v2/modules/apps/27-interchain-accounts/controller/types" + "github.com/cosmos/ibc-go/v3/modules/apps/27-interchain-accounts/controller/types" ) // IsControllerEnabled retrieves the host enabled boolean from the paramstore. diff --git a/modules/apps/27-interchain-accounts/controller/keeper/params_test.go b/modules/apps/27-interchain-accounts/controller/keeper/params_test.go index 27138d42de5..ffd71f49268 100644 --- a/modules/apps/27-interchain-accounts/controller/keeper/params_test.go +++ b/modules/apps/27-interchain-accounts/controller/keeper/params_test.go @@ -1,6 +1,6 @@ package keeper_test -import "github.com/cosmos/ibc-go/v2/modules/apps/27-interchain-accounts/controller/types" +import "github.com/cosmos/ibc-go/v3/modules/apps/27-interchain-accounts/controller/types" func (suite *KeeperTestSuite) TestParams() { expParams := types.DefaultParams() diff --git a/modules/apps/27-interchain-accounts/controller/keeper/relay.go b/modules/apps/27-interchain-accounts/controller/keeper/relay.go index a7bbda175af..caf56bd430e 100644 --- a/modules/apps/27-interchain-accounts/controller/keeper/relay.go +++ b/modules/apps/27-interchain-accounts/controller/keeper/relay.go @@ -5,9 +5,9 @@ import ( sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" capabilitytypes "github.com/cosmos/cosmos-sdk/x/capability/types" - icatypes "github.com/cosmos/ibc-go/v2/modules/apps/27-interchain-accounts/types" - clienttypes "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" - channeltypes "github.com/cosmos/ibc-go/v2/modules/core/04-channel/types" + icatypes "github.com/cosmos/ibc-go/v3/modules/apps/27-interchain-accounts/types" + clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" + channeltypes "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types" ) // TrySendTx takes in a transaction from an authentication module and attempts to send the packet diff --git a/modules/apps/27-interchain-accounts/controller/keeper/relay_test.go b/modules/apps/27-interchain-accounts/controller/keeper/relay_test.go index d00ed6a936a..75280c341a9 100644 --- a/modules/apps/27-interchain-accounts/controller/keeper/relay_test.go +++ b/modules/apps/27-interchain-accounts/controller/keeper/relay_test.go @@ -5,11 +5,11 @@ import ( banktypes "github.com/cosmos/cosmos-sdk/x/bank/types" capabilitytypes "github.com/cosmos/cosmos-sdk/x/capability/types" - icatypes "github.com/cosmos/ibc-go/v2/modules/apps/27-interchain-accounts/types" - clienttypes "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" - channeltypes "github.com/cosmos/ibc-go/v2/modules/core/04-channel/types" - host "github.com/cosmos/ibc-go/v2/modules/core/24-host" - ibctesting "github.com/cosmos/ibc-go/v2/testing" + icatypes "github.com/cosmos/ibc-go/v3/modules/apps/27-interchain-accounts/types" + clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" + channeltypes "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types" + host "github.com/cosmos/ibc-go/v3/modules/core/24-host" + ibctesting "github.com/cosmos/ibc-go/v3/testing" ) func (suite *KeeperTestSuite) TestTrySendTx() { diff --git a/modules/apps/27-interchain-accounts/controller/types/controller.pb.go b/modules/apps/27-interchain-accounts/controller/types/controller.pb.go index 3a292e9a77b..27bf1003f8e 100644 --- a/modules/apps/27-interchain-accounts/controller/types/controller.pb.go +++ b/modules/apps/27-interchain-accounts/controller/types/controller.pb.go @@ -80,24 +80,24 @@ func init() { } var fileDescriptor_177fd0fec5eb3400 = []byte{ - // 268 bytes of a gzipped FileDescriptorProto + // 269 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x6c, 0x90, 0xb1, 0x4e, 0xc3, 0x30, - 0x14, 0x45, 0x93, 0xa5, 0x42, 0xd9, 0x88, 0x18, 0x68, 0x25, 0x0c, 0xca, 0xc4, 0x92, 0x3c, 0x35, - 0x0c, 0x48, 0x8c, 0x45, 0x6c, 0x0c, 0x15, 0x03, 0x03, 0x4b, 0x65, 0xbb, 0xc6, 0x35, 0x72, 0xfc, - 0x22, 0xdb, 0x89, 0x94, 0xbf, 0xe0, 0xb3, 0x18, 0x3b, 0x32, 0x21, 0x94, 0xfc, 0x01, 0x5f, 0x80, - 0x9a, 0x0c, 0x89, 0xd4, 0x6e, 0xd7, 0x47, 0x7e, 0x47, 0xba, 0x37, 0x7a, 0x54, 0x8c, 0x03, 0x2d, - 0x4b, 0xad, 0x38, 0xf5, 0x0a, 0x8d, 0x03, 0x65, 0xbc, 0xb0, 0x7c, 0x47, 0x95, 0xd9, 0x50, 0xce, - 0xb1, 0x32, 0xde, 0x01, 0x47, 0xe3, 0x2d, 0x6a, 0x2d, 0x2c, 0xd4, 0xcb, 0xc9, 0x2b, 0x2b, 0x2d, - 0x7a, 0x8c, 0x73, 0xc5, 0x78, 0x36, 0x95, 0x64, 0x27, 0x24, 0xd9, 0xe4, 0xac, 0x5e, 0x2e, 0xe6, - 0x12, 0x51, 0x6a, 0x01, 0xbd, 0x81, 0x55, 0xef, 0x40, 0x4d, 0x33, 0xe8, 0x16, 0x17, 0x12, 0x25, - 0xf6, 0x11, 0x0e, 0x69, 0xa0, 0xc9, 0x6b, 0x34, 0x5b, 0x53, 0x4b, 0x0b, 0x17, 0x3f, 0x47, 0xf1, - 0xe8, 0xda, 0x08, 0x43, 0x99, 0x16, 0xdb, 0xcb, 0xf0, 0x26, 0xbc, 0x3d, 0x5b, 0x5d, 0xfd, 0xfd, - 0x5c, 0xcf, 0x1b, 0x5a, 0xe8, 0x87, 0xe4, 0xf8, 0x4f, 0xf2, 0x72, 0x3e, 0xc2, 0xa7, 0x81, 0xad, - 0x3e, 0xbe, 0x5a, 0x12, 0xee, 0x5b, 0x12, 0xfe, 0xb6, 0x24, 0xfc, 0xec, 0x48, 0xb0, 0xef, 0x48, - 0xf0, 0xdd, 0x91, 0xe0, 0x6d, 0x2d, 0x95, 0xdf, 0x55, 0x2c, 0xe3, 0x58, 0x00, 0x47, 0x57, 0xa0, - 0x03, 0xc5, 0x78, 0x2a, 0x11, 0xea, 0x1c, 0x0a, 0xdc, 0x56, 0x5a, 0xb8, 0xc3, 0x76, 0x0e, 0xf2, - 0xfb, 0x74, 0x6c, 0x9c, 0x9e, 0x9a, 0xcd, 0x37, 0xa5, 0x70, 0x6c, 0xd6, 0x57, 0xb9, 0xfb, 0x0f, - 0x00, 0x00, 0xff, 0xff, 0x0f, 0xf9, 0x46, 0xeb, 0x76, 0x01, 0x00, 0x00, + 0x14, 0x45, 0x9b, 0xa5, 0x42, 0xd9, 0x88, 0x18, 0x68, 0x25, 0x0c, 0xca, 0xc4, 0x92, 0x3c, 0xb5, + 0x1d, 0x90, 0x18, 0x8b, 0xd8, 0x18, 0x2a, 0x06, 0x06, 0x96, 0xca, 0x7e, 0x35, 0xae, 0x91, 0xe3, + 0x17, 0xc5, 0x4e, 0xa4, 0xfc, 0x05, 0x9f, 0xc5, 0xd8, 0x91, 0x09, 0xa1, 0xe4, 0x0f, 0xf8, 0x02, + 0xd4, 0x64, 0x48, 0x24, 0xba, 0x5d, 0x1f, 0xf9, 0x1d, 0xe9, 0xde, 0xf0, 0x41, 0x0b, 0x04, 0x9e, + 0xe7, 0x46, 0x23, 0xf7, 0x9a, 0xac, 0x03, 0x6d, 0xbd, 0x2c, 0x70, 0xcf, 0xb5, 0xdd, 0x72, 0x44, + 0x2a, 0xad, 0x77, 0x80, 0x64, 0x7d, 0x41, 0xc6, 0xc8, 0x02, 0xaa, 0xc5, 0xe8, 0x95, 0xe6, 0x05, + 0x79, 0x8a, 0x96, 0x5a, 0x60, 0x3a, 0x96, 0xa4, 0x27, 0x24, 0xe9, 0xe8, 0xac, 0x5a, 0xcc, 0x67, + 0x8a, 0x48, 0x19, 0x09, 0x9d, 0x41, 0x94, 0x6f, 0xc0, 0x6d, 0xdd, 0xeb, 0xe6, 0x17, 0x8a, 0x14, + 0x75, 0x11, 0x8e, 0xa9, 0xa7, 0xf1, 0x4b, 0x38, 0xdd, 0xf0, 0x82, 0x67, 0x2e, 0x7a, 0x0a, 0xa3, + 0xc1, 0xb5, 0x95, 0x96, 0x0b, 0x23, 0x77, 0x97, 0xc1, 0x4d, 0x70, 0x7b, 0xb6, 0xbe, 0xfa, 0xfd, + 0xbe, 0x9e, 0xd5, 0x3c, 0x33, 0xf7, 0xf1, 0xff, 0x3f, 0xf1, 0xf3, 0xf9, 0x00, 0x1f, 0x7b, 0xb6, + 0x7e, 0xff, 0x6c, 0x58, 0x70, 0x68, 0x58, 0xf0, 0xd3, 0xb0, 0xe0, 0xa3, 0x65, 0x93, 0x43, 0xcb, + 0x26, 0x5f, 0x2d, 0x9b, 0xbc, 0x6e, 0x94, 0xf6, 0xfb, 0x52, 0xa4, 0x48, 0x19, 0x20, 0xb9, 0x8c, + 0x1c, 0x68, 0x81, 0x89, 0x22, 0xa8, 0x56, 0x90, 0xd1, 0xae, 0x34, 0xd2, 0x1d, 0xb7, 0x73, 0xb0, + 0xbc, 0x4b, 0x86, 0xc6, 0xc9, 0xa9, 0xd9, 0x7c, 0x9d, 0x4b, 0x27, 0xa6, 0x5d, 0x95, 0xd5, 0x5f, + 0x00, 0x00, 0x00, 0xff, 0xff, 0x7f, 0x19, 0x5d, 0x5d, 0x76, 0x01, 0x00, 0x00, } func (m *Params) Marshal() (dAtA []byte, err error) { diff --git a/modules/apps/27-interchain-accounts/controller/types/params_test.go b/modules/apps/27-interchain-accounts/controller/types/params_test.go index 0a25fd213a0..1b2b296c7d4 100644 --- a/modules/apps/27-interchain-accounts/controller/types/params_test.go +++ b/modules/apps/27-interchain-accounts/controller/types/params_test.go @@ -5,7 +5,7 @@ import ( "github.com/stretchr/testify/require" - "github.com/cosmos/ibc-go/v2/modules/apps/27-interchain-accounts/controller/types" + "github.com/cosmos/ibc-go/v3/modules/apps/27-interchain-accounts/controller/types" ) func TestValidateParams(t *testing.T) { diff --git a/modules/apps/27-interchain-accounts/controller/types/query.pb.go b/modules/apps/27-interchain-accounts/controller/types/query.pb.go index 659605862e9..c200a17986a 100644 --- a/modules/apps/27-interchain-accounts/controller/types/query.pb.go +++ b/modules/apps/27-interchain-accounts/controller/types/query.pb.go @@ -122,28 +122,28 @@ func init() { } var fileDescriptor_df0d8b259d72854e = []byte{ - // 326 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x91, 0x31, 0x4b, 0x3b, 0x31, - 0x18, 0xc6, 0x9b, 0x3f, 0xfc, 0x3b, 0x9c, 0xdb, 0xd9, 0x41, 0x8a, 0x1c, 0xd2, 0xc9, 0xa5, 0x79, - 0xe9, 0x29, 0x08, 0x1d, 0x1c, 0x14, 0x74, 0xad, 0x1d, 0x5d, 0x24, 0x17, 0x43, 0x1a, 0xb9, 0xcb, - 0x9b, 0x26, 0xb9, 0x42, 0x57, 0x3f, 0x81, 0xe0, 0x97, 0x72, 0x2c, 0x88, 0xe0, 0xa6, 0xb4, 0x7e, - 0x10, 0xe9, 0xe5, 0xa0, 0x15, 0x3b, 0x68, 0xdd, 0x42, 0x5e, 0x9e, 0xdf, 0xf3, 0x3c, 0x3c, 0xd1, - 0xa9, 0xca, 0x38, 0x30, 0x63, 0x72, 0xc5, 0x99, 0x57, 0xa8, 0x1d, 0x28, 0xed, 0x85, 0xe5, 0x23, - 0xa6, 0xf4, 0x0d, 0xe3, 0x1c, 0x4b, 0xed, 0x1d, 0x70, 0xd4, 0xde, 0x62, 0x9e, 0x0b, 0x0b, 0x93, - 0x1e, 0x8c, 0x4b, 0x61, 0xa7, 0xd4, 0x58, 0xf4, 0x18, 0xa7, 0x2a, 0xe3, 0x74, 0x5d, 0x4f, 0x37, - 0xe8, 0xe9, 0x4a, 0x4f, 0x27, 0xbd, 0x76, 0x4b, 0xa2, 0xc4, 0x4a, 0x0e, 0xcb, 0x57, 0x20, 0xb5, - 0xcf, 0xb7, 0x48, 0xb2, 0xc6, 0x0d, 0x90, 0x7d, 0x89, 0x28, 0x73, 0x01, 0xcc, 0x28, 0x60, 0x5a, - 0xa3, 0xaf, 0x43, 0x55, 0xd7, 0x4e, 0x2b, 0x8a, 0xaf, 0x96, 0xd9, 0x07, 0xcc, 0xb2, 0xc2, 0x0d, - 0xc5, 0xb8, 0x14, 0xce, 0x77, 0x54, 0xb4, 0xfb, 0xe5, 0xd7, 0x19, 0xd4, 0x4e, 0xc4, 0xc3, 0xa8, - 0x69, 0xaa, 0x9f, 0x3d, 0x72, 0x40, 0x0e, 0x77, 0xd2, 0x3e, 0xfd, 0x7d, 0x55, 0x5a, 0x33, 0x6b, - 0x52, 0xfa, 0x46, 0xa2, 0xff, 0x95, 0x57, 0xfc, 0x42, 0xa2, 0x66, 0x38, 0xc6, 0x17, 0xdb, 0x80, - 0xbf, 0xf7, 0x68, 0x5f, 0xfe, 0x99, 0x13, 0x9a, 0x77, 0xfa, 0xf7, 0xcf, 0x1f, 0x8f, 0xff, 0x8e, - 0xe3, 0x14, 0xea, 0x49, 0x7e, 0x32, 0x45, 0x68, 0x78, 0x76, 0xf7, 0x34, 0x4f, 0xc8, 0x6c, 0x9e, - 0x90, 0xf7, 0x79, 0x42, 0x1e, 0x16, 0x49, 0x63, 0xb6, 0x48, 0x1a, 0xaf, 0x8b, 0xa4, 0x71, 0x3d, - 0x90, 0xca, 0x8f, 0xca, 0x8c, 0x72, 0x2c, 0x80, 0xa3, 0x2b, 0xd0, 0x2d, 0xf1, 0x5d, 0x89, 0x30, - 0x49, 0xa1, 0xc0, 0xdb, 0x32, 0x17, 0x2e, 0x98, 0xa5, 0x27, 0xdd, 0x95, 0x5f, 0x77, 0x93, 0x9f, - 0x9f, 0x1a, 0xe1, 0xb2, 0x66, 0xb5, 0xea, 0xd1, 0x67, 0x00, 0x00, 0x00, 0xff, 0xff, 0xef, 0xec, - 0xb6, 0x2f, 0xc4, 0x02, 0x00, 0x00, + // 325 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x91, 0x31, 0x4b, 0x03, 0x31, + 0x1c, 0xc5, 0x1b, 0xc1, 0x0e, 0xe7, 0x76, 0x76, 0x90, 0x22, 0x87, 0x74, 0x72, 0x69, 0xfe, 0xf4, + 0x2a, 0x08, 0x1d, 0x1c, 0x14, 0x74, 0xad, 0x1d, 0x5d, 0x24, 0x17, 0xc3, 0x35, 0x72, 0x97, 0x7f, + 0x9a, 0xe4, 0x0a, 0x5d, 0xfd, 0x04, 0x82, 0x5f, 0xca, 0xb1, 0x20, 0x82, 0x9b, 0xd2, 0xfa, 0x41, + 0xe4, 0x2e, 0x07, 0xad, 0xd8, 0x41, 0xeb, 0x16, 0xf2, 0xe7, 0xfd, 0xde, 0x7b, 0xbc, 0xe0, 0x4c, + 0x26, 0x1c, 0x98, 0xd6, 0x99, 0xe4, 0xcc, 0x49, 0x54, 0x16, 0xa4, 0x72, 0xc2, 0xf0, 0x31, 0x93, + 0xea, 0x96, 0x71, 0x8e, 0x85, 0x72, 0x16, 0x38, 0x2a, 0x67, 0x30, 0xcb, 0x84, 0x81, 0x69, 0x0f, + 0x26, 0x85, 0x30, 0x33, 0xaa, 0x0d, 0x3a, 0x0c, 0x63, 0x99, 0x70, 0xba, 0xae, 0xa7, 0x1b, 0xf4, + 0x74, 0xa5, 0xa7, 0xd3, 0x5e, 0xbb, 0x95, 0x62, 0x8a, 0x95, 0x1c, 0xca, 0x97, 0x27, 0xb5, 0x2f, + 0xb6, 0x48, 0xb2, 0xc6, 0xf5, 0x90, 0xc3, 0x14, 0x31, 0xcd, 0x04, 0x30, 0x2d, 0x81, 0x29, 0x85, + 0xae, 0x0e, 0x55, 0x5d, 0x3b, 0xad, 0x20, 0xbc, 0x2e, 0xb3, 0x0f, 0x99, 0x61, 0xb9, 0x1d, 0x89, + 0x49, 0x21, 0xac, 0xeb, 0xc8, 0x60, 0xff, 0xdb, 0xaf, 0xd5, 0xa8, 0xac, 0x08, 0x47, 0x41, 0x53, + 0x57, 0x3f, 0x07, 0xe4, 0x88, 0x1c, 0xef, 0xc5, 0x03, 0xfa, 0xf7, 0xaa, 0xb4, 0x66, 0xd6, 0xa4, + 0xf8, 0x9d, 0x04, 0xbb, 0x95, 0x57, 0xf8, 0x4a, 0x82, 0xa6, 0x3f, 0x86, 0x97, 0xdb, 0x80, 0x7f, + 0xf6, 0x68, 0x5f, 0xfd, 0x9b, 0xe3, 0x9b, 0x77, 0x06, 0x0f, 0x2f, 0x9f, 0x4f, 0x3b, 0x27, 0x61, + 0x0c, 0xf5, 0x24, 0xbf, 0x99, 0xc2, 0x37, 0x3c, 0xbf, 0x7f, 0x5e, 0x44, 0x64, 0xbe, 0x88, 0xc8, + 0xc7, 0x22, 0x22, 0x8f, 0xcb, 0xa8, 0x31, 0x5f, 0x46, 0x8d, 0xb7, 0x65, 0xd4, 0xb8, 0x19, 0xa6, + 0xd2, 0x8d, 0x8b, 0x84, 0x72, 0xcc, 0x81, 0xa3, 0xcd, 0xd1, 0x96, 0xf8, 0x6e, 0x8a, 0x30, 0xed, + 0x43, 0x8e, 0x77, 0x45, 0x26, 0xac, 0x37, 0x8b, 0x4f, 0xbb, 0x2b, 0xbf, 0xee, 0x26, 0x3f, 0x37, + 0xd3, 0xc2, 0x26, 0xcd, 0x6a, 0xd5, 0xfe, 0x57, 0x00, 0x00, 0x00, 0xff, 0xff, 0x9f, 0x0c, 0xad, + 0x99, 0xc4, 0x02, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. diff --git a/modules/apps/27-interchain-accounts/host/client/cli/query.go b/modules/apps/27-interchain-accounts/host/client/cli/query.go index 822e4ec2577..e00b337c45a 100644 --- a/modules/apps/27-interchain-accounts/host/client/cli/query.go +++ b/modules/apps/27-interchain-accounts/host/client/cli/query.go @@ -8,7 +8,7 @@ import ( "github.com/cosmos/cosmos-sdk/client" "github.com/cosmos/cosmos-sdk/client/flags" "github.com/cosmos/cosmos-sdk/version" - "github.com/cosmos/ibc-go/v2/modules/apps/27-interchain-accounts/host/types" + "github.com/cosmos/ibc-go/v3/modules/apps/27-interchain-accounts/host/types" ) // GetCmdParams returns the command handler for the host submodule parameter querying. diff --git a/modules/apps/27-interchain-accounts/host/ibc_module.go b/modules/apps/27-interchain-accounts/host/ibc_module.go index b8dbc15d42e..91513dd434f 100644 --- a/modules/apps/27-interchain-accounts/host/ibc_module.go +++ b/modules/apps/27-interchain-accounts/host/ibc_module.go @@ -5,11 +5,11 @@ import ( sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" capabilitytypes "github.com/cosmos/cosmos-sdk/x/capability/types" - "github.com/cosmos/ibc-go/v2/modules/apps/27-interchain-accounts/host/keeper" - "github.com/cosmos/ibc-go/v2/modules/apps/27-interchain-accounts/host/types" - icatypes "github.com/cosmos/ibc-go/v2/modules/apps/27-interchain-accounts/types" - channeltypes "github.com/cosmos/ibc-go/v2/modules/core/04-channel/types" - ibcexported "github.com/cosmos/ibc-go/v2/modules/core/exported" + "github.com/cosmos/ibc-go/v3/modules/apps/27-interchain-accounts/host/keeper" + "github.com/cosmos/ibc-go/v3/modules/apps/27-interchain-accounts/host/types" + icatypes "github.com/cosmos/ibc-go/v3/modules/apps/27-interchain-accounts/types" + channeltypes "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types" + ibcexported "github.com/cosmos/ibc-go/v3/modules/core/exported" ) // IBCModule implements the ICS26 interface for interchain accounts host chains diff --git a/modules/apps/27-interchain-accounts/host/ibc_module_test.go b/modules/apps/27-interchain-accounts/host/ibc_module_test.go index 823ae74b8ad..245f6dbac63 100644 --- a/modules/apps/27-interchain-accounts/host/ibc_module_test.go +++ b/modules/apps/27-interchain-accounts/host/ibc_module_test.go @@ -10,13 +10,13 @@ import ( "github.com/stretchr/testify/suite" "github.com/tendermint/tendermint/crypto" - "github.com/cosmos/ibc-go/v2/modules/apps/27-interchain-accounts/host/types" - icatypes "github.com/cosmos/ibc-go/v2/modules/apps/27-interchain-accounts/types" - clienttypes "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" - channeltypes "github.com/cosmos/ibc-go/v2/modules/core/04-channel/types" - host "github.com/cosmos/ibc-go/v2/modules/core/24-host" - "github.com/cosmos/ibc-go/v2/modules/core/exported" - ibctesting "github.com/cosmos/ibc-go/v2/testing" + "github.com/cosmos/ibc-go/v3/modules/apps/27-interchain-accounts/host/types" + icatypes "github.com/cosmos/ibc-go/v3/modules/apps/27-interchain-accounts/types" + clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" + channeltypes "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types" + host "github.com/cosmos/ibc-go/v3/modules/core/24-host" + "github.com/cosmos/ibc-go/v3/modules/core/exported" + ibctesting "github.com/cosmos/ibc-go/v3/testing" ) var ( diff --git a/modules/apps/27-interchain-accounts/host/keeper/account.go b/modules/apps/27-interchain-accounts/host/keeper/account.go index 4ed947eb285..e88c82b16c6 100644 --- a/modules/apps/27-interchain-accounts/host/keeper/account.go +++ b/modules/apps/27-interchain-accounts/host/keeper/account.go @@ -4,7 +4,7 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" authtypes "github.com/cosmos/cosmos-sdk/x/auth/types" - icatypes "github.com/cosmos/ibc-go/v2/modules/apps/27-interchain-accounts/types" + icatypes "github.com/cosmos/ibc-go/v3/modules/apps/27-interchain-accounts/types" ) // RegisterInterchainAccount attempts to create a new account using the provided address and stores it in state keyed by the provided port identifier diff --git a/modules/apps/27-interchain-accounts/host/keeper/account_test.go b/modules/apps/27-interchain-accounts/host/keeper/account_test.go index 90be30ff2c8..0dce100888f 100644 --- a/modules/apps/27-interchain-accounts/host/keeper/account_test.go +++ b/modules/apps/27-interchain-accounts/host/keeper/account_test.go @@ -3,8 +3,8 @@ package keeper_test import ( sdk "github.com/cosmos/cosmos-sdk/types" - icatypes "github.com/cosmos/ibc-go/v2/modules/apps/27-interchain-accounts/types" - ibctesting "github.com/cosmos/ibc-go/v2/testing" + icatypes "github.com/cosmos/ibc-go/v3/modules/apps/27-interchain-accounts/types" + ibctesting "github.com/cosmos/ibc-go/v3/testing" ) func (suite *KeeperTestSuite) TestRegisterInterchainAccount() { diff --git a/modules/apps/27-interchain-accounts/host/keeper/genesis.go b/modules/apps/27-interchain-accounts/host/keeper/genesis.go index 12174ca3f26..b784486c150 100644 --- a/modules/apps/27-interchain-accounts/host/keeper/genesis.go +++ b/modules/apps/27-interchain-accounts/host/keeper/genesis.go @@ -5,8 +5,8 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" - icatypes "github.com/cosmos/ibc-go/v2/modules/apps/27-interchain-accounts/types" - host "github.com/cosmos/ibc-go/v2/modules/core/24-host" + icatypes "github.com/cosmos/ibc-go/v3/modules/apps/27-interchain-accounts/types" + host "github.com/cosmos/ibc-go/v3/modules/core/24-host" ) // InitGenesis initializes the interchain accounts host application state from a provided genesis state diff --git a/modules/apps/27-interchain-accounts/host/keeper/genesis_test.go b/modules/apps/27-interchain-accounts/host/keeper/genesis_test.go index ba1e7e252c4..c2da967c56f 100644 --- a/modules/apps/27-interchain-accounts/host/keeper/genesis_test.go +++ b/modules/apps/27-interchain-accounts/host/keeper/genesis_test.go @@ -1,10 +1,10 @@ package keeper_test import ( - "github.com/cosmos/ibc-go/v2/modules/apps/27-interchain-accounts/host/keeper" - "github.com/cosmos/ibc-go/v2/modules/apps/27-interchain-accounts/host/types" - icatypes "github.com/cosmos/ibc-go/v2/modules/apps/27-interchain-accounts/types" - ibctesting "github.com/cosmos/ibc-go/v2/testing" + "github.com/cosmos/ibc-go/v3/modules/apps/27-interchain-accounts/host/keeper" + "github.com/cosmos/ibc-go/v3/modules/apps/27-interchain-accounts/host/types" + icatypes "github.com/cosmos/ibc-go/v3/modules/apps/27-interchain-accounts/types" + ibctesting "github.com/cosmos/ibc-go/v3/testing" ) func (suite *KeeperTestSuite) TestInitGenesis() { diff --git a/modules/apps/27-interchain-accounts/host/keeper/grpc_query.go b/modules/apps/27-interchain-accounts/host/keeper/grpc_query.go index 5cb4b569b00..f2df68d5ca2 100644 --- a/modules/apps/27-interchain-accounts/host/keeper/grpc_query.go +++ b/modules/apps/27-interchain-accounts/host/keeper/grpc_query.go @@ -3,7 +3,7 @@ package keeper import ( "context" sdk "github.com/cosmos/cosmos-sdk/types" - "github.com/cosmos/ibc-go/v2/modules/apps/27-interchain-accounts/host/types" + "github.com/cosmos/ibc-go/v3/modules/apps/27-interchain-accounts/host/types" ) var _ types.QueryServer = Keeper{} diff --git a/modules/apps/27-interchain-accounts/host/keeper/grpc_query_test.go b/modules/apps/27-interchain-accounts/host/keeper/grpc_query_test.go index 123679f7b86..e0ca62e8c56 100644 --- a/modules/apps/27-interchain-accounts/host/keeper/grpc_query_test.go +++ b/modules/apps/27-interchain-accounts/host/keeper/grpc_query_test.go @@ -3,7 +3,7 @@ package keeper_test import ( sdk "github.com/cosmos/cosmos-sdk/types" - "github.com/cosmos/ibc-go/v2/modules/apps/27-interchain-accounts/host/types" + "github.com/cosmos/ibc-go/v3/modules/apps/27-interchain-accounts/host/types" ) func (suite *KeeperTestSuite) TestQueryParams() { diff --git a/modules/apps/27-interchain-accounts/host/keeper/handshake.go b/modules/apps/27-interchain-accounts/host/keeper/handshake.go index c4c40e68d8e..a223020ee18 100644 --- a/modules/apps/27-interchain-accounts/host/keeper/handshake.go +++ b/modules/apps/27-interchain-accounts/host/keeper/handshake.go @@ -5,11 +5,11 @@ import ( sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" capabilitytypes "github.com/cosmos/cosmos-sdk/x/capability/types" - icatypes "github.com/cosmos/ibc-go/v2/modules/apps/27-interchain-accounts/types" - connectiontypes "github.com/cosmos/ibc-go/v2/modules/core/03-connection/types" - channeltypes "github.com/cosmos/ibc-go/v2/modules/core/04-channel/types" - porttypes "github.com/cosmos/ibc-go/v2/modules/core/05-port/types" - host "github.com/cosmos/ibc-go/v2/modules/core/24-host" + icatypes "github.com/cosmos/ibc-go/v3/modules/apps/27-interchain-accounts/types" + connectiontypes "github.com/cosmos/ibc-go/v3/modules/core/03-connection/types" + channeltypes "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types" + porttypes "github.com/cosmos/ibc-go/v3/modules/core/05-port/types" + host "github.com/cosmos/ibc-go/v3/modules/core/24-host" ) // OnChanOpenTry performs basic validation of the ICA channel diff --git a/modules/apps/27-interchain-accounts/host/keeper/handshake_test.go b/modules/apps/27-interchain-accounts/host/keeper/handshake_test.go index c07b46834e6..23b7b88b58f 100644 --- a/modules/apps/27-interchain-accounts/host/keeper/handshake_test.go +++ b/modules/apps/27-interchain-accounts/host/keeper/handshake_test.go @@ -3,10 +3,10 @@ package keeper_test import ( capabilitytypes "github.com/cosmos/cosmos-sdk/x/capability/types" - icatypes "github.com/cosmos/ibc-go/v2/modules/apps/27-interchain-accounts/types" - channeltypes "github.com/cosmos/ibc-go/v2/modules/core/04-channel/types" - host "github.com/cosmos/ibc-go/v2/modules/core/24-host" - ibctesting "github.com/cosmos/ibc-go/v2/testing" + icatypes "github.com/cosmos/ibc-go/v3/modules/apps/27-interchain-accounts/types" + channeltypes "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types" + host "github.com/cosmos/ibc-go/v3/modules/core/24-host" + ibctesting "github.com/cosmos/ibc-go/v3/testing" ) func (suite *KeeperTestSuite) TestOnChanOpenTry() { diff --git a/modules/apps/27-interchain-accounts/host/keeper/keeper.go b/modules/apps/27-interchain-accounts/host/keeper/keeper.go index c4d9261651b..b9a557726ee 100644 --- a/modules/apps/27-interchain-accounts/host/keeper/keeper.go +++ b/modules/apps/27-interchain-accounts/host/keeper/keeper.go @@ -13,10 +13,10 @@ import ( paramtypes "github.com/cosmos/cosmos-sdk/x/params/types" "github.com/tendermint/tendermint/libs/log" - "github.com/cosmos/ibc-go/v2/modules/apps/27-interchain-accounts/host/types" - icatypes "github.com/cosmos/ibc-go/v2/modules/apps/27-interchain-accounts/types" - channeltypes "github.com/cosmos/ibc-go/v2/modules/core/04-channel/types" - host "github.com/cosmos/ibc-go/v2/modules/core/24-host" + "github.com/cosmos/ibc-go/v3/modules/apps/27-interchain-accounts/host/types" + icatypes "github.com/cosmos/ibc-go/v3/modules/apps/27-interchain-accounts/types" + channeltypes "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types" + host "github.com/cosmos/ibc-go/v3/modules/core/24-host" ) // Keeper defines the IBC interchain accounts host keeper diff --git a/modules/apps/27-interchain-accounts/host/keeper/keeper_test.go b/modules/apps/27-interchain-accounts/host/keeper/keeper_test.go index 5f12ab2dfd1..e8cffcdb640 100644 --- a/modules/apps/27-interchain-accounts/host/keeper/keeper_test.go +++ b/modules/apps/27-interchain-accounts/host/keeper/keeper_test.go @@ -8,9 +8,9 @@ import ( "github.com/stretchr/testify/suite" "github.com/tendermint/tendermint/crypto" - icatypes "github.com/cosmos/ibc-go/v2/modules/apps/27-interchain-accounts/types" - channeltypes "github.com/cosmos/ibc-go/v2/modules/core/04-channel/types" - ibctesting "github.com/cosmos/ibc-go/v2/testing" + icatypes "github.com/cosmos/ibc-go/v3/modules/apps/27-interchain-accounts/types" + channeltypes "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types" + ibctesting "github.com/cosmos/ibc-go/v3/testing" ) var ( diff --git a/modules/apps/27-interchain-accounts/host/keeper/params.go b/modules/apps/27-interchain-accounts/host/keeper/params.go index b126dd6bd8a..1ecbd5b05f8 100644 --- a/modules/apps/27-interchain-accounts/host/keeper/params.go +++ b/modules/apps/27-interchain-accounts/host/keeper/params.go @@ -3,7 +3,7 @@ package keeper import ( sdk "github.com/cosmos/cosmos-sdk/types" - "github.com/cosmos/ibc-go/v2/modules/apps/27-interchain-accounts/host/types" + "github.com/cosmos/ibc-go/v3/modules/apps/27-interchain-accounts/host/types" ) // IsHostEnabled retrieves the host enabled boolean from the paramstore. diff --git a/modules/apps/27-interchain-accounts/host/keeper/params_test.go b/modules/apps/27-interchain-accounts/host/keeper/params_test.go index ff4d6d55868..529afecaecf 100644 --- a/modules/apps/27-interchain-accounts/host/keeper/params_test.go +++ b/modules/apps/27-interchain-accounts/host/keeper/params_test.go @@ -1,6 +1,6 @@ package keeper_test -import "github.com/cosmos/ibc-go/v2/modules/apps/27-interchain-accounts/host/types" +import "github.com/cosmos/ibc-go/v3/modules/apps/27-interchain-accounts/host/types" func (suite *KeeperTestSuite) TestParams() { expParams := types.DefaultParams() diff --git a/modules/apps/27-interchain-accounts/host/keeper/relay.go b/modules/apps/27-interchain-accounts/host/keeper/relay.go index 244e0d06e0c..8469ee5dac0 100644 --- a/modules/apps/27-interchain-accounts/host/keeper/relay.go +++ b/modules/apps/27-interchain-accounts/host/keeper/relay.go @@ -4,9 +4,9 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" - "github.com/cosmos/ibc-go/v2/modules/apps/27-interchain-accounts/host/types" - icatypes "github.com/cosmos/ibc-go/v2/modules/apps/27-interchain-accounts/types" - channeltypes "github.com/cosmos/ibc-go/v2/modules/core/04-channel/types" + "github.com/cosmos/ibc-go/v3/modules/apps/27-interchain-accounts/host/types" + icatypes "github.com/cosmos/ibc-go/v3/modules/apps/27-interchain-accounts/types" + channeltypes "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types" ) // AuthenticateTx ensures the provided msgs contain the correct interchain account signer address retrieved diff --git a/modules/apps/27-interchain-accounts/host/keeper/relay_test.go b/modules/apps/27-interchain-accounts/host/keeper/relay_test.go index d77e0735bbd..b8e4ec54ba7 100644 --- a/modules/apps/27-interchain-accounts/host/keeper/relay_test.go +++ b/modules/apps/27-interchain-accounts/host/keeper/relay_test.go @@ -10,12 +10,12 @@ import ( govtypes "github.com/cosmos/cosmos-sdk/x/gov/types" stakingtypes "github.com/cosmos/cosmos-sdk/x/staking/types" - "github.com/cosmos/ibc-go/v2/modules/apps/27-interchain-accounts/host/types" - icatypes "github.com/cosmos/ibc-go/v2/modules/apps/27-interchain-accounts/types" - transfertypes "github.com/cosmos/ibc-go/v2/modules/apps/transfer/types" - clienttypes "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" - channeltypes "github.com/cosmos/ibc-go/v2/modules/core/04-channel/types" - ibctesting "github.com/cosmos/ibc-go/v2/testing" + "github.com/cosmos/ibc-go/v3/modules/apps/27-interchain-accounts/host/types" + icatypes "github.com/cosmos/ibc-go/v3/modules/apps/27-interchain-accounts/types" + transfertypes "github.com/cosmos/ibc-go/v3/modules/apps/transfer/types" + clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" + channeltypes "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types" + ibctesting "github.com/cosmos/ibc-go/v3/testing" ) func (suite *KeeperTestSuite) TestOnRecvPacket() { diff --git a/modules/apps/27-interchain-accounts/host/types/host.pb.go b/modules/apps/27-interchain-accounts/host/types/host.pb.go index 8ad1c15c24b..1aeef028f3a 100644 --- a/modules/apps/27-interchain-accounts/host/types/host.pb.go +++ b/modules/apps/27-interchain-accounts/host/types/host.pb.go @@ -92,7 +92,7 @@ var fileDescriptor_48e202774f13d08e = []byte{ // 306 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x6c, 0x90, 0xbf, 0x6a, 0x32, 0x41, 0x14, 0xc5, 0xdd, 0xef, 0x03, 0x49, 0x36, 0x7f, 0x0a, 0x93, 0x10, 0xb5, 0x58, 0x65, 0x2b, 0x8b, - 0xb8, 0x17, 0x4d, 0x21, 0x58, 0x05, 0x21, 0x4d, 0x20, 0x10, 0x2c, 0xd3, 0xc8, 0xcc, 0x38, 0x19, + 0xb8, 0x17, 0x63, 0x21, 0x58, 0x05, 0x21, 0x4d, 0x20, 0x10, 0x2c, 0xd3, 0xc8, 0xcc, 0x38, 0x19, 0x07, 0x66, 0xe7, 0x2e, 0xde, 0x59, 0x83, 0x2f, 0x90, 0x3a, 0x8f, 0x95, 0xd2, 0x32, 0x95, 0x04, 0x7d, 0x03, 0x9f, 0x20, 0xec, 0x6c, 0x20, 0x0a, 0xa9, 0xe6, 0x9e, 0x73, 0xf8, 0x1d, 0x98, 0x13, 0x0e, 0x34, 0x17, 0xc0, 0xb2, 0xcc, 0x68, 0xc1, 0x9c, 0x46, 0x4b, 0xa0, 0xad, 0x93, 0x73, 0x31, @@ -107,8 +107,8 @@ var fileDescriptor_48e202774f13d08e = []byte{ 0x8f, 0x3f, 0x7a, 0x34, 0xfd, 0xd8, 0x44, 0xc1, 0x6a, 0x13, 0x05, 0x5f, 0x9b, 0x28, 0x78, 0xdf, 0x46, 0x95, 0xd5, 0x36, 0xaa, 0x7c, 0x6e, 0xa3, 0xca, 0xf3, 0x83, 0xd2, 0x6e, 0x96, 0xf3, 0x44, 0x60, 0x0a, 0x02, 0x29, 0x45, 0x02, 0xcd, 0x45, 0x57, 0x21, 0x2c, 0xfa, 0x90, 0xe2, 0x34, 0x37, - 0x92, 0x8a, 0x69, 0x09, 0xfa, 0x83, 0xee, 0xef, 0x38, 0xdd, 0xc3, 0x55, 0xdd, 0x32, 0x93, 0xc4, - 0xab, 0xfe, 0xd7, 0xb7, 0xdf, 0x01, 0x00, 0x00, 0xff, 0xff, 0x6b, 0x0d, 0x8d, 0xb8, 0x8f, 0x01, + 0x92, 0x8a, 0x69, 0x09, 0x6e, 0x07, 0xdd, 0xdf, 0x71, 0xba, 0x87, 0xab, 0xba, 0x65, 0x26, 0x89, + 0x57, 0xfd, 0xaf, 0xfb, 0xdf, 0x01, 0x00, 0x00, 0xff, 0xff, 0xbc, 0x1e, 0x18, 0xa5, 0x8f, 0x01, 0x00, 0x00, } diff --git a/modules/apps/27-interchain-accounts/host/types/params_test.go b/modules/apps/27-interchain-accounts/host/types/params_test.go index 75dc5ff342e..2606f3fd2f5 100644 --- a/modules/apps/27-interchain-accounts/host/types/params_test.go +++ b/modules/apps/27-interchain-accounts/host/types/params_test.go @@ -5,7 +5,7 @@ import ( "github.com/stretchr/testify/require" - "github.com/cosmos/ibc-go/v2/modules/apps/27-interchain-accounts/host/types" + "github.com/cosmos/ibc-go/v3/modules/apps/27-interchain-accounts/host/types" ) func TestValidateParams(t *testing.T) { diff --git a/modules/apps/27-interchain-accounts/host/types/query.pb.go b/modules/apps/27-interchain-accounts/host/types/query.pb.go index 5f8f55bf816..4651e134ad5 100644 --- a/modules/apps/27-interchain-accounts/host/types/query.pb.go +++ b/modules/apps/27-interchain-accounts/host/types/query.pb.go @@ -122,28 +122,28 @@ func init() { } var fileDescriptor_e6b7e23fc90c353a = []byte{ - // 322 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x91, 0x31, 0x4b, 0x3b, 0x31, - 0x18, 0xc6, 0x9b, 0x3f, 0xfc, 0x3b, 0x9c, 0xdb, 0xd9, 0x41, 0x8a, 0x04, 0xe9, 0xe4, 0xd0, 0xe6, - 0xa5, 0x67, 0xa1, 0x8e, 0xea, 0x28, 0x0e, 0xea, 0xe8, 0x22, 0xb9, 0x34, 0xa4, 0x81, 0x5e, 0xde, - 0xf4, 0x92, 0x2b, 0x74, 0xf5, 0x13, 0x08, 0x7e, 0x24, 0x17, 0x17, 0xa1, 0xe0, 0xe2, 0x28, 0xad, - 0x1f, 0x44, 0x2e, 0x77, 0xa0, 0x45, 0x11, 0x0e, 0xb7, 0x97, 0x37, 0x3c, 0xbf, 0xe7, 0x79, 0xde, - 0x44, 0xc7, 0x3a, 0x15, 0xc0, 0xad, 0x9d, 0x69, 0xc1, 0xbd, 0x46, 0xe3, 0x40, 0x1b, 0x2f, 0x73, - 0x31, 0xe5, 0xda, 0xdc, 0x72, 0x21, 0xb0, 0x30, 0xde, 0xc1, 0x14, 0x9d, 0x87, 0xc5, 0x10, 0xe6, - 0x85, 0xcc, 0x97, 0xcc, 0xe6, 0xe8, 0x31, 0xee, 0xeb, 0x54, 0xb0, 0xaf, 0x4a, 0xf6, 0x83, 0x92, - 0x95, 0x4a, 0xb6, 0x18, 0x76, 0xf7, 0x15, 0xa2, 0x9a, 0x49, 0xe0, 0x56, 0x03, 0x37, 0x06, 0x7d, - 0xad, 0x09, 0xac, 0x6e, 0x47, 0xa1, 0xc2, 0x30, 0x42, 0x39, 0xd5, 0xdb, 0x71, 0xa3, 0x6c, 0xc1, - 0x29, 0x08, 0x7b, 0x9d, 0x28, 0xbe, 0x2a, 0x93, 0x5e, 0xf2, 0x9c, 0x67, 0xee, 0x5a, 0xce, 0x0b, - 0xe9, 0x7c, 0x4f, 0x44, 0xbb, 0x5b, 0x5b, 0x67, 0xd1, 0x38, 0x19, 0x5f, 0x44, 0x6d, 0x1b, 0x36, - 0x7b, 0xe4, 0x80, 0x1c, 0xee, 0x24, 0x23, 0xd6, 0xa4, 0x18, 0xab, 0x69, 0x35, 0x23, 0x79, 0x26, - 0xd1, 0xff, 0xe0, 0x12, 0x3f, 0x92, 0xa8, 0x5d, 0x3d, 0xc6, 0x27, 0xcd, 0x90, 0xdf, 0xb3, 0x77, - 0x4f, 0xff, 0x40, 0xa8, 0x7a, 0xf6, 0x46, 0x77, 0x2f, 0xef, 0x0f, 0xff, 0x58, 0xdc, 0x87, 0xfa, - 0xac, 0xbf, 0x9f, 0xb3, 0xea, 0x73, 0x36, 0x79, 0x5a, 0x53, 0xb2, 0x5a, 0x53, 0xf2, 0xb6, 0xa6, - 0xe4, 0x7e, 0x43, 0x5b, 0xab, 0x0d, 0x6d, 0xbd, 0x6e, 0x68, 0xeb, 0xe6, 0x5c, 0x69, 0x3f, 0x2d, - 0x52, 0x26, 0x30, 0x03, 0x81, 0x2e, 0x43, 0x57, 0x82, 0x07, 0x0a, 0x61, 0x91, 0x40, 0x86, 0x93, - 0x62, 0x26, 0x5d, 0x65, 0x93, 0x8c, 0x07, 0x9f, 0x4e, 0x83, 0x6d, 0x27, 0xbf, 0xb4, 0xd2, 0xa5, - 0xed, 0xf0, 0x6f, 0x47, 0x1f, 0x01, 0x00, 0x00, 0xff, 0xff, 0x60, 0xf9, 0x1a, 0x0c, 0x8e, 0x02, - 0x00, 0x00, + // 321 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x91, 0x3f, 0x4b, 0x03, 0x31, + 0x18, 0xc6, 0x1b, 0xc1, 0x0e, 0xe7, 0x76, 0x76, 0x90, 0x22, 0x41, 0x3a, 0x39, 0xb4, 0x79, 0xe9, + 0x1f, 0xa8, 0xa3, 0x3a, 0x8a, 0x83, 0x3a, 0xba, 0x48, 0x2e, 0x0d, 0x69, 0xa0, 0x97, 0x37, 0xbd, + 0xe4, 0x0a, 0x5d, 0xfd, 0x04, 0x82, 0x1f, 0xc9, 0xc5, 0x45, 0x28, 0xb8, 0x38, 0x4a, 0xeb, 0x07, + 0x91, 0xcb, 0x1d, 0x68, 0x51, 0x84, 0xc3, 0xed, 0xe5, 0x0d, 0xcf, 0xef, 0x79, 0x9e, 0x37, 0xd1, + 0x89, 0x4e, 0x04, 0x70, 0x6b, 0x67, 0x5a, 0x70, 0xaf, 0xd1, 0x38, 0xd0, 0xc6, 0xcb, 0x4c, 0x4c, + 0xb9, 0x36, 0x77, 0x5c, 0x08, 0xcc, 0x8d, 0x77, 0x30, 0x45, 0xe7, 0x61, 0xd1, 0x87, 0x79, 0x2e, + 0xb3, 0x25, 0xb3, 0x19, 0x7a, 0x8c, 0xbb, 0x3a, 0x11, 0xec, 0xbb, 0x92, 0xfd, 0xa2, 0x64, 0x85, + 0x92, 0x2d, 0xfa, 0xed, 0x43, 0x85, 0xa8, 0x66, 0x12, 0xb8, 0xd5, 0xc0, 0x8d, 0x41, 0x5f, 0x69, + 0x02, 0xab, 0xdd, 0x52, 0xa8, 0x30, 0x8c, 0x50, 0x4c, 0xd5, 0x76, 0x5c, 0x2b, 0x5b, 0x70, 0x0a, + 0xc2, 0x4e, 0x2b, 0x8a, 0xaf, 0x8b, 0xa4, 0x57, 0x3c, 0xe3, 0xa9, 0xbb, 0x91, 0xf3, 0x5c, 0x3a, + 0xdf, 0x11, 0xd1, 0xfe, 0xd6, 0xd6, 0x59, 0x34, 0x4e, 0xc6, 0x97, 0x51, 0xd3, 0x86, 0xcd, 0x01, + 0x39, 0x22, 0xc7, 0x7b, 0x83, 0x11, 0xab, 0x53, 0x8c, 0x55, 0xb4, 0x8a, 0x31, 0x78, 0x21, 0xd1, + 0x6e, 0x70, 0x89, 0x9f, 0x48, 0xd4, 0x2c, 0x1f, 0xe3, 0xd3, 0x7a, 0xc8, 0x9f, 0xd9, 0xdb, 0x67, + 0xff, 0x20, 0x94, 0x3d, 0x3b, 0xa3, 0xfb, 0xd7, 0x8f, 0xc7, 0x1d, 0x16, 0x77, 0xa1, 0x3a, 0xeb, + 0xdf, 0xe7, 0x2c, 0xfb, 0x9c, 0x4f, 0x9e, 0xd7, 0x94, 0xac, 0xd6, 0x94, 0xbc, 0xaf, 0x29, 0x79, + 0xd8, 0xd0, 0xc6, 0x6a, 0x43, 0x1b, 0x6f, 0x1b, 0xda, 0xb8, 0xbd, 0x50, 0xda, 0x4f, 0xf3, 0x84, + 0x09, 0x4c, 0x41, 0xa0, 0x4b, 0xd1, 0x15, 0xe0, 0x9e, 0x42, 0x58, 0x0c, 0x21, 0xc5, 0x49, 0x3e, + 0x93, 0xae, 0xb4, 0x19, 0x8c, 0x7b, 0x5f, 0x4e, 0xbd, 0x6d, 0x27, 0xbf, 0xb4, 0xd2, 0x25, 0xcd, + 0xf0, 0x6f, 0xc3, 0xcf, 0x00, 0x00, 0x00, 0xff, 0xff, 0xb7, 0xea, 0x8f, 0x11, 0x8e, 0x02, 0x00, + 0x00, } // Reference imports to suppress errors if they are not otherwise used. diff --git a/modules/apps/27-interchain-accounts/module.go b/modules/apps/27-interchain-accounts/module.go index 8691111bbb1..a918c552b40 100644 --- a/modules/apps/27-interchain-accounts/module.go +++ b/modules/apps/27-interchain-accounts/module.go @@ -16,15 +16,15 @@ import ( "github.com/grpc-ecosystem/grpc-gateway/runtime" abci "github.com/tendermint/tendermint/abci/types" - "github.com/cosmos/ibc-go/v2/modules/apps/27-interchain-accounts/client/cli" - "github.com/cosmos/ibc-go/v2/modules/apps/27-interchain-accounts/controller" - controllerkeeper "github.com/cosmos/ibc-go/v2/modules/apps/27-interchain-accounts/controller/keeper" - controllertypes "github.com/cosmos/ibc-go/v2/modules/apps/27-interchain-accounts/controller/types" - "github.com/cosmos/ibc-go/v2/modules/apps/27-interchain-accounts/host" - hostkeeper "github.com/cosmos/ibc-go/v2/modules/apps/27-interchain-accounts/host/keeper" - hosttypes "github.com/cosmos/ibc-go/v2/modules/apps/27-interchain-accounts/host/types" - "github.com/cosmos/ibc-go/v2/modules/apps/27-interchain-accounts/types" - porttypes "github.com/cosmos/ibc-go/v2/modules/core/05-port/types" + "github.com/cosmos/ibc-go/v3/modules/apps/27-interchain-accounts/client/cli" + "github.com/cosmos/ibc-go/v3/modules/apps/27-interchain-accounts/controller" + controllerkeeper "github.com/cosmos/ibc-go/v3/modules/apps/27-interchain-accounts/controller/keeper" + controllertypes "github.com/cosmos/ibc-go/v3/modules/apps/27-interchain-accounts/controller/types" + "github.com/cosmos/ibc-go/v3/modules/apps/27-interchain-accounts/host" + hostkeeper "github.com/cosmos/ibc-go/v3/modules/apps/27-interchain-accounts/host/keeper" + hosttypes "github.com/cosmos/ibc-go/v3/modules/apps/27-interchain-accounts/host/types" + "github.com/cosmos/ibc-go/v3/modules/apps/27-interchain-accounts/types" + porttypes "github.com/cosmos/ibc-go/v3/modules/core/05-port/types" ) var ( diff --git a/modules/apps/27-interchain-accounts/types/account.pb.go b/modules/apps/27-interchain-accounts/types/account.pb.go index d645d28b72c..da0a705399c 100644 --- a/modules/apps/27-interchain-accounts/types/account.pb.go +++ b/modules/apps/27-interchain-accounts/types/account.pb.go @@ -91,10 +91,10 @@ var fileDescriptor_5561bd92625bf7da = []byte{ 0x61, 0xb8, 0xdf, 0xd3, 0x29, 0xfe, 0xc4, 0x23, 0x39, 0xc6, 0x0b, 0x8f, 0xe4, 0x18, 0x1f, 0x3c, 0x92, 0x63, 0x9c, 0xf0, 0x58, 0x8e, 0xe1, 0xc2, 0x63, 0x39, 0x86, 0x1b, 0x8f, 0xe5, 0x18, 0xa2, 0x5c, 0xd3, 0x33, 0x4b, 0x32, 0x4a, 0x93, 0xf4, 0x92, 0xf3, 0x73, 0xa1, 0xe1, 0xa7, 0x9f, 0x99, - 0x94, 0xac, 0x9b, 0x9e, 0xaf, 0x5f, 0x66, 0xa4, 0x9f, 0x9b, 0x9f, 0x52, 0x9a, 0x93, 0x5a, 0x0c, + 0x94, 0xac, 0x9b, 0x9e, 0xaf, 0x5f, 0x66, 0xac, 0x9f, 0x9b, 0x9f, 0x52, 0x9a, 0x93, 0x5a, 0x0c, 0x8a, 0xc1, 0x62, 0x7d, 0x23, 0x73, 0x5d, 0x44, 0x2c, 0xe8, 0xc2, 0x23, 0xaf, 0xa4, 0xb2, 0x20, - 0xb5, 0x38, 0x89, 0x0d, 0x1c, 0x7c, 0xc6, 0x80, 0x00, 0x00, 0x00, 0xff, 0xff, 0xe7, 0xf4, 0x36, - 0xc4, 0xf1, 0x01, 0x00, 0x00, + 0xb5, 0x38, 0x89, 0x0d, 0x1c, 0x7c, 0xc6, 0x80, 0x00, 0x00, 0x00, 0xff, 0xff, 0x74, 0x07, 0x08, + 0x0e, 0xf1, 0x01, 0x00, 0x00, } func (m *InterchainAccount) Marshal() (dAtA []byte, err error) { diff --git a/modules/apps/27-interchain-accounts/types/account_test.go b/modules/apps/27-interchain-accounts/types/account_test.go index b3ad5a37b1f..265a74d09af 100644 --- a/modules/apps/27-interchain-accounts/types/account_test.go +++ b/modules/apps/27-interchain-accounts/types/account_test.go @@ -10,8 +10,8 @@ import ( authtypes "github.com/cosmos/cosmos-sdk/x/auth/types" "github.com/stretchr/testify/suite" - "github.com/cosmos/ibc-go/v2/modules/apps/27-interchain-accounts/types" - ibctesting "github.com/cosmos/ibc-go/v2/testing" + "github.com/cosmos/ibc-go/v3/modules/apps/27-interchain-accounts/types" + ibctesting "github.com/cosmos/ibc-go/v3/testing" ) var ( diff --git a/modules/apps/27-interchain-accounts/types/codec_test.go b/modules/apps/27-interchain-accounts/types/codec_test.go index 49b2042c163..aee28e88d3e 100644 --- a/modules/apps/27-interchain-accounts/types/codec_test.go +++ b/modules/apps/27-interchain-accounts/types/codec_test.go @@ -5,8 +5,8 @@ import ( banktypes "github.com/cosmos/cosmos-sdk/x/bank/types" govtypes "github.com/cosmos/cosmos-sdk/x/gov/types" - "github.com/cosmos/ibc-go/v2/modules/apps/27-interchain-accounts/types" - "github.com/cosmos/ibc-go/v2/testing/simapp" + "github.com/cosmos/ibc-go/v3/modules/apps/27-interchain-accounts/types" + "github.com/cosmos/ibc-go/v3/testing/simapp" ) // caseRawBytes defines a helper struct, used for testing codec operations diff --git a/modules/apps/27-interchain-accounts/types/expected_keepers.go b/modules/apps/27-interchain-accounts/types/expected_keepers.go index 558a38c4033..493debeec66 100644 --- a/modules/apps/27-interchain-accounts/types/expected_keepers.go +++ b/modules/apps/27-interchain-accounts/types/expected_keepers.go @@ -5,8 +5,8 @@ import ( authtypes "github.com/cosmos/cosmos-sdk/x/auth/types" capabilitytypes "github.com/cosmos/cosmos-sdk/x/capability/types" - channeltypes "github.com/cosmos/ibc-go/v2/modules/core/04-channel/types" - ibcexported "github.com/cosmos/ibc-go/v2/modules/core/exported" + channeltypes "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types" + ibcexported "github.com/cosmos/ibc-go/v3/modules/core/exported" ) // AccountKeeper defines the expected account keeper diff --git a/modules/apps/27-interchain-accounts/types/genesis.go b/modules/apps/27-interchain-accounts/types/genesis.go index 97a906cf5f5..f4c5b15b6d2 100644 --- a/modules/apps/27-interchain-accounts/types/genesis.go +++ b/modules/apps/27-interchain-accounts/types/genesis.go @@ -1,9 +1,9 @@ package types import ( - controllertypes "github.com/cosmos/ibc-go/v2/modules/apps/27-interchain-accounts/controller/types" - hosttypes "github.com/cosmos/ibc-go/v2/modules/apps/27-interchain-accounts/host/types" - host "github.com/cosmos/ibc-go/v2/modules/core/24-host" + controllertypes "github.com/cosmos/ibc-go/v3/modules/apps/27-interchain-accounts/controller/types" + hosttypes "github.com/cosmos/ibc-go/v3/modules/apps/27-interchain-accounts/host/types" + host "github.com/cosmos/ibc-go/v3/modules/core/24-host" ) // DefaultGenesis creates and returns the interchain accounts GenesisState diff --git a/modules/apps/27-interchain-accounts/types/genesis.pb.go b/modules/apps/27-interchain-accounts/types/genesis.pb.go index 5a226263fb8..4680272f5c5 100644 --- a/modules/apps/27-interchain-accounts/types/genesis.pb.go +++ b/modules/apps/27-interchain-accounts/types/genesis.pb.go @@ -5,8 +5,8 @@ package types import ( fmt "fmt" - types "github.com/cosmos/ibc-go/v2/modules/apps/27-interchain-accounts/controller/types" - types1 "github.com/cosmos/ibc-go/v2/modules/apps/27-interchain-accounts/host/types" + types "github.com/cosmos/ibc-go/v3/modules/apps/27-interchain-accounts/controller/types" + types1 "github.com/cosmos/ibc-go/v3/modules/apps/27-interchain-accounts/host/types" _ "github.com/gogo/protobuf/gogoproto" proto "github.com/gogo/protobuf/proto" io "io" @@ -335,46 +335,46 @@ func init() { } var fileDescriptor_629b3ced0911516b = []byte{ - // 609 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x94, 0xcf, 0x6f, 0xd3, 0x30, - 0x14, 0xc7, 0x9b, 0x66, 0x0c, 0xd5, 0x83, 0x31, 0xcc, 0x98, 0x42, 0x91, 0xd2, 0xe2, 0xcb, 0x2a, - 0xa1, 0x25, 0x5a, 0x19, 0x4c, 0xec, 0x82, 0x96, 0x82, 0x60, 0x37, 0x14, 0x2e, 0x88, 0x4b, 0xe4, - 0x3a, 0x56, 0x6a, 0x29, 0x8d, 0xa3, 0xd8, 0xab, 0xb4, 0x13, 0x77, 0x2e, 0x70, 0x43, 0x5c, 0x91, - 0xf8, 0x3f, 0x38, 0xee, 0xb8, 0x23, 0xa7, 0x0a, 0xad, 0xff, 0x41, 0xff, 0x02, 0x64, 0x27, 0xea, - 0x8f, 0xd0, 0x4d, 0xe1, 0xce, 0xa9, 0x76, 0xfc, 0xbe, 0xdf, 0xf7, 0x79, 0x7e, 0xee, 0x03, 0x4f, - 0x59, 0x9f, 0xb8, 0x38, 0x4d, 0x63, 0x46, 0xb0, 0x64, 0x3c, 0x11, 0x2e, 0x4b, 0x24, 0xcd, 0xc8, - 0x00, 0xb3, 0x24, 0xc0, 0x84, 0xf0, 0xd3, 0x44, 0x0a, 0x77, 0xb4, 0xef, 0x46, 0x34, 0xa1, 0x82, - 0x09, 0x27, 0xcd, 0xb8, 0xe4, 0x70, 0x97, 0xf5, 0x89, 0xb3, 0x28, 0x73, 0x56, 0xc8, 0x9c, 0xd1, - 0x7e, 0x73, 0x3b, 0xe2, 0x11, 0xd7, 0x1a, 0x57, 0xad, 0x72, 0x79, 0xb3, 0x57, 0x29, 0x2b, 0xe1, - 0x89, 0xcc, 0x78, 0x1c, 0xd3, 0x4c, 0x01, 0xcc, 0x77, 0x85, 0xc9, 0x61, 0x25, 0x93, 0x01, 0x17, - 0x52, 0xc9, 0xd5, 0x6f, 0x2e, 0x44, 0x3f, 0xeb, 0xe0, 0xd6, 0xeb, 0xbc, 0x9c, 0x77, 0x12, 0x4b, - 0x0a, 0xbf, 0x1b, 0xc0, 0x9a, 0xdb, 0x07, 0x45, 0xa9, 0x81, 0x50, 0x87, 0x96, 0xd1, 0x36, 0x3a, - 0x1b, 0xdd, 0x17, 0x4e, 0xc5, 0x8a, 0x9d, 0xde, 0xcc, 0x68, 0x31, 0x87, 0xb7, 0x7b, 0x3e, 0x6e, - 0xd5, 0xa6, 0xe3, 0x56, 0xeb, 0x0c, 0x0f, 0xe3, 0x23, 0x74, 0x55, 0x3a, 0xe4, 0xef, 0x90, 0x95, - 0x06, 0xf0, 0x93, 0x01, 0xa0, 0x2a, 0xa2, 0x84, 0x57, 0xd7, 0x78, 0xcf, 0x2b, 0xe3, 0xbd, 0xe1, - 0x42, 0x2e, 0x81, 0x3d, 0x2a, 0xc0, 0x1e, 0xe4, 0x60, 0x7f, 0xa7, 0x40, 0xfe, 0xd6, 0xa0, 0x24, - 0x42, 0x3f, 0x4c, 0xb0, 0xb3, 0xba, 0x50, 0xf8, 0x11, 0xdc, 0xc1, 0x44, 0xb2, 0x11, 0x0d, 0xc8, - 0x00, 0x27, 0x09, 0x8d, 0x85, 0x65, 0xb4, 0xcd, 0xce, 0x46, 0xf7, 0x59, 0x65, 0xc6, 0x63, 0xad, - 0xef, 0xe5, 0x72, 0xcf, 0x2e, 0x00, 0x77, 0x72, 0xc0, 0x92, 0x39, 0xf2, 0x37, 0xf1, 0x62, 0xb8, - 0x80, 0xdf, 0x0c, 0x70, 0x6f, 0x85, 0xb1, 0x55, 0xd7, 0x14, 0x2f, 0x2b, 0x53, 0xf8, 0x34, 0x62, - 0x42, 0xd2, 0x8c, 0x86, 0x27, 0xb3, 0x80, 0xe3, 0xfc, 0xdc, 0x43, 0x05, 0x53, 0x33, 0x67, 0x5a, - 0xe1, 0x80, 0x7c, 0xc8, 0xca, 0x32, 0x01, 0xb7, 0xc1, 0x8d, 0x94, 0x67, 0x52, 0x58, 0x66, 0xdb, - 0xec, 0x34, 0xfc, 0x7c, 0x03, 0xdf, 0x83, 0xf5, 0x14, 0x67, 0x78, 0x28, 0xac, 0x35, 0xdd, 0xcd, - 0xa3, 0x6a, 0x8c, 0x0b, 0xff, 0x88, 0xd1, 0xbe, 0xf3, 0x56, 0x3b, 0x78, 0x6b, 0x8a, 0xcc, 0x2f, - 0xfc, 0xd0, 0x57, 0x13, 0x6c, 0x95, 0x3b, 0xfe, 0xbf, 0x43, 0xd7, 0x75, 0x08, 0x82, 0x35, 0xd5, - 0x14, 0xcb, 0x6c, 0x1b, 0x9d, 0x86, 0xaf, 0xd7, 0xd0, 0x2f, 0xf5, 0xe7, 0xa0, 0x1a, 0xa1, 0x1e, - 0x39, 0x57, 0x75, 0x26, 0x03, 0xb7, 0x97, 0x2e, 0x11, 0x3e, 0x06, 0x37, 0x55, 0xb2, 0x80, 0x85, - 0x7a, 0xe4, 0x34, 0x3c, 0x38, 0x1d, 0xb7, 0x36, 0x73, 0xfa, 0xe2, 0x00, 0xf9, 0xeb, 0x6a, 0x75, - 0x12, 0xc2, 0x03, 0x00, 0x8a, 0xeb, 0x55, 0xf1, 0x75, 0x1d, 0x7f, 0x7f, 0x3a, 0x6e, 0xdd, 0x2d, - 0xa6, 0xcb, 0xec, 0x0c, 0xf9, 0x8d, 0x62, 0x73, 0x12, 0xa2, 0xcf, 0x06, 0x78, 0x78, 0xcd, 0x9d, - 0xfd, 0x1b, 0x42, 0x4f, 0xbd, 0x22, 0xad, 0x0b, 0x70, 0x18, 0x66, 0x54, 0x88, 0x82, 0xa3, 0xb9, - 0xf8, 0x12, 0x96, 0x02, 0xf4, 0x4b, 0xd0, 0x5f, 0x8e, 0xf3, 0x0f, 0x5e, 0x70, 0x7e, 0x69, 0x1b, - 0x17, 0x97, 0xb6, 0xf1, 0xfb, 0xd2, 0x36, 0xbe, 0x4c, 0xec, 0xda, 0xc5, 0xc4, 0xae, 0xfd, 0x9a, - 0xd8, 0xb5, 0x0f, 0xaf, 0x22, 0x26, 0x07, 0xa7, 0x7d, 0x87, 0xf0, 0xa1, 0x4b, 0xb8, 0x18, 0x72, - 0xe1, 0xb2, 0x3e, 0xd9, 0x8b, 0xb8, 0x3b, 0xea, 0xba, 0x43, 0x1e, 0x9e, 0xc6, 0x54, 0xa8, 0xe9, - 0x2f, 0xdc, 0xee, 0xe1, 0xde, 0xfc, 0xf6, 0xf7, 0x66, 0x83, 0x5f, 0x9e, 0xa5, 0x54, 0xf4, 0xd7, - 0xf5, 0xc8, 0x7f, 0xf2, 0x27, 0x00, 0x00, 0xff, 0xff, 0x61, 0x4a, 0xb3, 0xe7, 0xe8, 0x06, 0x00, - 0x00, + // 611 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x94, 0x4f, 0x6f, 0xd3, 0x3e, + 0x18, 0xc7, 0x9b, 0x66, 0xbf, 0xfd, 0x54, 0x0f, 0xc6, 0x30, 0x63, 0x0a, 0x45, 0x4a, 0x8b, 0x2f, + 0xab, 0x84, 0x96, 0x68, 0x7f, 0x60, 0x62, 0x17, 0xb4, 0x14, 0x04, 0xbb, 0xa1, 0x70, 0x41, 0x5c, + 0x22, 0xd7, 0xb1, 0x52, 0x4b, 0x69, 0x1c, 0xc5, 0x5e, 0xa5, 0x9d, 0xb8, 0x73, 0x81, 0x1b, 0xe2, + 0x8a, 0xc4, 0xfb, 0xe0, 0xb8, 0xe3, 0x8e, 0x9c, 0x2a, 0xd4, 0xbe, 0x83, 0xbe, 0x02, 0x64, 0x27, + 0xea, 0x9f, 0xd0, 0x4d, 0xe1, 0xce, 0xa9, 0x76, 0xfc, 0x7c, 0xbf, 0xcf, 0xe7, 0xf1, 0xe3, 0x3e, + 0xe0, 0x09, 0xeb, 0x11, 0x17, 0xa7, 0x69, 0xcc, 0x08, 0x96, 0x8c, 0x27, 0xc2, 0x65, 0x89, 0xa4, + 0x19, 0xe9, 0x63, 0x96, 0x04, 0x98, 0x10, 0x7e, 0x9e, 0x48, 0xe1, 0x0e, 0xf7, 0xdd, 0x88, 0x26, + 0x54, 0x30, 0xe1, 0xa4, 0x19, 0x97, 0x1c, 0xee, 0xb2, 0x1e, 0x71, 0x16, 0x65, 0xce, 0x0a, 0x99, + 0x33, 0xdc, 0x6f, 0x6e, 0x47, 0x3c, 0xe2, 0x5a, 0xe3, 0xaa, 0x55, 0x2e, 0x6f, 0x76, 0x2b, 0x65, + 0x25, 0x3c, 0x91, 0x19, 0x8f, 0x63, 0x9a, 0x29, 0x80, 0xf9, 0xae, 0x30, 0x39, 0xae, 0x64, 0xd2, + 0xe7, 0x42, 0x2a, 0xb9, 0xfa, 0xcd, 0x85, 0xe8, 0x47, 0x1d, 0xdc, 0x7a, 0x95, 0x97, 0xf3, 0x56, + 0x62, 0x49, 0xe1, 0x37, 0x03, 0x58, 0x73, 0xfb, 0xa0, 0x28, 0x35, 0x10, 0xea, 0xd0, 0x32, 0xda, + 0x46, 0x67, 0xe3, 0xe0, 0xb9, 0x53, 0xb1, 0x62, 0xa7, 0x3b, 0x33, 0x5a, 0xcc, 0xe1, 0xed, 0x5e, + 0x8e, 0x5a, 0xb5, 0xe9, 0xa8, 0xd5, 0xba, 0xc0, 0x83, 0xf8, 0x04, 0x5d, 0x97, 0x0e, 0xf9, 0x3b, + 0x64, 0xa5, 0x01, 0xfc, 0x68, 0x00, 0xa8, 0x8a, 0x28, 0xe1, 0xd5, 0x35, 0xde, 0xb3, 0xca, 0x78, + 0xaf, 0xb9, 0x90, 0x4b, 0x60, 0x8f, 0x0a, 0xb0, 0x07, 0x39, 0xd8, 0x9f, 0x29, 0x90, 0xbf, 0xd5, + 0x2f, 0x89, 0xd0, 0x77, 0x13, 0xec, 0xac, 0x2e, 0x14, 0x7e, 0x00, 0x77, 0x30, 0x91, 0x6c, 0x48, + 0x03, 0xd2, 0xc7, 0x49, 0x42, 0x63, 0x61, 0x19, 0x6d, 0xb3, 0xb3, 0x71, 0xf0, 0xb4, 0x32, 0xe3, + 0xa9, 0xd6, 0x77, 0x73, 0xb9, 0x67, 0x17, 0x80, 0x3b, 0x39, 0x60, 0xc9, 0x1c, 0xf9, 0x9b, 0x78, + 0x31, 0x5c, 0xc0, 0xaf, 0x06, 0xb8, 0xb7, 0xc2, 0xd8, 0xaa, 0x6b, 0x8a, 0x17, 0x95, 0x29, 0x7c, + 0x1a, 0x31, 0x21, 0x69, 0x46, 0xc3, 0xb3, 0x59, 0xc0, 0x69, 0x7e, 0xee, 0xa1, 0x82, 0xa9, 0x99, + 0x33, 0xad, 0x70, 0x40, 0x3e, 0x64, 0x65, 0x99, 0x80, 0xdb, 0xe0, 0xbf, 0x94, 0x67, 0x52, 0x58, + 0x66, 0xdb, 0xec, 0x34, 0xfc, 0x7c, 0x03, 0xdf, 0x81, 0xf5, 0x14, 0x67, 0x78, 0x20, 0xac, 0x35, + 0xdd, 0xcd, 0x93, 0x6a, 0x8c, 0x0b, 0xff, 0x88, 0xe1, 0xbe, 0xf3, 0x46, 0x3b, 0x78, 0x6b, 0x8a, + 0xcc, 0x2f, 0xfc, 0xd0, 0x17, 0x13, 0x6c, 0x95, 0x3b, 0xfe, 0xaf, 0x43, 0x37, 0x75, 0x08, 0x82, + 0x35, 0xd5, 0x14, 0xcb, 0x6c, 0x1b, 0x9d, 0x86, 0xaf, 0xd7, 0xd0, 0x2f, 0xf5, 0xe7, 0xa8, 0x1a, + 0xa1, 0x1e, 0x39, 0xd7, 0x75, 0x26, 0x03, 0xb7, 0x97, 0x2e, 0x11, 0x3e, 0x06, 0xff, 0xab, 0x64, + 0x01, 0x0b, 0xf5, 0xc8, 0x69, 0x78, 0x70, 0x3a, 0x6a, 0x6d, 0xe6, 0xf4, 0xc5, 0x01, 0xf2, 0xd7, + 0xd5, 0xea, 0x2c, 0x84, 0x47, 0x00, 0x14, 0xd7, 0xab, 0xe2, 0xeb, 0x3a, 0xfe, 0xfe, 0x74, 0xd4, + 0xba, 0x5b, 0x4c, 0x97, 0xd9, 0x19, 0xf2, 0x1b, 0xc5, 0xe6, 0x2c, 0x44, 0x9f, 0x0c, 0xf0, 0xf0, + 0x86, 0x3b, 0xfb, 0x3b, 0x84, 0xae, 0x7a, 0x45, 0x5a, 0x17, 0xe0, 0x30, 0xcc, 0xa8, 0x10, 0x05, + 0x47, 0x73, 0xf1, 0x25, 0x2c, 0x05, 0xe8, 0x97, 0xa0, 0xbf, 0x9c, 0xe6, 0x1f, 0xbc, 0xe0, 0x72, + 0x6c, 0x1b, 0x57, 0x63, 0xdb, 0xf8, 0x35, 0xb6, 0x8d, 0xcf, 0x13, 0xbb, 0x76, 0x35, 0xb1, 0x6b, + 0x3f, 0x27, 0x76, 0xed, 0xfd, 0xcb, 0x88, 0xc9, 0xfe, 0x79, 0xcf, 0x21, 0x7c, 0xe0, 0x12, 0x2e, + 0x06, 0x5c, 0xb8, 0xac, 0x47, 0xf6, 0x22, 0xee, 0x0e, 0x0f, 0xdd, 0x01, 0x0f, 0xcf, 0x63, 0x2a, + 0xd4, 0xf4, 0x17, 0xee, 0xc1, 0xf1, 0xde, 0xfc, 0xf6, 0xf7, 0x66, 0x83, 0x5f, 0x5e, 0xa4, 0x54, + 0xf4, 0xd6, 0xf5, 0xc8, 0x3f, 0xfc, 0x1d, 0x00, 0x00, 0xff, 0xff, 0xf2, 0xb9, 0x8d, 0x2d, 0xe8, + 0x06, 0x00, 0x00, } func (m *GenesisState) Marshal() (dAtA []byte, err error) { diff --git a/modules/apps/27-interchain-accounts/types/genesis_test.go b/modules/apps/27-interchain-accounts/types/genesis_test.go index 2ac017c63ad..7e6ffdc280b 100644 --- a/modules/apps/27-interchain-accounts/types/genesis_test.go +++ b/modules/apps/27-interchain-accounts/types/genesis_test.go @@ -1,10 +1,10 @@ package types_test import ( - controllertypes "github.com/cosmos/ibc-go/v2/modules/apps/27-interchain-accounts/controller/types" - hosttypes "github.com/cosmos/ibc-go/v2/modules/apps/27-interchain-accounts/host/types" - "github.com/cosmos/ibc-go/v2/modules/apps/27-interchain-accounts/types" - ibctesting "github.com/cosmos/ibc-go/v2/testing" + controllertypes "github.com/cosmos/ibc-go/v3/modules/apps/27-interchain-accounts/controller/types" + hosttypes "github.com/cosmos/ibc-go/v3/modules/apps/27-interchain-accounts/host/types" + "github.com/cosmos/ibc-go/v3/modules/apps/27-interchain-accounts/types" + ibctesting "github.com/cosmos/ibc-go/v3/testing" ) func (suite *TypesTestSuite) TestValidateGenesisState() { diff --git a/modules/apps/27-interchain-accounts/types/keys_test.go b/modules/apps/27-interchain-accounts/types/keys_test.go index 037061a3d3e..f5d48a1f641 100644 --- a/modules/apps/27-interchain-accounts/types/keys_test.go +++ b/modules/apps/27-interchain-accounts/types/keys_test.go @@ -1,7 +1,7 @@ package types_test import ( - "github.com/cosmos/ibc-go/v2/modules/apps/27-interchain-accounts/types" + "github.com/cosmos/ibc-go/v3/modules/apps/27-interchain-accounts/types" ) func (suite *TypesTestSuite) TestKeyActiveChannel() { diff --git a/modules/apps/27-interchain-accounts/types/packet_test.go b/modules/apps/27-interchain-accounts/types/packet_test.go index 1c8d5c5fc4f..840ca529851 100644 --- a/modules/apps/27-interchain-accounts/types/packet_test.go +++ b/modules/apps/27-interchain-accounts/types/packet_test.go @@ -1,7 +1,7 @@ package types_test import ( - "github.com/cosmos/ibc-go/v2/modules/apps/27-interchain-accounts/types" + "github.com/cosmos/ibc-go/v3/modules/apps/27-interchain-accounts/types" ) var largeMemo = "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum" diff --git a/modules/apps/27-interchain-accounts/types/port.go b/modules/apps/27-interchain-accounts/types/port.go index c44c5eda9ba..32c7de66af3 100644 --- a/modules/apps/27-interchain-accounts/types/port.go +++ b/modules/apps/27-interchain-accounts/types/port.go @@ -6,8 +6,8 @@ import ( "strings" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" - connectiontypes "github.com/cosmos/ibc-go/v2/modules/core/03-connection/types" - porttypes "github.com/cosmos/ibc-go/v2/modules/core/05-port/types" + connectiontypes "github.com/cosmos/ibc-go/v3/modules/core/03-connection/types" + porttypes "github.com/cosmos/ibc-go/v3/modules/core/05-port/types" ) const ( diff --git a/modules/apps/27-interchain-accounts/types/port_test.go b/modules/apps/27-interchain-accounts/types/port_test.go index cd12548c8d5..3a01b79391a 100644 --- a/modules/apps/27-interchain-accounts/types/port_test.go +++ b/modules/apps/27-interchain-accounts/types/port_test.go @@ -3,8 +3,8 @@ package types_test import ( "fmt" - "github.com/cosmos/ibc-go/v2/modules/apps/27-interchain-accounts/types" - ibctesting "github.com/cosmos/ibc-go/v2/testing" + "github.com/cosmos/ibc-go/v3/modules/apps/27-interchain-accounts/types" + ibctesting "github.com/cosmos/ibc-go/v3/testing" ) func (suite *TypesTestSuite) TestGeneratePortID() { diff --git a/modules/apps/27-interchain-accounts/types/types.pb.go b/modules/apps/27-interchain-accounts/types/types.pb.go index 7ed9c1b9e7e..4700c72f41c 100644 --- a/modules/apps/27-interchain-accounts/types/types.pb.go +++ b/modules/apps/27-interchain-accounts/types/types.pb.go @@ -173,29 +173,29 @@ var fileDescriptor_39bab93e18d89799 = []byte{ // 391 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x51, 0x41, 0x8b, 0xd3, 0x40, 0x18, 0xcd, 0xb8, 0x41, 0xd6, 0x59, 0xd9, 0x2d, 0x61, 0x0f, 0x31, 0x42, 0x08, 0x2b, 0x62, 0x10, - 0x32, 0xe3, 0x66, 0x0f, 0x5e, 0xbc, 0xd4, 0x6e, 0x84, 0x5e, 0xa4, 0xc4, 0x14, 0xaa, 0x97, 0x30, - 0x99, 0x8e, 0xe9, 0x60, 0x93, 0x09, 0x9d, 0x49, 0x31, 0xff, 0xa0, 0xf4, 0xe4, 0x1f, 0xe8, 0xc9, - 0x3f, 0xe3, 0xb1, 0x47, 0x8f, 0xd2, 0xfe, 0x11, 0xc9, 0x04, 0xdb, 0x1e, 0x3c, 0xec, 0xed, 0xf1, - 0xf8, 0xde, 0x9b, 0xf7, 0xe6, 0xc1, 0x3b, 0x9e, 0x51, 0x4c, 0xaa, 0x6a, 0xce, 0x29, 0x51, 0x5c, - 0x94, 0x12, 0xf3, 0x52, 0xb1, 0x05, 0x9d, 0x11, 0x5e, 0xa6, 0x84, 0x52, 0x51, 0x97, 0x4a, 0xe2, - 0xe5, 0x2d, 0x56, 0x4d, 0xc5, 0x24, 0xaa, 0x16, 0x42, 0x09, 0xeb, 0x15, 0xcf, 0x28, 0x3a, 0x15, - 0xa1, 0xff, 0x88, 0xd0, 0xf2, 0xd6, 0x79, 0x96, 0x0b, 0x91, 0xcf, 0x19, 0xd6, 0xb2, 0xac, 0xfe, - 0x8a, 0x49, 0xd9, 0x74, 0x1e, 0xce, 0x75, 0x2e, 0x72, 0xa1, 0x21, 0x6e, 0x51, 0xc7, 0xde, 0xac, - 0x00, 0x7c, 0x3e, 0x3c, 0x78, 0xf5, 0x3b, 0xab, 0x11, 0xa1, 0xdf, 0x98, 0xba, 0x27, 0x8a, 0x58, - 0x7d, 0x68, 0xb6, 0x41, 0x6c, 0xe0, 0x01, 0xff, 0x32, 0x0c, 0xd0, 0x03, 0x83, 0xa0, 0xa4, 0xa9, - 0x58, 0xac, 0xa5, 0x96, 0x05, 0xcd, 0x29, 0x51, 0xc4, 0x7e, 0xe4, 0x01, 0xff, 0x69, 0xac, 0x71, - 0xcb, 0x15, 0xac, 0x10, 0xf6, 0x99, 0x07, 0xfc, 0x27, 0xb1, 0xc6, 0x37, 0xef, 0xe0, 0xf9, 0x40, - 0xc8, 0x42, 0xc8, 0xe4, 0xbb, 0xf5, 0x06, 0x9e, 0x17, 0x4c, 0x4a, 0x92, 0x33, 0x69, 0x03, 0xef, - 0xcc, 0xbf, 0x08, 0xaf, 0x51, 0x57, 0x0d, 0xfd, 0xab, 0x86, 0xfa, 0x65, 0x13, 0x1f, 0xae, 0x5e, - 0x4f, 0xa0, 0xd9, 0xbe, 0x69, 0xbd, 0x84, 0xbd, 0xe4, 0xf3, 0x28, 0x4a, 0xc7, 0x1f, 0x3f, 0x8d, - 0xa2, 0xc1, 0xf0, 0xc3, 0x30, 0xba, 0xef, 0x19, 0xce, 0xd5, 0x7a, 0xe3, 0x5d, 0x9c, 0x50, 0xd6, - 0x0b, 0x78, 0xa5, 0xcf, 0xa2, 0x49, 0x34, 0x18, 0x27, 0x51, 0x9a, 0x4c, 0x7a, 0xc0, 0xb9, 0x5c, - 0x6f, 0x3c, 0x78, 0x64, 0x1c, 0x73, 0xf5, 0xd3, 0x35, 0xde, 0xa7, 0xbf, 0x76, 0x2e, 0xd8, 0xee, - 0x5c, 0xf0, 0x67, 0xe7, 0x82, 0x1f, 0x7b, 0xd7, 0xd8, 0xee, 0x5d, 0xe3, 0xf7, 0xde, 0x35, 0xbe, - 0x44, 0x39, 0x57, 0xb3, 0x3a, 0x43, 0x54, 0x14, 0x98, 0xea, 0xe8, 0x98, 0x67, 0x34, 0xc8, 0x05, - 0x5e, 0x86, 0xb8, 0x10, 0xd3, 0x7a, 0xce, 0x64, 0xbb, 0xb5, 0xc4, 0xe1, 0xdb, 0xe0, 0xf8, 0x51, - 0xc1, 0x61, 0x66, 0xbd, 0x71, 0xf6, 0x58, 0x57, 0xba, 0xfb, 0x1b, 0x00, 0x00, 0xff, 0xff, 0xfa, - 0xbe, 0xe0, 0xb6, 0x1b, 0x02, 0x00, 0x00, + 0x32, 0xe3, 0xb6, 0x07, 0x2f, 0x5e, 0x6a, 0x1b, 0xa1, 0x17, 0x29, 0x31, 0x85, 0xea, 0x25, 0x4c, + 0xa6, 0x63, 0x3a, 0xd8, 0x64, 0x42, 0x67, 0x52, 0xcc, 0x3f, 0x28, 0x3d, 0xf9, 0x07, 0x7a, 0xf2, + 0xcf, 0x78, 0xec, 0xd1, 0xa3, 0xb4, 0x7f, 0x44, 0x32, 0xc1, 0xb6, 0x07, 0x0f, 0x7b, 0x7b, 0x3c, + 0xbe, 0xf7, 0xe6, 0xbd, 0x79, 0xb0, 0xc7, 0x53, 0x8a, 0x49, 0x59, 0x2e, 0x38, 0x25, 0x8a, 0x8b, + 0x42, 0x62, 0x5e, 0x28, 0xb6, 0xa4, 0x73, 0xc2, 0x8b, 0x84, 0x50, 0x2a, 0xaa, 0x42, 0x49, 0xbc, + 0xba, 0xc7, 0xaa, 0x2e, 0x99, 0x44, 0xe5, 0x52, 0x28, 0x61, 0xbd, 0xe2, 0x29, 0x45, 0xe7, 0x22, + 0xf4, 0x1f, 0x11, 0x5a, 0xdd, 0x3b, 0xcf, 0x32, 0x21, 0xb2, 0x05, 0xc3, 0x5a, 0x96, 0x56, 0x5f, + 0x31, 0x29, 0xea, 0xd6, 0xc3, 0xb9, 0xcd, 0x44, 0x26, 0x34, 0xc4, 0x0d, 0x6a, 0xd9, 0xbb, 0x35, + 0x80, 0xcf, 0x47, 0x47, 0xaf, 0x7e, 0x6b, 0x35, 0x26, 0xf4, 0x1b, 0x53, 0x43, 0xa2, 0x88, 0xd5, + 0x87, 0x66, 0x13, 0xc4, 0x06, 0x1e, 0xf0, 0xaf, 0xbb, 0x01, 0x7a, 0x60, 0x10, 0x14, 0xd7, 0x25, + 0x8b, 0xb4, 0xd4, 0xb2, 0xa0, 0x39, 0x23, 0x8a, 0xd8, 0x8f, 0x3c, 0xe0, 0x3f, 0x8d, 0x34, 0x6e, + 0xb8, 0x9c, 0xe5, 0xc2, 0xbe, 0xf0, 0x80, 0xff, 0x24, 0xd2, 0xf8, 0xee, 0x1d, 0xbc, 0x1c, 0x08, + 0x99, 0x0b, 0x19, 0x7f, 0xb7, 0xde, 0xc0, 0xcb, 0x9c, 0x49, 0x49, 0x32, 0x26, 0x6d, 0xe0, 0x5d, + 0xf8, 0x57, 0xdd, 0x5b, 0xd4, 0x56, 0x43, 0xff, 0xaa, 0xa1, 0x7e, 0x51, 0x47, 0xc7, 0xab, 0xd7, + 0x53, 0x68, 0x36, 0x6f, 0x5a, 0x2f, 0x61, 0x27, 0xfe, 0x3c, 0x0e, 0x93, 0xc9, 0xc7, 0x4f, 0xe3, + 0x70, 0x30, 0xfa, 0x30, 0x0a, 0x87, 0x1d, 0xc3, 0xb9, 0xd9, 0x6c, 0xbd, 0xab, 0x33, 0xca, 0x7a, + 0x01, 0x6f, 0xf4, 0x59, 0x38, 0x0d, 0x07, 0x93, 0x38, 0x4c, 0xe2, 0x69, 0x07, 0x38, 0xd7, 0x9b, + 0xad, 0x07, 0x4f, 0x8c, 0x63, 0xae, 0x7f, 0xba, 0xc6, 0xfb, 0xe4, 0xd7, 0xde, 0x05, 0xbb, 0xbd, + 0x0b, 0xfe, 0xec, 0x5d, 0xf0, 0xe3, 0xe0, 0x1a, 0xbb, 0x83, 0x6b, 0xfc, 0x3e, 0xb8, 0xc6, 0x97, + 0x30, 0xe3, 0x6a, 0x5e, 0xa5, 0x88, 0x8a, 0x1c, 0x53, 0x1d, 0x1d, 0xf3, 0x94, 0x06, 0x99, 0xc0, + 0xab, 0x1e, 0xce, 0xc5, 0xac, 0x5a, 0x30, 0xd9, 0x6c, 0x2d, 0x71, 0xf7, 0x6d, 0x70, 0xfa, 0xa8, + 0xe0, 0x38, 0xb3, 0xde, 0x38, 0x7d, 0xac, 0x2b, 0xf5, 0xfe, 0x06, 0x00, 0x00, 0xff, 0xff, 0x69, + 0x4d, 0xde, 0x7c, 0x1b, 0x02, 0x00, 0x00, } func (m *InterchainAccountPacketData) Marshal() (dAtA []byte, err error) { diff --git a/modules/apps/27-interchain-accounts/types/version_test.go b/modules/apps/27-interchain-accounts/types/version_test.go index 0ad4a235eb7..6da0c780c3e 100644 --- a/modules/apps/27-interchain-accounts/types/version_test.go +++ b/modules/apps/27-interchain-accounts/types/version_test.go @@ -3,7 +3,7 @@ package types_test import ( "fmt" - "github.com/cosmos/ibc-go/v2/modules/apps/27-interchain-accounts/types" + "github.com/cosmos/ibc-go/v3/modules/apps/27-interchain-accounts/types" ) func (suite *TypesTestSuite) TestParseAddressFromVersion() { diff --git a/modules/apps/transfer/client/cli/query.go b/modules/apps/transfer/client/cli/query.go index 0e6188174dc..5d0a947ee60 100644 --- a/modules/apps/transfer/client/cli/query.go +++ b/modules/apps/transfer/client/cli/query.go @@ -8,7 +8,7 @@ import ( "github.com/cosmos/cosmos-sdk/client" "github.com/cosmos/cosmos-sdk/client/flags" "github.com/cosmos/cosmos-sdk/version" - "github.com/cosmos/ibc-go/v2/modules/apps/transfer/types" + "github.com/cosmos/ibc-go/v3/modules/apps/transfer/types" ) // GetCmdQueryDenomTrace defines the command to query a a denomination trace from a given hash. diff --git a/modules/apps/transfer/client/cli/tx.go b/modules/apps/transfer/client/cli/tx.go index 74ff6ae802b..32dd11e5625 100644 --- a/modules/apps/transfer/client/cli/tx.go +++ b/modules/apps/transfer/client/cli/tx.go @@ -13,9 +13,9 @@ import ( "github.com/cosmos/cosmos-sdk/client/tx" sdk "github.com/cosmos/cosmos-sdk/types" "github.com/cosmos/cosmos-sdk/version" - "github.com/cosmos/ibc-go/v2/modules/apps/transfer/types" - clienttypes "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" - channelutils "github.com/cosmos/ibc-go/v2/modules/core/04-channel/client/utils" + "github.com/cosmos/ibc-go/v3/modules/apps/transfer/types" + clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" + channelutils "github.com/cosmos/ibc-go/v3/modules/core/04-channel/client/utils" ) const ( diff --git a/modules/apps/transfer/ibc_module.go b/modules/apps/transfer/ibc_module.go index e81d9d933fc..5956fa585ad 100644 --- a/modules/apps/transfer/ibc_module.go +++ b/modules/apps/transfer/ibc_module.go @@ -8,12 +8,12 @@ import ( sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" capabilitytypes "github.com/cosmos/cosmos-sdk/x/capability/types" - "github.com/cosmos/ibc-go/v2/modules/apps/transfer/keeper" - "github.com/cosmos/ibc-go/v2/modules/apps/transfer/types" - channeltypes "github.com/cosmos/ibc-go/v2/modules/core/04-channel/types" - porttypes "github.com/cosmos/ibc-go/v2/modules/core/05-port/types" - host "github.com/cosmos/ibc-go/v2/modules/core/24-host" - ibcexported "github.com/cosmos/ibc-go/v2/modules/core/exported" + "github.com/cosmos/ibc-go/v3/modules/apps/transfer/keeper" + "github.com/cosmos/ibc-go/v3/modules/apps/transfer/types" + channeltypes "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types" + porttypes "github.com/cosmos/ibc-go/v3/modules/core/05-port/types" + host "github.com/cosmos/ibc-go/v3/modules/core/24-host" + ibcexported "github.com/cosmos/ibc-go/v3/modules/core/exported" ) // IBCModule implements the ICS26 interface for transfer given the transfer keeper. diff --git a/modules/apps/transfer/ibc_module_test.go b/modules/apps/transfer/ibc_module_test.go index f12707ad43b..7ab67b0af06 100644 --- a/modules/apps/transfer/ibc_module_test.go +++ b/modules/apps/transfer/ibc_module_test.go @@ -4,10 +4,10 @@ import ( "math" capabilitytypes "github.com/cosmos/cosmos-sdk/x/capability/types" - "github.com/cosmos/ibc-go/v2/modules/apps/transfer/types" - channeltypes "github.com/cosmos/ibc-go/v2/modules/core/04-channel/types" - host "github.com/cosmos/ibc-go/v2/modules/core/24-host" - ibctesting "github.com/cosmos/ibc-go/v2/testing" + "github.com/cosmos/ibc-go/v3/modules/apps/transfer/types" + channeltypes "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types" + host "github.com/cosmos/ibc-go/v3/modules/core/24-host" + ibctesting "github.com/cosmos/ibc-go/v3/testing" ) func (suite *TransferTestSuite) TestOnChanOpenInit() { diff --git a/modules/apps/transfer/keeper/encoding.go b/modules/apps/transfer/keeper/encoding.go index 111d181a4b3..7e0333849d4 100644 --- a/modules/apps/transfer/keeper/encoding.go +++ b/modules/apps/transfer/keeper/encoding.go @@ -1,7 +1,7 @@ package keeper import ( - "github.com/cosmos/ibc-go/v2/modules/apps/transfer/types" + "github.com/cosmos/ibc-go/v3/modules/apps/transfer/types" ) // UnmarshalDenomTrace attempts to decode and return an DenomTrace object from diff --git a/modules/apps/transfer/keeper/genesis.go b/modules/apps/transfer/keeper/genesis.go index 97de879e096..c1ba3a47513 100644 --- a/modules/apps/transfer/keeper/genesis.go +++ b/modules/apps/transfer/keeper/genesis.go @@ -4,7 +4,7 @@ import ( "fmt" sdk "github.com/cosmos/cosmos-sdk/types" - "github.com/cosmos/ibc-go/v2/modules/apps/transfer/types" + "github.com/cosmos/ibc-go/v3/modules/apps/transfer/types" ) // InitGenesis initializes the ibc-transfer state and binds to PortID. diff --git a/modules/apps/transfer/keeper/genesis_test.go b/modules/apps/transfer/keeper/genesis_test.go index f82eb59d7b7..a8ded3f902d 100644 --- a/modules/apps/transfer/keeper/genesis_test.go +++ b/modules/apps/transfer/keeper/genesis_test.go @@ -3,7 +3,7 @@ package keeper_test import ( "fmt" - "github.com/cosmos/ibc-go/v2/modules/apps/transfer/types" + "github.com/cosmos/ibc-go/v3/modules/apps/transfer/types" ) func (suite *KeeperTestSuite) TestGenesis() { diff --git a/modules/apps/transfer/keeper/grpc_query.go b/modules/apps/transfer/keeper/grpc_query.go index 31629d817a9..8e8e4a807f4 100644 --- a/modules/apps/transfer/keeper/grpc_query.go +++ b/modules/apps/transfer/keeper/grpc_query.go @@ -11,7 +11,7 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" "github.com/cosmos/cosmos-sdk/types/query" - "github.com/cosmos/ibc-go/v2/modules/apps/transfer/types" + "github.com/cosmos/ibc-go/v3/modules/apps/transfer/types" ) var _ types.QueryServer = Keeper{} diff --git a/modules/apps/transfer/keeper/grpc_query_test.go b/modules/apps/transfer/keeper/grpc_query_test.go index 4075f9e4b21..61469ebf593 100644 --- a/modules/apps/transfer/keeper/grpc_query_test.go +++ b/modules/apps/transfer/keeper/grpc_query_test.go @@ -5,7 +5,7 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" "github.com/cosmos/cosmos-sdk/types/query" - "github.com/cosmos/ibc-go/v2/modules/apps/transfer/types" + "github.com/cosmos/ibc-go/v3/modules/apps/transfer/types" ) func (suite *KeeperTestSuite) TestQueryDenomTrace() { diff --git a/modules/apps/transfer/keeper/keeper.go b/modules/apps/transfer/keeper/keeper.go index f0533aa2e51..c37f39335ce 100644 --- a/modules/apps/transfer/keeper/keeper.go +++ b/modules/apps/transfer/keeper/keeper.go @@ -11,8 +11,8 @@ import ( capabilitykeeper "github.com/cosmos/cosmos-sdk/x/capability/keeper" capabilitytypes "github.com/cosmos/cosmos-sdk/x/capability/types" paramtypes "github.com/cosmos/cosmos-sdk/x/params/types" - "github.com/cosmos/ibc-go/v2/modules/apps/transfer/types" - host "github.com/cosmos/ibc-go/v2/modules/core/24-host" + "github.com/cosmos/ibc-go/v3/modules/apps/transfer/types" + host "github.com/cosmos/ibc-go/v3/modules/core/24-host" ) // Keeper defines the IBC fungible transfer keeper diff --git a/modules/apps/transfer/keeper/keeper_test.go b/modules/apps/transfer/keeper/keeper_test.go index 48dfe507ae0..ef748757588 100644 --- a/modules/apps/transfer/keeper/keeper_test.go +++ b/modules/apps/transfer/keeper/keeper_test.go @@ -8,8 +8,8 @@ import ( "github.com/cosmos/cosmos-sdk/baseapp" sdk "github.com/cosmos/cosmos-sdk/types" - "github.com/cosmos/ibc-go/v2/modules/apps/transfer/types" - ibctesting "github.com/cosmos/ibc-go/v2/testing" + "github.com/cosmos/ibc-go/v3/modules/apps/transfer/types" + ibctesting "github.com/cosmos/ibc-go/v3/testing" ) type KeeperTestSuite struct { diff --git a/modules/apps/transfer/keeper/mbt_relay_test.go b/modules/apps/transfer/keeper/mbt_relay_test.go index fb22f29dfc4..2b7fafec96b 100644 --- a/modules/apps/transfer/keeper/mbt_relay_test.go +++ b/modules/apps/transfer/keeper/mbt_relay_test.go @@ -15,10 +15,10 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" - "github.com/cosmos/ibc-go/v2/modules/apps/transfer/types" - clienttypes "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" - channeltypes "github.com/cosmos/ibc-go/v2/modules/core/04-channel/types" - ibctesting "github.com/cosmos/ibc-go/v2/testing" + "github.com/cosmos/ibc-go/v3/modules/apps/transfer/types" + clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" + channeltypes "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types" + ibctesting "github.com/cosmos/ibc-go/v3/testing" ) type TlaBalance struct { diff --git a/modules/apps/transfer/keeper/msg_server.go b/modules/apps/transfer/keeper/msg_server.go index 42b5b8f03b1..e5c18be4821 100644 --- a/modules/apps/transfer/keeper/msg_server.go +++ b/modules/apps/transfer/keeper/msg_server.go @@ -4,7 +4,7 @@ import ( "context" sdk "github.com/cosmos/cosmos-sdk/types" - "github.com/cosmos/ibc-go/v2/modules/apps/transfer/types" + "github.com/cosmos/ibc-go/v3/modules/apps/transfer/types" ) var _ types.MsgServer = Keeper{} diff --git a/modules/apps/transfer/keeper/params.go b/modules/apps/transfer/keeper/params.go index 02a76847185..18b520230f6 100644 --- a/modules/apps/transfer/keeper/params.go +++ b/modules/apps/transfer/keeper/params.go @@ -2,7 +2,7 @@ package keeper import ( sdk "github.com/cosmos/cosmos-sdk/types" - "github.com/cosmos/ibc-go/v2/modules/apps/transfer/types" + "github.com/cosmos/ibc-go/v3/modules/apps/transfer/types" ) // GetSendEnabled retrieves the send enabled boolean from the paramstore diff --git a/modules/apps/transfer/keeper/params_test.go b/modules/apps/transfer/keeper/params_test.go index 2544242d908..c0c7ff62af0 100644 --- a/modules/apps/transfer/keeper/params_test.go +++ b/modules/apps/transfer/keeper/params_test.go @@ -1,6 +1,6 @@ package keeper_test -import "github.com/cosmos/ibc-go/v2/modules/apps/transfer/types" +import "github.com/cosmos/ibc-go/v3/modules/apps/transfer/types" func (suite *KeeperTestSuite) TestParams() { expParams := types.DefaultParams() diff --git a/modules/apps/transfer/keeper/relay.go b/modules/apps/transfer/keeper/relay.go index f346bc3d976..409dfc5f130 100644 --- a/modules/apps/transfer/keeper/relay.go +++ b/modules/apps/transfer/keeper/relay.go @@ -9,11 +9,11 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" - "github.com/cosmos/ibc-go/v2/modules/apps/transfer/types" - clienttypes "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" - channeltypes "github.com/cosmos/ibc-go/v2/modules/core/04-channel/types" - host "github.com/cosmos/ibc-go/v2/modules/core/24-host" - coretypes "github.com/cosmos/ibc-go/v2/modules/core/types" + "github.com/cosmos/ibc-go/v3/modules/apps/transfer/types" + clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" + channeltypes "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types" + host "github.com/cosmos/ibc-go/v3/modules/core/24-host" + coretypes "github.com/cosmos/ibc-go/v3/modules/core/types" ) // SendTransfer handles transfer sending logic. There are 2 possible cases: diff --git a/modules/apps/transfer/keeper/relay_test.go b/modules/apps/transfer/keeper/relay_test.go index 697059bf629..d00a582b466 100644 --- a/modules/apps/transfer/keeper/relay_test.go +++ b/modules/apps/transfer/keeper/relay_test.go @@ -3,14 +3,14 @@ package keeper_test import ( "fmt" - "github.com/cosmos/ibc-go/v2/testing/simapp" + "github.com/cosmos/ibc-go/v3/testing/simapp" sdk "github.com/cosmos/cosmos-sdk/types" - "github.com/cosmos/ibc-go/v2/modules/apps/transfer/types" - clienttypes "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" - channeltypes "github.com/cosmos/ibc-go/v2/modules/core/04-channel/types" - host "github.com/cosmos/ibc-go/v2/modules/core/24-host" - ibctesting "github.com/cosmos/ibc-go/v2/testing" + "github.com/cosmos/ibc-go/v3/modules/apps/transfer/types" + clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" + channeltypes "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types" + host "github.com/cosmos/ibc-go/v3/modules/core/24-host" + ibctesting "github.com/cosmos/ibc-go/v3/testing" ) // test sending from chainA to chainB using both coin that orignate on diff --git a/modules/apps/transfer/module.go b/modules/apps/transfer/module.go index 7cba6ee811b..0daa6dc3bf0 100644 --- a/modules/apps/transfer/module.go +++ b/modules/apps/transfer/module.go @@ -17,11 +17,11 @@ import ( "github.com/spf13/cobra" abci "github.com/tendermint/tendermint/abci/types" - "github.com/cosmos/ibc-go/v2/modules/apps/transfer/client/cli" - "github.com/cosmos/ibc-go/v2/modules/apps/transfer/keeper" - "github.com/cosmos/ibc-go/v2/modules/apps/transfer/simulation" - "github.com/cosmos/ibc-go/v2/modules/apps/transfer/types" - porttypes "github.com/cosmos/ibc-go/v2/modules/core/05-port/types" + "github.com/cosmos/ibc-go/v3/modules/apps/transfer/client/cli" + "github.com/cosmos/ibc-go/v3/modules/apps/transfer/keeper" + "github.com/cosmos/ibc-go/v3/modules/apps/transfer/simulation" + "github.com/cosmos/ibc-go/v3/modules/apps/transfer/types" + porttypes "github.com/cosmos/ibc-go/v3/modules/core/05-port/types" ) var ( diff --git a/modules/apps/transfer/simulation/decoder.go b/modules/apps/transfer/simulation/decoder.go index 771e00bc508..2a55055db99 100644 --- a/modules/apps/transfer/simulation/decoder.go +++ b/modules/apps/transfer/simulation/decoder.go @@ -5,7 +5,7 @@ import ( "fmt" "github.com/cosmos/cosmos-sdk/types/kv" - "github.com/cosmos/ibc-go/v2/modules/apps/transfer/types" + "github.com/cosmos/ibc-go/v3/modules/apps/transfer/types" ) // TransferUnmarshaler defines the expected encoding store functions. diff --git a/modules/apps/transfer/simulation/decoder_test.go b/modules/apps/transfer/simulation/decoder_test.go index fbaddd02068..8737c64a52b 100644 --- a/modules/apps/transfer/simulation/decoder_test.go +++ b/modules/apps/transfer/simulation/decoder_test.go @@ -7,9 +7,9 @@ import ( "github.com/stretchr/testify/require" "github.com/cosmos/cosmos-sdk/types/kv" - "github.com/cosmos/ibc-go/v2/modules/apps/transfer/simulation" - "github.com/cosmos/ibc-go/v2/modules/apps/transfer/types" - "github.com/cosmos/ibc-go/v2/testing/simapp" + "github.com/cosmos/ibc-go/v3/modules/apps/transfer/simulation" + "github.com/cosmos/ibc-go/v3/modules/apps/transfer/types" + "github.com/cosmos/ibc-go/v3/testing/simapp" ) func TestDecodeStore(t *testing.T) { diff --git a/modules/apps/transfer/simulation/genesis.go b/modules/apps/transfer/simulation/genesis.go index 357eabb8f53..83273dc6b35 100644 --- a/modules/apps/transfer/simulation/genesis.go +++ b/modules/apps/transfer/simulation/genesis.go @@ -8,7 +8,7 @@ import ( "github.com/cosmos/cosmos-sdk/types/module" simtypes "github.com/cosmos/cosmos-sdk/types/simulation" - "github.com/cosmos/ibc-go/v2/modules/apps/transfer/types" + "github.com/cosmos/ibc-go/v3/modules/apps/transfer/types" ) // Simulation parameter constants diff --git a/modules/apps/transfer/simulation/genesis_test.go b/modules/apps/transfer/simulation/genesis_test.go index ff68cb4dac6..ef21cdf73df 100644 --- a/modules/apps/transfer/simulation/genesis_test.go +++ b/modules/apps/transfer/simulation/genesis_test.go @@ -11,8 +11,8 @@ import ( codectypes "github.com/cosmos/cosmos-sdk/codec/types" "github.com/cosmos/cosmos-sdk/types/module" simtypes "github.com/cosmos/cosmos-sdk/types/simulation" - "github.com/cosmos/ibc-go/v2/modules/apps/transfer/simulation" - "github.com/cosmos/ibc-go/v2/modules/apps/transfer/types" + "github.com/cosmos/ibc-go/v3/modules/apps/transfer/simulation" + "github.com/cosmos/ibc-go/v3/modules/apps/transfer/types" ) // TestRandomizedGenState tests the normal scenario of applying RandomizedGenState. diff --git a/modules/apps/transfer/simulation/params.go b/modules/apps/transfer/simulation/params.go index 95e855f3620..115f9556d4a 100644 --- a/modules/apps/transfer/simulation/params.go +++ b/modules/apps/transfer/simulation/params.go @@ -9,7 +9,7 @@ import ( "github.com/cosmos/cosmos-sdk/x/simulation" simtypes "github.com/cosmos/cosmos-sdk/types/simulation" - "github.com/cosmos/ibc-go/v2/modules/apps/transfer/types" + "github.com/cosmos/ibc-go/v3/modules/apps/transfer/types" ) // ParamChanges defines the parameters that can be modified by param change proposals diff --git a/modules/apps/transfer/simulation/params_test.go b/modules/apps/transfer/simulation/params_test.go index d39faa29389..491fee0d3f3 100644 --- a/modules/apps/transfer/simulation/params_test.go +++ b/modules/apps/transfer/simulation/params_test.go @@ -6,7 +6,7 @@ import ( "github.com/stretchr/testify/require" - "github.com/cosmos/ibc-go/v2/modules/apps/transfer/simulation" + "github.com/cosmos/ibc-go/v3/modules/apps/transfer/simulation" ) func TestParamChanges(t *testing.T) { diff --git a/modules/apps/transfer/transfer_test.go b/modules/apps/transfer/transfer_test.go index 58b33cbe647..d2f822c83a2 100644 --- a/modules/apps/transfer/transfer_test.go +++ b/modules/apps/transfer/transfer_test.go @@ -6,10 +6,10 @@ import ( "github.com/stretchr/testify/suite" sdk "github.com/cosmos/cosmos-sdk/types" - "github.com/cosmos/ibc-go/v2/modules/apps/transfer/types" - clienttypes "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" - channeltypes "github.com/cosmos/ibc-go/v2/modules/core/04-channel/types" - ibctesting "github.com/cosmos/ibc-go/v2/testing" + "github.com/cosmos/ibc-go/v3/modules/apps/transfer/types" + clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" + channeltypes "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types" + ibctesting "github.com/cosmos/ibc-go/v3/testing" ) type TransferTestSuite struct { diff --git a/modules/apps/transfer/types/expected_keepers.go b/modules/apps/transfer/types/expected_keepers.go index fd0f7df76c3..3bdaccb749a 100644 --- a/modules/apps/transfer/types/expected_keepers.go +++ b/modules/apps/transfer/types/expected_keepers.go @@ -4,9 +4,9 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" "github.com/cosmos/cosmos-sdk/x/auth/types" capabilitytypes "github.com/cosmos/cosmos-sdk/x/capability/types" - connectiontypes "github.com/cosmos/ibc-go/v2/modules/core/03-connection/types" - channeltypes "github.com/cosmos/ibc-go/v2/modules/core/04-channel/types" - ibcexported "github.com/cosmos/ibc-go/v2/modules/core/exported" + connectiontypes "github.com/cosmos/ibc-go/v3/modules/core/03-connection/types" + channeltypes "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types" + ibcexported "github.com/cosmos/ibc-go/v3/modules/core/exported" ) // AccountKeeper defines the contract required for account APIs. diff --git a/modules/apps/transfer/types/genesis.go b/modules/apps/transfer/types/genesis.go index c480321b205..73dbe111a2e 100644 --- a/modules/apps/transfer/types/genesis.go +++ b/modules/apps/transfer/types/genesis.go @@ -1,7 +1,7 @@ package types import ( - host "github.com/cosmos/ibc-go/v2/modules/core/24-host" + host "github.com/cosmos/ibc-go/v3/modules/core/24-host" ) // NewGenesisState creates a new ibc-transfer GenesisState instance. diff --git a/modules/apps/transfer/types/genesis.pb.go b/modules/apps/transfer/types/genesis.pb.go index 81d7b9fe1bd..6c40ef48a3d 100644 --- a/modules/apps/transfer/types/genesis.pb.go +++ b/modules/apps/transfer/types/genesis.pb.go @@ -93,28 +93,28 @@ func init() { } var fileDescriptor_a4f788affd5bea89 = []byte{ - // 325 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x7c, 0x90, 0xc1, 0x4a, 0xf3, 0x40, - 0x14, 0x85, 0x33, 0x7f, 0x7f, 0x22, 0xa6, 0xc5, 0x45, 0x74, 0x51, 0x8a, 0x24, 0x25, 0x28, 0x04, - 0x8b, 0x33, 0xb4, 0x2e, 0x04, 0x97, 0x41, 0x10, 0x77, 0x5a, 0x5d, 0xb9, 0x29, 0x93, 0xc9, 0x18, - 0x07, 0x9a, 0xdc, 0x30, 0x77, 0x5a, 0xe8, 0x5b, 0xf8, 0x1c, 0x3e, 0x49, 0x97, 0x5d, 0xba, 0xaa, - 0xd2, 0xbe, 0x41, 0x7d, 0x01, 0x49, 0x5a, 0x4b, 0x57, 0xdd, 0x1d, 0x66, 0xbe, 0x73, 0xce, 0xe5, - 0x38, 0x17, 0x2a, 0x16, 0x8c, 0x17, 0xc5, 0x50, 0x09, 0x6e, 0x14, 0xe4, 0xc8, 0x8c, 0xe6, 0x39, - 0xbe, 0x4a, 0xcd, 0xc6, 0x5d, 0x96, 0xca, 0x5c, 0xa2, 0x42, 0x5a, 0x68, 0x30, 0xe0, 0x9e, 0xaa, - 0x58, 0xd0, 0x5d, 0x96, 0xfe, 0xb1, 0x74, 0xdc, 0x6d, 0x75, 0xf6, 0x26, 0x6d, 0xc9, 0x2a, 0xaa, - 0x75, 0x92, 0x42, 0x0a, 0x95, 0x64, 0xa5, 0x5a, 0xbf, 0x06, 0x3f, 0xc4, 0x69, 0xdc, 0xad, 0x2b, - 0x9f, 0x0c, 0x37, 0xd2, 0xed, 0x38, 0x07, 0x05, 0x68, 0x33, 0x50, 0x49, 0x93, 0xb4, 0x49, 0x78, - 0x18, 0xb9, 0xab, 0xb9, 0x7f, 0x34, 0xe1, 0xd9, 0xf0, 0x26, 0xd8, 0x7c, 0x04, 0x7d, 0xbb, 0x54, - 0xf7, 0x89, 0xab, 0x9d, 0x46, 0x22, 0x73, 0xc8, 0x06, 0x46, 0x73, 0x21, 0xb1, 0xf9, 0xaf, 0x5d, - 0x0b, 0xeb, 0xbd, 0x90, 0xee, 0xbb, 0x9a, 0xde, 0x96, 0x8e, 0xe7, 0xd2, 0x10, 0x9d, 0x4f, 0xe7, - 0xbe, 0xb5, 0x9a, 0xfb, 0xc7, 0xeb, 0xfc, 0xdd, 0xac, 0xe0, 0xe3, 0xcb, 0xb7, 0x2b, 0x0a, 0xfb, - 0xf5, 0x64, 0x6b, 0x41, 0x37, 0x72, 0xec, 0x82, 0x6b, 0x9e, 0x61, 0xb3, 0xd6, 0x26, 0x61, 0xbd, - 0x77, 0xb6, 0xbf, 0xed, 0xa1, 0x62, 0xa3, 0xff, 0x65, 0x53, 0x7f, 0xe3, 0x8c, 0x1e, 0xa7, 0x0b, - 0x8f, 0xcc, 0x16, 0x1e, 0xf9, 0x5e, 0x78, 0xe4, 0x7d, 0xe9, 0x59, 0xb3, 0xa5, 0x67, 0x7d, 0x2e, - 0x3d, 0xeb, 0xe5, 0x3a, 0x55, 0xe6, 0x6d, 0x14, 0x53, 0x01, 0x19, 0x13, 0x80, 0x19, 0x20, 0x53, - 0xb1, 0xb8, 0x4c, 0x81, 0x8d, 0x7b, 0x2c, 0x83, 0x64, 0x34, 0x94, 0x58, 0x4e, 0xbe, 0x33, 0xb5, - 0x99, 0x14, 0x12, 0x63, 0xbb, 0xda, 0xf3, 0xea, 0x37, 0x00, 0x00, 0xff, 0xff, 0x56, 0x0c, 0x81, - 0x27, 0xde, 0x01, 0x00, 0x00, + // 324 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x7c, 0x90, 0xc1, 0x4a, 0xc3, 0x30, + 0x1c, 0xc6, 0x1b, 0x27, 0x15, 0xbb, 0xe1, 0xa1, 0x7a, 0x18, 0x43, 0xda, 0x51, 0x14, 0x8a, 0xc3, + 0x84, 0x6d, 0x07, 0xc1, 0x63, 0x11, 0xc4, 0x9b, 0x4e, 0x4f, 0x5e, 0x46, 0x9a, 0xc6, 0x1a, 0x58, + 0x9b, 0x92, 0x7f, 0x36, 0xd8, 0x5b, 0xf8, 0x1c, 0x3e, 0xc9, 0x8e, 0x3b, 0x7a, 0x9a, 0xb2, 0xbd, + 0xc1, 0x7c, 0x01, 0x49, 0x37, 0xc7, 0x4e, 0xbd, 0x7d, 0x24, 0xbf, 0xef, 0xfb, 0xfe, 0x7c, 0xce, + 0x95, 0x88, 0x19, 0xa1, 0x45, 0x31, 0x12, 0x8c, 0x6a, 0x21, 0x73, 0x20, 0x5a, 0xd1, 0x1c, 0xde, + 0xb8, 0x22, 0x93, 0x2e, 0x49, 0x79, 0xce, 0x41, 0x00, 0x2e, 0x94, 0xd4, 0xd2, 0x3d, 0x17, 0x31, + 0xc3, 0xfb, 0x2c, 0xfe, 0x67, 0xf1, 0xa4, 0xdb, 0xea, 0x54, 0x26, 0xed, 0xc8, 0x32, 0xaa, 0x75, + 0x96, 0xca, 0x54, 0x96, 0x92, 0x18, 0xb5, 0x79, 0x0d, 0x7e, 0x91, 0xd3, 0xb8, 0xdf, 0x54, 0x3e, + 0x6b, 0xaa, 0xb9, 0xdb, 0x71, 0x8e, 0x0a, 0xa9, 0xf4, 0x50, 0x24, 0x4d, 0xd4, 0x46, 0xe1, 0x71, + 0xe4, 0xae, 0x17, 0xfe, 0xc9, 0x94, 0x66, 0xa3, 0xdb, 0x60, 0xfb, 0x11, 0x0c, 0x6c, 0xa3, 0x1e, + 0x12, 0x57, 0x39, 0x8d, 0x84, 0xe7, 0x32, 0x1b, 0x6a, 0x45, 0x19, 0x87, 0xe6, 0x41, 0xbb, 0x16, + 0xd6, 0x7b, 0x21, 0xae, 0xba, 0x1a, 0xdf, 0x19, 0xc7, 0x8b, 0x31, 0x44, 0x97, 0xb3, 0x85, 0x6f, + 0xad, 0x17, 0xfe, 0xe9, 0x26, 0x7f, 0x3f, 0x2b, 0xf8, 0xfc, 0xf6, 0xed, 0x92, 0x82, 0x41, 0x3d, + 0xd9, 0x59, 0xc0, 0x8d, 0x1c, 0xbb, 0xa0, 0x8a, 0x66, 0xd0, 0xac, 0xb5, 0x51, 0x58, 0xef, 0x5d, + 0x54, 0xb7, 0x3d, 0x96, 0x6c, 0x74, 0x68, 0x9a, 0x06, 0x5b, 0x67, 0xf4, 0x34, 0x5b, 0x7a, 0x68, + 0xbe, 0xf4, 0xd0, 0xcf, 0xd2, 0x43, 0x1f, 0x2b, 0xcf, 0x9a, 0xaf, 0x3c, 0xeb, 0x6b, 0xe5, 0x59, + 0xaf, 0x37, 0xa9, 0xd0, 0xef, 0xe3, 0x18, 0x33, 0x99, 0x11, 0x26, 0x21, 0x93, 0x40, 0x44, 0xcc, + 0xae, 0x53, 0x49, 0x26, 0x7d, 0x92, 0xc9, 0x64, 0x3c, 0xe2, 0x60, 0x26, 0xdf, 0x9b, 0x5a, 0x4f, + 0x0b, 0x0e, 0xb1, 0x5d, 0xee, 0xd9, 0xff, 0x0b, 0x00, 0x00, 0xff, 0xff, 0x49, 0x1b, 0x71, 0xa7, + 0xde, 0x01, 0x00, 0x00, } func (m *GenesisState) Marshal() (dAtA []byte, err error) { diff --git a/modules/apps/transfer/types/genesis_test.go b/modules/apps/transfer/types/genesis_test.go index d5d05daa1d4..534eefba7ab 100644 --- a/modules/apps/transfer/types/genesis_test.go +++ b/modules/apps/transfer/types/genesis_test.go @@ -5,7 +5,7 @@ import ( "github.com/stretchr/testify/require" - "github.com/cosmos/ibc-go/v2/modules/apps/transfer/types" + "github.com/cosmos/ibc-go/v3/modules/apps/transfer/types" ) func TestValidateGenesis(t *testing.T) { diff --git a/modules/apps/transfer/types/keys_test.go b/modules/apps/transfer/types/keys_test.go index 720fae83a85..3270dba55be 100644 --- a/modules/apps/transfer/types/keys_test.go +++ b/modules/apps/transfer/types/keys_test.go @@ -5,7 +5,7 @@ import ( "github.com/stretchr/testify/require" - "github.com/cosmos/ibc-go/v2/modules/apps/transfer/types" + "github.com/cosmos/ibc-go/v3/modules/apps/transfer/types" ) // Test that there is domain separation between the port id and the channel id otherwise an diff --git a/modules/apps/transfer/types/msgs.go b/modules/apps/transfer/types/msgs.go index 12cc8ab1574..75b29dbdfde 100644 --- a/modules/apps/transfer/types/msgs.go +++ b/modules/apps/transfer/types/msgs.go @@ -5,8 +5,8 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" - clienttypes "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" - host "github.com/cosmos/ibc-go/v2/modules/core/24-host" + clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" + host "github.com/cosmos/ibc-go/v3/modules/core/24-host" ) // msg types diff --git a/modules/apps/transfer/types/msgs_test.go b/modules/apps/transfer/types/msgs_test.go index 48d15af349e..064be2d0a86 100644 --- a/modules/apps/transfer/types/msgs_test.go +++ b/modules/apps/transfer/types/msgs_test.go @@ -8,7 +8,7 @@ import ( "github.com/cosmos/cosmos-sdk/crypto/keys/secp256k1" sdk "github.com/cosmos/cosmos-sdk/types" - clienttypes "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" + clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" ) // define constants used for testing diff --git a/modules/apps/transfer/types/packet.pb.go b/modules/apps/transfer/types/packet.pb.go index f3b3f59825e..3ebd1106f66 100644 --- a/modules/apps/transfer/types/packet.pb.go +++ b/modules/apps/transfer/types/packet.pb.go @@ -106,22 +106,23 @@ func init() { } var fileDescriptor_653ca2ce9a5ca313 = []byte{ - // 240 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x4c, 0x8f, 0xbf, 0x4a, 0xc5, 0x30, - 0x14, 0x87, 0x1b, 0xff, 0x5c, 0x34, 0x63, 0x11, 0x2d, 0x22, 0x41, 0x9c, 0x74, 0x30, 0x81, 0xeb, - 0xe0, 0x2e, 0xe2, 0xac, 0xe2, 0xe4, 0x96, 0xa4, 0xc7, 0x1a, 0x6e, 0x93, 0x13, 0x92, 0xb4, 0x20, - 0xbe, 0x84, 0x8f, 0xe5, 0x78, 0x47, 0x47, 0x69, 0x5f, 0x44, 0x9a, 0xaa, 0xdc, 0xf1, 0xfb, 0xce, - 0xef, 0x0c, 0x1f, 0xbd, 0x30, 0x4a, 0x0b, 0xe9, 0x7d, 0x6b, 0xb4, 0x4c, 0x06, 0x5d, 0x14, 0x29, - 0x48, 0x17, 0x5f, 0x20, 0x88, 0x7e, 0x29, 0xbc, 0xd4, 0x2b, 0x48, 0xdc, 0x07, 0x4c, 0x58, 0x9e, - 0x18, 0xa5, 0xf9, 0xe6, 0x94, 0xff, 0x4d, 0x79, 0xbf, 0x3c, 0x7b, 0xa7, 0x47, 0x77, 0x9d, 0x6b, - 0x8c, 0x6a, 0xe1, 0x09, 0x57, 0xe0, 0xee, 0xf3, 0xeb, 0xad, 0x4c, 0xb2, 0x3c, 0xa0, 0xbb, 0x35, - 0x38, 0xb4, 0x15, 0x39, 0x25, 0xe7, 0xfb, 0x8f, 0x33, 0x94, 0x87, 0x74, 0x21, 0x2d, 0x76, 0x2e, - 0x55, 0x5b, 0x59, 0xff, 0xd2, 0xe4, 0x23, 0xb8, 0x1a, 0x42, 0xb5, 0x3d, 0xfb, 0x99, 0xca, 0x63, - 0xba, 0x17, 0x40, 0x83, 0xe9, 0x21, 0x54, 0x3b, 0xf9, 0xf2, 0xcf, 0x37, 0x0f, 0x9f, 0x03, 0x23, - 0xeb, 0x81, 0x91, 0xef, 0x81, 0x91, 0x8f, 0x91, 0x15, 0xeb, 0x91, 0x15, 0x5f, 0x23, 0x2b, 0x9e, - 0xaf, 0x1b, 0x93, 0x5e, 0x3b, 0xc5, 0x35, 0x5a, 0xa1, 0x31, 0x5a, 0x8c, 0xc2, 0x28, 0x7d, 0xd9, - 0xe0, 0x94, 0x67, 0xb1, 0xee, 0x5a, 0x88, 0x53, 0xff, 0x46, 0x77, 0x7a, 0xf3, 0x10, 0xd5, 0x22, - 0x47, 0x5f, 0xfd, 0x04, 0x00, 0x00, 0xff, 0xff, 0x9d, 0x75, 0xf2, 0x46, 0x21, 0x01, 0x00, 0x00, + // 242 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x4c, 0x8f, 0xbd, 0x4a, 0x04, 0x31, + 0x14, 0x46, 0x27, 0xfe, 0x2c, 0x9a, 0x72, 0x10, 0x1d, 0x44, 0x82, 0x58, 0x69, 0x61, 0x02, 0xbb, + 0x85, 0xbd, 0x88, 0xb5, 0x8a, 0x95, 0x5d, 0x92, 0xb9, 0x8e, 0x61, 0x27, 0xb9, 0x21, 0xc9, 0x0c, + 0x88, 0x2f, 0xe1, 0x63, 0x59, 0x6e, 0x69, 0x29, 0x33, 0x2f, 0x22, 0x9b, 0xd1, 0x65, 0xcb, 0x73, + 0xee, 0x77, 0x8b, 0x43, 0xaf, 0x8c, 0xd2, 0x42, 0x7a, 0xdf, 0x1a, 0x2d, 0x93, 0x41, 0x17, 0x45, + 0x0a, 0xd2, 0xc5, 0x57, 0x08, 0xa2, 0x9f, 0x0b, 0x2f, 0xf5, 0x12, 0x12, 0xf7, 0x01, 0x13, 0x96, + 0x67, 0x46, 0x69, 0xbe, 0x3d, 0xe5, 0xff, 0x53, 0xde, 0xcf, 0x2f, 0x3e, 0xe8, 0xc9, 0x7d, 0xe7, + 0x1a, 0xa3, 0x5a, 0x78, 0xc6, 0x25, 0xb8, 0x87, 0xfc, 0x7a, 0x27, 0x93, 0x2c, 0x8f, 0xe8, 0x7e, + 0x0d, 0x0e, 0x6d, 0x45, 0xce, 0xc9, 0xe5, 0xe1, 0xd3, 0x04, 0xe5, 0x31, 0x9d, 0x49, 0x8b, 0x9d, + 0x4b, 0xd5, 0x4e, 0xd6, 0x7f, 0xb4, 0xf6, 0x11, 0x5c, 0x0d, 0xa1, 0xda, 0x9d, 0xfc, 0x44, 0xe5, + 0x29, 0x3d, 0x08, 0xa0, 0xc1, 0xf4, 0x10, 0xaa, 0xbd, 0x7c, 0xd9, 0xf0, 0xed, 0xe3, 0xd7, 0xc0, + 0xc8, 0x6a, 0x60, 0xe4, 0x67, 0x60, 0xe4, 0x73, 0x64, 0xc5, 0x6a, 0x64, 0xc5, 0xf7, 0xc8, 0x8a, + 0x97, 0x9b, 0xc6, 0xa4, 0xb7, 0x4e, 0x71, 0x8d, 0x56, 0x68, 0x8c, 0x16, 0xa3, 0x30, 0x4a, 0x5f, + 0x37, 0x28, 0xfa, 0x85, 0xb0, 0x58, 0x77, 0x2d, 0xc4, 0x75, 0xff, 0x56, 0x77, 0x7a, 0xf7, 0x10, + 0xd5, 0x2c, 0x47, 0x2f, 0x7e, 0x03, 0x00, 0x00, 0xff, 0xff, 0x82, 0x62, 0x02, 0xc6, 0x21, 0x01, + 0x00, 0x00, } func (m *FungibleTokenPacketData) Marshal() (dAtA []byte, err error) { diff --git a/modules/apps/transfer/types/query.pb.go b/modules/apps/transfer/types/query.pb.go index e6d575c1e49..ee8a05e63cc 100644 --- a/modules/apps/transfer/types/query.pb.go +++ b/modules/apps/transfer/types/query.pb.go @@ -324,41 +324,41 @@ func init() { } var fileDescriptor_a638e2800a01538c = []byte{ - // 531 bytes of a gzipped FileDescriptorProto + // 532 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x54, 0xcd, 0x6e, 0xd3, 0x40, 0x10, 0xce, 0xb6, 0x10, 0x89, 0x09, 0xe2, 0xb0, 0x54, 0x10, 0x59, 0x91, 0x5b, 0x59, 0x11, 0x84, - 0x16, 0x76, 0x71, 0xf8, 0xbb, 0x70, 0xaa, 0x10, 0x88, 0x5b, 0x1b, 0x38, 0xc1, 0x01, 0xad, 0x9d, - 0xc5, 0xb1, 0x14, 0x7b, 0x5d, 0xaf, 0x13, 0xa9, 0x42, 0x5c, 0x78, 0x02, 0xa4, 0xbe, 0x04, 0x42, - 0x3c, 0x04, 0xc7, 0x1e, 0x2b, 0x71, 0xe1, 0x04, 0x28, 0xe1, 0x1d, 0xb8, 0x22, 0xef, 0xae, 0x1b, - 0x9b, 0x54, 0x29, 0xbe, 0xad, 0xc6, 0xf3, 0xcd, 0xf7, 0x33, 0x23, 0x43, 0x2f, 0xf4, 0x7c, 0xca, - 0x92, 0x64, 0x1c, 0xfa, 0x2c, 0x0b, 0x45, 0x2c, 0x69, 0x96, 0xb2, 0x58, 0xbe, 0xe5, 0x29, 0x9d, - 0xba, 0xf4, 0x60, 0xc2, 0xd3, 0x43, 0x92, 0xa4, 0x22, 0x13, 0xb8, 0x13, 0x7a, 0x3e, 0x29, 0x77, - 0x92, 0xa2, 0x93, 0x4c, 0x5d, 0x6b, 0x23, 0x10, 0x81, 0x50, 0x8d, 0x34, 0x7f, 0x69, 0x8c, 0xb5, - 0xed, 0x0b, 0x19, 0x09, 0x49, 0x3d, 0x26, 0xb9, 0x1e, 0x46, 0xa7, 0xae, 0xc7, 0x33, 0xe6, 0xd2, - 0x84, 0x05, 0x61, 0xac, 0x06, 0x99, 0xde, 0x9d, 0x95, 0x4a, 0x4e, 0xb9, 0x74, 0x73, 0x27, 0x10, - 0x22, 0x18, 0x73, 0xca, 0x92, 0x90, 0xb2, 0x38, 0x16, 0x99, 0x91, 0xa4, 0xbe, 0x3a, 0xb7, 0xe1, - 0xda, 0x7e, 0x4e, 0xf6, 0x84, 0xc7, 0x22, 0x7a, 0x99, 0x32, 0x9f, 0x0f, 0xf8, 0xc1, 0x84, 0xcb, - 0x0c, 0x63, 0xb8, 0x30, 0x62, 0x72, 0xd4, 0x46, 0x5b, 0xa8, 0x77, 0x69, 0xa0, 0xde, 0xce, 0x10, - 0xae, 0x2f, 0x75, 0xcb, 0x44, 0xc4, 0x92, 0xe3, 0xe7, 0xd0, 0x1a, 0xe6, 0xd5, 0x37, 0x59, 0x5e, - 0x56, 0xa8, 0x56, 0xbf, 0x47, 0x56, 0x25, 0x41, 0x4a, 0x63, 0x60, 0x78, 0xfa, 0x76, 0xd8, 0x12, - 0x8b, 0x2c, 0x44, 0x3d, 0x05, 0x58, 0xa4, 0x61, 0x48, 0x6e, 0x10, 0x1d, 0x1d, 0xc9, 0xa3, 0x23, - 0x7a, 0x0f, 0x26, 0x3a, 0xb2, 0xc7, 0x82, 0xc2, 0xd0, 0xa0, 0x84, 0x74, 0xbe, 0x22, 0x68, 0x2f, - 0x73, 0x18, 0x2b, 0xaf, 0xe1, 0x72, 0xc9, 0x8a, 0x6c, 0xa3, 0xad, 0xf5, 0x3a, 0x5e, 0x76, 0xaf, - 0x1c, 0xff, 0xd8, 0x6c, 0x7c, 0xfe, 0xb9, 0xd9, 0x34, 0x73, 0x5b, 0x0b, 0x6f, 0x12, 0x3f, 0xab, - 0x38, 0x58, 0x53, 0x0e, 0x6e, 0x9e, 0xeb, 0x40, 0x2b, 0xab, 0x58, 0xd8, 0x00, 0xac, 0x1c, 0xec, - 0xb1, 0x94, 0x45, 0x45, 0x40, 0xce, 0x0b, 0xb8, 0x5a, 0xa9, 0x1a, 0x4b, 0x8f, 0xa1, 0x99, 0xa8, - 0x8a, 0xc9, 0xac, 0xbb, 0xda, 0x8c, 0x41, 0x1b, 0x4c, 0xff, 0xcf, 0x3a, 0x5c, 0x54, 0x53, 0xf1, - 0x17, 0x04, 0xb0, 0x70, 0x8a, 0xef, 0xaf, 0x1e, 0x73, 0xf6, 0x65, 0x59, 0x0f, 0x6a, 0xa2, 0xb4, - 0x07, 0xc7, 0xfd, 0xf0, 0xed, 0xf7, 0xd1, 0xda, 0x0e, 0xbe, 0x45, 0xcd, 0xf9, 0x57, 0xcf, 0xbe, - 0xbc, 0x32, 0xfa, 0x2e, 0x3f, 0xd7, 0xf7, 0xf8, 0x13, 0x82, 0x56, 0x69, 0xc3, 0xb8, 0x1e, 0x73, - 0x11, 0xaa, 0xf5, 0xb0, 0x2e, 0xcc, 0x28, 0xde, 0x56, 0x8a, 0xbb, 0xd8, 0x39, 0x5f, 0x31, 0x3e, - 0x42, 0xd0, 0xd4, 0xb1, 0xe3, 0xbb, 0xff, 0x41, 0x57, 0xd9, 0xba, 0xe5, 0xd6, 0x40, 0x18, 0x6d, - 0x5d, 0xa5, 0xcd, 0xc6, 0x9d, 0xb3, 0xb5, 0xe9, 0xcd, 0xef, 0xee, 0x1f, 0xcf, 0x6c, 0x74, 0x32, - 0xb3, 0xd1, 0xaf, 0x99, 0x8d, 0x3e, 0xce, 0xed, 0xc6, 0xc9, 0xdc, 0x6e, 0x7c, 0x9f, 0xdb, 0x8d, - 0x57, 0x8f, 0x82, 0x30, 0x1b, 0x4d, 0x3c, 0xe2, 0x8b, 0x88, 0x9a, 0x5f, 0x57, 0xe8, 0xf9, 0x77, - 0x02, 0x41, 0xa7, 0x7d, 0x1a, 0x89, 0xe1, 0x64, 0xcc, 0xe5, 0x3f, 0x63, 0xb3, 0xc3, 0x84, 0x4b, - 0xaf, 0xa9, 0x7e, 0x3c, 0xf7, 0xfe, 0x06, 0x00, 0x00, 0xff, 0xff, 0x7b, 0xbc, 0x36, 0x30, 0x4f, - 0x05, 0x00, 0x00, + 0x16, 0x76, 0x71, 0xcb, 0xcf, 0x85, 0x53, 0x85, 0x40, 0xdc, 0xda, 0xc0, 0x09, 0x0e, 0x68, 0xed, + 0x2c, 0x8e, 0xa5, 0xd8, 0xeb, 0x7a, 0x9d, 0x48, 0x15, 0xe2, 0xc2, 0x13, 0x20, 0xf5, 0x25, 0x10, + 0xe2, 0x21, 0x38, 0xf6, 0x58, 0x89, 0x0b, 0x27, 0x40, 0x09, 0xef, 0xc0, 0x15, 0x79, 0x77, 0xdd, + 0xd8, 0xa4, 0x4a, 0xeb, 0xdb, 0x6a, 0x3c, 0xdf, 0x7c, 0x3f, 0x33, 0x32, 0xf4, 0x42, 0xcf, 0xa7, + 0x2c, 0x49, 0x46, 0xa1, 0xcf, 0xb2, 0x50, 0xc4, 0x92, 0x66, 0x29, 0x8b, 0xe5, 0x3b, 0x9e, 0xd2, + 0x89, 0x4b, 0x0f, 0xc6, 0x3c, 0x3d, 0x24, 0x49, 0x2a, 0x32, 0x81, 0x3b, 0xa1, 0xe7, 0x93, 0x72, + 0x27, 0x29, 0x3a, 0xc9, 0xc4, 0xb5, 0xd6, 0x02, 0x11, 0x08, 0xd5, 0x48, 0xf3, 0x97, 0xc6, 0x58, + 0x9b, 0xbe, 0x90, 0x91, 0x90, 0xd4, 0x63, 0x92, 0xeb, 0x61, 0x74, 0xe2, 0x7a, 0x3c, 0x63, 0x2e, + 0x4d, 0x58, 0x10, 0xc6, 0x6a, 0x90, 0xe9, 0xdd, 0x5a, 0xaa, 0xe4, 0x94, 0x4b, 0x37, 0x77, 0x02, + 0x21, 0x82, 0x11, 0xa7, 0x2c, 0x09, 0x29, 0x8b, 0x63, 0x91, 0x19, 0x49, 0xea, 0xab, 0x73, 0x17, + 0x6e, 0xec, 0xe7, 0x64, 0x4f, 0x79, 0x2c, 0xa2, 0x57, 0x29, 0xf3, 0x79, 0x9f, 0x1f, 0x8c, 0xb9, + 0xcc, 0x30, 0x86, 0x4b, 0x43, 0x26, 0x87, 0x6d, 0xb4, 0x81, 0x7a, 0x57, 0xfa, 0xea, 0xed, 0x0c, + 0xe0, 0xe6, 0x42, 0xb7, 0x4c, 0x44, 0x2c, 0x39, 0x7e, 0x01, 0xad, 0x41, 0x5e, 0x7d, 0x9b, 0xe5, + 0x65, 0x85, 0x6a, 0x6d, 0xf7, 0xc8, 0xb2, 0x24, 0x48, 0x69, 0x0c, 0x0c, 0x4e, 0xdf, 0x0e, 0x5b, + 0x60, 0x91, 0x85, 0xa8, 0x67, 0x00, 0xf3, 0x34, 0x0c, 0xc9, 0x2d, 0xa2, 0xa3, 0x23, 0x79, 0x74, + 0x44, 0xef, 0xc1, 0x44, 0x47, 0xf6, 0x58, 0x50, 0x18, 0xea, 0x97, 0x90, 0xce, 0x37, 0x04, 0xed, + 0x45, 0x0e, 0x63, 0xe5, 0x0d, 0x5c, 0x2d, 0x59, 0x91, 0x6d, 0xb4, 0xb1, 0x5a, 0xc7, 0xcb, 0xee, + 0xb5, 0xe3, 0x9f, 0xeb, 0x8d, 0x2f, 0xbf, 0xd6, 0x9b, 0x66, 0x6e, 0x6b, 0xee, 0x4d, 0xe2, 0xe7, + 0x15, 0x07, 0x2b, 0xca, 0xc1, 0xed, 0x73, 0x1d, 0x68, 0x65, 0x15, 0x0b, 0x6b, 0x80, 0x95, 0x83, + 0x3d, 0x96, 0xb2, 0xa8, 0x08, 0xc8, 0x79, 0x09, 0xd7, 0x2b, 0x55, 0x63, 0xe9, 0x09, 0x34, 0x13, + 0x55, 0x31, 0x99, 0x75, 0x97, 0x9b, 0x31, 0x68, 0x83, 0xd9, 0xfe, 0xbb, 0x0a, 0x97, 0xd5, 0x54, + 0xfc, 0x15, 0x01, 0xcc, 0x9d, 0xe2, 0x07, 0xcb, 0xc7, 0x9c, 0x7d, 0x59, 0xd6, 0xc3, 0x9a, 0x28, + 0xed, 0xc1, 0x71, 0x3f, 0x7e, 0xff, 0x73, 0xb4, 0xb2, 0x85, 0xef, 0x50, 0x73, 0xfe, 0xd5, 0xb3, + 0x2f, 0xaf, 0x8c, 0xbe, 0xcf, 0xcf, 0xf5, 0x03, 0xfe, 0x8c, 0xa0, 0x55, 0xda, 0x30, 0xae, 0xc7, + 0x5c, 0x84, 0x6a, 0x3d, 0xaa, 0x0b, 0x33, 0x8a, 0x37, 0x95, 0xe2, 0x2e, 0x76, 0xce, 0x57, 0x8c, + 0x8f, 0x10, 0x34, 0x75, 0xec, 0xf8, 0xfe, 0x05, 0xe8, 0x2a, 0x5b, 0xb7, 0xdc, 0x1a, 0x08, 0xa3, + 0xad, 0xab, 0xb4, 0xd9, 0xb8, 0x73, 0xb6, 0x36, 0xbd, 0xf9, 0xdd, 0xfd, 0xe3, 0xa9, 0x8d, 0x4e, + 0xa6, 0x36, 0xfa, 0x3d, 0xb5, 0xd1, 0xa7, 0x99, 0xdd, 0x38, 0x99, 0xd9, 0x8d, 0x1f, 0x33, 0xbb, + 0xf1, 0xfa, 0x71, 0x10, 0x66, 0xc3, 0xb1, 0x47, 0x7c, 0x11, 0x51, 0xf3, 0xeb, 0x0a, 0x3d, 0xff, + 0x5e, 0x20, 0xe8, 0x64, 0x87, 0x46, 0x62, 0x30, 0x1e, 0x71, 0xf9, 0xdf, 0xd8, 0xec, 0x30, 0xe1, + 0xd2, 0x6b, 0xaa, 0x1f, 0xcf, 0xce, 0xbf, 0x00, 0x00, 0x00, 0xff, 0xff, 0x64, 0xab, 0xc6, 0xb0, + 0x4f, 0x05, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. diff --git a/modules/apps/transfer/types/trace.go b/modules/apps/transfer/types/trace.go index 9e3179f1efc..8a73d3245e5 100644 --- a/modules/apps/transfer/types/trace.go +++ b/modules/apps/transfer/types/trace.go @@ -12,7 +12,7 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" - host "github.com/cosmos/ibc-go/v2/modules/core/24-host" + host "github.com/cosmos/ibc-go/v3/modules/core/24-host" ) // ParseDenomTrace parses a string with the ibc prefix (denom trace) and the base denomination diff --git a/modules/apps/transfer/types/transfer.pb.go b/modules/apps/transfer/types/transfer.pb.go index 981f6ec1e63..5ed7c9bd835 100644 --- a/modules/apps/transfer/types/transfer.pb.go +++ b/modules/apps/transfer/types/transfer.pb.go @@ -153,23 +153,23 @@ var fileDescriptor_5041673e96e97901 = []byte{ // 300 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x5c, 0x90, 0xc1, 0x4a, 0x2b, 0x31, 0x14, 0x86, 0x9b, 0x72, 0x29, 0xb7, 0x51, 0x14, 0xa2, 0x68, 0x29, 0x9a, 0xca, 0xac, 0x04, 0x71, - 0x42, 0x75, 0x21, 0x74, 0x23, 0x54, 0xdd, 0x6b, 0x71, 0xe5, 0xa6, 0x24, 0x99, 0xe3, 0x34, 0x30, - 0x99, 0x0c, 0x49, 0x3a, 0xd0, 0x47, 0x70, 0xe7, 0x63, 0xb9, 0xec, 0xd2, 0x55, 0x91, 0xf6, 0x0d, - 0xfa, 0x04, 0x32, 0x69, 0x29, 0x83, 0xbb, 0xff, 0x9c, 0xf3, 0x7d, 0x67, 0xf1, 0xe3, 0x2b, 0x25, - 0x24, 0xe3, 0x45, 0x91, 0x29, 0xc9, 0xbd, 0x32, 0xb9, 0x63, 0xde, 0xf2, 0xdc, 0xbd, 0x83, 0x65, - 0x65, 0x7f, 0x97, 0xe3, 0xc2, 0x1a, 0x6f, 0xc8, 0x99, 0x12, 0x32, 0xae, 0xc3, 0xf1, 0x0e, 0x28, - 0xfb, 0xdd, 0xe3, 0xd4, 0xa4, 0x26, 0x80, 0xac, 0x4a, 0x1b, 0x27, 0xba, 0xc7, 0xf8, 0x11, 0x72, - 0xa3, 0x5f, 0x2d, 0x97, 0x40, 0x08, 0xfe, 0x57, 0x70, 0x3f, 0xe9, 0xa0, 0x0b, 0x74, 0xd9, 0x1e, - 0x85, 0x4c, 0xce, 0x31, 0x16, 0xdc, 0xc1, 0x38, 0xa9, 0xb0, 0x4e, 0x33, 0x5c, 0xda, 0xd5, 0x26, - 0x78, 0xd1, 0x07, 0xc2, 0xad, 0x67, 0x6e, 0xb9, 0x76, 0x64, 0x80, 0xf7, 0x1d, 0xe4, 0xc9, 0x18, - 0x72, 0x2e, 0x32, 0x48, 0xc2, 0x97, 0xff, 0xc3, 0xd3, 0xf5, 0xa2, 0x77, 0x34, 0xe3, 0x3a, 0x1b, - 0x44, 0xf5, 0x6b, 0x34, 0xda, 0xab, 0xc6, 0xa7, 0xcd, 0x44, 0x1e, 0xf0, 0xa1, 0x05, 0x09, 0xaa, - 0x84, 0x9d, 0xde, 0x0c, 0x7a, 0x77, 0xbd, 0xe8, 0x9d, 0x6c, 0xf4, 0x3f, 0x40, 0x34, 0x3a, 0xd8, - 0x6e, 0xb6, 0x4f, 0x86, 0x2f, 0x5f, 0x4b, 0x8a, 0xe6, 0x4b, 0x8a, 0x7e, 0x96, 0x14, 0x7d, 0xae, - 0x68, 0x63, 0xbe, 0xa2, 0x8d, 0xef, 0x15, 0x6d, 0xbc, 0xdd, 0xa5, 0xca, 0x4f, 0xa6, 0x22, 0x96, - 0x46, 0x33, 0x69, 0x9c, 0x36, 0x8e, 0x29, 0x21, 0xaf, 0x53, 0xc3, 0xca, 0x1b, 0xa6, 0x4d, 0x32, - 0xcd, 0xc0, 0x55, 0x3d, 0xd7, 0xfa, 0xf5, 0xb3, 0x02, 0x9c, 0x68, 0x85, 0x9a, 0x6e, 0x7f, 0x03, - 0x00, 0x00, 0xff, 0xff, 0xb1, 0xc8, 0x63, 0x0e, 0x89, 0x01, 0x00, 0x00, + 0x42, 0xe9, 0x42, 0xe8, 0x46, 0xa8, 0xba, 0xd7, 0xe2, 0xca, 0x4d, 0x49, 0x32, 0xc7, 0x69, 0x60, + 0x32, 0x19, 0x92, 0x74, 0xa0, 0x8f, 0xe0, 0xce, 0xc7, 0x72, 0xd9, 0xa5, 0xab, 0x22, 0xed, 0x1b, + 0xf4, 0x09, 0x64, 0xd2, 0x52, 0x06, 0x77, 0xff, 0x39, 0xe7, 0xfb, 0xce, 0xe2, 0xc7, 0x37, 0x4a, + 0x48, 0xc6, 0x8b, 0x22, 0x53, 0x92, 0x7b, 0x65, 0x72, 0xc7, 0xbc, 0xe5, 0xb9, 0x7b, 0x07, 0xcb, + 0xca, 0xfe, 0x3e, 0xc7, 0x85, 0x35, 0xde, 0x90, 0x0b, 0x25, 0x64, 0x5c, 0x87, 0xe3, 0x3d, 0x50, + 0xf6, 0xbb, 0xa7, 0xa9, 0x49, 0x4d, 0x00, 0x59, 0x95, 0xb6, 0x4e, 0x74, 0x8f, 0xf1, 0x23, 0xe4, + 0x46, 0xbf, 0x5a, 0x2e, 0x81, 0x10, 0xfc, 0xaf, 0xe0, 0x7e, 0xda, 0x41, 0x57, 0xe8, 0xba, 0x3d, + 0x0e, 0x99, 0x5c, 0x62, 0x2c, 0xb8, 0x83, 0x49, 0x52, 0x61, 0x9d, 0x66, 0xb8, 0xb4, 0xab, 0x4d, + 0xf0, 0xa2, 0x0f, 0x84, 0x5b, 0xcf, 0xdc, 0x72, 0xed, 0xc8, 0x10, 0x1f, 0x3a, 0xc8, 0x93, 0x09, + 0xe4, 0x5c, 0x64, 0x90, 0x84, 0x2f, 0xff, 0x47, 0xe7, 0x9b, 0x65, 0xef, 0x64, 0xce, 0x75, 0x36, + 0x8c, 0xea, 0xd7, 0x68, 0x7c, 0x50, 0x8d, 0x4f, 0xdb, 0x89, 0x3c, 0xe0, 0x63, 0x0b, 0x12, 0x54, + 0x09, 0x7b, 0xbd, 0x19, 0xf4, 0xee, 0x66, 0xd9, 0x3b, 0xdb, 0xea, 0x7f, 0x80, 0x68, 0x7c, 0xb4, + 0xdb, 0xec, 0x9e, 0x8c, 0x5e, 0xbe, 0x56, 0x14, 0x2d, 0x56, 0x14, 0xfd, 0xac, 0x28, 0xfa, 0x5c, + 0xd3, 0xc6, 0x62, 0x4d, 0x1b, 0xdf, 0x6b, 0xda, 0x78, 0xbb, 0x4b, 0x95, 0x9f, 0xce, 0x44, 0x2c, + 0x8d, 0x66, 0xd2, 0x38, 0x6d, 0x1c, 0x53, 0x42, 0xde, 0xa6, 0x86, 0x95, 0x03, 0xa6, 0x4d, 0x32, + 0xcb, 0xc0, 0x55, 0x3d, 0xd7, 0xfa, 0xf5, 0xf3, 0x02, 0x9c, 0x68, 0x85, 0x9a, 0x06, 0xbf, 0x01, + 0x00, 0x00, 0xff, 0xff, 0xae, 0xdf, 0x93, 0x8e, 0x89, 0x01, 0x00, 0x00, } func (m *DenomTrace) Marshal() (dAtA []byte, err error) { diff --git a/modules/apps/transfer/types/tx.pb.go b/modules/apps/transfer/types/tx.pb.go index 9440631dd96..d19f118bfcc 100644 --- a/modules/apps/transfer/types/tx.pb.go +++ b/modules/apps/transfer/types/tx.pb.go @@ -7,7 +7,7 @@ import ( context "context" fmt "fmt" types "github.com/cosmos/cosmos-sdk/types" - types1 "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" + types1 "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" _ "github.com/gogo/protobuf/gogoproto" grpc1 "github.com/gogo/protobuf/grpc" proto "github.com/gogo/protobuf/proto" @@ -132,38 +132,38 @@ func init() { } var fileDescriptor_7401ed9bed2f8e09 = []byte{ - // 495 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x93, 0xc1, 0x6e, 0xd3, 0x4c, - 0x10, 0xc7, 0xed, 0x2f, 0x69, 0xbe, 0xb0, 0x51, 0x2b, 0x30, 0xb4, 0x72, 0xa3, 0x62, 0x47, 0x96, - 0x90, 0xc2, 0x81, 0x5d, 0x39, 0x08, 0x55, 0xea, 0x09, 0xa5, 0x17, 0x38, 0x54, 0x02, 0xab, 0x27, - 0x2e, 0xc5, 0xde, 0x2e, 0xce, 0x8a, 0x78, 0xc7, 0xda, 0xdd, 0x58, 0xf4, 0x0d, 0x38, 0xf2, 0x08, - 0x3d, 0xf3, 0x24, 0x3d, 0xf6, 0xc8, 0x29, 0x42, 0xc9, 0x85, 0x73, 0x9e, 0x00, 0xad, 0xbd, 0x09, - 0xc9, 0x05, 0x71, 0xb2, 0x67, 0xfe, 0xbf, 0xd9, 0xbf, 0x66, 0x67, 0x16, 0x3d, 0xe3, 0x19, 0x25, - 0x69, 0x59, 0x4e, 0x39, 0x4d, 0x35, 0x07, 0xa1, 0x88, 0x96, 0xa9, 0x50, 0x9f, 0x98, 0x24, 0x55, - 0x4c, 0xf4, 0x17, 0x5c, 0x4a, 0xd0, 0xe0, 0x9d, 0xf0, 0x8c, 0xe2, 0x6d, 0x0c, 0xaf, 0x31, 0x5c, - 0xc5, 0xfd, 0x27, 0x39, 0xe4, 0x50, 0x83, 0xc4, 0xfc, 0x35, 0x35, 0xfd, 0x80, 0x82, 0x2a, 0x40, - 0x91, 0x2c, 0x55, 0x8c, 0x54, 0x71, 0xc6, 0x74, 0x1a, 0x13, 0x0a, 0x5c, 0x58, 0x3d, 0x34, 0xd6, - 0x14, 0x24, 0x23, 0x74, 0xca, 0x99, 0xd0, 0xc6, 0xb0, 0xf9, 0x6b, 0x80, 0xe8, 0x7b, 0x0b, 0xf5, - 0x2e, 0x54, 0x7e, 0x69, 0x9d, 0xbc, 0x53, 0xd4, 0x53, 0x30, 0x93, 0x94, 0x5d, 0x95, 0x20, 0xb5, - 0xef, 0x0e, 0xdc, 0xe1, 0x83, 0xf1, 0xd1, 0x6a, 0x1e, 0x7a, 0x37, 0x69, 0x31, 0x3d, 0x8b, 0xb6, - 0xc4, 0x28, 0x41, 0x4d, 0xf4, 0x0e, 0xa4, 0xf6, 0x5e, 0xa3, 0x03, 0xab, 0xd1, 0x49, 0x2a, 0x04, - 0x9b, 0xfa, 0xff, 0xd5, 0xb5, 0xc7, 0xab, 0x79, 0x78, 0xb8, 0x53, 0x6b, 0xf5, 0x28, 0xd9, 0x6f, - 0x12, 0xe7, 0x4d, 0xec, 0xbd, 0x42, 0x7b, 0x1a, 0x3e, 0x33, 0xe1, 0xb7, 0x06, 0xee, 0xb0, 0x37, - 0x3a, 0xc6, 0x4d, 0x6f, 0xd8, 0xf4, 0x86, 0x6d, 0x6f, 0xf8, 0x1c, 0xb8, 0x18, 0xb7, 0xef, 0xe6, - 0xa1, 0x93, 0x34, 0xb4, 0x77, 0x84, 0x3a, 0x8a, 0x89, 0x6b, 0x26, 0xfd, 0xb6, 0x31, 0x4c, 0x6c, - 0xe4, 0xf5, 0x51, 0x57, 0x32, 0xca, 0x78, 0xc5, 0xa4, 0xbf, 0x57, 0x2b, 0x9b, 0xd8, 0xfb, 0x88, - 0x0e, 0x34, 0x2f, 0x18, 0xcc, 0xf4, 0xd5, 0x84, 0xf1, 0x7c, 0xa2, 0xfd, 0x4e, 0xed, 0xd9, 0xc7, - 0x66, 0x06, 0xe6, 0xbe, 0xb0, 0xbd, 0xa5, 0x2a, 0xc6, 0x6f, 0x6a, 0x62, 0xfc, 0xd4, 0x98, 0xfe, - 0x69, 0x66, 0xb7, 0x3e, 0x4a, 0xf6, 0x6d, 0xa2, 0xa1, 0xbd, 0xb7, 0xe8, 0xd1, 0x9a, 0x30, 0x5f, - 0xa5, 0xd3, 0xa2, 0xf4, 0xff, 0x1f, 0xb8, 0xc3, 0xf6, 0xf8, 0x64, 0x35, 0x0f, 0xfd, 0xdd, 0x43, - 0x36, 0x48, 0x94, 0x3c, 0xb4, 0xb9, 0xcb, 0x75, 0xea, 0xac, 0xfb, 0xf5, 0x36, 0x74, 0x7e, 0xdd, - 0x86, 0x4e, 0x74, 0x88, 0x1e, 0x6f, 0xcd, 0x2a, 0x61, 0xaa, 0x04, 0xa1, 0xd8, 0x08, 0x50, 0xeb, - 0x42, 0xe5, 0xde, 0x04, 0x75, 0x37, 0x63, 0x7c, 0x8e, 0xff, 0xb6, 0x4c, 0x78, 0xeb, 0x94, 0x7e, - 0xfc, 0xcf, 0xe8, 0xda, 0x70, 0xfc, 0xfe, 0x6e, 0x11, 0xb8, 0xf7, 0x8b, 0xc0, 0xfd, 0xb9, 0x08, - 0xdc, 0x6f, 0xcb, 0xc0, 0xb9, 0x5f, 0x06, 0xce, 0x8f, 0x65, 0xe0, 0x7c, 0x38, 0xcd, 0xb9, 0x9e, - 0xcc, 0x32, 0x4c, 0xa1, 0x20, 0x76, 0x35, 0x79, 0x46, 0x5f, 0xe4, 0x40, 0xaa, 0x11, 0x29, 0xe0, - 0x7a, 0x36, 0x65, 0xca, 0x3c, 0x85, 0xad, 0x27, 0xa0, 0x6f, 0x4a, 0xa6, 0xb2, 0x4e, 0xbd, 0x8e, - 0x2f, 0x7f, 0x07, 0x00, 0x00, 0xff, 0xff, 0x10, 0x10, 0xcc, 0xb9, 0x2c, 0x03, 0x00, 0x00, + // 494 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x93, 0x31, 0x6f, 0xd3, 0x40, + 0x14, 0xc7, 0x6d, 0x92, 0x86, 0x70, 0x51, 0x2b, 0x30, 0xb4, 0x72, 0xa3, 0x62, 0x47, 0x96, 0x90, + 0xc2, 0xc0, 0x9d, 0xdc, 0x0a, 0x55, 0xea, 0x84, 0xd2, 0x05, 0x86, 0x4a, 0x60, 0x75, 0x62, 0x29, + 0xf6, 0xf5, 0x70, 0x4e, 0xc4, 0xf7, 0xac, 0xbb, 0x8b, 0x45, 0xbf, 0x01, 0x23, 0x1f, 0xa1, 0x33, + 0x9f, 0xa4, 0x63, 0x47, 0xa6, 0x08, 0x25, 0x0b, 0x73, 0x3e, 0x01, 0x3a, 0xfb, 0x12, 0x92, 0x05, + 0x31, 0xd9, 0xef, 0xfd, 0x7f, 0xef, 0xfe, 0x7a, 0xf7, 0xde, 0xa1, 0x17, 0x3c, 0xa3, 0x24, 0x2d, + 0xcb, 0x09, 0xa7, 0xa9, 0xe6, 0x20, 0x14, 0xd1, 0x32, 0x15, 0xea, 0x33, 0x93, 0xa4, 0x8a, 0x89, + 0xfe, 0x8a, 0x4b, 0x09, 0x1a, 0xbc, 0x23, 0x9e, 0x51, 0xbc, 0x89, 0xe1, 0x15, 0x86, 0xab, 0xb8, + 0xff, 0x2c, 0x87, 0x1c, 0x6a, 0x90, 0x98, 0xbf, 0xa6, 0xa6, 0x1f, 0x50, 0x50, 0x05, 0x28, 0x92, + 0xa5, 0x8a, 0x91, 0x2a, 0xce, 0x98, 0x4e, 0x63, 0x42, 0x81, 0x0b, 0xab, 0x87, 0xc6, 0x9a, 0x82, + 0x64, 0x84, 0x4e, 0x38, 0x13, 0xda, 0x18, 0x36, 0x7f, 0x0d, 0x10, 0xfd, 0x68, 0xa1, 0xde, 0x85, + 0xca, 0x2f, 0xad, 0x93, 0x77, 0x8a, 0x7a, 0x0a, 0xa6, 0x92, 0xb2, 0xab, 0x12, 0xa4, 0xf6, 0xdd, + 0x81, 0x3b, 0x7c, 0x34, 0x3a, 0x58, 0xce, 0x42, 0xef, 0x26, 0x2d, 0x26, 0x67, 0xd1, 0x86, 0x18, + 0x25, 0xa8, 0x89, 0xde, 0x83, 0xd4, 0xde, 0x1b, 0xb4, 0x67, 0x35, 0x3a, 0x4e, 0x85, 0x60, 0x13, + 0xff, 0x41, 0x5d, 0x7b, 0xb8, 0x9c, 0x85, 0xfb, 0x5b, 0xb5, 0x56, 0x8f, 0x92, 0xdd, 0x26, 0x71, + 0xde, 0xc4, 0xde, 0x6b, 0xb4, 0xa3, 0xe1, 0x0b, 0x13, 0x7e, 0x6b, 0xe0, 0x0e, 0x7b, 0xc7, 0x87, + 0xb8, 0xe9, 0x0d, 0x9b, 0xde, 0xb0, 0xed, 0x0d, 0x9f, 0x03, 0x17, 0xa3, 0xf6, 0xdd, 0x2c, 0x74, + 0x92, 0x86, 0xf6, 0x0e, 0x50, 0x47, 0x31, 0x71, 0xcd, 0xa4, 0xdf, 0x36, 0x86, 0x89, 0x8d, 0xbc, + 0x3e, 0xea, 0x4a, 0x46, 0x19, 0xaf, 0x98, 0xf4, 0x77, 0x6a, 0x65, 0x1d, 0x7b, 0x9f, 0xd0, 0x9e, + 0xe6, 0x05, 0x83, 0xa9, 0xbe, 0x1a, 0x33, 0x9e, 0x8f, 0xb5, 0xdf, 0xa9, 0x3d, 0xfb, 0xd8, 0xcc, + 0xc0, 0xdc, 0x17, 0xb6, 0xb7, 0x54, 0xc5, 0xf8, 0x6d, 0x4d, 0x8c, 0x9e, 0x1b, 0xd3, 0xbf, 0xcd, + 0x6c, 0xd7, 0x47, 0xc9, 0xae, 0x4d, 0x34, 0xb4, 0xf7, 0x0e, 0x3d, 0x59, 0x11, 0xe6, 0xab, 0x74, + 0x5a, 0x94, 0xfe, 0xc3, 0x81, 0x3b, 0x6c, 0x8f, 0x8e, 0x96, 0xb3, 0xd0, 0xdf, 0x3e, 0x64, 0x8d, + 0x44, 0xc9, 0x63, 0x9b, 0xbb, 0x5c, 0xa5, 0xce, 0xba, 0xdf, 0x6e, 0x43, 0xe7, 0xf7, 0x6d, 0xe8, + 0x44, 0xfb, 0xe8, 0xe9, 0xc6, 0xac, 0x12, 0xa6, 0x4a, 0x10, 0x8a, 0x1d, 0x03, 0x6a, 0x5d, 0xa8, + 0xdc, 0x1b, 0xa3, 0xee, 0x7a, 0x8c, 0x2f, 0xf1, 0xbf, 0x96, 0x09, 0x6f, 0x9c, 0xd2, 0x8f, 0xff, + 0x1b, 0x5d, 0x19, 0x8e, 0x3e, 0xdc, 0xcd, 0x03, 0xf7, 0x7e, 0x1e, 0xb8, 0xbf, 0xe6, 0x81, 0xfb, + 0x7d, 0x11, 0x38, 0xf7, 0x8b, 0xc0, 0xf9, 0xb9, 0x08, 0x9c, 0x8f, 0xa7, 0x39, 0xd7, 0xe3, 0x69, + 0x86, 0x29, 0x14, 0xc4, 0xae, 0x26, 0xcf, 0xe8, 0xab, 0x1c, 0x48, 0x75, 0x42, 0x0a, 0xb8, 0x9e, + 0x4e, 0x98, 0x32, 0x4f, 0x61, 0xe3, 0x09, 0xe8, 0x9b, 0x92, 0xa9, 0xac, 0x53, 0xaf, 0xe3, 0xc9, + 0x9f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x0f, 0x07, 0x3c, 0x39, 0x2c, 0x03, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. diff --git a/modules/core/02-client/abci.go b/modules/core/02-client/abci.go index f45a925be3f..0f01ecb00c7 100644 --- a/modules/core/02-client/abci.go +++ b/modules/core/02-client/abci.go @@ -2,9 +2,9 @@ package client import ( sdk "github.com/cosmos/cosmos-sdk/types" - "github.com/cosmos/ibc-go/v2/modules/core/02-client/keeper" - "github.com/cosmos/ibc-go/v2/modules/core/exported" - ibctmtypes "github.com/cosmos/ibc-go/v2/modules/light-clients/07-tendermint/types" + "github.com/cosmos/ibc-go/v3/modules/core/02-client/keeper" + "github.com/cosmos/ibc-go/v3/modules/core/exported" + ibctmtypes "github.com/cosmos/ibc-go/v3/modules/light-clients/07-tendermint/types" ) // BeginBlocker updates an existing localhost client with the latest block height. diff --git a/modules/core/02-client/abci_test.go b/modules/core/02-client/abci_test.go index 61115bef3d1..84c4f2904ff 100644 --- a/modules/core/02-client/abci_test.go +++ b/modules/core/02-client/abci_test.go @@ -8,12 +8,12 @@ import ( tmproto "github.com/tendermint/tendermint/proto/tendermint/types" upgradetypes "github.com/cosmos/cosmos-sdk/x/upgrade/types" - client "github.com/cosmos/ibc-go/v2/modules/core/02-client" - "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" - "github.com/cosmos/ibc-go/v2/modules/core/exported" - ibctmtypes "github.com/cosmos/ibc-go/v2/modules/light-clients/07-tendermint/types" - localhosttypes "github.com/cosmos/ibc-go/v2/modules/light-clients/09-localhost/types" - ibctesting "github.com/cosmos/ibc-go/v2/testing" + client "github.com/cosmos/ibc-go/v3/modules/core/02-client" + "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" + "github.com/cosmos/ibc-go/v3/modules/core/exported" + ibctmtypes "github.com/cosmos/ibc-go/v3/modules/light-clients/07-tendermint/types" + localhosttypes "github.com/cosmos/ibc-go/v3/modules/light-clients/09-localhost/types" + ibctesting "github.com/cosmos/ibc-go/v3/testing" ) type ClientTestSuite struct { diff --git a/modules/core/02-client/client/cli/cli.go b/modules/core/02-client/client/cli/cli.go index 83fdc7ddb2e..7a011358eab 100644 --- a/modules/core/02-client/client/cli/cli.go +++ b/modules/core/02-client/client/cli/cli.go @@ -4,7 +4,7 @@ import ( "github.com/spf13/cobra" "github.com/cosmos/cosmos-sdk/client" - "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" + "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" ) // GetQueryCmd returns the query commands for IBC clients diff --git a/modules/core/02-client/client/cli/query.go b/modules/core/02-client/client/cli/query.go index 7f163423a47..ee79992f55d 100644 --- a/modules/core/02-client/client/cli/query.go +++ b/modules/core/02-client/client/cli/query.go @@ -9,9 +9,9 @@ import ( "github.com/cosmos/cosmos-sdk/client" "github.com/cosmos/cosmos-sdk/client/flags" "github.com/cosmos/cosmos-sdk/version" - "github.com/cosmos/ibc-go/v2/modules/core/02-client/client/utils" - "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" - host "github.com/cosmos/ibc-go/v2/modules/core/24-host" + "github.com/cosmos/ibc-go/v3/modules/core/02-client/client/utils" + "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" + host "github.com/cosmos/ibc-go/v3/modules/core/24-host" ) const ( diff --git a/modules/core/02-client/client/cli/tx.go b/modules/core/02-client/client/cli/tx.go index dad830e51fd..6e73df078d4 100644 --- a/modules/core/02-client/client/cli/tx.go +++ b/modules/core/02-client/client/cli/tx.go @@ -17,8 +17,8 @@ import ( govcli "github.com/cosmos/cosmos-sdk/x/gov/client/cli" govtypes "github.com/cosmos/cosmos-sdk/x/gov/types" upgradetypes "github.com/cosmos/cosmos-sdk/x/upgrade/types" - "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" - "github.com/cosmos/ibc-go/v2/modules/core/exported" + "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" + "github.com/cosmos/ibc-go/v3/modules/core/exported" ) // NewCreateClientCmd defines the command to create a new IBC light client. diff --git a/modules/core/02-client/client/proposal_handler.go b/modules/core/02-client/client/proposal_handler.go index d0324155d04..d4079b87d1f 100644 --- a/modules/core/02-client/client/proposal_handler.go +++ b/modules/core/02-client/client/proposal_handler.go @@ -7,7 +7,7 @@ import ( "github.com/cosmos/cosmos-sdk/types/rest" govclient "github.com/cosmos/cosmos-sdk/x/gov/client" govrest "github.com/cosmos/cosmos-sdk/x/gov/client/rest" - "github.com/cosmos/ibc-go/v2/modules/core/02-client/client/cli" + "github.com/cosmos/ibc-go/v3/modules/core/02-client/client/cli" ) var ( diff --git a/modules/core/02-client/client/utils/utils.go b/modules/core/02-client/client/utils/utils.go index d26c278a5c3..879db650785 100644 --- a/modules/core/02-client/client/utils/utils.go +++ b/modules/core/02-client/client/utils/utils.go @@ -9,12 +9,12 @@ import ( "github.com/cosmos/cosmos-sdk/codec" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" - "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" - commitmenttypes "github.com/cosmos/ibc-go/v2/modules/core/23-commitment/types" - host "github.com/cosmos/ibc-go/v2/modules/core/24-host" - ibcclient "github.com/cosmos/ibc-go/v2/modules/core/client" - "github.com/cosmos/ibc-go/v2/modules/core/exported" - ibctmtypes "github.com/cosmos/ibc-go/v2/modules/light-clients/07-tendermint/types" + "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" + commitmenttypes "github.com/cosmos/ibc-go/v3/modules/core/23-commitment/types" + host "github.com/cosmos/ibc-go/v3/modules/core/24-host" + ibcclient "github.com/cosmos/ibc-go/v3/modules/core/client" + "github.com/cosmos/ibc-go/v3/modules/core/exported" + ibctmtypes "github.com/cosmos/ibc-go/v3/modules/light-clients/07-tendermint/types" ) // QueryClientState returns a client state. If prove is true, it performs an ABCI store query diff --git a/modules/core/02-client/genesis.go b/modules/core/02-client/genesis.go index 5a332651408..34af1359243 100644 --- a/modules/core/02-client/genesis.go +++ b/modules/core/02-client/genesis.go @@ -4,9 +4,9 @@ import ( "fmt" sdk "github.com/cosmos/cosmos-sdk/types" - "github.com/cosmos/ibc-go/v2/modules/core/02-client/keeper" - "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" - "github.com/cosmos/ibc-go/v2/modules/core/exported" + "github.com/cosmos/ibc-go/v3/modules/core/02-client/keeper" + "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" + "github.com/cosmos/ibc-go/v3/modules/core/exported" ) // InitGenesis initializes the ibc client submodule's state from a provided genesis diff --git a/modules/core/02-client/keeper/client.go b/modules/core/02-client/keeper/client.go index dbd626e5063..d4f16ed5d76 100644 --- a/modules/core/02-client/keeper/client.go +++ b/modules/core/02-client/keeper/client.go @@ -8,8 +8,8 @@ import ( "github.com/cosmos/cosmos-sdk/telemetry" sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" - "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" - "github.com/cosmos/ibc-go/v2/modules/core/exported" + "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" + "github.com/cosmos/ibc-go/v3/modules/core/exported" ) // CreateClient creates a new client state and populates it with a given consensus diff --git a/modules/core/02-client/keeper/client_test.go b/modules/core/02-client/keeper/client_test.go index 66c95f456a7..453e3f4d3b4 100644 --- a/modules/core/02-client/keeper/client_test.go +++ b/modules/core/02-client/keeper/client_test.go @@ -8,14 +8,14 @@ import ( tmtypes "github.com/tendermint/tendermint/types" upgradetypes "github.com/cosmos/cosmos-sdk/x/upgrade/types" - "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" - clienttypes "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" - commitmenttypes "github.com/cosmos/ibc-go/v2/modules/core/23-commitment/types" - "github.com/cosmos/ibc-go/v2/modules/core/exported" - ibctmtypes "github.com/cosmos/ibc-go/v2/modules/light-clients/07-tendermint/types" - localhosttypes "github.com/cosmos/ibc-go/v2/modules/light-clients/09-localhost/types" - ibctesting "github.com/cosmos/ibc-go/v2/testing" - ibctestingmock "github.com/cosmos/ibc-go/v2/testing/mock" + "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" + clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" + commitmenttypes "github.com/cosmos/ibc-go/v3/modules/core/23-commitment/types" + "github.com/cosmos/ibc-go/v3/modules/core/exported" + ibctmtypes "github.com/cosmos/ibc-go/v3/modules/light-clients/07-tendermint/types" + localhosttypes "github.com/cosmos/ibc-go/v3/modules/light-clients/09-localhost/types" + ibctesting "github.com/cosmos/ibc-go/v3/testing" + ibctestingmock "github.com/cosmos/ibc-go/v3/testing/mock" ) func (suite *KeeperTestSuite) TestCreateClient() { diff --git a/modules/core/02-client/keeper/encoding.go b/modules/core/02-client/keeper/encoding.go index dbdd838f830..9a8156df37e 100644 --- a/modules/core/02-client/keeper/encoding.go +++ b/modules/core/02-client/keeper/encoding.go @@ -1,8 +1,8 @@ package keeper import ( - "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" - "github.com/cosmos/ibc-go/v2/modules/core/exported" + "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" + "github.com/cosmos/ibc-go/v3/modules/core/exported" ) // UnmarshalClientState attempts to decode and return an ClientState object from diff --git a/modules/core/02-client/keeper/grpc_query.go b/modules/core/02-client/keeper/grpc_query.go index 3909b34ddfc..8948482fc11 100644 --- a/modules/core/02-client/keeper/grpc_query.go +++ b/modules/core/02-client/keeper/grpc_query.go @@ -14,9 +14,9 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" "github.com/cosmos/cosmos-sdk/types/query" - "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" - host "github.com/cosmos/ibc-go/v2/modules/core/24-host" - "github.com/cosmos/ibc-go/v2/modules/core/exported" + "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" + host "github.com/cosmos/ibc-go/v3/modules/core/24-host" + "github.com/cosmos/ibc-go/v3/modules/core/exported" ) var _ types.QueryServer = Keeper{} diff --git a/modules/core/02-client/keeper/grpc_query_test.go b/modules/core/02-client/keeper/grpc_query_test.go index 6dc9cbfc5bc..f4fa3c59322 100644 --- a/modules/core/02-client/keeper/grpc_query_test.go +++ b/modules/core/02-client/keeper/grpc_query_test.go @@ -10,11 +10,11 @@ import ( "github.com/cosmos/cosmos-sdk/types/query" "google.golang.org/grpc/metadata" - "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" - commitmenttypes "github.com/cosmos/ibc-go/v2/modules/core/23-commitment/types" - "github.com/cosmos/ibc-go/v2/modules/core/exported" - ibctmtypes "github.com/cosmos/ibc-go/v2/modules/light-clients/07-tendermint/types" - ibctesting "github.com/cosmos/ibc-go/v2/testing" + "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" + commitmenttypes "github.com/cosmos/ibc-go/v3/modules/core/23-commitment/types" + "github.com/cosmos/ibc-go/v3/modules/core/exported" + ibctmtypes "github.com/cosmos/ibc-go/v3/modules/light-clients/07-tendermint/types" + ibctesting "github.com/cosmos/ibc-go/v3/testing" ) func (suite *KeeperTestSuite) TestQueryClientState() { diff --git a/modules/core/02-client/keeper/keeper.go b/modules/core/02-client/keeper/keeper.go index 18766130304..21fba005a8e 100644 --- a/modules/core/02-client/keeper/keeper.go +++ b/modules/core/02-client/keeper/keeper.go @@ -14,11 +14,11 @@ import ( sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" paramtypes "github.com/cosmos/cosmos-sdk/x/params/types" upgradetypes "github.com/cosmos/cosmos-sdk/x/upgrade/types" - "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" - commitmenttypes "github.com/cosmos/ibc-go/v2/modules/core/23-commitment/types" - host "github.com/cosmos/ibc-go/v2/modules/core/24-host" - "github.com/cosmos/ibc-go/v2/modules/core/exported" - ibctmtypes "github.com/cosmos/ibc-go/v2/modules/light-clients/07-tendermint/types" + "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" + commitmenttypes "github.com/cosmos/ibc-go/v3/modules/core/23-commitment/types" + host "github.com/cosmos/ibc-go/v3/modules/core/24-host" + "github.com/cosmos/ibc-go/v3/modules/core/exported" + ibctmtypes "github.com/cosmos/ibc-go/v3/modules/light-clients/07-tendermint/types" ) // Keeper represents a type that grants read and write permissions to any client diff --git a/modules/core/02-client/keeper/keeper_test.go b/modules/core/02-client/keeper/keeper_test.go index b3520dbe996..00630f75a2c 100644 --- a/modules/core/02-client/keeper/keeper_test.go +++ b/modules/core/02-client/keeper/keeper_test.go @@ -15,15 +15,15 @@ import ( cryptocodec "github.com/cosmos/cosmos-sdk/crypto/codec" sdk "github.com/cosmos/cosmos-sdk/types" stakingtypes "github.com/cosmos/cosmos-sdk/x/staking/types" - "github.com/cosmos/ibc-go/v2/modules/core/02-client/keeper" - "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" - commitmenttypes "github.com/cosmos/ibc-go/v2/modules/core/23-commitment/types" - "github.com/cosmos/ibc-go/v2/modules/core/exported" - ibctmtypes "github.com/cosmos/ibc-go/v2/modules/light-clients/07-tendermint/types" - localhosttypes "github.com/cosmos/ibc-go/v2/modules/light-clients/09-localhost/types" - ibctesting "github.com/cosmos/ibc-go/v2/testing" - ibctestingmock "github.com/cosmos/ibc-go/v2/testing/mock" - "github.com/cosmos/ibc-go/v2/testing/simapp" + "github.com/cosmos/ibc-go/v3/modules/core/02-client/keeper" + "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" + commitmenttypes "github.com/cosmos/ibc-go/v3/modules/core/23-commitment/types" + "github.com/cosmos/ibc-go/v3/modules/core/exported" + ibctmtypes "github.com/cosmos/ibc-go/v3/modules/light-clients/07-tendermint/types" + localhosttypes "github.com/cosmos/ibc-go/v3/modules/light-clients/09-localhost/types" + ibctesting "github.com/cosmos/ibc-go/v3/testing" + ibctestingmock "github.com/cosmos/ibc-go/v3/testing/mock" + "github.com/cosmos/ibc-go/v3/testing/simapp" ) const ( diff --git a/modules/core/02-client/keeper/migrations.go b/modules/core/02-client/keeper/migrations.go index d79134fe5f7..53ff8a657e7 100644 --- a/modules/core/02-client/keeper/migrations.go +++ b/modules/core/02-client/keeper/migrations.go @@ -3,7 +3,7 @@ package keeper import ( sdk "github.com/cosmos/cosmos-sdk/types" - v100 "github.com/cosmos/ibc-go/v2/modules/core/02-client/legacy/v100" + v100 "github.com/cosmos/ibc-go/v3/modules/core/02-client/legacy/v100" ) // Migrator is a struct for handling in-place store migrations. diff --git a/modules/core/02-client/keeper/params.go b/modules/core/02-client/keeper/params.go index 2fe9ebbd764..5d842f30fee 100644 --- a/modules/core/02-client/keeper/params.go +++ b/modules/core/02-client/keeper/params.go @@ -2,7 +2,7 @@ package keeper import ( sdk "github.com/cosmos/cosmos-sdk/types" - "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" + "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" ) // GetAllowedClients retrieves the allowed clients from the paramstore diff --git a/modules/core/02-client/keeper/params_test.go b/modules/core/02-client/keeper/params_test.go index 9c36f893baa..c293f7ec195 100644 --- a/modules/core/02-client/keeper/params_test.go +++ b/modules/core/02-client/keeper/params_test.go @@ -1,7 +1,7 @@ package keeper_test import ( - "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" + "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" ) func (suite *KeeperTestSuite) TestParams() { diff --git a/modules/core/02-client/keeper/proposal.go b/modules/core/02-client/keeper/proposal.go index 65c357fcfc2..c9358ddda0d 100644 --- a/modules/core/02-client/keeper/proposal.go +++ b/modules/core/02-client/keeper/proposal.go @@ -6,8 +6,8 @@ import ( "github.com/cosmos/cosmos-sdk/telemetry" sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" - "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" - "github.com/cosmos/ibc-go/v2/modules/core/exported" + "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" + "github.com/cosmos/ibc-go/v3/modules/core/exported" ) // ClientUpdateProposal will retrieve the subject and substitute client. diff --git a/modules/core/02-client/keeper/proposal_test.go b/modules/core/02-client/keeper/proposal_test.go index a9062ea2ead..87c7d7abe9d 100644 --- a/modules/core/02-client/keeper/proposal_test.go +++ b/modules/core/02-client/keeper/proposal_test.go @@ -3,10 +3,10 @@ package keeper_test import ( govtypes "github.com/cosmos/cosmos-sdk/x/gov/types" upgradetypes "github.com/cosmos/cosmos-sdk/x/upgrade/types" - "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" - "github.com/cosmos/ibc-go/v2/modules/core/exported" - ibctmtypes "github.com/cosmos/ibc-go/v2/modules/light-clients/07-tendermint/types" - ibctesting "github.com/cosmos/ibc-go/v2/testing" + "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" + "github.com/cosmos/ibc-go/v3/modules/core/exported" + ibctmtypes "github.com/cosmos/ibc-go/v3/modules/light-clients/07-tendermint/types" + ibctesting "github.com/cosmos/ibc-go/v3/testing" ) func (suite *KeeperTestSuite) TestClientUpdateProposal() { diff --git a/modules/core/02-client/legacy/v100/genesis.go b/modules/core/02-client/legacy/v100/genesis.go index 0f514c0e799..fa052ade3f8 100644 --- a/modules/core/02-client/legacy/v100/genesis.go +++ b/modules/core/02-client/legacy/v100/genesis.go @@ -7,10 +7,10 @@ import ( "github.com/cosmos/cosmos-sdk/codec" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" - "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" - host "github.com/cosmos/ibc-go/v2/modules/core/24-host" - "github.com/cosmos/ibc-go/v2/modules/core/exported" - ibctmtypes "github.com/cosmos/ibc-go/v2/modules/light-clients/07-tendermint/types" + "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" + host "github.com/cosmos/ibc-go/v3/modules/core/24-host" + "github.com/cosmos/ibc-go/v3/modules/core/exported" + ibctmtypes "github.com/cosmos/ibc-go/v3/modules/light-clients/07-tendermint/types" ) // MigrateGenesis accepts exported v1.0.0 IBC client genesis file and migrates it to: diff --git a/modules/core/02-client/legacy/v100/genesis_test.go b/modules/core/02-client/legacy/v100/genesis_test.go index 109a97715ce..4835ce98213 100644 --- a/modules/core/02-client/legacy/v100/genesis_test.go +++ b/modules/core/02-client/legacy/v100/genesis_test.go @@ -9,14 +9,14 @@ import ( "github.com/cosmos/cosmos-sdk/codec" codectypes "github.com/cosmos/cosmos-sdk/codec/types" - ibcclient "github.com/cosmos/ibc-go/v2/modules/core/02-client" - v100 "github.com/cosmos/ibc-go/v2/modules/core/02-client/legacy/v100" - "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" - host "github.com/cosmos/ibc-go/v2/modules/core/24-host" - "github.com/cosmos/ibc-go/v2/modules/core/exported" - ibctmtypes "github.com/cosmos/ibc-go/v2/modules/light-clients/07-tendermint/types" - ibctesting "github.com/cosmos/ibc-go/v2/testing" - "github.com/cosmos/ibc-go/v2/testing/simapp" + ibcclient "github.com/cosmos/ibc-go/v3/modules/core/02-client" + v100 "github.com/cosmos/ibc-go/v3/modules/core/02-client/legacy/v100" + "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" + host "github.com/cosmos/ibc-go/v3/modules/core/24-host" + "github.com/cosmos/ibc-go/v3/modules/core/exported" + ibctmtypes "github.com/cosmos/ibc-go/v3/modules/light-clients/07-tendermint/types" + ibctesting "github.com/cosmos/ibc-go/v3/testing" + "github.com/cosmos/ibc-go/v3/testing/simapp" ) func (suite *LegacyTestSuite) TestMigrateGenesisSolomachine() { diff --git a/modules/core/02-client/legacy/v100/solomachine.go b/modules/core/02-client/legacy/v100/solomachine.go index b6c1142cab4..b9ae2b1005e 100644 --- a/modules/core/02-client/legacy/v100/solomachine.go +++ b/modules/core/02-client/legacy/v100/solomachine.go @@ -7,7 +7,7 @@ import ( cryptotypes "github.com/cosmos/cosmos-sdk/crypto/types" sdk "github.com/cosmos/cosmos-sdk/types" - "github.com/cosmos/ibc-go/v2/modules/core/exported" + "github.com/cosmos/ibc-go/v3/modules/core/exported" ) // NOTE: this is a mock implmentation for exported.ClientState. This implementation diff --git a/modules/core/02-client/legacy/v100/solomachine.pb.go b/modules/core/02-client/legacy/v100/solomachine.pb.go index c954e62f7e6..1c87a4d9d2f 100644 --- a/modules/core/02-client/legacy/v100/solomachine.pb.go +++ b/modules/core/02-client/legacy/v100/solomachine.pb.go @@ -6,8 +6,8 @@ package v100 import ( fmt "fmt" types "github.com/cosmos/cosmos-sdk/codec/types" - types1 "github.com/cosmos/ibc-go/v2/modules/core/03-connection/types" - types2 "github.com/cosmos/ibc-go/v2/modules/core/04-channel/types" + types1 "github.com/cosmos/ibc-go/v3/modules/core/03-connection/types" + types2 "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types" _ "github.com/gogo/protobuf/gogoproto" proto "github.com/gogo/protobuf/proto" io "io" @@ -823,93 +823,93 @@ func init() { } var fileDescriptor_6cc2ee18f7f86d4e = []byte{ - // 1372 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, 0x76, 0x33, 0xd9, 0xee, 0xe6, 0xba, 0x69, 0x9b, 0x75, 0xab, 0xc4, 0xd7, - 0x57, 0xb7, 0x77, 0x2f, 0xa2, 0x71, 0x77, 0x11, 0x15, 0xaa, 0x50, 0xc1, 0x71, 0x0c, 0x4d, 0xbb, - 0xeb, 0x0d, 0x8e, 0x17, 0xda, 0x0a, 0xc9, 0x72, 0x9c, 0xb3, 0x59, 0xab, 0x89, 0x4f, 0x88, 0x9d, - 0xa4, 0x41, 0x42, 0x42, 0x3c, 0x95, 0x88, 0x07, 0xbe, 0x40, 0x24, 0x04, 0xe2, 0xab, 0x00, 0x8f, - 0xe5, 0x8d, 0xa7, 0x80, 0xda, 0x6f, 0x90, 0x4f, 0x80, 0xec, 0x73, 0x12, 0xdb, 0xd9, 0x6e, 0x56, - 0xfc, 0x7b, 0x3b, 0x67, 0xe6, 0x37, 0xbf, 0x99, 0x33, 0x33, 0x9e, 0x73, 0x0c, 0x3b, 0x76, 0xdd, - 0x12, 0x5b, 0x76, 0xf3, 0xd8, 0xb3, 0x5a, 0x36, 0x72, 0x3c, 0x57, 0x74, 0x71, 0x0b, 0xb7, 0x4d, - 0xeb, 0xd8, 0x76, 0x90, 0xd8, 0xdf, 0x89, 0x6e, 0x8b, 0x9d, 0x2e, 0xf6, 0x30, 0x5b, 0xb0, 0xeb, - 0x56, 0x31, 0x6a, 0x52, 0x8c, 0x62, 0xfa, 0x3b, 0xdc, 0xff, 0x7c, 0x4e, 0x0b, 0x77, 0x91, 0x68, - 0x61, 0xc7, 0x41, 0x96, 0x67, 0x63, 0xc7, 0xa7, 0x0a, 0x77, 0x84, 0x89, 0xfb, 0x77, 0x08, 0x3c, - 0x36, 0x1d, 0x07, 0xb5, 0x02, 0x14, 0x59, 0x52, 0x48, 0xb6, 0x89, 0x9b, 0x38, 0x58, 0x8a, 0xfe, - 0x8a, 0x4a, 0xb7, 0x9a, 0x18, 0x37, 0x5b, 0x48, 0x0c, 0x76, 0xf5, 0xde, 0x91, 0x68, 0x3a, 0x43, - 0xa2, 0x12, 0x7e, 0x4e, 0x40, 0x5a, 0x0e, 0xe2, 0xaa, 0x79, 0xa6, 0x87, 0x58, 0x0e, 0xd6, 0x5c, - 0xf4, 0x49, 0x0f, 0x39, 0x16, 0xca, 0x31, 0x3c, 0xb3, 0x9d, 0xd4, 0xe6, 0x7b, 0x56, 0x86, 0xcd, - 0xa3, 0x2e, 0xfe, 0x14, 0x39, 0xc6, 0x1c, 0x92, 0xf0, 0x21, 0x25, 0x6e, 0x3a, 0x29, 0x5c, 0x19, - 0x9a, 0xed, 0xd6, 0x1d, 0x61, 0x01, 0x20, 0x68, 0x1b, 0x44, 0x52, 0x9b, 0x91, 0x78, 0xb0, 0x69, - 0x61, 0xc7, 0x45, 0x8e, 0xdb, 0x73, 0x0d, 0xd7, 0xf7, 0x99, 0x3b, 0xc7, 0x33, 0xdb, 0xe9, 0x5d, - 0xb1, 0x78, 0x46, 0xa2, 0x8a, 0xf2, 0xcc, 0x2e, 0x08, 0x35, 0xea, 0x75, 0x81, 0x51, 0xd0, 0x36, - 0xac, 0x18, 0x96, 0x45, 0x70, 0xcd, 0x6c, 0xb5, 0xf0, 0xc0, 0xe8, 0x75, 0x1a, 0xa6, 0x87, 0x0c, - 0xf3, 0xc8, 0x43, 0x5d, 0xa3, 0xd3, 0xc5, 0x1d, 0xec, 0x9a, 0xad, 0x5c, 0x92, 0x67, 0xb6, 0xd7, - 0x4a, 0x37, 0xa6, 0x93, 0x82, 0x40, 0x08, 0x97, 0x80, 0x05, 0x2d, 0x17, 0x68, 0x0f, 0x03, 0xa5, - 0xe4, 0xeb, 0xaa, 0x54, 0x75, 0x27, 0xf9, 0xec, 0x9b, 0xc2, 0x8a, 0xf0, 0x2d, 0x03, 0x1b, 0xf1, - 0x58, 0xd9, 0xfb, 0x00, 0x9d, 0x5e, 0xbd, 0x65, 0x5b, 0xc6, 0x13, 0x34, 0x0c, 0x12, 0x9b, 0xde, - 0xcd, 0x16, 0x49, 0x59, 0x8a, 0xb3, 0xb2, 0x14, 0x25, 0x67, 0x58, 0xba, 0x3c, 0x9d, 0x14, 0xfe, - 0x45, 0x82, 0x08, 0x2d, 0x04, 0x2d, 0x45, 0x36, 0x0f, 0xd0, 0x90, 0xe5, 0x21, 0xdd, 0xb0, 0xfb, - 0xa8, 0xeb, 0xda, 0x47, 0x36, 0xea, 0x06, 0x25, 0x48, 0x69, 0x51, 0x11, 0x7b, 0x1d, 0x52, 0x9e, - 0xdd, 0x46, 0xae, 0x67, 0xb6, 0x3b, 0x41, 0x76, 0x93, 0x5a, 0x28, 0xa0, 0x41, 0x7e, 0x91, 0x80, - 0xd5, 0x7b, 0xc8, 0x6c, 0xa0, 0xee, 0xd2, 0x9a, 0xc7, 0xa8, 0x12, 0x0b, 0x54, 0xbe, 0xd6, 0xb5, - 0x9b, 0x8e, 0xe9, 0xf5, 0xba, 0xa4, 0x8c, 0xeb, 0x5a, 0x28, 0x60, 0x0f, 0x61, 0xc3, 0x41, 0x03, - 0x23, 0x72, 0xf0, 0xe4, 0x92, 0x83, 0x6f, 0x4d, 0x27, 0x85, 0xcb, 0xe4, 0xe0, 0x71, 0x2b, 0x41, - 0x5b, 0x77, 0xd0, 0xa0, 0x3a, 0x3f, 0xbf, 0x0c, 0x9b, 0x3e, 0x20, 0x9a, 0x83, 0xf3, 0x7e, 0x0e, - 0xa2, 0x0d, 0xb1, 0x00, 0x10, 0x34, 0x3f, 0x92, 0x72, 0x28, 0xa0, 0x49, 0xf8, 0x31, 0x01, 0xeb, - 0xfb, 0xb6, 0x5b, 0x47, 0xc7, 0x66, 0xdf, 0xc6, 0xbd, 0x2e, 0xbb, 0x03, 0x29, 0xd2, 0x7c, 0x86, - 0xdd, 0x08, 0x72, 0x91, 0x2a, 0x65, 0xa7, 0x93, 0x42, 0x86, 0xb6, 0xd9, 0x4c, 0x25, 0x68, 0x6b, - 0x64, 0x5d, 0x69, 0xc4, 0xb2, 0x97, 0x58, 0xc8, 0x5e, 0x07, 0x2e, 0xce, 0xd3, 0x61, 0x60, 0x67, - 0xd6, 0xea, 0x3b, 0x67, 0xb6, 0x7a, 0x6d, 0x66, 0x25, 0x39, 0x8d, 0xb2, 0xe9, 0x99, 0xa5, 0xdc, - 0x74, 0x52, 0xc8, 0x92, 0x28, 0x62, 0x8c, 0x82, 0xb6, 0x3e, 0xdf, 0x1f, 0x38, 0x0b, 0x1e, 0xbd, - 0x01, 0xa6, 0x29, 0xff, 0xbb, 0x3c, 0x7a, 0x03, 0x1c, 0xf5, 0xa8, 0x0f, 0x30, 0xcd, 0xe4, 0x0f, - 0x0c, 0x64, 0x16, 0x29, 0xe2, 0xed, 0xc1, 0x2c, 0xb6, 0xc7, 0xc7, 0x90, 0x6a, 0x98, 0x9e, 0x69, - 0x78, 0xc3, 0x0e, 0xc9, 0xdc, 0xc6, 0xee, 0xff, 0xcf, 0x0c, 0xd3, 0xe7, 0xd5, 0x87, 0x1d, 0x14, - 0x2d, 0xcb, 0x9c, 0x45, 0xd0, 0xd6, 0x1a, 0x54, 0xcf, 0xb2, 0x90, 0xf4, 0xd7, 0xb4, 0x2b, 0x83, - 0x75, 0xbc, 0x99, 0x93, 0xaf, 0xfe, 0x2e, 0x3e, 0x67, 0x20, 0xa7, 0xcf, 0x64, 0xa8, 0x31, 0x3f, - 0x53, 0x70, 0xa0, 0x77, 0x61, 0x23, 0xcc, 0x45, 0x40, 0x1f, 0x9c, 0x2a, 0xda, 0xbb, 0x71, 0xbd, - 0xa0, 0x85, 0xe5, 0x28, 0x9f, 0x08, 0x21, 0xf1, 0xea, 0x10, 0x7e, 0x65, 0x20, 0xe5, 0xfb, 0x2d, - 0x0d, 0x3d, 0xe4, 0xfe, 0x85, 0xaf, 0x73, 0x61, 0x50, 0x9c, 0x3b, 0x39, 0x28, 0x62, 0x25, 0x48, - 0xfe, 0x53, 0x25, 0x38, 0x1f, 0x96, 0x80, 0x9e, 0xf0, 0x7b, 0x06, 0x80, 0x0c, 0x9f, 0x20, 0x29, - 0x7b, 0x90, 0xa6, 0x9f, 0xfc, 0x99, 0xe3, 0xf1, 0xca, 0x74, 0x52, 0x60, 0x63, 0x53, 0x82, 0xce, - 0x47, 0x32, 0x22, 0x4e, 0x99, 0x0f, 0x89, 0x3f, 0x39, 0x1f, 0x3e, 0x83, 0xcd, 0xc8, 0xe5, 0x18, - 0xc4, 0xca, 0x42, 0xb2, 0x63, 0x7a, 0xc7, 0xb4, 0x9d, 0x83, 0x35, 0x5b, 0x85, 0x75, 0x3a, 0x1a, - 0xc8, 0x85, 0x96, 0x58, 0x72, 0x80, 0xab, 0xd3, 0x49, 0xe1, 0x52, 0x6c, 0x9c, 0xd0, 0x2b, 0x2b, - 0x6d, 0x85, 0x9e, 0xa8, 0xfb, 0x2f, 0x19, 0x60, 0xe3, 0x17, 0xc9, 0xa9, 0x21, 0x3c, 0x3a, 0x79, - 0xad, 0x2e, 0x8b, 0xe2, 0x0f, 0xdc, 0x9d, 0x34, 0x96, 0x3e, 0x5c, 0x92, 0xe7, 0x0f, 0x92, 0xe5, - 0xb1, 0x28, 0x00, 0xe1, 0xdb, 0x85, 0x86, 0xf1, 0xdf, 0xa0, 0xad, 0xfc, 0xc7, 0x4b, 0x31, 0xf2, - 0xae, 0x21, 0x97, 0x3a, 0xdd, 0x29, 0x4e, 0x43, 0x8b, 0x18, 0x52, 0xbf, 0x0d, 0xc8, 0xc8, 0xe4, - 0x89, 0xb3, 0xdc, 0xe9, 0x6d, 0xb8, 0x40, 0x9f, 0x42, 0xd4, 0xe3, 0xf5, 0x88, 0x47, 0xfa, 0x46, - 0xf2, 0xdd, 0x91, 0xa5, 0x36, 0x03, 0x53, 0x2f, 0xf7, 0x21, 0x5b, 0x35, 0xad, 0x27, 0xc8, 0x93, - 0x71, 0xbb, 0x6d, 0x7b, 0x6d, 0xe4, 0x78, 0xa7, 0x7a, 0xca, 0xfb, 0xc7, 0x9b, 0xa1, 0x02, 0x67, - 0xeb, 0x5a, 0x44, 0x22, 0x3c, 0x82, 0x2d, 0xc2, 0x25, 0x59, 0x4f, 0x1c, 0x3c, 0x68, 0xa1, 0x46, - 0x13, 0x2d, 0x25, 0xdc, 0x86, 0x4d, 0x33, 0x0e, 0xa5, 0xac, 0x8b, 0x62, 0xa1, 0x08, 0x39, 0x42, - 0xad, 0x21, 0x0b, 0xd9, 0x1d, 0x4f, 0xaa, 0xbb, 0xfe, 0x1c, 0x38, 0x8d, 0x59, 0x38, 0x86, 0xac, - 0x8a, 0x9e, 0x7a, 0xb3, 0xc7, 0x97, 0x86, 0xac, 0xfe, 0xa9, 0x51, 0xbc, 0x0d, 0x17, 0x1d, 0xf4, - 0xd4, 0xf3, 0x9f, 0x6e, 0x46, 0x17, 0x59, 0x7d, 0xfa, 0xb6, 0x8b, 0x5c, 0x03, 0x31, 0xb5, 0xa0, - 0xa5, 0x1d, 0x42, 0xed, 0xb3, 0xbe, 0xf6, 0x55, 0x12, 0xd6, 0x66, 0x83, 0x81, 0x7d, 0x0b, 0xfe, - 0x53, 0x96, 0x74, 0xc9, 0xd0, 0x1f, 0x55, 0x15, 0xe3, 0x50, 0xad, 0xa8, 0x15, 0xbd, 0x22, 0xed, - 0x55, 0x1e, 0x2b, 0x65, 0xe3, 0x50, 0xad, 0x55, 0x15, 0xb9, 0xf2, 0x5e, 0x45, 0x29, 0x67, 0x56, - 0xb8, 0xcd, 0xd1, 0x98, 0x4f, 0x47, 0x44, 0xec, 0x0d, 0xb8, 0x12, 0x5a, 0xca, 0x7b, 0x15, 0x45, - 0xd5, 0x8d, 0x9a, 0x2e, 0xe9, 0x4a, 0x86, 0xe1, 0x60, 0x34, 0xe6, 0x57, 0x89, 0x8c, 0x7d, 0x1d, - 0xb6, 0x22, 0xb8, 0x03, 0xb5, 0xa6, 0xa8, 0xb5, 0xc3, 0x1a, 0x85, 0x26, 0xb8, 0x8b, 0xa3, 0x31, - 0x9f, 0x9a, 0x8b, 0xd9, 0x22, 0x70, 0x31, 0xb4, 0xaa, 0xc8, 0x7a, 0xe5, 0x40, 0xa5, 0xf0, 0x73, - 0xdc, 0xc6, 0x68, 0xcc, 0x43, 0x28, 0x67, 0xb7, 0xe1, 0x6a, 0x04, 0x7f, 0x4f, 0x52, 0x55, 0x65, - 0x8f, 0x82, 0x93, 0x5c, 0x7a, 0x34, 0xe6, 0x2f, 0x50, 0x21, 0xfb, 0x26, 0x5c, 0x0b, 0x91, 0x55, - 0x49, 0x7e, 0xa0, 0xe8, 0x86, 0x7c, 0xb0, 0xbf, 0x5f, 0xd1, 0xf7, 0x15, 0x55, 0xcf, 0x9c, 0xe7, - 0xb2, 0xa3, 0x31, 0x9f, 0x21, 0x8a, 0x50, 0xce, 0xbe, 0x03, 0xfc, 0x09, 0x33, 0x49, 0x7e, 0xa0, - 0x1e, 0x7c, 0xb4, 0xa7, 0x94, 0xdf, 0x57, 0x02, 0xdb, 0x55, 0x6e, 0x6b, 0x34, 0xe6, 0x2f, 0x13, - 0xed, 0x82, 0x92, 0xbd, 0xfb, 0x0a, 0x02, 0x4d, 0x91, 0x95, 0x4a, 0x55, 0x37, 0xa4, 0x52, 0x4d, - 0x51, 0x65, 0x25, 0x73, 0x81, 0xcb, 0x8d, 0xc6, 0x7c, 0x96, 0x68, 0xa9, 0x92, 0xea, 0xd8, 0xdb, - 0x70, 0x3d, 0xb4, 0x57, 0x95, 0x87, 0xba, 0x51, 0x53, 0x3e, 0x38, 0xf4, 0x55, 0x3e, 0xcd, 0x87, - 0x99, 0x35, 0x12, 0xb8, 0xaf, 0x99, 0x29, 0x7c, 0x39, 0xcb, 0x43, 0x26, 0xb4, 0xbb, 0xa7, 0x48, - 0x65, 0x45, 0xcb, 0xa4, 0x48, 0x65, 0xc8, 0x8e, 0x4b, 0x3e, 0xfb, 0x2e, 0xbf, 0x52, 0x7a, 0xf8, - 0xd3, 0x8b, 0x3c, 0xf3, 0xfc, 0x45, 0x9e, 0xf9, 0xed, 0x45, 0x9e, 0xf9, 0xfa, 0x65, 0x7e, 0xe5, - 0xf9, 0xcb, 0xfc, 0xca, 0x2f, 0x2f, 0xf3, 0x2b, 0x8f, 0xef, 0x36, 0x6d, 0xef, 0xb8, 0x57, 0x2f, - 0x5a, 0xb8, 0x2d, 0x5a, 0xd8, 0x6d, 0x63, 0x57, 0xb4, 0xeb, 0xd6, 0xcd, 0x26, 0x16, 0xfb, 0xbb, - 0x62, 0x1b, 0x37, 0x7a, 0x2d, 0xe4, 0x92, 0x9f, 0x9c, 0x5b, 0xbb, 0x37, 0xc9, 0x48, 0x14, 0x5b, - 0xa8, 0x69, 0x5a, 0x43, 0xb1, 0xbf, 0x73, 0xeb, 0x56, 0x7d, 0x35, 0x98, 0x63, 0x6f, 0xfc, 0x1e, - 0x00, 0x00, 0xff, 0xff, 0x2a, 0x11, 0x77, 0x3a, 0x8a, 0x0d, 0x00, 0x00, + // 1369 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x57, 0x5f, 0x6f, 0xdb, 0x54, + 0x14, 0xaf, 0xb3, 0xac, 0x6b, 0x4e, 0xba, 0x36, 0x78, 0xd9, 0x96, 0x7a, 0x53, 0x62, 0x8c, 0x18, + 0x05, 0xb1, 0x78, 0xed, 0xc4, 0x84, 0x26, 0x34, 0x70, 0x1c, 0xc3, 0xb2, 0xb5, 0x6e, 0x70, 0x5c, + 0xd8, 0x26, 0x24, 0xcb, 0x71, 0x6e, 0x53, 0x6b, 0x89, 0x6f, 0x88, 0x9d, 0x74, 0x41, 0x42, 0x42, + 0x3c, 0x8d, 0x88, 0x07, 0xbe, 0x40, 0x24, 0x04, 0xe2, 0xab, 0x00, 0x8f, 0xe3, 0x8d, 0xa7, 0x80, + 0xb6, 0x6f, 0x90, 0x4f, 0x80, 0xec, 0x7b, 0x13, 0xdb, 0xe9, 0x9a, 0x8a, 0x7f, 0x6f, 0xf7, 0x9e, + 0xf3, 0x3b, 0xbf, 0x73, 0xee, 0x39, 0xc7, 0xe7, 0x5e, 0xc3, 0x96, 0x5d, 0xb7, 0xc4, 0x96, 0xdd, + 0x3c, 0xf4, 0xac, 0x96, 0x8d, 0x1c, 0xcf, 0x15, 0x5d, 0xdc, 0xc2, 0x6d, 0xd3, 0x3a, 0xb4, 0x1d, + 0x24, 0xf6, 0xb7, 0xa2, 0xdb, 0x62, 0xa7, 0x8b, 0x3d, 0xcc, 0x16, 0xec, 0xba, 0x55, 0x8c, 0x9a, + 0x14, 0xa3, 0x98, 0xfe, 0x16, 0xf7, 0x86, 0xcf, 0x69, 0xe1, 0x2e, 0x12, 0x2d, 0xec, 0x38, 0xc8, + 0xf2, 0x6c, 0xec, 0xf8, 0x54, 0xe1, 0x8e, 0x30, 0x71, 0xaf, 0x86, 0xc0, 0x43, 0xd3, 0x71, 0x50, + 0x2b, 0x40, 0x91, 0x25, 0x85, 0x64, 0x9b, 0xb8, 0x89, 0x83, 0xa5, 0xe8, 0xaf, 0xa8, 0x74, 0xa3, + 0x89, 0x71, 0xb3, 0x85, 0xc4, 0x60, 0x57, 0xef, 0x1d, 0x88, 0xa6, 0x33, 0x20, 0x2a, 0xe1, 0xb7, + 0x04, 0xa4, 0xe5, 0x20, 0xae, 0x9a, 0x67, 0x7a, 0x88, 0xe5, 0x60, 0xc5, 0x45, 0x9f, 0xf7, 0x90, + 0x63, 0xa1, 0x1c, 0xc3, 0x33, 0x9b, 0x49, 0x6d, 0xb6, 0x67, 0x65, 0x58, 0x3f, 0xe8, 0xe2, 0x2f, + 0x90, 0x63, 0xcc, 0x20, 0x09, 0x1f, 0x52, 0xe2, 0x26, 0xe3, 0xc2, 0xa5, 0x81, 0xd9, 0x6e, 0xdd, + 0x16, 0xe6, 0x00, 0x82, 0xb6, 0x46, 0x24, 0xb5, 0x29, 0x89, 0x07, 0xeb, 0x16, 0x76, 0x5c, 0xe4, + 0xb8, 0x3d, 0xd7, 0x70, 0x7d, 0x9f, 0xb9, 0x33, 0x3c, 0xb3, 0x99, 0xde, 0x16, 0x8b, 0xa7, 0x24, + 0xaa, 0x28, 0x4f, 0xed, 0x82, 0x50, 0xa3, 0x5e, 0xe7, 0x18, 0x05, 0x6d, 0xcd, 0x8a, 0x61, 0x59, + 0x04, 0x57, 0xcc, 0x56, 0x0b, 0x1f, 0x19, 0xbd, 0x4e, 0xc3, 0xf4, 0x90, 0x61, 0x1e, 0x78, 0xa8, + 0x6b, 0x74, 0xba, 0xb8, 0x83, 0x5d, 0xb3, 0x95, 0x4b, 0xf2, 0xcc, 0xe6, 0x4a, 0xe9, 0xda, 0x64, + 0x5c, 0x10, 0x08, 0xe1, 0x02, 0xb0, 0xa0, 0xe5, 0x02, 0xed, 0x7e, 0xa0, 0x94, 0x7c, 0x5d, 0x95, + 0xaa, 0x6e, 0x27, 0x9f, 0x7e, 0x5f, 0x58, 0x12, 0x7e, 0x60, 0x60, 0x2d, 0x1e, 0x2b, 0x7b, 0x0f, + 0xa0, 0xd3, 0xab, 0xb7, 0x6c, 0xcb, 0x78, 0x8c, 0x06, 0x41, 0x62, 0xd3, 0xdb, 0xd9, 0x22, 0x29, + 0x4b, 0x71, 0x5a, 0x96, 0xa2, 0xe4, 0x0c, 0x4a, 0x17, 0x27, 0xe3, 0xc2, 0x2b, 0x24, 0x88, 0xd0, + 0x42, 0xd0, 0x52, 0x64, 0x73, 0x1f, 0x0d, 0x58, 0x1e, 0xd2, 0x0d, 0xbb, 0x8f, 0xba, 0xae, 0x7d, + 0x60, 0xa3, 0x6e, 0x50, 0x82, 0x94, 0x16, 0x15, 0xb1, 0x57, 0x21, 0xe5, 0xd9, 0x6d, 0xe4, 0x7a, + 0x66, 0xbb, 0x13, 0x64, 0x37, 0xa9, 0x85, 0x02, 0x1a, 0xe4, 0xd7, 0x09, 0x58, 0xbe, 0x8b, 0xcc, + 0x06, 0xea, 0x2e, 0xac, 0x79, 0x8c, 0x2a, 0x31, 0x47, 0xe5, 0x6b, 0x5d, 0xbb, 0xe9, 0x98, 0x5e, + 0xaf, 0x4b, 0xca, 0xb8, 0xaa, 0x85, 0x02, 0x76, 0x1f, 0xd6, 0x1c, 0x74, 0x64, 0x44, 0x0e, 0x9e, + 0x5c, 0x70, 0xf0, 0x8d, 0xc9, 0xb8, 0x70, 0x91, 0x1c, 0x3c, 0x6e, 0x25, 0x68, 0xab, 0x0e, 0x3a, + 0xaa, 0xce, 0xce, 0x2f, 0xc3, 0xba, 0x0f, 0x88, 0xe6, 0xe0, 0xac, 0x9f, 0x83, 0x68, 0x43, 0xcc, + 0x01, 0x04, 0xcd, 0x8f, 0xa4, 0x1c, 0x0a, 0x68, 0x12, 0x7e, 0x49, 0xc0, 0xea, 0xae, 0xed, 0xd6, + 0xd1, 0xa1, 0xd9, 0xb7, 0x71, 0xaf, 0xcb, 0x6e, 0x41, 0x8a, 0x34, 0x9f, 0x61, 0x37, 0x82, 0x5c, + 0xa4, 0x4a, 0xd9, 0xc9, 0xb8, 0x90, 0xa1, 0x6d, 0x36, 0x55, 0x09, 0xda, 0x0a, 0x59, 0x57, 0x1a, + 0xb1, 0xec, 0x25, 0xe6, 0xb2, 0xd7, 0x81, 0xf3, 0xb3, 0x74, 0x18, 0xd8, 0x99, 0xb6, 0xfa, 0xd6, + 0xa9, 0xad, 0x5e, 0x9b, 0x5a, 0x49, 0x4e, 0xa3, 0x6c, 0x7a, 0x66, 0x29, 0x37, 0x19, 0x17, 0xb2, + 0x24, 0x8a, 0x18, 0xa3, 0xa0, 0xad, 0xce, 0xf6, 0x7b, 0xce, 0x9c, 0x47, 0xef, 0x08, 0xd3, 0x94, + 0xff, 0x57, 0x1e, 0xbd, 0x23, 0x1c, 0xf5, 0xa8, 0x1f, 0x61, 0x9a, 0xc9, 0x9f, 0x19, 0xc8, 0xcc, + 0x53, 0xc4, 0xdb, 0x83, 0x99, 0x6f, 0x8f, 0xcf, 0x20, 0xd5, 0x30, 0x3d, 0xd3, 0xf0, 0x06, 0x1d, + 0x92, 0xb9, 0xb5, 0xed, 0x37, 0x4f, 0x0d, 0xd3, 0xe7, 0xd5, 0x07, 0x1d, 0x14, 0x2d, 0xcb, 0x8c, + 0x45, 0xd0, 0x56, 0x1a, 0x54, 0xcf, 0xb2, 0x90, 0xf4, 0xd7, 0xb4, 0x2b, 0x83, 0x75, 0xbc, 0x99, + 0x93, 0x2f, 0xff, 0x2e, 0xbe, 0x62, 0x20, 0xa7, 0x4f, 0x65, 0xa8, 0x31, 0x3b, 0x53, 0x70, 0xa0, + 0x0f, 0x60, 0x2d, 0xcc, 0x45, 0x40, 0x1f, 0x9c, 0x2a, 0xda, 0xbb, 0x71, 0xbd, 0xa0, 0x85, 0xe5, + 0x28, 0x1f, 0x0b, 0x21, 0xf1, 0xf2, 0x10, 0xfe, 0x60, 0x20, 0xe5, 0xfb, 0x2d, 0x0d, 0x3c, 0xe4, + 0xfe, 0x8b, 0xaf, 0x73, 0x6e, 0x50, 0x9c, 0x39, 0x3e, 0x28, 0x62, 0x25, 0x48, 0xfe, 0x5f, 0x25, + 0x38, 0x1b, 0x96, 0x80, 0x9e, 0xf0, 0x27, 0x06, 0x80, 0x0c, 0x9f, 0x20, 0x29, 0x3b, 0x90, 0xa6, + 0x9f, 0xfc, 0xa9, 0xe3, 0xf1, 0xd2, 0x64, 0x5c, 0x60, 0x63, 0x53, 0x82, 0xce, 0x47, 0x32, 0x22, + 0x4e, 0x98, 0x0f, 0x89, 0x7f, 0x38, 0x1f, 0xbe, 0x84, 0xf5, 0xc8, 0xe5, 0x18, 0xc4, 0xca, 0x42, + 0xb2, 0x63, 0x7a, 0x87, 0xb4, 0x9d, 0x83, 0x35, 0x5b, 0x85, 0x55, 0x3a, 0x1a, 0xc8, 0x85, 0x96, + 0x58, 0x70, 0x80, 0xcb, 0x93, 0x71, 0xe1, 0x42, 0x6c, 0x9c, 0xd0, 0x2b, 0x2b, 0x6d, 0x85, 0x9e, + 0xa8, 0xfb, 0x6f, 0x18, 0x60, 0xe3, 0x17, 0xc9, 0x89, 0x21, 0x3c, 0x3c, 0x7e, 0xad, 0x2e, 0x8a, + 0xe2, 0x6f, 0xdc, 0x9d, 0x34, 0x96, 0x3e, 0x5c, 0x90, 0x67, 0x0f, 0x92, 0xc5, 0xb1, 0x28, 0x00, + 0xe1, 0xdb, 0x85, 0x86, 0xf1, 0x7a, 0xd0, 0x56, 0xfe, 0xe3, 0xa5, 0x18, 0x79, 0xd7, 0x90, 0x4b, + 0x9d, 0xee, 0x14, 0xa7, 0xa1, 0x45, 0x0c, 0xa9, 0xdf, 0x06, 0x64, 0x64, 0xf2, 0xc4, 0x59, 0xec, + 0xf4, 0x16, 0x9c, 0xa3, 0x4f, 0x21, 0xea, 0xf1, 0x6a, 0xc4, 0x23, 0x7d, 0x23, 0xf9, 0xee, 0xc8, + 0x52, 0x9b, 0x82, 0xa9, 0x97, 0x7b, 0x90, 0xad, 0x9a, 0xd6, 0x63, 0xe4, 0xc9, 0xb8, 0xdd, 0xb6, + 0xbd, 0x36, 0x72, 0xbc, 0x13, 0x3d, 0xe5, 0xfd, 0xe3, 0x4d, 0x51, 0x81, 0xb3, 0x55, 0x2d, 0x22, + 0x11, 0x1e, 0xc2, 0x06, 0xe1, 0x92, 0xac, 0xc7, 0x0e, 0x3e, 0x6a, 0xa1, 0x46, 0x13, 0x2d, 0x24, + 0xdc, 0x84, 0x75, 0x33, 0x0e, 0xa5, 0xac, 0xf3, 0x62, 0xa1, 0x08, 0x39, 0x42, 0xad, 0x21, 0x0b, + 0xd9, 0x1d, 0x4f, 0xaa, 0xbb, 0xfe, 0x1c, 0x38, 0x89, 0x59, 0x38, 0x84, 0xac, 0x8a, 0x9e, 0x78, + 0xd3, 0xc7, 0x97, 0x86, 0xac, 0xfe, 0x89, 0x51, 0xbc, 0x07, 0xe7, 0x1d, 0xf4, 0xc4, 0xf3, 0x9f, + 0x6e, 0x46, 0x17, 0x59, 0x7d, 0xfa, 0xb6, 0x8b, 0x5c, 0x03, 0x31, 0xb5, 0xa0, 0xa5, 0x1d, 0x42, + 0xed, 0xb3, 0xbe, 0xf5, 0x6d, 0x12, 0x56, 0xa6, 0x83, 0x81, 0x7d, 0x17, 0x5e, 0x2b, 0x4b, 0xba, + 0x64, 0xe8, 0x0f, 0xab, 0x8a, 0xb1, 0xaf, 0x56, 0xd4, 0x8a, 0x5e, 0x91, 0x76, 0x2a, 0x8f, 0x94, + 0xb2, 0xb1, 0xaf, 0xd6, 0xaa, 0x8a, 0x5c, 0xf9, 0xb0, 0xa2, 0x94, 0x33, 0x4b, 0xdc, 0xfa, 0x70, + 0xc4, 0xa7, 0x23, 0x22, 0xf6, 0x1a, 0x5c, 0x0a, 0x2d, 0xe5, 0x9d, 0x8a, 0xa2, 0xea, 0x46, 0x4d, + 0x97, 0x74, 0x25, 0xc3, 0x70, 0x30, 0x1c, 0xf1, 0xcb, 0x44, 0xc6, 0xbe, 0x0d, 0x1b, 0x11, 0xdc, + 0x9e, 0x5a, 0x53, 0xd4, 0xda, 0x7e, 0x8d, 0x42, 0x13, 0xdc, 0xf9, 0xe1, 0x88, 0x4f, 0xcd, 0xc4, + 0x6c, 0x11, 0xb8, 0x18, 0x5a, 0x55, 0x64, 0xbd, 0xb2, 0xa7, 0x52, 0xf8, 0x19, 0x6e, 0x6d, 0x38, + 0xe2, 0x21, 0x94, 0xb3, 0x9b, 0x70, 0x39, 0x82, 0xbf, 0x2b, 0xa9, 0xaa, 0xb2, 0x43, 0xc1, 0x49, + 0x2e, 0x3d, 0x1c, 0xf1, 0xe7, 0xa8, 0x90, 0x7d, 0x07, 0xae, 0x84, 0xc8, 0xaa, 0x24, 0xdf, 0x57, + 0x74, 0x43, 0xde, 0xdb, 0xdd, 0xad, 0xe8, 0xbb, 0x8a, 0xaa, 0x67, 0xce, 0x72, 0xd9, 0xe1, 0x88, + 0xcf, 0x10, 0x45, 0x28, 0x67, 0xdf, 0x07, 0xfe, 0x98, 0x99, 0x24, 0xdf, 0x57, 0xf7, 0x3e, 0xdd, + 0x51, 0xca, 0x1f, 0x29, 0x81, 0xed, 0x32, 0xb7, 0x31, 0x1c, 0xf1, 0x17, 0x89, 0x76, 0x4e, 0xc9, + 0xde, 0x79, 0x09, 0x81, 0xa6, 0xc8, 0x4a, 0xa5, 0xaa, 0x1b, 0x52, 0xa9, 0xa6, 0xa8, 0xb2, 0x92, + 0x39, 0xc7, 0xe5, 0x86, 0x23, 0x3e, 0x4b, 0xb4, 0x54, 0x49, 0x75, 0xec, 0x2d, 0xb8, 0x1a, 0xda, + 0xab, 0xca, 0x03, 0xdd, 0xa8, 0x29, 0x1f, 0xef, 0xfb, 0x2a, 0x9f, 0xe6, 0x93, 0xcc, 0x0a, 0x09, + 0xdc, 0xd7, 0x4c, 0x15, 0xbe, 0x9c, 0xe5, 0x21, 0x13, 0xda, 0xdd, 0x55, 0xa4, 0xb2, 0xa2, 0x65, + 0x52, 0xa4, 0x32, 0x64, 0xc7, 0x25, 0x9f, 0xfe, 0x98, 0x5f, 0x2a, 0x3d, 0xf8, 0xf5, 0x79, 0x9e, + 0x79, 0xf6, 0x3c, 0xcf, 0xfc, 0xf9, 0x3c, 0xcf, 0x7c, 0xf7, 0x22, 0xbf, 0xf4, 0xec, 0x45, 0x7e, + 0xe9, 0xf7, 0x17, 0xf9, 0xa5, 0x47, 0x77, 0x9a, 0xb6, 0x77, 0xd8, 0xab, 0x17, 0x2d, 0xdc, 0x16, + 0x2d, 0xec, 0xb6, 0xb1, 0x2b, 0xda, 0x75, 0xeb, 0x7a, 0x13, 0x8b, 0xfd, 0x9b, 0x62, 0x1b, 0x37, + 0x7a, 0x2d, 0xe4, 0x92, 0x9f, 0x9c, 0x1b, 0xdb, 0xd7, 0xc9, 0x48, 0x14, 0x5b, 0xa8, 0x69, 0x5a, + 0x03, 0xb1, 0xbf, 0x75, 0xe3, 0x46, 0x7d, 0x39, 0x98, 0x63, 0x37, 0xff, 0x0a, 0x00, 0x00, 0xff, + 0xff, 0x48, 0x29, 0x5f, 0x10, 0x8a, 0x0d, 0x00, 0x00, } func (m *ClientState) Marshal() (dAtA []byte, err error) { diff --git a/modules/core/02-client/legacy/v100/store.go b/modules/core/02-client/legacy/v100/store.go index c814b045f10..f92aa224676 100644 --- a/modules/core/02-client/legacy/v100/store.go +++ b/modules/core/02-client/legacy/v100/store.go @@ -10,12 +10,12 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" - "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" - clienttypes "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" - host "github.com/cosmos/ibc-go/v2/modules/core/24-host" - "github.com/cosmos/ibc-go/v2/modules/core/exported" - smtypes "github.com/cosmos/ibc-go/v2/modules/light-clients/06-solomachine/types" - ibctmtypes "github.com/cosmos/ibc-go/v2/modules/light-clients/07-tendermint/types" + "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" + clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" + host "github.com/cosmos/ibc-go/v3/modules/core/24-host" + "github.com/cosmos/ibc-go/v3/modules/core/exported" + smtypes "github.com/cosmos/ibc-go/v3/modules/light-clients/06-solomachine/types" + ibctmtypes "github.com/cosmos/ibc-go/v3/modules/light-clients/07-tendermint/types" ) // MigrateStore performs in-place store migrations from SDK v0.40 of the IBC module to v1.0.0 of ibc-go. diff --git a/modules/core/02-client/legacy/v100/store_test.go b/modules/core/02-client/legacy/v100/store_test.go index bbf5606288f..4b16dd1f2ac 100644 --- a/modules/core/02-client/legacy/v100/store_test.go +++ b/modules/core/02-client/legacy/v100/store_test.go @@ -6,12 +6,12 @@ import ( "github.com/stretchr/testify/suite" - "github.com/cosmos/ibc-go/v2/modules/core/02-client/legacy/v100" - "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" - host "github.com/cosmos/ibc-go/v2/modules/core/24-host" - "github.com/cosmos/ibc-go/v2/modules/core/exported" - ibctmtypes "github.com/cosmos/ibc-go/v2/modules/light-clients/07-tendermint/types" - ibctesting "github.com/cosmos/ibc-go/v2/testing" + "github.com/cosmos/ibc-go/v3/modules/core/02-client/legacy/v100" + "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" + host "github.com/cosmos/ibc-go/v3/modules/core/24-host" + "github.com/cosmos/ibc-go/v3/modules/core/exported" + ibctmtypes "github.com/cosmos/ibc-go/v3/modules/light-clients/07-tendermint/types" + ibctesting "github.com/cosmos/ibc-go/v3/testing" ) type LegacyTestSuite struct { diff --git a/modules/core/02-client/module.go b/modules/core/02-client/module.go index f44437ae5ef..c15bef6bf97 100644 --- a/modules/core/02-client/module.go +++ b/modules/core/02-client/module.go @@ -4,8 +4,8 @@ import ( "github.com/gogo/protobuf/grpc" "github.com/spf13/cobra" - "github.com/cosmos/ibc-go/v2/modules/core/02-client/client/cli" - "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" + "github.com/cosmos/ibc-go/v3/modules/core/02-client/client/cli" + "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" ) // Name returns the IBC client name diff --git a/modules/core/02-client/proposal_handler.go b/modules/core/02-client/proposal_handler.go index 10a0d19ee23..1e34f87c74e 100644 --- a/modules/core/02-client/proposal_handler.go +++ b/modules/core/02-client/proposal_handler.go @@ -4,8 +4,8 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" govtypes "github.com/cosmos/cosmos-sdk/x/gov/types" - "github.com/cosmos/ibc-go/v2/modules/core/02-client/keeper" - "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" + "github.com/cosmos/ibc-go/v3/modules/core/02-client/keeper" + "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" ) // NewClientProposalHandler defines the 02-client proposal handler diff --git a/modules/core/02-client/proposal_handler_test.go b/modules/core/02-client/proposal_handler_test.go index 1b6649552b1..45ec86fa40c 100644 --- a/modules/core/02-client/proposal_handler_test.go +++ b/modules/core/02-client/proposal_handler_test.go @@ -4,10 +4,10 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" distributiontypes "github.com/cosmos/cosmos-sdk/x/distribution/types" govtypes "github.com/cosmos/cosmos-sdk/x/gov/types" - client "github.com/cosmos/ibc-go/v2/modules/core/02-client" - clienttypes "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" - ibctmtypes "github.com/cosmos/ibc-go/v2/modules/light-clients/07-tendermint/types" - ibctesting "github.com/cosmos/ibc-go/v2/testing" + client "github.com/cosmos/ibc-go/v3/modules/core/02-client" + clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" + ibctmtypes "github.com/cosmos/ibc-go/v3/modules/light-clients/07-tendermint/types" + ibctesting "github.com/cosmos/ibc-go/v3/testing" ) func (suite *ClientTestSuite) TestNewClientUpdateProposalHandler() { diff --git a/modules/core/02-client/simulation/decoder.go b/modules/core/02-client/simulation/decoder.go index 57e8652d966..1fe33164896 100644 --- a/modules/core/02-client/simulation/decoder.go +++ b/modules/core/02-client/simulation/decoder.go @@ -5,9 +5,9 @@ import ( "fmt" "github.com/cosmos/cosmos-sdk/types/kv" - "github.com/cosmos/ibc-go/v2/modules/core/02-client/keeper" - host "github.com/cosmos/ibc-go/v2/modules/core/24-host" - "github.com/cosmos/ibc-go/v2/modules/core/exported" + "github.com/cosmos/ibc-go/v3/modules/core/02-client/keeper" + host "github.com/cosmos/ibc-go/v3/modules/core/24-host" + "github.com/cosmos/ibc-go/v3/modules/core/exported" ) var _ ClientUnmarshaler = (*keeper.Keeper)(nil) diff --git a/modules/core/02-client/simulation/decoder_test.go b/modules/core/02-client/simulation/decoder_test.go index bfb9280925d..17091bcae97 100644 --- a/modules/core/02-client/simulation/decoder_test.go +++ b/modules/core/02-client/simulation/decoder_test.go @@ -8,11 +8,11 @@ import ( "github.com/stretchr/testify/require" "github.com/cosmos/cosmos-sdk/types/kv" - "github.com/cosmos/ibc-go/v2/modules/core/02-client/simulation" - "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" - host "github.com/cosmos/ibc-go/v2/modules/core/24-host" - ibctmtypes "github.com/cosmos/ibc-go/v2/modules/light-clients/07-tendermint/types" - "github.com/cosmos/ibc-go/v2/testing/simapp" + "github.com/cosmos/ibc-go/v3/modules/core/02-client/simulation" + "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" + host "github.com/cosmos/ibc-go/v3/modules/core/24-host" + ibctmtypes "github.com/cosmos/ibc-go/v3/modules/light-clients/07-tendermint/types" + "github.com/cosmos/ibc-go/v3/testing/simapp" ) func TestDecodeStore(t *testing.T) { diff --git a/modules/core/02-client/simulation/genesis.go b/modules/core/02-client/simulation/genesis.go index 65ce6375a9f..30e28c13c8a 100644 --- a/modules/core/02-client/simulation/genesis.go +++ b/modules/core/02-client/simulation/genesis.go @@ -4,7 +4,7 @@ import ( "math/rand" simtypes "github.com/cosmos/cosmos-sdk/types/simulation" - "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" + "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" ) // GenClientGenesis returns the default client genesis state. diff --git a/modules/core/02-client/types/client.go b/modules/core/02-client/types/client.go index 03906ba4e74..c2b54163f7f 100644 --- a/modules/core/02-client/types/client.go +++ b/modules/core/02-client/types/client.go @@ -10,8 +10,8 @@ import ( codectypes "github.com/cosmos/cosmos-sdk/codec/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" - host "github.com/cosmos/ibc-go/v2/modules/core/24-host" - "github.com/cosmos/ibc-go/v2/modules/core/exported" + host "github.com/cosmos/ibc-go/v3/modules/core/24-host" + "github.com/cosmos/ibc-go/v3/modules/core/exported" ) var ( diff --git a/modules/core/02-client/types/client.pb.go b/modules/core/02-client/types/client.pb.go index 1d92ef7c851..5247aeee588 100644 --- a/modules/core/02-client/types/client.pb.go +++ b/modules/core/02-client/types/client.pb.go @@ -397,52 +397,52 @@ func init() { func init() { proto.RegisterFile("ibc/core/client/v1/client.proto", fileDescriptor_b6bc4c8185546947) } var fileDescriptor_b6bc4c8185546947 = []byte{ - // 710 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x54, 0x3f, 0x6f, 0xd3, 0x4e, - 0x18, 0x8e, 0xdb, 0xfc, 0xa2, 0xe6, 0x52, 0x35, 0xfd, 0xb9, 0x09, 0x4d, 0x43, 0x15, 0x47, 0x27, - 0x86, 0x0c, 0xd4, 0x26, 0x41, 0x42, 0x55, 0x36, 0x92, 0xa5, 0x1d, 0x40, 0xc1, 0xa8, 0x02, 0xb1, - 0x44, 0xfe, 0x73, 0x75, 0xae, 0x72, 0x7c, 0x91, 0xef, 0x1c, 0xc8, 0x37, 0x60, 0x64, 0x64, 0x60, - 0xe8, 0x27, 0xe0, 0x53, 0x30, 0x74, 0xec, 0xc8, 0x64, 0xa1, 0x76, 0x61, 0xc5, 0x2b, 0x0b, 0xf2, - 0xdd, 0xb9, 0x4d, 0xd2, 0x16, 0x21, 0xd8, 0xee, 0x9e, 0x7b, 0xee, 0x79, 0x9f, 0xe7, 0xb5, 0xdf, - 0x03, 0x1a, 0xb6, 0x1d, 0xc3, 0x21, 0x21, 0x32, 0x1c, 0x1f, 0xa3, 0x80, 0x19, 0xd3, 0xb6, 0x5c, - 0xe9, 0x93, 0x90, 0x30, 0xa2, 0xaa, 0xd8, 0x76, 0xf4, 0x94, 0xa0, 0x4b, 0x78, 0xda, 0xae, 0x57, - 0x3c, 0xe2, 0x11, 0x7e, 0x6c, 0xa4, 0x2b, 0xc1, 0xac, 0xef, 0x78, 0x84, 0x78, 0x3e, 0x32, 0xf8, - 0xce, 0x8e, 0x8e, 0x0d, 0x2b, 0x98, 0xc9, 0xa3, 0x07, 0x0e, 0xa1, 0x63, 0x42, 0x8d, 0x68, 0xe2, - 0x85, 0x96, 0x8b, 0x8c, 0x69, 0xdb, 0x46, 0xcc, 0x6a, 0x67, 0x7b, 0xc1, 0x82, 0x9f, 0x14, 0x50, - 0x3d, 0x74, 0x51, 0xc0, 0xf0, 0x31, 0x46, 0x6e, 0x9f, 0x97, 0x7b, 0xc9, 0x2c, 0x86, 0xd4, 0x36, - 0x28, 0x8a, 0xea, 0x43, 0xec, 0xd6, 0x94, 0xa6, 0xd2, 0x2a, 0xf6, 0x2a, 0x49, 0xac, 0x6d, 0xce, - 0xac, 0xb1, 0xdf, 0x85, 0x57, 0x47, 0xd0, 0x5c, 0x13, 0xeb, 0x43, 0x57, 0x1d, 0x80, 0x75, 0x89, - 0xd3, 0x54, 0xa2, 0xb6, 0xd2, 0x54, 0x5a, 0xa5, 0x4e, 0x45, 0x17, 0x26, 0xf5, 0xcc, 0xa4, 0xfe, - 0x34, 0x98, 0xf5, 0xb6, 0x93, 0x58, 0xdb, 0x5a, 0xd0, 0xe2, 0x77, 0xa0, 0x59, 0x72, 0xae, 0x4d, - 0xc0, 0xcf, 0x0a, 0xa8, 0xf5, 0x49, 0x40, 0x51, 0x40, 0x23, 0xca, 0xa1, 0x57, 0x98, 0x8d, 0x0e, - 0x10, 0xf6, 0x46, 0x4c, 0xdd, 0x07, 0x85, 0x11, 0x5f, 0x71, 0x7b, 0xa5, 0x4e, 0x5d, 0xbf, 0xd9, - 0x37, 0x5d, 0x70, 0x7b, 0xf9, 0xb3, 0x58, 0xcb, 0x99, 0x92, 0xaf, 0xbe, 0x06, 0x65, 0x27, 0x53, - 0xfd, 0x03, 0xaf, 0x3b, 0x49, 0xac, 0x55, 0x53, 0xaf, 0x70, 0xe9, 0x16, 0x34, 0x37, 0x9c, 0x05, - 0x77, 0xf0, 0x8b, 0x02, 0xaa, 0xa2, 0x8b, 0x8b, 0xb6, 0xe9, 0xdf, 0xf4, 0xf3, 0x1d, 0xd8, 0x5c, - 0x2a, 0x48, 0x6b, 0x2b, 0xcd, 0xd5, 0x56, 0xa9, 0xf3, 0xf0, 0xb6, 0xa8, 0x77, 0x35, 0xaa, 0xa7, - 0xa5, 0xe1, 0x93, 0x58, 0xdb, 0x96, 0xb5, 0x96, 0x34, 0xa1, 0x59, 0x5e, 0x4c, 0x41, 0xe1, 0x0f, - 0x05, 0x54, 0x44, 0x8c, 0xa3, 0x89, 0x6b, 0x31, 0x34, 0x08, 0xc9, 0x84, 0x50, 0xcb, 0x57, 0x2b, - 0xe0, 0x3f, 0x86, 0x99, 0x8f, 0x44, 0x02, 0x53, 0x6c, 0xd4, 0x26, 0x28, 0xb9, 0x88, 0x3a, 0x21, - 0x9e, 0x30, 0x4c, 0x02, 0xde, 0xcb, 0xa2, 0x39, 0x0f, 0xa9, 0x07, 0xe0, 0x7f, 0x1a, 0xd9, 0x27, - 0xc8, 0x61, 0xc3, 0xeb, 0x2e, 0xac, 0xf2, 0x2e, 0xec, 0x26, 0xb1, 0x56, 0x13, 0xce, 0x6e, 0x50, - 0xa0, 0x59, 0x96, 0x58, 0x3f, 0x6b, 0xca, 0x0b, 0x50, 0xa1, 0x91, 0x4d, 0x19, 0x66, 0x11, 0x43, - 0x73, 0x62, 0x79, 0x2e, 0xa6, 0x25, 0xb1, 0x76, 0xff, 0x4a, 0xec, 0x06, 0x0b, 0x9a, 0xea, 0x35, - 0x9c, 0x49, 0x76, 0xf3, 0xef, 0x4f, 0xb5, 0x1c, 0xfc, 0xa9, 0x80, 0xf2, 0x91, 0x18, 0x8e, 0x7f, - 0x8e, 0xfb, 0x04, 0xe4, 0x27, 0xbe, 0x15, 0xf0, 0x84, 0xa5, 0xce, 0xae, 0x2e, 0x66, 0x51, 0xcf, - 0x66, 0x4f, 0xce, 0xa2, 0x3e, 0xf0, 0xad, 0x40, 0xfe, 0x9a, 0x9c, 0xaf, 0x9e, 0x80, 0xaa, 0xe4, - 0xb8, 0xc3, 0x85, 0x51, 0xca, 0xff, 0xe6, 0xf7, 0x6c, 0x26, 0xb1, 0xb6, 0x2b, 0x32, 0xdf, 0x7a, - 0x19, 0x9a, 0x5b, 0x19, 0x3e, 0x37, 0xe0, 0xdd, 0xf5, 0x34, 0xf5, 0xc7, 0x53, 0x2d, 0xf7, 0xfd, - 0x54, 0x53, 0xd2, 0x87, 0xa0, 0x20, 0xe7, 0xaa, 0x0f, 0xca, 0x21, 0x9a, 0x62, 0x8a, 0x49, 0x30, - 0x0c, 0xa2, 0xb1, 0x8d, 0x42, 0x1e, 0x3f, 0xdf, 0xab, 0x27, 0xb1, 0x76, 0x4f, 0x14, 0x5a, 0x22, - 0x40, 0x73, 0x23, 0x43, 0x9e, 0x73, 0x60, 0x41, 0x44, 0x4e, 0xe9, 0xca, 0x9d, 0x22, 0x82, 0x30, - 0x27, 0x22, 0x9c, 0x74, 0xd7, 0x32, 0x8b, 0xf0, 0x19, 0x28, 0x0c, 0xac, 0xd0, 0x1a, 0xd3, 0x54, - 0xd8, 0xf2, 0x7d, 0xf2, 0xf6, 0x2a, 0x24, 0xad, 0x29, 0xcd, 0xd5, 0x56, 0x71, 0x5e, 0x78, 0x89, - 0x00, 0xcd, 0x0d, 0x89, 0x88, 0xfc, 0xb4, 0x67, 0x9e, 0x5d, 0x34, 0x94, 0xf3, 0x8b, 0x86, 0xf2, - 0xed, 0xa2, 0xa1, 0x7c, 0xb8, 0x6c, 0xe4, 0xce, 0x2f, 0x1b, 0xb9, 0xaf, 0x97, 0x8d, 0xdc, 0x9b, - 0x7d, 0x0f, 0xb3, 0x51, 0x64, 0xeb, 0x0e, 0x19, 0x1b, 0xf2, 0x05, 0xc5, 0xb6, 0xb3, 0xe7, 0x11, - 0x63, 0xda, 0x31, 0xc6, 0xc4, 0x8d, 0x7c, 0x44, 0xc5, 0xe3, 0xfd, 0xa8, 0xb3, 0x27, 0xdf, 0x6f, - 0x36, 0x9b, 0x20, 0x6a, 0x17, 0xf8, 0x47, 0x79, 0xfc, 0x2b, 0x00, 0x00, 0xff, 0xff, 0x96, 0x22, - 0x8e, 0x4c, 0xdf, 0x05, 0x00, 0x00, + // 712 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x54, 0xbd, 0x6e, 0xdb, 0x3a, + 0x18, 0xb5, 0x12, 0x5f, 0x23, 0xa6, 0x83, 0x38, 0x57, 0xb1, 0x6f, 0x1c, 0xdf, 0xc0, 0x32, 0x88, + 0x0e, 0x1e, 0x1a, 0xa9, 0x76, 0x80, 0x22, 0xf0, 0x56, 0x7b, 0x49, 0x86, 0x16, 0xae, 0x8a, 0xa0, + 0x45, 0x17, 0x43, 0x3f, 0x8c, 0xcc, 0x40, 0x16, 0x0d, 0x91, 0x72, 0xeb, 0x37, 0xe8, 0xd8, 0xb1, + 0x43, 0x87, 0x3c, 0x41, 0x9f, 0xa2, 0x43, 0xc6, 0x8c, 0x9d, 0x84, 0x22, 0x59, 0xba, 0x56, 0x6b, + 0x97, 0x42, 0x24, 0x95, 0xd8, 0x4e, 0x52, 0x14, 0xed, 0x46, 0x1e, 0x1e, 0x9e, 0xef, 0x9c, 0x4f, + 0xfa, 0x08, 0x34, 0x6c, 0x3b, 0x86, 0x43, 0x42, 0x64, 0x38, 0x3e, 0x46, 0x01, 0x33, 0xa6, 0x6d, + 0xb9, 0xd2, 0x27, 0x21, 0x61, 0x44, 0x55, 0xb1, 0xed, 0xe8, 0x29, 0x41, 0x97, 0xf0, 0xb4, 0x5d, + 0xaf, 0x78, 0xc4, 0x23, 0xfc, 0xd8, 0x48, 0x57, 0x82, 0x59, 0xdf, 0xf1, 0x08, 0xf1, 0x7c, 0x64, + 0xf0, 0x9d, 0x1d, 0x9d, 0x18, 0x56, 0x30, 0x93, 0x47, 0x0f, 0x1c, 0x42, 0xc7, 0x84, 0x1a, 0xd1, + 0xc4, 0x0b, 0x2d, 0x17, 0x19, 0xd3, 0xb6, 0x8d, 0x98, 0xd5, 0xce, 0xf6, 0x82, 0x05, 0x3f, 0x2a, + 0xa0, 0x7a, 0xe4, 0xa2, 0x80, 0xe1, 0x13, 0x8c, 0xdc, 0x3e, 0x2f, 0xf7, 0x82, 0x59, 0x0c, 0xa9, + 0x6d, 0x50, 0x14, 0xd5, 0x87, 0xd8, 0xad, 0x29, 0x4d, 0xa5, 0x55, 0xec, 0x55, 0x92, 0x58, 0xdb, + 0x9c, 0x59, 0x63, 0xbf, 0x0b, 0xaf, 0x8f, 0xa0, 0xb9, 0x26, 0xd6, 0x47, 0xae, 0x3a, 0x00, 0xeb, + 0x12, 0xa7, 0xa9, 0x44, 0x6d, 0xa5, 0xa9, 0xb4, 0x4a, 0x9d, 0x8a, 0x2e, 0x4c, 0xea, 0x99, 0x49, + 0xfd, 0x49, 0x30, 0xeb, 0x6d, 0x27, 0xb1, 0xb6, 0xb5, 0xa0, 0xc5, 0xef, 0x40, 0xb3, 0xe4, 0xdc, + 0x98, 0x80, 0x9f, 0x14, 0x50, 0xeb, 0x93, 0x80, 0xa2, 0x80, 0x46, 0x94, 0x43, 0x2f, 0x31, 0x1b, + 0x1d, 0x22, 0xec, 0x8d, 0x98, 0x7a, 0x00, 0x0a, 0x23, 0xbe, 0xe2, 0xf6, 0x4a, 0x9d, 0xba, 0x7e, + 0xbb, 0x6f, 0xba, 0xe0, 0xf6, 0xf2, 0xe7, 0xb1, 0x96, 0x33, 0x25, 0x5f, 0x7d, 0x05, 0xca, 0x4e, + 0xa6, 0xfa, 0x1b, 0x5e, 0x77, 0x92, 0x58, 0xab, 0xa6, 0x5e, 0xe1, 0xd2, 0x2d, 0x68, 0x6e, 0x38, + 0x0b, 0xee, 0xe0, 0x67, 0x05, 0x54, 0x45, 0x17, 0x17, 0x6d, 0xd3, 0x3f, 0xe9, 0xe7, 0x5b, 0xb0, + 0xb9, 0x54, 0x90, 0xd6, 0x56, 0x9a, 0xab, 0xad, 0x52, 0xe7, 0xe1, 0x5d, 0x51, 0xef, 0x6b, 0x54, + 0x4f, 0x4b, 0xc3, 0x27, 0xb1, 0xb6, 0x2d, 0x6b, 0x2d, 0x69, 0x42, 0xb3, 0xbc, 0x98, 0x82, 0xc2, + 0xef, 0x0a, 0xa8, 0x88, 0x18, 0xc7, 0x13, 0xd7, 0x62, 0x68, 0x10, 0x92, 0x09, 0xa1, 0x96, 0xaf, + 0x56, 0xc0, 0x3f, 0x0c, 0x33, 0x1f, 0x89, 0x04, 0xa6, 0xd8, 0xa8, 0x4d, 0x50, 0x72, 0x11, 0x75, + 0x42, 0x3c, 0x61, 0x98, 0x04, 0xbc, 0x97, 0x45, 0x73, 0x1e, 0x52, 0x0f, 0xc1, 0xbf, 0x34, 0xb2, + 0x4f, 0x91, 0xc3, 0x86, 0x37, 0x5d, 0x58, 0xe5, 0x5d, 0xd8, 0x4d, 0x62, 0xad, 0x26, 0x9c, 0xdd, + 0xa2, 0x40, 0xb3, 0x2c, 0xb1, 0x7e, 0xd6, 0x94, 0xe7, 0xa0, 0x42, 0x23, 0x9b, 0x32, 0xcc, 0x22, + 0x86, 0xe6, 0xc4, 0xf2, 0x5c, 0x4c, 0x4b, 0x62, 0xed, 0xff, 0x6b, 0xb1, 0x5b, 0x2c, 0x68, 0xaa, + 0x37, 0x70, 0x26, 0xd9, 0xcd, 0xbf, 0x3b, 0xd3, 0x72, 0xf0, 0x87, 0x02, 0xca, 0xc7, 0x62, 0x38, + 0xfe, 0x3a, 0xee, 0x63, 0x90, 0x9f, 0xf8, 0x56, 0xc0, 0x13, 0x96, 0x3a, 0xbb, 0xba, 0x98, 0x45, + 0x3d, 0x9b, 0x3d, 0x39, 0x8b, 0xfa, 0xc0, 0xb7, 0x02, 0xf9, 0x6b, 0x72, 0xbe, 0x7a, 0x0a, 0xaa, + 0x92, 0xe3, 0x0e, 0x17, 0x46, 0x29, 0xff, 0x8b, 0xdf, 0xb3, 0x99, 0xc4, 0xda, 0xae, 0xc8, 0x7c, + 0xe7, 0x65, 0x68, 0x6e, 0x65, 0xf8, 0xdc, 0x80, 0x77, 0xd7, 0xd3, 0xd4, 0x1f, 0xce, 0xb4, 0xdc, + 0xb7, 0x33, 0x4d, 0x49, 0x1f, 0x82, 0x82, 0x9c, 0xab, 0x3e, 0x28, 0x87, 0x68, 0x8a, 0x29, 0x26, + 0xc1, 0x30, 0x88, 0xc6, 0x36, 0x0a, 0x79, 0xfc, 0x7c, 0xaf, 0x9e, 0xc4, 0xda, 0x7f, 0xa2, 0xd0, + 0x12, 0x01, 0x9a, 0x1b, 0x19, 0xf2, 0x8c, 0x03, 0x0b, 0x22, 0x72, 0x4a, 0x57, 0xee, 0x15, 0x11, + 0x84, 0x39, 0x11, 0xe1, 0xa4, 0xbb, 0x96, 0x59, 0x84, 0x4f, 0x41, 0x61, 0x60, 0x85, 0xd6, 0x98, + 0xa6, 0xc2, 0x96, 0xef, 0x93, 0x37, 0xd7, 0x21, 0x69, 0x4d, 0x69, 0xae, 0xb6, 0x8a, 0xf3, 0xc2, + 0x4b, 0x04, 0x68, 0x6e, 0x48, 0x44, 0xe4, 0xa7, 0x3d, 0xf3, 0xfc, 0xb2, 0xa1, 0x5c, 0x5c, 0x36, + 0x94, 0xaf, 0x97, 0x0d, 0xe5, 0xfd, 0x55, 0x23, 0x77, 0x71, 0xd5, 0xc8, 0x7d, 0xb9, 0x6a, 0xe4, + 0x5e, 0x1f, 0x78, 0x98, 0x8d, 0x22, 0x5b, 0x77, 0xc8, 0xd8, 0x90, 0x2f, 0x28, 0xb6, 0x9d, 0x3d, + 0x8f, 0x18, 0xd3, 0x7d, 0x63, 0x4c, 0xdc, 0xc8, 0x47, 0x54, 0x3c, 0xde, 0x8f, 0x3a, 0x7b, 0xf2, + 0xfd, 0x66, 0xb3, 0x09, 0xa2, 0x76, 0x81, 0x7f, 0x94, 0xfd, 0x9f, 0x01, 0x00, 0x00, 0xff, 0xff, + 0x74, 0xdf, 0x06, 0xc1, 0xdf, 0x05, 0x00, 0x00, } func (this *UpgradeProposal) Equal(that interface{}) bool { diff --git a/modules/core/02-client/types/client_test.go b/modules/core/02-client/types/client_test.go index 7d558d2edcb..9f41843c064 100644 --- a/modules/core/02-client/types/client_test.go +++ b/modules/core/02-client/types/client_test.go @@ -5,8 +5,8 @@ import ( "github.com/stretchr/testify/require" - "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" - ibctesting "github.com/cosmos/ibc-go/v2/testing" + "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" + ibctesting "github.com/cosmos/ibc-go/v3/testing" ) func (suite *TypesTestSuite) TestMarshalConsensusStateWithHeight() { diff --git a/modules/core/02-client/types/codec.go b/modules/core/02-client/types/codec.go index 52ebc940fe7..bb50c415d93 100644 --- a/modules/core/02-client/types/codec.go +++ b/modules/core/02-client/types/codec.go @@ -8,7 +8,7 @@ import ( sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" "github.com/cosmos/cosmos-sdk/types/msgservice" govtypes "github.com/cosmos/cosmos-sdk/x/gov/types" - "github.com/cosmos/ibc-go/v2/modules/core/exported" + "github.com/cosmos/ibc-go/v3/modules/core/exported" ) // RegisterInterfaces registers the client interfaces to protobuf Any. diff --git a/modules/core/02-client/types/codec_test.go b/modules/core/02-client/types/codec_test.go index ced8979d2eb..523d8e821c5 100644 --- a/modules/core/02-client/types/codec_test.go +++ b/modules/core/02-client/types/codec_test.go @@ -2,12 +2,12 @@ package types_test import ( codectypes "github.com/cosmos/cosmos-sdk/codec/types" - "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" - commitmenttypes "github.com/cosmos/ibc-go/v2/modules/core/23-commitment/types" - "github.com/cosmos/ibc-go/v2/modules/core/exported" - ibctmtypes "github.com/cosmos/ibc-go/v2/modules/light-clients/07-tendermint/types" - localhosttypes "github.com/cosmos/ibc-go/v2/modules/light-clients/09-localhost/types" - ibctesting "github.com/cosmos/ibc-go/v2/testing" + "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" + commitmenttypes "github.com/cosmos/ibc-go/v3/modules/core/23-commitment/types" + "github.com/cosmos/ibc-go/v3/modules/core/exported" + ibctmtypes "github.com/cosmos/ibc-go/v3/modules/light-clients/07-tendermint/types" + localhosttypes "github.com/cosmos/ibc-go/v3/modules/light-clients/09-localhost/types" + ibctesting "github.com/cosmos/ibc-go/v3/testing" ) type caseAny struct { diff --git a/modules/core/02-client/types/encoding.go b/modules/core/02-client/types/encoding.go index 342d6ee6776..3ce78389c71 100644 --- a/modules/core/02-client/types/encoding.go +++ b/modules/core/02-client/types/encoding.go @@ -4,7 +4,7 @@ import ( "fmt" "github.com/cosmos/cosmos-sdk/codec" - "github.com/cosmos/ibc-go/v2/modules/core/exported" + "github.com/cosmos/ibc-go/v3/modules/core/exported" ) // MustUnmarshalClientState attempts to decode and return an ClientState object from diff --git a/modules/core/02-client/types/encoding_test.go b/modules/core/02-client/types/encoding_test.go index 9102da93a16..9bd619260ea 100644 --- a/modules/core/02-client/types/encoding_test.go +++ b/modules/core/02-client/types/encoding_test.go @@ -1,8 +1,8 @@ package types_test import ( - "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" - ibctmtypes "github.com/cosmos/ibc-go/v2/modules/light-clients/07-tendermint/types" + "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" + ibctmtypes "github.com/cosmos/ibc-go/v3/modules/light-clients/07-tendermint/types" ) func (suite *TypesTestSuite) TestMarshalHeader() { diff --git a/modules/core/02-client/types/events.go b/modules/core/02-client/types/events.go index b0df80e4f34..391e1e37080 100644 --- a/modules/core/02-client/types/events.go +++ b/modules/core/02-client/types/events.go @@ -3,7 +3,7 @@ package types import ( "fmt" - host "github.com/cosmos/ibc-go/v2/modules/core/24-host" + host "github.com/cosmos/ibc-go/v3/modules/core/24-host" ) // IBC client events diff --git a/modules/core/02-client/types/genesis.go b/modules/core/02-client/types/genesis.go index c366e2cafbe..2500e096657 100644 --- a/modules/core/02-client/types/genesis.go +++ b/modules/core/02-client/types/genesis.go @@ -5,8 +5,8 @@ import ( "sort" codectypes "github.com/cosmos/cosmos-sdk/codec/types" - host "github.com/cosmos/ibc-go/v2/modules/core/24-host" - "github.com/cosmos/ibc-go/v2/modules/core/exported" + host "github.com/cosmos/ibc-go/v3/modules/core/24-host" + "github.com/cosmos/ibc-go/v3/modules/core/exported" ) var ( diff --git a/modules/core/02-client/types/genesis.pb.go b/modules/core/02-client/types/genesis.pb.go index 893045bfbbf..9f85bc06008 100644 --- a/modules/core/02-client/types/genesis.pb.go +++ b/modules/core/02-client/types/genesis.pb.go @@ -221,38 +221,38 @@ var fileDescriptor_bcd0c0f1f2e6a91a = []byte{ // 539 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x7c, 0x53, 0x41, 0x6e, 0xd3, 0x40, 0x14, 0xcd, 0x34, 0x69, 0x68, 0xa7, 0x15, 0x0d, 0xa3, 0xa8, 0x98, 0x54, 0xb2, 0x2d, 0xb3, 0x09, - 0x8b, 0xd8, 0x24, 0x6c, 0xaa, 0x6c, 0x90, 0x5c, 0x09, 0x54, 0x09, 0x24, 0x30, 0x3b, 0x36, 0xd6, - 0x64, 0x3c, 0xa4, 0x23, 0x6c, 0x4f, 0xc8, 0x4c, 0x22, 0x72, 0x03, 0x96, 0x88, 0x13, 0xb0, 0xe6, - 0x0c, 0x1c, 0xa0, 0xcb, 0x2e, 0xbb, 0x0a, 0x28, 0xb9, 0x41, 0x4e, 0x80, 0x3c, 0x33, 0xa6, 0x6d, - 0x9a, 0x76, 0xf7, 0xf3, 0xfc, 0xde, 0xfb, 0x4f, 0xef, 0x67, 0xa0, 0xcb, 0x06, 0x24, 0x20, 0x7c, + 0x8b, 0xd8, 0x24, 0xdd, 0x54, 0xd9, 0x20, 0xb9, 0x12, 0xa8, 0x12, 0x48, 0x60, 0x76, 0x6c, 0xac, + 0xc9, 0x78, 0x48, 0x47, 0xd8, 0x9e, 0x90, 0x99, 0x44, 0xe4, 0x06, 0x2c, 0x11, 0x27, 0x60, 0xcd, + 0x19, 0x38, 0x40, 0x97, 0x5d, 0x76, 0x15, 0x50, 0x72, 0x83, 0x9c, 0x00, 0x79, 0x66, 0x4c, 0xdb, + 0x34, 0x65, 0xf7, 0xf3, 0xfc, 0xde, 0xfb, 0x4f, 0xef, 0x67, 0xa0, 0xcb, 0x06, 0x24, 0x20, 0x7c, 0x4c, 0x03, 0x92, 0x32, 0x9a, 0xcb, 0x60, 0xda, 0x0d, 0x86, 0x34, 0xa7, 0x82, 0x09, 0x7f, 0x34, 0xe6, 0x92, 0x23, 0xc4, 0x06, 0xc4, 0x2f, 0x18, 0xbe, 0x66, 0xf8, 0xd3, 0x6e, 0xcb, 0xd9, 0xa0, - 0x32, 0x5f, 0x95, 0xa8, 0xd5, 0x1c, 0xf2, 0x21, 0x57, 0x63, 0x50, 0x4c, 0x1a, 0xf5, 0x2e, 0x6b, - 0x70, 0xff, 0xb5, 0x36, 0xff, 0x20, 0xb1, 0xa4, 0x88, 0xc0, 0x07, 0x5a, 0x26, 0x2c, 0xe0, 0x56, - 0xdb, 0x7b, 0xbd, 0x67, 0xfe, 0xed, 0x6d, 0xfe, 0x69, 0x42, 0x73, 0xc9, 0x3e, 0x31, 0x9a, 0x9c, - 0x28, 0x4c, 0x69, 0x43, 0xfb, 0x7c, 0xee, 0x54, 0x7e, 0xfd, 0x71, 0x0e, 0x37, 0x7e, 0x16, 0x51, - 0xe9, 0x8c, 0x7e, 0x00, 0xf8, 0xc8, 0xcc, 0x31, 0xe1, 0xb9, 0xa0, 0xb9, 0x98, 0x08, 0x6b, 0xeb, - 0xee, 0x7d, 0xda, 0xe6, 0xa4, 0xa4, 0x6a, 0xbf, 0xb0, 0x5f, 0xec, 0x5b, 0xcd, 0x1d, 0x6b, 0x86, - 0xb3, 0xb4, 0xef, 0xdd, 0x72, 0xf4, 0x8a, 0x2c, 0x5a, 0x2a, 0xd6, 0xb4, 0x51, 0x83, 0xac, 0xe1, - 0x68, 0x06, 0x4b, 0x2c, 0xce, 0xa8, 0xc4, 0x09, 0x96, 0xd8, 0xaa, 0xaa, 0x48, 0x9d, 0xfb, 0x2b, - 0x30, 0xfd, 0xbd, 0x35, 0xa2, 0xd0, 0x31, 0xb1, 0x1e, 0xdf, 0x8c, 0x55, 0x9a, 0x7a, 0xd1, 0x81, - 0x81, 0x4a, 0x05, 0x3a, 0x86, 0xf5, 0x11, 0x1e, 0xe3, 0x4c, 0x58, 0x35, 0x17, 0xb4, 0xf7, 0x7a, - 0xad, 0x4d, 0x0b, 0xdf, 0x29, 0x46, 0x58, 0x2b, 0xdc, 0x23, 0xc3, 0x47, 0xaf, 0x60, 0x83, 0x8c, - 0x29, 0x96, 0x34, 0x4e, 0x39, 0xc1, 0xe9, 0x19, 0x17, 0xd2, 0xda, 0x76, 0x41, 0x7b, 0x27, 0x3c, - 0xba, 0x96, 0x60, 0x8d, 0x51, 0x24, 0x50, 0xd0, 0x9b, 0x12, 0x41, 0xef, 0x61, 0x33, 0xa7, 0x5f, - 0x65, 0xac, 0xd7, 0xc5, 0x82, 0x7e, 0x99, 0xd0, 0x9c, 0x50, 0xab, 0xee, 0x82, 0x76, 0x2d, 0x74, - 0x56, 0x73, 0xe7, 0x48, 0x7b, 0x6d, 0x62, 0x79, 0x11, 0x2a, 0x60, 0x73, 0xeb, 0x12, 0x7c, 0x09, - 0x0f, 0xd6, 0x9a, 0x41, 0x0d, 0x58, 0xfd, 0x4c, 0x67, 0x16, 0x70, 0x41, 0x7b, 0x3f, 0x2a, 0x46, - 0xd4, 0x84, 0xdb, 0x53, 0x9c, 0x4e, 0xa8, 0xb5, 0xa5, 0x30, 0xfd, 0xa3, 0x5f, 0xfb, 0xf6, 0xd3, - 0xa9, 0x78, 0xbf, 0x01, 0x7c, 0x72, 0x67, 0xcb, 0xa8, 0x0b, 0x77, 0x4d, 0x0c, 0x96, 0x28, 0xc7, - 0xdd, 0xb0, 0xb9, 0x9a, 0x3b, 0x8d, 0xeb, 0xa5, 0xc7, 0x2c, 0xf1, 0xa2, 0x1d, 0x3d, 0x9f, 0x26, - 0x28, 0x85, 0xa6, 0xf9, 0xab, 0x03, 0xeb, 0xff, 0xdc, 0xd3, 0x4d, 0x7d, 0xaf, 0x9f, 0xd5, 0x36, - 0x67, 0x3d, 0xbc, 0xb1, 0xe1, 0xea, 0xaa, 0x0f, 0x35, 0xf2, 0x9f, 0x1f, 0x9d, 0x2f, 0x6c, 0x70, - 0xb1, 0xb0, 0xc1, 0xdf, 0x85, 0x0d, 0xbe, 0x2f, 0xed, 0xca, 0xc5, 0xd2, 0xae, 0x5c, 0x2e, 0xed, - 0xca, 0xc7, 0xe3, 0x21, 0x93, 0x67, 0x93, 0x81, 0x4f, 0x78, 0x16, 0x10, 0x2e, 0x32, 0x2e, 0x02, - 0x36, 0x20, 0x9d, 0x21, 0x0f, 0xa6, 0xbd, 0x20, 0xe3, 0xc9, 0x24, 0xa5, 0x42, 0xbf, 0xe5, 0xe7, - 0xbd, 0x8e, 0x79, 0xce, 0x72, 0x36, 0xa2, 0x62, 0x50, 0x57, 0xaf, 0xf6, 0xc5, 0xbf, 0x00, 0x00, - 0x00, 0xff, 0xff, 0xcb, 0xb6, 0xa1, 0x7d, 0x24, 0x04, 0x00, 0x00, + 0x32, 0x5f, 0x95, 0xa8, 0xd5, 0x1c, 0xf2, 0x21, 0x57, 0x63, 0x50, 0x4c, 0x1a, 0xf5, 0xae, 0x6a, + 0x70, 0xff, 0x95, 0x36, 0x7f, 0x2f, 0xb1, 0xa4, 0x88, 0xc0, 0x07, 0x5a, 0x26, 0x2c, 0xe0, 0x56, + 0xdb, 0x7b, 0xbd, 0x67, 0xfe, 0xdd, 0x6d, 0xfe, 0x59, 0x42, 0x73, 0xc9, 0x3e, 0x32, 0x9a, 0x9c, + 0x2a, 0x4c, 0x69, 0x43, 0xfb, 0x62, 0xee, 0x54, 0x7e, 0xfe, 0x76, 0x0e, 0x37, 0x7e, 0x16, 0x51, + 0xe9, 0x8c, 0xbe, 0x03, 0xf8, 0xc8, 0xcc, 0x31, 0xe1, 0xb9, 0xa0, 0xb9, 0x98, 0x08, 0x6b, 0xeb, + 0xfe, 0x7d, 0xda, 0xe6, 0xb4, 0xa4, 0x6a, 0xbf, 0xb0, 0x5f, 0xec, 0x5b, 0xcd, 0x1d, 0x6b, 0x86, + 0xb3, 0xb4, 0xef, 0xdd, 0x71, 0xf4, 0x8a, 0x2c, 0x5a, 0x2a, 0xd6, 0xb4, 0x51, 0x83, 0xac, 0xe1, + 0x68, 0x06, 0x4b, 0x2c, 0xce, 0xa8, 0xc4, 0x09, 0x96, 0xd8, 0xaa, 0xaa, 0x48, 0x9d, 0xff, 0x57, + 0x60, 0xfa, 0x7b, 0x63, 0x44, 0xa1, 0x63, 0x62, 0x3d, 0xbe, 0x1d, 0xab, 0x34, 0xf5, 0xa2, 0x03, + 0x03, 0x95, 0x0a, 0x74, 0x02, 0xeb, 0x23, 0x3c, 0xc6, 0x99, 0xb0, 0x6a, 0x2e, 0x68, 0xef, 0xf5, + 0x5a, 0x9b, 0x16, 0xbe, 0x55, 0x8c, 0xb0, 0x56, 0xb8, 0x47, 0x86, 0x8f, 0x5e, 0xc2, 0x06, 0x19, + 0x53, 0x2c, 0x69, 0x9c, 0x72, 0x82, 0xd3, 0x73, 0x2e, 0xa4, 0xb5, 0xed, 0x82, 0xf6, 0x4e, 0x78, + 0x74, 0x23, 0xc1, 0x1a, 0xa3, 0x48, 0xa0, 0xa0, 0xd7, 0x25, 0x82, 0xde, 0xc1, 0x66, 0x4e, 0xbf, + 0xc8, 0x58, 0xaf, 0x8b, 0x05, 0xfd, 0x3c, 0xa1, 0x39, 0xa1, 0x56, 0xdd, 0x05, 0xed, 0x5a, 0xe8, + 0xac, 0xe6, 0xce, 0x91, 0xf6, 0xda, 0xc4, 0xf2, 0x22, 0x54, 0xc0, 0xe6, 0xd6, 0x25, 0xf8, 0x02, + 0x1e, 0xac, 0x35, 0x83, 0x1a, 0xb0, 0xfa, 0x89, 0xce, 0x2c, 0xe0, 0x82, 0xf6, 0x7e, 0x54, 0x8c, + 0xa8, 0x09, 0xb7, 0xa7, 0x38, 0x9d, 0x50, 0x6b, 0x4b, 0x61, 0xfa, 0x47, 0xbf, 0xf6, 0xf5, 0x87, + 0x53, 0xf1, 0x7e, 0x01, 0xf8, 0xe4, 0xde, 0x96, 0x51, 0x17, 0xee, 0x9a, 0x18, 0x2c, 0x51, 0x8e, + 0xbb, 0x61, 0x73, 0x35, 0x77, 0x1a, 0x37, 0x4b, 0x8f, 0x59, 0xe2, 0x45, 0x3b, 0x7a, 0x3e, 0x4b, + 0x50, 0x0a, 0x4d, 0xf3, 0xd7, 0x07, 0xd6, 0xff, 0xb9, 0xa7, 0x9b, 0xfa, 0x5e, 0x3f, 0xab, 0x6d, + 0xce, 0x7a, 0x78, 0x6b, 0xc3, 0xf5, 0x55, 0x1f, 0x6a, 0xe4, 0x1f, 0x3f, 0xba, 0x58, 0xd8, 0xe0, + 0x72, 0x61, 0x83, 0x3f, 0x0b, 0x1b, 0x7c, 0x5b, 0xda, 0x95, 0xcb, 0xa5, 0x5d, 0xb9, 0x5a, 0xda, + 0x95, 0x0f, 0x27, 0x43, 0x26, 0xcf, 0x27, 0x03, 0x9f, 0xf0, 0x2c, 0x20, 0x5c, 0x64, 0x5c, 0x04, + 0x6c, 0x40, 0x3a, 0x43, 0x1e, 0x4c, 0x8f, 0x83, 0x8c, 0x27, 0x93, 0x94, 0x0a, 0xfd, 0x96, 0x9f, + 0xf7, 0x3a, 0xe6, 0x39, 0xcb, 0xd9, 0x88, 0x8a, 0x41, 0x5d, 0xbd, 0xda, 0xe3, 0xbf, 0x01, 0x00, + 0x00, 0xff, 0xff, 0x29, 0x4b, 0x29, 0xf0, 0x24, 0x04, 0x00, 0x00, } func (m *GenesisState) Marshal() (dAtA []byte, err error) { diff --git a/modules/core/02-client/types/genesis_test.go b/modules/core/02-client/types/genesis_test.go index 55be9a745a0..6972a8d5983 100644 --- a/modules/core/02-client/types/genesis_test.go +++ b/modules/core/02-client/types/genesis_test.go @@ -5,14 +5,14 @@ import ( tmtypes "github.com/tendermint/tendermint/types" - client "github.com/cosmos/ibc-go/v2/modules/core/02-client" - "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" - commitmenttypes "github.com/cosmos/ibc-go/v2/modules/core/23-commitment/types" - "github.com/cosmos/ibc-go/v2/modules/core/exported" - ibctmtypes "github.com/cosmos/ibc-go/v2/modules/light-clients/07-tendermint/types" - localhosttypes "github.com/cosmos/ibc-go/v2/modules/light-clients/09-localhost/types" - ibctesting "github.com/cosmos/ibc-go/v2/testing" - ibctestingmock "github.com/cosmos/ibc-go/v2/testing/mock" + client "github.com/cosmos/ibc-go/v3/modules/core/02-client" + "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" + commitmenttypes "github.com/cosmos/ibc-go/v3/modules/core/23-commitment/types" + "github.com/cosmos/ibc-go/v3/modules/core/exported" + ibctmtypes "github.com/cosmos/ibc-go/v3/modules/light-clients/07-tendermint/types" + localhosttypes "github.com/cosmos/ibc-go/v3/modules/light-clients/09-localhost/types" + ibctesting "github.com/cosmos/ibc-go/v3/testing" + ibctestingmock "github.com/cosmos/ibc-go/v3/testing/mock" ) const ( diff --git a/modules/core/02-client/types/height.go b/modules/core/02-client/types/height.go index 7b25a7458d7..c011f88de9b 100644 --- a/modules/core/02-client/types/height.go +++ b/modules/core/02-client/types/height.go @@ -9,7 +9,7 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" - "github.com/cosmos/ibc-go/v2/modules/core/exported" + "github.com/cosmos/ibc-go/v3/modules/core/exported" ) var _ exported.Height = (*Height)(nil) diff --git a/modules/core/02-client/types/height_test.go b/modules/core/02-client/types/height_test.go index 08450f63ab7..b782ae9f533 100644 --- a/modules/core/02-client/types/height_test.go +++ b/modules/core/02-client/types/height_test.go @@ -6,7 +6,7 @@ import ( "github.com/stretchr/testify/require" - "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" + "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" ) func TestZeroHeight(t *testing.T) { diff --git a/modules/core/02-client/types/keys.go b/modules/core/02-client/types/keys.go index 043330a7616..9585618a1b4 100644 --- a/modules/core/02-client/types/keys.go +++ b/modules/core/02-client/types/keys.go @@ -7,7 +7,7 @@ import ( "strings" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" - host "github.com/cosmos/ibc-go/v2/modules/core/24-host" + host "github.com/cosmos/ibc-go/v3/modules/core/24-host" ) const ( diff --git a/modules/core/02-client/types/keys_test.go b/modules/core/02-client/types/keys_test.go index 05ab05419ce..52d4e6a4c13 100644 --- a/modules/core/02-client/types/keys_test.go +++ b/modules/core/02-client/types/keys_test.go @@ -6,7 +6,7 @@ import ( "github.com/stretchr/testify/require" - "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" + "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" ) // tests ParseClientIdentifier and IsValidClientID diff --git a/modules/core/02-client/types/msgs.go b/modules/core/02-client/types/msgs.go index 9eba4171b6c..78e025e33cf 100644 --- a/modules/core/02-client/types/msgs.go +++ b/modules/core/02-client/types/msgs.go @@ -4,8 +4,8 @@ import ( codectypes "github.com/cosmos/cosmos-sdk/codec/types" sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" - host "github.com/cosmos/ibc-go/v2/modules/core/24-host" - "github.com/cosmos/ibc-go/v2/modules/core/exported" + host "github.com/cosmos/ibc-go/v3/modules/core/24-host" + "github.com/cosmos/ibc-go/v3/modules/core/exported" ) // message types for the IBC client diff --git a/modules/core/02-client/types/msgs_test.go b/modules/core/02-client/types/msgs_test.go index aa2bbf48dfc..2e7631da2de 100644 --- a/modules/core/02-client/types/msgs_test.go +++ b/modules/core/02-client/types/msgs_test.go @@ -7,12 +7,12 @@ import ( "github.com/golang/protobuf/proto" "github.com/stretchr/testify/suite" - "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" - commitmenttypes "github.com/cosmos/ibc-go/v2/modules/core/23-commitment/types" - "github.com/cosmos/ibc-go/v2/modules/core/exported" - solomachinetypes "github.com/cosmos/ibc-go/v2/modules/light-clients/06-solomachine/types" - ibctmtypes "github.com/cosmos/ibc-go/v2/modules/light-clients/07-tendermint/types" - ibctesting "github.com/cosmos/ibc-go/v2/testing" + "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" + commitmenttypes "github.com/cosmos/ibc-go/v3/modules/core/23-commitment/types" + "github.com/cosmos/ibc-go/v3/modules/core/exported" + solomachinetypes "github.com/cosmos/ibc-go/v3/modules/light-clients/06-solomachine/types" + ibctmtypes "github.com/cosmos/ibc-go/v3/modules/light-clients/07-tendermint/types" + ibctesting "github.com/cosmos/ibc-go/v3/testing" ) type TypesTestSuite struct { diff --git a/modules/core/02-client/types/params.go b/modules/core/02-client/types/params.go index f00509efeb8..3386971481b 100644 --- a/modules/core/02-client/types/params.go +++ b/modules/core/02-client/types/params.go @@ -5,7 +5,7 @@ import ( "strings" paramtypes "github.com/cosmos/cosmos-sdk/x/params/types" - "github.com/cosmos/ibc-go/v2/modules/core/exported" + "github.com/cosmos/ibc-go/v3/modules/core/exported" ) var ( diff --git a/modules/core/02-client/types/params_test.go b/modules/core/02-client/types/params_test.go index 85fd682909a..87fed77622e 100644 --- a/modules/core/02-client/types/params_test.go +++ b/modules/core/02-client/types/params_test.go @@ -5,7 +5,7 @@ import ( "github.com/stretchr/testify/require" - "github.com/cosmos/ibc-go/v2/modules/core/exported" + "github.com/cosmos/ibc-go/v3/modules/core/exported" ) func TestValidateParams(t *testing.T) { diff --git a/modules/core/02-client/types/proposal.go b/modules/core/02-client/types/proposal.go index 42623986dab..54db1e791d1 100644 --- a/modules/core/02-client/types/proposal.go +++ b/modules/core/02-client/types/proposal.go @@ -7,7 +7,7 @@ import ( sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" govtypes "github.com/cosmos/cosmos-sdk/x/gov/types" upgradetypes "github.com/cosmos/cosmos-sdk/x/upgrade/types" - "github.com/cosmos/ibc-go/v2/modules/core/exported" + "github.com/cosmos/ibc-go/v3/modules/core/exported" ) const ( diff --git a/modules/core/02-client/types/proposal_test.go b/modules/core/02-client/types/proposal_test.go index fbf862a25fb..a32dcdac4e8 100644 --- a/modules/core/02-client/types/proposal_test.go +++ b/modules/core/02-client/types/proposal_test.go @@ -8,9 +8,9 @@ import ( govtypes "github.com/cosmos/cosmos-sdk/x/gov/types" upgradetypes "github.com/cosmos/cosmos-sdk/x/upgrade/types" - "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" - ibctmtypes "github.com/cosmos/ibc-go/v2/modules/light-clients/07-tendermint/types" - ibctesting "github.com/cosmos/ibc-go/v2/testing" + "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" + ibctmtypes "github.com/cosmos/ibc-go/v3/modules/light-clients/07-tendermint/types" + ibctesting "github.com/cosmos/ibc-go/v3/testing" ) func (suite *TypesTestSuite) TestValidateBasic() { diff --git a/modules/core/02-client/types/query.go b/modules/core/02-client/types/query.go index add8c8cd6bb..9ce4ecfce76 100644 --- a/modules/core/02-client/types/query.go +++ b/modules/core/02-client/types/query.go @@ -2,7 +2,7 @@ package types import ( codectypes "github.com/cosmos/cosmos-sdk/codec/types" - "github.com/cosmos/ibc-go/v2/modules/core/exported" + "github.com/cosmos/ibc-go/v3/modules/core/exported" ) var ( diff --git a/modules/core/02-client/types/query.pb.go b/modules/core/02-client/types/query.pb.go index 168844fe1d0..7ea1d377be6 100644 --- a/modules/core/02-client/types/query.pb.go +++ b/modules/core/02-client/types/query.pb.go @@ -930,9 +930,9 @@ var fileDescriptor_dc42cdfd1d52d76e = []byte{ 0x5f, 0x99, 0x35, 0x18, 0x47, 0xdb, 0x7c, 0xd7, 0x7d, 0x79, 0x52, 0x47, 0xaf, 0x4e, 0xea, 0xe8, 0xaf, 0x93, 0x3a, 0xfa, 0xfa, 0xb4, 0x3e, 0xf3, 0xea, 0xb4, 0x3e, 0xf3, 0xc7, 0x69, 0x7d, 0xe6, 0xf3, 0x7b, 0x61, 0x94, 0x1c, 0xa4, 0xbe, 0x13, 0xb0, 0x0e, 0x51, 0x3f, 0x4b, 0x91, 0x1f, 0x6c, - 0x84, 0x8c, 0xf4, 0x9b, 0xa4, 0xc3, 0x5a, 0x69, 0x9b, 0x72, 0x99, 0x67, 0xb3, 0xb9, 0xa1, 0x52, - 0x25, 0x87, 0x5d, 0xca, 0xfd, 0x79, 0xc1, 0xfe, 0xdb, 0xff, 0x04, 0x00, 0x00, 0xff, 0xff, 0x52, - 0x79, 0xec, 0xa1, 0x98, 0x0d, 0x00, 0x00, + 0x84, 0x8c, 0xf4, 0xb7, 0x49, 0x87, 0xb5, 0xd2, 0x36, 0xe5, 0x32, 0xcf, 0x66, 0x73, 0x43, 0xa5, + 0x4a, 0x0e, 0xbb, 0x94, 0xfb, 0xf3, 0x82, 0xfd, 0xb7, 0xff, 0x09, 0x00, 0x00, 0xff, 0xff, 0xb0, + 0x84, 0x64, 0x2c, 0x98, 0x0d, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. diff --git a/modules/core/02-client/types/tx.pb.go b/modules/core/02-client/types/tx.pb.go index d7d91850763..a9eec55a353 100644 --- a/modules/core/02-client/types/tx.pb.go +++ b/modules/core/02-client/types/tx.pb.go @@ -375,45 +375,45 @@ func init() { func init() { proto.RegisterFile("ibc/core/client/v1/tx.proto", fileDescriptor_cb5dc4651eb49a04) } var fileDescriptor_cb5dc4651eb49a04 = []byte{ - // 599 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x55, 0x3f, 0x6f, 0xd3, 0x40, - 0x1c, 0x8d, 0x1b, 0x88, 0x9a, 0x6b, 0xa0, 0x95, 0x09, 0x6d, 0xea, 0xaa, 0x76, 0x64, 0x3a, 0x04, - 0xd1, 0xde, 0x91, 0xb0, 0x54, 0xdd, 0x48, 0x27, 0x86, 0x48, 0xe0, 0x8a, 0x01, 0x96, 0xe0, 0x3f, - 0xd7, 0xcb, 0x89, 0xd8, 0x17, 0xf9, 0xec, 0x88, 0x7c, 0x03, 0x46, 0x06, 0x3e, 0x40, 0xc5, 0xc0, - 0x67, 0x61, 0xec, 0xc0, 0xc0, 0x14, 0x55, 0xc9, 0xc2, 0x9c, 0x4f, 0x80, 0xe2, 0x73, 0x42, 0xec, - 0xc6, 0x51, 0xc4, 0x9f, 0xcd, 0xe7, 0xdf, 0xbb, 0xf7, 0x7e, 0xcf, 0xef, 0x77, 0x3e, 0x70, 0x40, - 0x2d, 0x1b, 0xd9, 0xcc, 0xc7, 0xc8, 0xee, 0x52, 0xec, 0x05, 0xa8, 0x5f, 0x47, 0xc1, 0x07, 0xd8, - 0xf3, 0x59, 0xc0, 0x64, 0x99, 0x5a, 0x36, 0x9c, 0x16, 0xa1, 0x28, 0xc2, 0x7e, 0x5d, 0x29, 0x13, - 0x46, 0x58, 0x54, 0x46, 0xd3, 0x27, 0x81, 0x54, 0xf6, 0x09, 0x63, 0xa4, 0x8b, 0x51, 0xb4, 0xb2, - 0xc2, 0x4b, 0x64, 0x7a, 0x03, 0x51, 0xd2, 0x6f, 0x24, 0xb0, 0xdd, 0xe2, 0xe4, 0xdc, 0xc7, 0x66, - 0x80, 0xcf, 0x23, 0x1e, 0xf9, 0x25, 0x28, 0x09, 0xc6, 0x36, 0x0f, 0xcc, 0x00, 0x57, 0xa4, 0xaa, - 0x54, 0xdb, 0x6a, 0x94, 0xa1, 0x60, 0x81, 0x33, 0x16, 0xf8, 0xdc, 0x1b, 0x34, 0xf7, 0x26, 0x43, - 0xed, 0xc1, 0xc0, 0x74, 0xbb, 0x67, 0xfa, 0xe2, 0x1e, 0xdd, 0xd8, 0x12, 0xcb, 0x8b, 0xe9, 0x4a, - 0x7e, 0x03, 0xb6, 0x6d, 0xe6, 0x71, 0xec, 0xf1, 0x90, 0xc7, 0xa4, 0x1b, 0x2b, 0x48, 0x95, 0xc9, - 0x50, 0xdb, 0x8d, 0x49, 0x93, 0xdb, 0x74, 0xe3, 0xfe, 0xfc, 0x8d, 0xa0, 0xde, 0x05, 0x05, 0x4e, - 0x89, 0x87, 0xfd, 0x4a, 0xbe, 0x2a, 0xd5, 0x8a, 0x46, 0xbc, 0x3a, 0xdb, 0xfc, 0x78, 0xa5, 0xe5, - 0x7e, 0x5e, 0x69, 0x39, 0x7d, 0x1f, 0xec, 0xa5, 0x1c, 0x1a, 0x98, 0xf7, 0xa6, 0x2c, 0xfa, 0x67, - 0xe1, 0xfe, 0x75, 0xcf, 0xf9, 0xed, 0xbe, 0x0e, 0x8a, 0xb1, 0x13, 0xea, 0x44, 0xd6, 0x8b, 0xcd, - 0xf2, 0x64, 0xa8, 0xed, 0x24, 0x4c, 0x52, 0x47, 0x37, 0x36, 0xc5, 0xf3, 0x0b, 0x47, 0x3e, 0x06, - 0x85, 0x0e, 0x36, 0x1d, 0xec, 0xaf, 0x72, 0x65, 0xc4, 0x98, 0xb5, 0x3b, 0x5e, 0xec, 0x6a, 0xde, - 0xf1, 0xf7, 0x3c, 0xd8, 0x89, 0x6a, 0xc4, 0x37, 0x9d, 0xbf, 0x68, 0x39, 0x9d, 0xf1, 0xc6, 0xff, - 0xc8, 0x38, 0xff, 0x8f, 0x32, 0x7e, 0x05, 0xca, 0x3d, 0x9f, 0xb1, 0xcb, 0x76, 0x28, 0x6c, 0xb7, - 0x85, 0x6e, 0xe5, 0x4e, 0x55, 0xaa, 0x95, 0x9a, 0xda, 0x64, 0xa8, 0x1d, 0x08, 0xa6, 0x65, 0x28, - 0xdd, 0x90, 0xa3, 0xd7, 0xc9, 0x4f, 0xf6, 0x1e, 0x1c, 0xa6, 0xc0, 0xa9, 0xde, 0xef, 0x46, 0xdc, - 0xb5, 0xc9, 0x50, 0x3b, 0x5a, 0xca, 0x9d, 0xee, 0x59, 0x49, 0x88, 0x64, 0xcd, 0x68, 0x21, 0x23, - 0x71, 0x05, 0x54, 0xd2, 0xa9, 0xce, 0x23, 0xff, 0x2a, 0x81, 0x87, 0x2d, 0x4e, 0x2e, 0x42, 0xcb, - 0xa5, 0x41, 0x8b, 0x72, 0x0b, 0x77, 0xcc, 0x3e, 0x65, 0xa1, 0xff, 0x27, 0xb9, 0x9f, 0x82, 0x92, - 0xbb, 0x40, 0xb1, 0x72, 0x60, 0x13, 0xc8, 0x35, 0xc6, 0x56, 0x03, 0x87, 0x4b, 0xfb, 0x9c, 0x39, - 0x69, 0x7c, 0xc9, 0x83, 0x7c, 0x8b, 0x13, 0xf9, 0x1d, 0x28, 0x25, 0x7e, 0x38, 0x8f, 0xe0, 0xed, - 0x5f, 0x19, 0x4c, 0x9d, 0x59, 0xe5, 0xc9, 0x1a, 0xa0, 0x99, 0xd2, 0x54, 0x21, 0x71, 0xa8, 0xb3, - 0x14, 0x16, 0x41, 0x99, 0x0a, 0xcb, 0x0e, 0xa2, 0x6c, 0x83, 0x7b, 0xc9, 0x89, 0x3a, 0xca, 0xdc, - 0xbd, 0x80, 0x52, 0x8e, 0xd7, 0x41, 0xcd, 0x45, 0x7c, 0x20, 0x2f, 0x89, 0xfd, 0x71, 0x06, 0xc7, - 0x6d, 0xa8, 0x52, 0x5f, 0x1b, 0x3a, 0xd3, 0x6c, 0x1a, 0xdf, 0x46, 0xaa, 0x74, 0x3d, 0x52, 0xa5, - 0x9b, 0x91, 0x2a, 0x7d, 0x1a, 0xab, 0xb9, 0xeb, 0xb1, 0x9a, 0xfb, 0x31, 0x56, 0x73, 0x6f, 0x4f, - 0x09, 0x0d, 0x3a, 0xa1, 0x05, 0x6d, 0xe6, 0x22, 0x9b, 0x71, 0x97, 0x71, 0x44, 0x2d, 0xfb, 0x84, - 0x30, 0xd4, 0x6f, 0x20, 0x97, 0x39, 0x61, 0x17, 0x73, 0x71, 0x5b, 0x3d, 0x6d, 0x9c, 0xc4, 0x17, - 0x56, 0x30, 0xe8, 0x61, 0x6e, 0x15, 0xa2, 0xb9, 0x7a, 0xf6, 0x2b, 0x00, 0x00, 0xff, 0xff, 0x86, - 0x1a, 0x46, 0x6b, 0xd0, 0x06, 0x00, 0x00, + // 601 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x55, 0x3f, 0x6f, 0xd3, 0x4e, + 0x18, 0x8e, 0x9b, 0xdf, 0x2f, 0x6a, 0xae, 0x81, 0x56, 0x26, 0xb4, 0xa9, 0xab, 0xda, 0x91, 0xe9, + 0x10, 0x44, 0x7b, 0x47, 0xd2, 0xa5, 0xea, 0x46, 0x3a, 0x31, 0x44, 0x02, 0x57, 0x0c, 0xb0, 0x04, + 0xff, 0xb9, 0x5e, 0x4e, 0xc4, 0xbe, 0xc8, 0x67, 0x47, 0xe4, 0x1b, 0x30, 0x32, 0xf0, 0x01, 0x2a, + 0x06, 0x3e, 0x0b, 0x63, 0x07, 0x06, 0xa6, 0xa8, 0x4a, 0x16, 0xe6, 0x7c, 0x02, 0x14, 0x9f, 0x13, + 0x62, 0x37, 0x8e, 0x22, 0xfe, 0x6c, 0x3e, 0xbf, 0xcf, 0x3d, 0xcf, 0xfb, 0xf8, 0x79, 0xcf, 0x07, + 0x0e, 0xa8, 0x65, 0x23, 0x9b, 0xf9, 0x18, 0xd9, 0x5d, 0x8a, 0xbd, 0x00, 0xf5, 0xeb, 0x28, 0x78, + 0x0f, 0x7b, 0x3e, 0x0b, 0x98, 0x2c, 0x53, 0xcb, 0x86, 0xd3, 0x22, 0x14, 0x45, 0xd8, 0xaf, 0x2b, + 0x65, 0xc2, 0x08, 0x8b, 0xca, 0x68, 0xfa, 0x24, 0x90, 0xca, 0x3e, 0x61, 0x8c, 0x74, 0x31, 0x8a, + 0x56, 0x56, 0x78, 0x85, 0x4c, 0x6f, 0x20, 0x4a, 0xfa, 0xad, 0x04, 0xb6, 0x5b, 0x9c, 0x5c, 0xf8, + 0xd8, 0x0c, 0xf0, 0x45, 0xc4, 0x23, 0xbf, 0x00, 0x25, 0xc1, 0xd8, 0xe6, 0x81, 0x19, 0xe0, 0x8a, + 0x54, 0x95, 0x6a, 0x5b, 0x8d, 0x32, 0x14, 0x2c, 0x70, 0xc6, 0x02, 0x9f, 0x79, 0x83, 0xe6, 0xde, + 0x64, 0xa8, 0x3d, 0x18, 0x98, 0x6e, 0xf7, 0x5c, 0x5f, 0xdc, 0xa3, 0x1b, 0x5b, 0x62, 0x79, 0x39, + 0x5d, 0xc9, 0xaf, 0xc1, 0xb6, 0xcd, 0x3c, 0x8e, 0x3d, 0x1e, 0xf2, 0x98, 0x74, 0x63, 0x05, 0xa9, + 0x32, 0x19, 0x6a, 0xbb, 0x31, 0x69, 0x72, 0x9b, 0x6e, 0xdc, 0x9f, 0xbf, 0x11, 0xd4, 0xbb, 0xa0, + 0xc0, 0x29, 0xf1, 0xb0, 0x5f, 0xc9, 0x57, 0xa5, 0x5a, 0xd1, 0x88, 0x57, 0xe7, 0x9b, 0x1f, 0xae, + 0xb5, 0xdc, 0x8f, 0x6b, 0x2d, 0xa7, 0xef, 0x83, 0xbd, 0x94, 0x43, 0x03, 0xf3, 0xde, 0x94, 0x45, + 0xff, 0x24, 0xdc, 0xbf, 0xea, 0x39, 0xbf, 0xdc, 0xd7, 0x41, 0x31, 0x76, 0x42, 0x9d, 0xc8, 0x7a, + 0xb1, 0x59, 0x9e, 0x0c, 0xb5, 0x9d, 0x84, 0x49, 0xea, 0xe8, 0xc6, 0xa6, 0x78, 0x7e, 0xee, 0xc8, + 0xc7, 0xa0, 0xd0, 0xc1, 0xa6, 0x83, 0xfd, 0x55, 0xae, 0x8c, 0x18, 0xb3, 0x76, 0xc7, 0x8b, 0x5d, + 0xcd, 0x3b, 0xfe, 0x96, 0x07, 0x3b, 0x51, 0x8d, 0xf8, 0xa6, 0xf3, 0x07, 0x2d, 0xa7, 0x33, 0xde, + 0xf8, 0x17, 0x19, 0xe7, 0xff, 0x52, 0xc6, 0x2f, 0x41, 0xb9, 0xe7, 0x33, 0x76, 0xd5, 0x0e, 0x85, + 0xed, 0xb6, 0xd0, 0xad, 0xfc, 0x57, 0x95, 0x6a, 0xa5, 0xa6, 0x36, 0x19, 0x6a, 0x07, 0x82, 0x69, + 0x19, 0x4a, 0x37, 0xe4, 0xe8, 0x75, 0xf2, 0x93, 0xbd, 0x03, 0x87, 0x29, 0x70, 0xaa, 0xf7, 0xff, + 0x23, 0xee, 0xda, 0x64, 0xa8, 0x1d, 0x2d, 0xe5, 0x4e, 0xf7, 0xac, 0x24, 0x44, 0xb2, 0x66, 0xb4, + 0x90, 0x91, 0xb8, 0x02, 0x2a, 0xe9, 0x54, 0xe7, 0x91, 0x7f, 0x91, 0xc0, 0xc3, 0x16, 0x27, 0x97, + 0xa1, 0xe5, 0xd2, 0xa0, 0x45, 0xb9, 0x85, 0x3b, 0x66, 0x9f, 0xb2, 0xd0, 0xff, 0x9d, 0xdc, 0xcf, + 0x40, 0xc9, 0x5d, 0xa0, 0x58, 0x39, 0xb0, 0x09, 0xe4, 0x1a, 0x63, 0xab, 0x81, 0xc3, 0xa5, 0x7d, + 0xce, 0x9c, 0x34, 0x3e, 0xe7, 0x41, 0xbe, 0xc5, 0x89, 0xfc, 0x16, 0x94, 0x12, 0x3f, 0x9c, 0x47, + 0xf0, 0xee, 0xaf, 0x0c, 0xa6, 0xce, 0xac, 0xf2, 0x64, 0x0d, 0xd0, 0x4c, 0x69, 0xaa, 0x90, 0x38, + 0xd4, 0x59, 0x0a, 0x8b, 0xa0, 0x4c, 0x85, 0x65, 0x07, 0x51, 0xb6, 0xc1, 0xbd, 0xe4, 0x44, 0x1d, + 0x65, 0xee, 0x5e, 0x40, 0x29, 0xc7, 0xeb, 0xa0, 0xe6, 0x22, 0x3e, 0x90, 0x97, 0xc4, 0xfe, 0x38, + 0x83, 0xe3, 0x2e, 0x54, 0xa9, 0xaf, 0x0d, 0x9d, 0x69, 0x36, 0x8d, 0xaf, 0x23, 0x55, 0xba, 0x19, + 0xa9, 0xd2, 0xed, 0x48, 0x95, 0x3e, 0x8e, 0xd5, 0xdc, 0xcd, 0x58, 0xcd, 0x7d, 0x1f, 0xab, 0xb9, + 0x37, 0x67, 0x84, 0x06, 0x9d, 0xd0, 0x82, 0x36, 0x73, 0x91, 0xcd, 0xb8, 0xcb, 0x38, 0xa2, 0x96, + 0x7d, 0x42, 0x18, 0xea, 0x9f, 0x22, 0x97, 0x39, 0x61, 0x17, 0x73, 0x71, 0x5b, 0x3d, 0x6d, 0x9c, + 0xc4, 0x17, 0x56, 0x30, 0xe8, 0x61, 0x6e, 0x15, 0xa2, 0xb9, 0x3a, 0xfd, 0x19, 0x00, 0x00, 0xff, + 0xff, 0x64, 0xe7, 0xce, 0xe6, 0xd0, 0x06, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. diff --git a/modules/core/03-connection/client/cli/cli.go b/modules/core/03-connection/client/cli/cli.go index 7c532aa9ead..d31649cf8ef 100644 --- a/modules/core/03-connection/client/cli/cli.go +++ b/modules/core/03-connection/client/cli/cli.go @@ -3,7 +3,7 @@ package cli import ( "github.com/spf13/cobra" - "github.com/cosmos/ibc-go/v2/modules/core/03-connection/types" + "github.com/cosmos/ibc-go/v3/modules/core/03-connection/types" ) // GetQueryCmd returns the query commands for IBC connections diff --git a/modules/core/03-connection/client/cli/query.go b/modules/core/03-connection/client/cli/query.go index 87062ca89f9..8d5cca7edfa 100644 --- a/modules/core/03-connection/client/cli/query.go +++ b/modules/core/03-connection/client/cli/query.go @@ -8,9 +8,9 @@ import ( "github.com/cosmos/cosmos-sdk/client" "github.com/cosmos/cosmos-sdk/client/flags" "github.com/cosmos/cosmos-sdk/version" - "github.com/cosmos/ibc-go/v2/modules/core/03-connection/client/utils" - "github.com/cosmos/ibc-go/v2/modules/core/03-connection/types" - host "github.com/cosmos/ibc-go/v2/modules/core/24-host" + "github.com/cosmos/ibc-go/v3/modules/core/03-connection/client/utils" + "github.com/cosmos/ibc-go/v3/modules/core/03-connection/types" + host "github.com/cosmos/ibc-go/v3/modules/core/24-host" ) // GetCmdQueryConnections defines the command to query all the connection ends diff --git a/modules/core/03-connection/client/utils/utils.go b/modules/core/03-connection/client/utils/utils.go index 637b835ebdb..675fd2e5534 100644 --- a/modules/core/03-connection/client/utils/utils.go +++ b/modules/core/03-connection/client/utils/utils.go @@ -10,13 +10,13 @@ import ( "github.com/cosmos/cosmos-sdk/client" "github.com/cosmos/cosmos-sdk/codec" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" - clientutils "github.com/cosmos/ibc-go/v2/modules/core/02-client/client/utils" - clienttypes "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" - "github.com/cosmos/ibc-go/v2/modules/core/03-connection/types" - commitmenttypes "github.com/cosmos/ibc-go/v2/modules/core/23-commitment/types" - host "github.com/cosmos/ibc-go/v2/modules/core/24-host" - ibcclient "github.com/cosmos/ibc-go/v2/modules/core/client" - "github.com/cosmos/ibc-go/v2/modules/core/exported" + clientutils "github.com/cosmos/ibc-go/v3/modules/core/02-client/client/utils" + clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" + "github.com/cosmos/ibc-go/v3/modules/core/03-connection/types" + commitmenttypes "github.com/cosmos/ibc-go/v3/modules/core/23-commitment/types" + host "github.com/cosmos/ibc-go/v3/modules/core/24-host" + ibcclient "github.com/cosmos/ibc-go/v3/modules/core/client" + "github.com/cosmos/ibc-go/v3/modules/core/exported" ) // QueryConnection returns a connection end. diff --git a/modules/core/03-connection/genesis.go b/modules/core/03-connection/genesis.go index 4146427e72e..b52fffde7ba 100644 --- a/modules/core/03-connection/genesis.go +++ b/modules/core/03-connection/genesis.go @@ -2,8 +2,8 @@ package connection import ( sdk "github.com/cosmos/cosmos-sdk/types" - "github.com/cosmos/ibc-go/v2/modules/core/03-connection/keeper" - "github.com/cosmos/ibc-go/v2/modules/core/03-connection/types" + "github.com/cosmos/ibc-go/v3/modules/core/03-connection/keeper" + "github.com/cosmos/ibc-go/v3/modules/core/03-connection/types" ) // InitGenesis initializes the ibc connection submodule's state from a provided genesis diff --git a/modules/core/03-connection/keeper/grpc_query.go b/modules/core/03-connection/keeper/grpc_query.go index 0f0b56cee26..e568b50209b 100644 --- a/modules/core/03-connection/keeper/grpc_query.go +++ b/modules/core/03-connection/keeper/grpc_query.go @@ -10,9 +10,9 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" "github.com/cosmos/cosmos-sdk/types/query" - clienttypes "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" - "github.com/cosmos/ibc-go/v2/modules/core/03-connection/types" - host "github.com/cosmos/ibc-go/v2/modules/core/24-host" + clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" + "github.com/cosmos/ibc-go/v3/modules/core/03-connection/types" + host "github.com/cosmos/ibc-go/v3/modules/core/24-host" ) var _ types.QueryServer = Keeper{} diff --git a/modules/core/03-connection/keeper/grpc_query_test.go b/modules/core/03-connection/keeper/grpc_query_test.go index 767cc6efc00..d101bea47f8 100644 --- a/modules/core/03-connection/keeper/grpc_query_test.go +++ b/modules/core/03-connection/keeper/grpc_query_test.go @@ -5,10 +5,10 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" "github.com/cosmos/cosmos-sdk/types/query" - clienttypes "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" - "github.com/cosmos/ibc-go/v2/modules/core/03-connection/types" - "github.com/cosmos/ibc-go/v2/modules/core/exported" - ibctesting "github.com/cosmos/ibc-go/v2/testing" + clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" + "github.com/cosmos/ibc-go/v3/modules/core/03-connection/types" + "github.com/cosmos/ibc-go/v3/modules/core/exported" + ibctesting "github.com/cosmos/ibc-go/v3/testing" ) func (suite *KeeperTestSuite) TestQueryConnection() { diff --git a/modules/core/03-connection/keeper/handshake.go b/modules/core/03-connection/keeper/handshake.go index 1dab8821ae5..31936519055 100644 --- a/modules/core/03-connection/keeper/handshake.go +++ b/modules/core/03-connection/keeper/handshake.go @@ -8,10 +8,10 @@ import ( "github.com/cosmos/cosmos-sdk/telemetry" sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" - clienttypes "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" - "github.com/cosmos/ibc-go/v2/modules/core/03-connection/types" - commitmenttypes "github.com/cosmos/ibc-go/v2/modules/core/23-commitment/types" - "github.com/cosmos/ibc-go/v2/modules/core/exported" + clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" + "github.com/cosmos/ibc-go/v3/modules/core/03-connection/types" + commitmenttypes "github.com/cosmos/ibc-go/v3/modules/core/23-commitment/types" + "github.com/cosmos/ibc-go/v3/modules/core/exported" ) // ConnOpenInit initialises a connection attempt on chain A. The generated connection identifier diff --git a/modules/core/03-connection/keeper/handshake_test.go b/modules/core/03-connection/keeper/handshake_test.go index dfcfb959fe6..6f5dfbce1d9 100644 --- a/modules/core/03-connection/keeper/handshake_test.go +++ b/modules/core/03-connection/keeper/handshake_test.go @@ -3,12 +3,12 @@ package keeper_test import ( "time" - clienttypes "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" - "github.com/cosmos/ibc-go/v2/modules/core/03-connection/types" - host "github.com/cosmos/ibc-go/v2/modules/core/24-host" - "github.com/cosmos/ibc-go/v2/modules/core/exported" - ibctmtypes "github.com/cosmos/ibc-go/v2/modules/light-clients/07-tendermint/types" - ibctesting "github.com/cosmos/ibc-go/v2/testing" + clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" + "github.com/cosmos/ibc-go/v3/modules/core/03-connection/types" + host "github.com/cosmos/ibc-go/v3/modules/core/24-host" + "github.com/cosmos/ibc-go/v3/modules/core/exported" + ibctmtypes "github.com/cosmos/ibc-go/v3/modules/light-clients/07-tendermint/types" + ibctesting "github.com/cosmos/ibc-go/v3/testing" ) // TestConnOpenInit - chainA initializes (INIT state) a connection with diff --git a/modules/core/03-connection/keeper/keeper.go b/modules/core/03-connection/keeper/keeper.go index b4325b7244f..0757f0d5379 100644 --- a/modules/core/03-connection/keeper/keeper.go +++ b/modules/core/03-connection/keeper/keeper.go @@ -7,11 +7,11 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" paramtypes "github.com/cosmos/cosmos-sdk/x/params/types" - clienttypes "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" - "github.com/cosmos/ibc-go/v2/modules/core/03-connection/types" - commitmenttypes "github.com/cosmos/ibc-go/v2/modules/core/23-commitment/types" - host "github.com/cosmos/ibc-go/v2/modules/core/24-host" - "github.com/cosmos/ibc-go/v2/modules/core/exported" + clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" + "github.com/cosmos/ibc-go/v3/modules/core/03-connection/types" + commitmenttypes "github.com/cosmos/ibc-go/v3/modules/core/23-commitment/types" + host "github.com/cosmos/ibc-go/v3/modules/core/24-host" + "github.com/cosmos/ibc-go/v3/modules/core/exported" ) // Keeper defines the IBC connection keeper diff --git a/modules/core/03-connection/keeper/keeper_test.go b/modules/core/03-connection/keeper/keeper_test.go index 9482d47e8a8..750246e0406 100644 --- a/modules/core/03-connection/keeper/keeper_test.go +++ b/modules/core/03-connection/keeper/keeper_test.go @@ -6,8 +6,8 @@ import ( "github.com/stretchr/testify/suite" - "github.com/cosmos/ibc-go/v2/modules/core/03-connection/types" - ibctesting "github.com/cosmos/ibc-go/v2/testing" + "github.com/cosmos/ibc-go/v3/modules/core/03-connection/types" + ibctesting "github.com/cosmos/ibc-go/v3/testing" ) type KeeperTestSuite struct { diff --git a/modules/core/03-connection/keeper/params.go b/modules/core/03-connection/keeper/params.go index 2e52317fbca..f035bec3a3e 100644 --- a/modules/core/03-connection/keeper/params.go +++ b/modules/core/03-connection/keeper/params.go @@ -2,7 +2,7 @@ package keeper import ( sdk "github.com/cosmos/cosmos-sdk/types" - "github.com/cosmos/ibc-go/v2/modules/core/03-connection/types" + "github.com/cosmos/ibc-go/v3/modules/core/03-connection/types" ) // GetMaxExpectedTimePerBlock retrieves the maximum expected time per block from the paramstore diff --git a/modules/core/03-connection/keeper/params_test.go b/modules/core/03-connection/keeper/params_test.go index a4848599b76..21d628fa6fc 100644 --- a/modules/core/03-connection/keeper/params_test.go +++ b/modules/core/03-connection/keeper/params_test.go @@ -1,7 +1,7 @@ package keeper_test import ( - "github.com/cosmos/ibc-go/v2/modules/core/03-connection/types" + "github.com/cosmos/ibc-go/v3/modules/core/03-connection/types" ) func (suite *KeeperTestSuite) TestParams() { diff --git a/modules/core/03-connection/keeper/verify.go b/modules/core/03-connection/keeper/verify.go index f696b2cb1b4..529fde6248d 100644 --- a/modules/core/03-connection/keeper/verify.go +++ b/modules/core/03-connection/keeper/verify.go @@ -5,8 +5,8 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" - clienttypes "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" - "github.com/cosmos/ibc-go/v2/modules/core/exported" + clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" + "github.com/cosmos/ibc-go/v3/modules/core/exported" ) // VerifyClientState verifies a proof of a client state of the running machine diff --git a/modules/core/03-connection/keeper/verify_test.go b/modules/core/03-connection/keeper/verify_test.go index b3fb7d49c0f..df9e6a5d69d 100644 --- a/modules/core/03-connection/keeper/verify_test.go +++ b/modules/core/03-connection/keeper/verify_test.go @@ -4,14 +4,14 @@ import ( "fmt" "time" - clienttypes "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" - "github.com/cosmos/ibc-go/v2/modules/core/03-connection/types" - channeltypes "github.com/cosmos/ibc-go/v2/modules/core/04-channel/types" - host "github.com/cosmos/ibc-go/v2/modules/core/24-host" - "github.com/cosmos/ibc-go/v2/modules/core/exported" - ibctmtypes "github.com/cosmos/ibc-go/v2/modules/light-clients/07-tendermint/types" - ibctesting "github.com/cosmos/ibc-go/v2/testing" - ibcmock "github.com/cosmos/ibc-go/v2/testing/mock" + clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" + "github.com/cosmos/ibc-go/v3/modules/core/03-connection/types" + channeltypes "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types" + host "github.com/cosmos/ibc-go/v3/modules/core/24-host" + "github.com/cosmos/ibc-go/v3/modules/core/exported" + ibctmtypes "github.com/cosmos/ibc-go/v3/modules/light-clients/07-tendermint/types" + ibctesting "github.com/cosmos/ibc-go/v3/testing" + ibcmock "github.com/cosmos/ibc-go/v3/testing/mock" ) var defaultTimeoutHeight = clienttypes.NewHeight(0, 100000) diff --git a/modules/core/03-connection/module.go b/modules/core/03-connection/module.go index ffbbeac52f8..8bfa8ed6017 100644 --- a/modules/core/03-connection/module.go +++ b/modules/core/03-connection/module.go @@ -4,8 +4,8 @@ import ( "github.com/gogo/protobuf/grpc" "github.com/spf13/cobra" - "github.com/cosmos/ibc-go/v2/modules/core/03-connection/client/cli" - "github.com/cosmos/ibc-go/v2/modules/core/03-connection/types" + "github.com/cosmos/ibc-go/v3/modules/core/03-connection/client/cli" + "github.com/cosmos/ibc-go/v3/modules/core/03-connection/types" ) // Name returns the IBC connection ICS name. diff --git a/modules/core/03-connection/simulation/decoder.go b/modules/core/03-connection/simulation/decoder.go index 09873008794..5866310a2b0 100644 --- a/modules/core/03-connection/simulation/decoder.go +++ b/modules/core/03-connection/simulation/decoder.go @@ -6,8 +6,8 @@ import ( "github.com/cosmos/cosmos-sdk/codec" "github.com/cosmos/cosmos-sdk/types/kv" - "github.com/cosmos/ibc-go/v2/modules/core/03-connection/types" - host "github.com/cosmos/ibc-go/v2/modules/core/24-host" + "github.com/cosmos/ibc-go/v3/modules/core/03-connection/types" + host "github.com/cosmos/ibc-go/v3/modules/core/24-host" ) // NewDecodeStore returns a decoder function closure that unmarshals the KVPair's diff --git a/modules/core/03-connection/simulation/decoder_test.go b/modules/core/03-connection/simulation/decoder_test.go index c5707c102e1..fcc8e2a18d8 100644 --- a/modules/core/03-connection/simulation/decoder_test.go +++ b/modules/core/03-connection/simulation/decoder_test.go @@ -7,10 +7,10 @@ import ( "github.com/stretchr/testify/require" "github.com/cosmos/cosmos-sdk/types/kv" - "github.com/cosmos/ibc-go/v2/modules/core/03-connection/simulation" - "github.com/cosmos/ibc-go/v2/modules/core/03-connection/types" - host "github.com/cosmos/ibc-go/v2/modules/core/24-host" - "github.com/cosmos/ibc-go/v2/testing/simapp" + "github.com/cosmos/ibc-go/v3/modules/core/03-connection/simulation" + "github.com/cosmos/ibc-go/v3/modules/core/03-connection/types" + host "github.com/cosmos/ibc-go/v3/modules/core/24-host" + "github.com/cosmos/ibc-go/v3/testing/simapp" ) func TestDecodeStore(t *testing.T) { diff --git a/modules/core/03-connection/simulation/genesis.go b/modules/core/03-connection/simulation/genesis.go index 12b8eeaf4e4..339dba01a8c 100644 --- a/modules/core/03-connection/simulation/genesis.go +++ b/modules/core/03-connection/simulation/genesis.go @@ -4,7 +4,7 @@ import ( "math/rand" simtypes "github.com/cosmos/cosmos-sdk/types/simulation" - "github.com/cosmos/ibc-go/v2/modules/core/03-connection/types" + "github.com/cosmos/ibc-go/v3/modules/core/03-connection/types" ) // GenConnectionGenesis returns the default connection genesis state. diff --git a/modules/core/03-connection/types/codec.go b/modules/core/03-connection/types/codec.go index 90292d004f6..a6f3178713d 100644 --- a/modules/core/03-connection/types/codec.go +++ b/modules/core/03-connection/types/codec.go @@ -5,7 +5,7 @@ import ( codectypes "github.com/cosmos/cosmos-sdk/codec/types" sdk "github.com/cosmos/cosmos-sdk/types" "github.com/cosmos/cosmos-sdk/types/msgservice" - "github.com/cosmos/ibc-go/v2/modules/core/exported" + "github.com/cosmos/ibc-go/v3/modules/core/exported" ) // RegisterInterfaces register the ibc interfaces submodule implementations to protobuf diff --git a/modules/core/03-connection/types/connection.go b/modules/core/03-connection/types/connection.go index 4bf613c3f99..e5482f84d5b 100644 --- a/modules/core/03-connection/types/connection.go +++ b/modules/core/03-connection/types/connection.go @@ -2,9 +2,9 @@ package types import ( sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" - commitmenttypes "github.com/cosmos/ibc-go/v2/modules/core/23-commitment/types" - host "github.com/cosmos/ibc-go/v2/modules/core/24-host" - "github.com/cosmos/ibc-go/v2/modules/core/exported" + commitmenttypes "github.com/cosmos/ibc-go/v3/modules/core/23-commitment/types" + host "github.com/cosmos/ibc-go/v3/modules/core/24-host" + "github.com/cosmos/ibc-go/v3/modules/core/exported" ) var _ exported.ConnectionI = (*ConnectionEnd)(nil) diff --git a/modules/core/03-connection/types/connection.pb.go b/modules/core/03-connection/types/connection.pb.go index 6ac54a6d8da..d198ef2d8fe 100644 --- a/modules/core/03-connection/types/connection.pb.go +++ b/modules/core/03-connection/types/connection.pb.go @@ -5,7 +5,7 @@ package types import ( fmt "fmt" - types "github.com/cosmos/ibc-go/v2/modules/core/23-commitment/types" + types "github.com/cosmos/ibc-go/v3/modules/core/23-commitment/types" _ "github.com/gogo/protobuf/gogoproto" proto "github.com/gogo/protobuf/proto" io "io" @@ -421,7 +421,7 @@ var fileDescriptor_90572467c054e43a = []byte{ // 716 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x55, 0x4f, 0x6f, 0xd2, 0x60, 0x18, 0xa7, 0xa5, 0x30, 0x78, 0x19, 0x8a, 0x95, 0xb8, 0x06, 0xb3, 0xb6, 0xa9, 0x46, 0x89, 0xc9, - 0xa8, 0xb0, 0xc4, 0xc3, 0xd4, 0xc3, 0x60, 0x98, 0x34, 0x2a, 0x92, 0x8e, 0x2d, 0x71, 0x17, 0x52, + 0xa8, 0x8c, 0xc4, 0xc3, 0xd4, 0xc3, 0x60, 0x98, 0x34, 0x2a, 0x92, 0x8e, 0x2d, 0x71, 0x17, 0x52, 0xda, 0x77, 0xec, 0xcd, 0x68, 0x5f, 0xd2, 0xbe, 0x10, 0xf8, 0x06, 0xcb, 0x4e, 0x5e, 0x3d, 0x2c, 0x31, 0xf1, 0xbb, 0x98, 0xc5, 0xd3, 0x8e, 0x9e, 0x88, 0xd9, 0xae, 0x9e, 0xf8, 0x04, 0xa6, 0x7d, 0x0b, 0x74, 0x8b, 0x33, 0xd9, 0xf4, 0xf6, 0x3c, 0xfd, 0xfd, 0xe1, 0x79, 0x7e, 0x3c, 0x14, 0xf0, @@ -431,39 +431,39 @@ var fileDescriptor_90572467c054e43a = []byte{ 0x22, 0x36, 0x74, 0x08, 0xb5, 0x9d, 0x75, 0x94, 0xa8, 0x7c, 0x63, 0x41, 0xb6, 0x36, 0x37, 0xac, 0x3b, 0x16, 0x5f, 0x06, 0x69, 0xb3, 0x87, 0xa0, 0x43, 0xda, 0xc8, 0x12, 0x18, 0x99, 0x29, 0xa6, 0xab, 0xf9, 0xe9, 0x44, 0xca, 0x8d, 0x0d, 0xbb, 0xb7, 0xa1, 0xcc, 0x21, 0x45, 0x4f, 0xd1, 0x5a, - 0xb3, 0xf8, 0x97, 0x20, 0x35, 0x84, 0xae, 0x87, 0xb0, 0xe3, 0x09, 0xac, 0x1c, 0x2f, 0x66, 0x2a, - 0x52, 0xe9, 0xcf, 0xe3, 0x96, 0x76, 0x29, 0x4f, 0x9f, 0x0b, 0xf8, 0x75, 0x90, 0xf0, 0x88, 0x41, - 0xa0, 0x10, 0x97, 0x99, 0xe2, 0x9d, 0xca, 0xea, 0x75, 0xca, 0x6d, 0x9f, 0xa4, 0x53, 0x2e, 0xdf, - 0x00, 0xcb, 0x26, 0x1e, 0x38, 0x04, 0xba, 0x7d, 0xc3, 0x25, 0x63, 0x81, 0x93, 0x99, 0x62, 0xa6, - 0xf2, 0xf8, 0x3a, 0x6d, 0x2d, 0xc2, 0xad, 0x72, 0xa7, 0x13, 0x29, 0xa6, 0x5f, 0xd2, 0xf3, 0x1b, - 0x60, 0xd9, 0x82, 0x3d, 0x63, 0xdc, 0xee, 0x43, 0x17, 0x61, 0x4b, 0x48, 0xc8, 0x4c, 0x91, 0xab, - 0xae, 0x4c, 0x27, 0xd2, 0x7d, 0xba, 0x77, 0x14, 0x55, 0xf4, 0x4c, 0xd0, 0x36, 0x83, 0x6e, 0x83, - 0x3b, 0xfa, 0x22, 0xc5, 0x94, 0x5f, 0x2c, 0xc8, 0x6b, 0x16, 0x74, 0x08, 0xda, 0x47, 0xd0, 0x5a, - 0x44, 0xca, 0xaf, 0x02, 0x76, 0x1e, 0x64, 0x76, 0x3a, 0x91, 0xd2, 0xd4, 0xd0, 0x4f, 0x90, 0x45, - 0x57, 0xe2, 0x66, 0x6f, 0x1c, 0x77, 0xfc, 0xd6, 0x71, 0x73, 0xff, 0x10, 0x77, 0xe2, 0x3f, 0xc7, - 0x9d, 0xbc, 0x71, 0xdc, 0xdf, 0x19, 0xb0, 0x1c, 0xfd, 0x98, 0xdb, 0x9c, 0xed, 0x6b, 0x90, 0x5d, - 0xcc, 0xbd, 0x88, 0x5f, 0x98, 0x4e, 0xa4, 0x7c, 0x28, 0x8b, 0xc2, 0x8a, 0xbf, 0xc4, 0xac, 0xd7, - 0x2c, 0xbe, 0x0a, 0x92, 0x7d, 0x17, 0xee, 0xa3, 0x51, 0x70, 0xb9, 0x57, 0xe2, 0x98, 0xff, 0xcc, - 0x86, 0xe5, 0xd2, 0x7b, 0xe8, 0x1e, 0xf6, 0x60, 0x33, 0xe0, 0x86, 0x71, 0x84, 0xca, 0x70, 0x99, - 0x47, 0x20, 0x53, 0x0b, 0x86, 0x6a, 0x1a, 0xe4, 0xc0, 0xe3, 0xf3, 0x20, 0xd1, 0xf7, 0x0b, 0x81, - 0x91, 0xe3, 0xc5, 0xb4, 0x4e, 0x1b, 0x65, 0x0f, 0xdc, 0x5d, 0x5c, 0x15, 0x25, 0xde, 0x62, 0xe7, - 0xb9, 0x37, 0x1b, 0xf5, 0x7e, 0x0b, 0x96, 0xc2, 0x4b, 0xe1, 0x45, 0x00, 0xd0, 0xec, 0x8c, 0x5d, - 0x6a, 0xaa, 0x47, 0x9e, 0xf0, 0x05, 0x90, 0xda, 0x87, 0x06, 0x19, 0xb8, 0x70, 0xe6, 0x31, 0xef, - 0xc3, 0x6d, 0x1c, 0x90, 0x6c, 0x1a, 0xae, 0x61, 0x7b, 0xbc, 0x05, 0x1e, 0xda, 0xc6, 0xa8, 0x0d, - 0x47, 0x7d, 0x68, 0x12, 0x68, 0xb5, 0x09, 0xb2, 0xa1, 0xff, 0xa5, 0xb6, 0x3b, 0x3d, 0x6c, 0x1e, - 0x06, 0xe6, 0x5c, 0xf5, 0xc9, 0x74, 0x22, 0x29, 0x74, 0xe2, 0xbf, 0x90, 0x15, 0x7d, 0xc5, 0x36, - 0x46, 0xf5, 0x10, 0x6c, 0x21, 0x1b, 0x36, 0xa1, 0x5b, 0xf5, 0x91, 0x67, 0x9f, 0x19, 0x90, 0x08, - 0xae, 0x95, 0x7f, 0x01, 0xa4, 0xed, 0xd6, 0x66, 0xab, 0xde, 0xde, 0x69, 0x68, 0x0d, 0xad, 0xa5, - 0x6d, 0xbe, 0xd3, 0xf6, 0xea, 0x5b, 0xed, 0x9d, 0xc6, 0x76, 0xb3, 0x5e, 0xd3, 0xde, 0x68, 0xf5, - 0xad, 0x5c, 0xac, 0x70, 0xef, 0xf8, 0x44, 0xce, 0x5e, 0x22, 0xf0, 0x02, 0x00, 0x54, 0xe7, 0x3f, - 0xcc, 0x31, 0x85, 0xd4, 0xf1, 0x89, 0xcc, 0xf9, 0x35, 0x2f, 0x82, 0x2c, 0x45, 0x5a, 0xfa, 0xc7, - 0x0f, 0xcd, 0x7a, 0x23, 0xc7, 0x16, 0x32, 0xc7, 0x27, 0xf2, 0x52, 0xd8, 0x2e, 0x94, 0x01, 0x18, - 0xa7, 0x4a, 0xbf, 0x2e, 0x70, 0x47, 0x5f, 0xc5, 0x58, 0x75, 0xf7, 0xf4, 0x5c, 0x64, 0xce, 0xce, - 0x45, 0xe6, 0xe7, 0xb9, 0xc8, 0x7c, 0xba, 0x10, 0x63, 0x67, 0x17, 0x62, 0xec, 0xc7, 0x85, 0x18, - 0xdb, 0x7b, 0xd5, 0x45, 0xe4, 0x60, 0xd0, 0xf1, 0x4f, 0x45, 0x35, 0xb1, 0x67, 0x63, 0x4f, 0x45, - 0x1d, 0x73, 0xad, 0x8b, 0xd5, 0x61, 0x45, 0xb5, 0xb1, 0x35, 0xe8, 0x41, 0x8f, 0xbe, 0xc1, 0x9f, - 0xaf, 0xaf, 0x45, 0xfe, 0x1b, 0xc8, 0xb8, 0x0f, 0xbd, 0x4e, 0x32, 0x78, 0x7b, 0xaf, 0xff, 0x0e, - 0x00, 0x00, 0xff, 0xff, 0x1a, 0x3a, 0xc8, 0x14, 0x3f, 0x06, 0x00, 0x00, + 0xb3, 0xf8, 0x97, 0x20, 0x35, 0x84, 0xae, 0x87, 0xb0, 0xe3, 0x09, 0xac, 0x1c, 0x2f, 0x66, 0xd6, + 0xa5, 0xd2, 0x9f, 0xc7, 0x2d, 0xed, 0x52, 0x9e, 0x3e, 0x17, 0xf0, 0x15, 0x90, 0xf0, 0x88, 0x41, + 0xa0, 0x10, 0x97, 0x99, 0xe2, 0x9d, 0xf5, 0xd5, 0xeb, 0x94, 0xdb, 0x3e, 0x49, 0xa7, 0x5c, 0xbe, + 0x01, 0x96, 0x4d, 0x3c, 0x70, 0x08, 0x74, 0xfb, 0x86, 0x4b, 0xc6, 0x02, 0x27, 0x33, 0xc5, 0xcc, + 0xfa, 0xe3, 0xeb, 0xb4, 0xb5, 0x08, 0xb7, 0xca, 0x9d, 0x4e, 0xa4, 0x98, 0x7e, 0x49, 0xcf, 0x6f, + 0x80, 0x65, 0x0b, 0xf6, 0x8c, 0x71, 0xbb, 0x0f, 0x5d, 0x84, 0x2d, 0x21, 0x21, 0x33, 0x45, 0xae, + 0xba, 0x32, 0x9d, 0x48, 0xf7, 0xe9, 0xde, 0x51, 0x54, 0xd1, 0x33, 0x41, 0xdb, 0x0c, 0xba, 0x0d, + 0xee, 0xe8, 0x8b, 0x14, 0x53, 0x7e, 0xb1, 0x20, 0xaf, 0x59, 0xd0, 0x21, 0x68, 0x1f, 0x41, 0x6b, + 0x11, 0x29, 0xbf, 0x0a, 0xd8, 0x79, 0x90, 0xd9, 0xe9, 0x44, 0x4a, 0x53, 0x43, 0x3f, 0x41, 0x16, + 0x5d, 0x89, 0x9b, 0xbd, 0x71, 0xdc, 0xf1, 0x5b, 0xc7, 0xcd, 0xfd, 0x43, 0xdc, 0x89, 0xff, 0x1c, + 0x77, 0xf2, 0xc6, 0x71, 0x7f, 0x67, 0xc0, 0x72, 0xf4, 0x63, 0x6e, 0x73, 0xb6, 0xaf, 0x41, 0x76, + 0x31, 0xf7, 0x22, 0x7e, 0x61, 0x3a, 0x91, 0xf2, 0xa1, 0x2c, 0x0a, 0x2b, 0xfe, 0x12, 0xb3, 0x5e, + 0xb3, 0xf8, 0x2a, 0x48, 0xf6, 0x5d, 0xb8, 0x8f, 0x46, 0xc1, 0xe5, 0x5e, 0x89, 0x63, 0xfe, 0x33, + 0x1b, 0x96, 0x4b, 0xef, 0xa1, 0x7b, 0xd8, 0x83, 0xcd, 0x80, 0x1b, 0xc6, 0x11, 0x2a, 0xc3, 0x65, + 0x1e, 0x81, 0x4c, 0x2d, 0x18, 0xaa, 0x69, 0x90, 0x03, 0x8f, 0xcf, 0x83, 0x44, 0xdf, 0x2f, 0x04, + 0x46, 0x8e, 0x17, 0xd3, 0x3a, 0x6d, 0x94, 0x3d, 0x70, 0x77, 0x71, 0x55, 0x94, 0x78, 0x8b, 0x9d, + 0xe7, 0xde, 0x6c, 0xd4, 0xfb, 0x2d, 0x58, 0x0a, 0x2f, 0x85, 0x17, 0x01, 0x40, 0xb3, 0x33, 0x76, + 0xa9, 0xa9, 0x1e, 0x79, 0xc2, 0x17, 0x40, 0x6a, 0x1f, 0x1a, 0x64, 0xe0, 0xc2, 0x99, 0xc7, 0xbc, + 0x0f, 0xb7, 0x71, 0x40, 0xb2, 0x69, 0xb8, 0x86, 0xed, 0xf1, 0x16, 0x78, 0x68, 0x1b, 0xa3, 0x36, + 0x1c, 0xf5, 0xa1, 0x49, 0xa0, 0xd5, 0x26, 0xc8, 0x86, 0xfe, 0x97, 0xda, 0xee, 0xf4, 0xb0, 0x79, + 0x18, 0x98, 0x73, 0xd5, 0x27, 0xd3, 0x89, 0xa4, 0xd0, 0x89, 0xff, 0x42, 0x56, 0xf4, 0x15, 0xdb, + 0x18, 0xd5, 0x43, 0xb0, 0x85, 0x6c, 0xd8, 0x84, 0x6e, 0xd5, 0x47, 0x9e, 0x7d, 0x66, 0x40, 0x22, + 0xb8, 0x56, 0xfe, 0x05, 0x90, 0xb6, 0x5b, 0x9b, 0xad, 0x7a, 0x7b, 0xa7, 0xa1, 0x35, 0xb4, 0x96, + 0xb6, 0xf9, 0x4e, 0xdb, 0xab, 0x6f, 0xb5, 0x77, 0x1a, 0xdb, 0xcd, 0x7a, 0x4d, 0x7b, 0xa3, 0xd5, + 0xb7, 0x72, 0xb1, 0xc2, 0xbd, 0xe3, 0x13, 0x39, 0x7b, 0x89, 0xc0, 0x0b, 0x00, 0x50, 0x9d, 0xff, + 0x30, 0xc7, 0x14, 0x52, 0xc7, 0x27, 0x32, 0xe7, 0xd7, 0xbc, 0x08, 0xb2, 0x14, 0x69, 0xe9, 0x1f, + 0x3f, 0x34, 0xeb, 0x8d, 0x1c, 0x5b, 0xc8, 0x1c, 0x9f, 0xc8, 0x4b, 0x61, 0xbb, 0x50, 0x06, 0x60, + 0x9c, 0x2a, 0xfd, 0xba, 0xc0, 0x1d, 0x7d, 0x15, 0x63, 0xd5, 0xdd, 0xd3, 0x73, 0x91, 0x39, 0x3b, + 0x17, 0x99, 0x9f, 0xe7, 0x22, 0xf3, 0xe9, 0x42, 0x8c, 0x9d, 0x5d, 0x88, 0xb1, 0x1f, 0x17, 0x62, + 0x6c, 0xef, 0x55, 0x17, 0x91, 0x83, 0x41, 0xc7, 0x3f, 0x15, 0xd5, 0xc4, 0x9e, 0x8d, 0x3d, 0x15, + 0x75, 0xcc, 0xb5, 0x2e, 0x56, 0x87, 0x15, 0xd5, 0xc6, 0xd6, 0xa0, 0x07, 0x3d, 0xfa, 0x06, 0x7f, + 0x5e, 0x59, 0x8b, 0xfc, 0x37, 0x90, 0x71, 0x1f, 0x7a, 0x9d, 0x64, 0xf0, 0xf6, 0xae, 0xfc, 0x0e, + 0x00, 0x00, 0xff, 0xff, 0xf4, 0xbe, 0xf1, 0xb5, 0x3f, 0x06, 0x00, 0x00, } func (m *ConnectionEnd) Marshal() (dAtA []byte, err error) { diff --git a/modules/core/03-connection/types/connection_test.go b/modules/core/03-connection/types/connection_test.go index 54e6f4c49bf..08c90be9951 100644 --- a/modules/core/03-connection/types/connection_test.go +++ b/modules/core/03-connection/types/connection_test.go @@ -5,10 +5,10 @@ import ( "github.com/stretchr/testify/require" - clienttypes "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" - "github.com/cosmos/ibc-go/v2/modules/core/03-connection/types" - commitmenttypes "github.com/cosmos/ibc-go/v2/modules/core/23-commitment/types" - ibctesting "github.com/cosmos/ibc-go/v2/testing" + clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" + "github.com/cosmos/ibc-go/v3/modules/core/03-connection/types" + commitmenttypes "github.com/cosmos/ibc-go/v3/modules/core/23-commitment/types" + ibctesting "github.com/cosmos/ibc-go/v3/testing" ) var ( diff --git a/modules/core/03-connection/types/events.go b/modules/core/03-connection/types/events.go index f4f92c3f8db..10fdbeff391 100644 --- a/modules/core/03-connection/types/events.go +++ b/modules/core/03-connection/types/events.go @@ -3,7 +3,7 @@ package types import ( "fmt" - host "github.com/cosmos/ibc-go/v2/modules/core/24-host" + host "github.com/cosmos/ibc-go/v3/modules/core/24-host" ) // IBC connection events diff --git a/modules/core/03-connection/types/expected_keepers.go b/modules/core/03-connection/types/expected_keepers.go index a7627c531f7..e8a284bf30d 100644 --- a/modules/core/03-connection/types/expected_keepers.go +++ b/modules/core/03-connection/types/expected_keepers.go @@ -2,7 +2,7 @@ package types import ( sdk "github.com/cosmos/cosmos-sdk/types" - "github.com/cosmos/ibc-go/v2/modules/core/exported" + "github.com/cosmos/ibc-go/v3/modules/core/exported" ) // ClientKeeper expected account IBC client keeper diff --git a/modules/core/03-connection/types/genesis.go b/modules/core/03-connection/types/genesis.go index d632af3b877..3502c13eb59 100644 --- a/modules/core/03-connection/types/genesis.go +++ b/modules/core/03-connection/types/genesis.go @@ -3,7 +3,7 @@ package types import ( "fmt" - host "github.com/cosmos/ibc-go/v2/modules/core/24-host" + host "github.com/cosmos/ibc-go/v3/modules/core/24-host" ) // NewConnectionPaths creates a ConnectionPaths instance. diff --git a/modules/core/03-connection/types/genesis.pb.go b/modules/core/03-connection/types/genesis.pb.go index 549e00faa98..777d8e50e7d 100644 --- a/modules/core/03-connection/types/genesis.pb.go +++ b/modules/core/03-connection/types/genesis.pb.go @@ -123,8 +123,8 @@ var fileDescriptor_1879d34bc6ac3cd7 = []byte{ 0xbf, 0xd5, 0x4b, 0xa8, 0xfd, 0x5b, 0xed, 0x33, 0xee, 0xfd, 0x72, 0x83, 0xf4, 0xd5, 0x06, 0xe9, 0x9f, 0x1b, 0xa4, 0xbf, 0x6f, 0x91, 0xb6, 0xda, 0x22, 0xed, 0x63, 0x8b, 0xb4, 0x87, 0x6e, 0xc0, 0xd4, 0x78, 0xe6, 0x63, 0x2a, 0x42, 0x42, 0x85, 0x0c, 0x85, 0x24, 0xcc, 0xa7, 0xcd, 0x40, 0x90, - 0x79, 0x9b, 0x84, 0x62, 0x34, 0x9b, 0x80, 0x4c, 0x0f, 0x7e, 0xd9, 0x69, 0x1e, 0xdc, 0x5c, 0x2d, - 0x22, 0x90, 0x7e, 0x29, 0x39, 0x76, 0xe7, 0x2b, 0x00, 0x00, 0xff, 0xff, 0xc3, 0x80, 0x94, 0x16, + 0x79, 0x87, 0x84, 0x62, 0x34, 0x9b, 0x80, 0x4c, 0x0f, 0x7e, 0xd9, 0x69, 0x1e, 0xdc, 0x5c, 0x2d, + 0x22, 0x90, 0x7e, 0x29, 0x39, 0x76, 0xe7, 0x2b, 0x00, 0x00, 0xff, 0xff, 0x2d, 0x04, 0xad, 0xb7, 0x6b, 0x02, 0x00, 0x00, } diff --git a/modules/core/03-connection/types/genesis_test.go b/modules/core/03-connection/types/genesis_test.go index 8fa61bba4c6..db2192385b7 100644 --- a/modules/core/03-connection/types/genesis_test.go +++ b/modules/core/03-connection/types/genesis_test.go @@ -5,9 +5,9 @@ import ( "github.com/stretchr/testify/require" - "github.com/cosmos/ibc-go/v2/modules/core/03-connection/types" - commitmenttypes "github.com/cosmos/ibc-go/v2/modules/core/23-commitment/types" - ibctesting "github.com/cosmos/ibc-go/v2/testing" + "github.com/cosmos/ibc-go/v3/modules/core/03-connection/types" + commitmenttypes "github.com/cosmos/ibc-go/v3/modules/core/23-commitment/types" + ibctesting "github.com/cosmos/ibc-go/v3/testing" ) func TestValidateGenesis(t *testing.T) { diff --git a/modules/core/03-connection/types/keys.go b/modules/core/03-connection/types/keys.go index affe8527a12..019e3907bd9 100644 --- a/modules/core/03-connection/types/keys.go +++ b/modules/core/03-connection/types/keys.go @@ -5,7 +5,7 @@ import ( "regexp" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" - host "github.com/cosmos/ibc-go/v2/modules/core/24-host" + host "github.com/cosmos/ibc-go/v3/modules/core/24-host" ) const ( diff --git a/modules/core/03-connection/types/keys_test.go b/modules/core/03-connection/types/keys_test.go index 197e30573b2..b0478d00703 100644 --- a/modules/core/03-connection/types/keys_test.go +++ b/modules/core/03-connection/types/keys_test.go @@ -6,7 +6,7 @@ import ( "github.com/stretchr/testify/require" - "github.com/cosmos/ibc-go/v2/modules/core/03-connection/types" + "github.com/cosmos/ibc-go/v3/modules/core/03-connection/types" ) // tests ParseConnectionSequence and IsValidConnectionID diff --git a/modules/core/03-connection/types/msgs.go b/modules/core/03-connection/types/msgs.go index 02b764ac461..d2041bd76ba 100644 --- a/modules/core/03-connection/types/msgs.go +++ b/modules/core/03-connection/types/msgs.go @@ -4,10 +4,10 @@ import ( codectypes "github.com/cosmos/cosmos-sdk/codec/types" sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" - clienttypes "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" - commitmenttypes "github.com/cosmos/ibc-go/v2/modules/core/23-commitment/types" - host "github.com/cosmos/ibc-go/v2/modules/core/24-host" - "github.com/cosmos/ibc-go/v2/modules/core/exported" + clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" + commitmenttypes "github.com/cosmos/ibc-go/v3/modules/core/23-commitment/types" + host "github.com/cosmos/ibc-go/v3/modules/core/24-host" + "github.com/cosmos/ibc-go/v3/modules/core/exported" ) var ( diff --git a/modules/core/03-connection/types/msgs_test.go b/modules/core/03-connection/types/msgs_test.go index ec5e79efc9b..423762fc888 100644 --- a/modules/core/03-connection/types/msgs_test.go +++ b/modules/core/03-connection/types/msgs_test.go @@ -13,12 +13,12 @@ import ( "github.com/cosmos/cosmos-sdk/store/iavl" "github.com/cosmos/cosmos-sdk/store/rootmulti" storetypes "github.com/cosmos/cosmos-sdk/store/types" - clienttypes "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" - "github.com/cosmos/ibc-go/v2/modules/core/03-connection/types" - commitmenttypes "github.com/cosmos/ibc-go/v2/modules/core/23-commitment/types" - ibctmtypes "github.com/cosmos/ibc-go/v2/modules/light-clients/07-tendermint/types" - ibctesting "github.com/cosmos/ibc-go/v2/testing" - "github.com/cosmos/ibc-go/v2/testing/simapp" + clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" + "github.com/cosmos/ibc-go/v3/modules/core/03-connection/types" + commitmenttypes "github.com/cosmos/ibc-go/v3/modules/core/23-commitment/types" + ibctmtypes "github.com/cosmos/ibc-go/v3/modules/light-clients/07-tendermint/types" + ibctesting "github.com/cosmos/ibc-go/v3/testing" + "github.com/cosmos/ibc-go/v3/testing/simapp" ) var ( diff --git a/modules/core/03-connection/types/params_test.go b/modules/core/03-connection/types/params_test.go index cc5b3a024f2..a2403966885 100644 --- a/modules/core/03-connection/types/params_test.go +++ b/modules/core/03-connection/types/params_test.go @@ -3,7 +3,7 @@ package types_test import ( "testing" - "github.com/cosmos/ibc-go/v2/modules/core/03-connection/types" + "github.com/cosmos/ibc-go/v3/modules/core/03-connection/types" "github.com/stretchr/testify/require" ) diff --git a/modules/core/03-connection/types/query.go b/modules/core/03-connection/types/query.go index 6853b80dae4..61b9eae66f6 100644 --- a/modules/core/03-connection/types/query.go +++ b/modules/core/03-connection/types/query.go @@ -2,8 +2,8 @@ package types import ( codectypes "github.com/cosmos/cosmos-sdk/codec/types" - clienttypes "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" - "github.com/cosmos/ibc-go/v2/modules/core/exported" + clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" + "github.com/cosmos/ibc-go/v3/modules/core/exported" ) var ( diff --git a/modules/core/03-connection/types/query.pb.go b/modules/core/03-connection/types/query.pb.go index 280618ade16..a3d5cf40410 100644 --- a/modules/core/03-connection/types/query.pb.go +++ b/modules/core/03-connection/types/query.pb.go @@ -8,7 +8,7 @@ import ( fmt "fmt" types1 "github.com/cosmos/cosmos-sdk/codec/types" query "github.com/cosmos/cosmos-sdk/types/query" - types "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" + types "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" _ "github.com/gogo/protobuf/gogoproto" grpc1 "github.com/gogo/protobuf/grpc" proto "github.com/gogo/protobuf/proto" @@ -638,7 +638,7 @@ var fileDescriptor_cd8d529f8c7cd06b = []byte{ // 895 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x56, 0x31, 0x6f, 0x23, 0x45, 0x14, 0xf6, 0x38, 0xb9, 0xd3, 0x65, 0x1c, 0xee, 0x60, 0xe4, 0xbb, 0x33, 0x0b, 0x38, 0x61, 0x8f, - 0x90, 0x1c, 0x70, 0x33, 0x67, 0x47, 0x77, 0x3a, 0x8e, 0x18, 0x81, 0xa3, 0x40, 0xd2, 0x44, 0x61, + 0x90, 0x1c, 0x70, 0x33, 0xe7, 0x58, 0x77, 0x3a, 0x8e, 0x18, 0x81, 0xa3, 0x40, 0xd2, 0x44, 0x61, 0x91, 0x28, 0x68, 0xa2, 0xdd, 0xf5, 0x64, 0xbd, 0x92, 0xbd, 0xe3, 0x78, 0xd6, 0x46, 0x56, 0x64, 0x21, 0xf1, 0x07, 0x40, 0xa2, 0xa1, 0xa1, 0xa5, 0xe0, 0x0f, 0x50, 0xd0, 0x51, 0xa5, 0x8c, 0x44, 0x93, 0x2a, 0x42, 0x0e, 0x2d, 0x0d, 0xbf, 0x00, 0xed, 0xcc, 0x38, 0x3b, 0x6b, 0xaf, 0x13, 0xc7, @@ -653,45 +653,45 @@ var fileDescriptor_cd8d529f8c7cd06b = []byte{ 0x62, 0x07, 0x8a, 0x9c, 0x59, 0x81, 0x0f, 0xbe, 0x88, 0x40, 0x6e, 0x5e, 0xdc, 0x68, 0xd1, 0xc3, 0x0e, 0xe5, 0x21, 0x7a, 0x04, 0x5f, 0x89, 0xdb, 0xec, 0xfb, 0xb5, 0x02, 0x58, 0x06, 0x6b, 0x0b, 0xd6, 0x62, 0x1c, 0xdc, 0xa9, 0x99, 0xbf, 0x03, 0xf8, 0x70, 0xac, 0x9e, 0xb7, 0x58, 0xc0, 0x29, - 0xda, 0x82, 0x30, 0xce, 0x15, 0xd5, 0xb9, 0xf2, 0x0a, 0x4e, 0x17, 0x13, 0xc7, 0xf5, 0x5b, 0x41, - 0xcd, 0xd2, 0x0a, 0x51, 0x1e, 0xde, 0x6a, 0xb5, 0x19, 0x3b, 0x28, 0x64, 0x97, 0xc1, 0xda, 0xa2, - 0x25, 0xff, 0x40, 0x9b, 0x70, 0x51, 0x7c, 0xec, 0xd7, 0xa9, 0xef, 0xd5, 0xc3, 0xc2, 0x9c, 0xb8, - 0xde, 0xd0, 0xae, 0x97, 0x3a, 0x76, 0x4b, 0x78, 0x5b, 0x64, 0x54, 0xe7, 0x8f, 0xcf, 0x96, 0x32, - 0x56, 0x4e, 0x54, 0xc9, 0x90, 0x69, 0x8f, 0x81, 0xe7, 0x43, 0xf6, 0x9f, 0x41, 0x18, 0x8f, 0x4b, - 0x81, 0x7f, 0x17, 0xcb, 0xd9, 0xe2, 0x68, 0xb6, 0x58, 0xae, 0x88, 0x9a, 0x2d, 0xde, 0xb3, 0x3d, - 0xaa, 0x6a, 0x2d, 0xad, 0xd2, 0xfc, 0x07, 0xc0, 0xc2, 0x78, 0x0f, 0xa5, 0xd0, 0x2e, 0xcc, 0xc5, - 0x44, 0x79, 0x01, 0x2c, 0xcf, 0xad, 0xe5, 0xca, 0x1f, 0x4c, 0x92, 0x68, 0xa7, 0x46, 0x83, 0xd0, - 0x3f, 0xf0, 0x69, 0x4d, 0x13, 0x5b, 0xbf, 0x00, 0x7d, 0x9e, 0x00, 0x9d, 0x15, 0xa0, 0x57, 0xaf, - 0x04, 0x2d, 0xc1, 0xe8, 0xa8, 0xd1, 0x0b, 0x78, 0xfb, 0x9a, 0xba, 0xaa, 0x7c, 0x73, 0x03, 0xbe, - 0x25, 0xe9, 0x8a, 0xb4, 0x14, 0x61, 0xdf, 0x80, 0x0b, 0xf2, 0x8a, 0x78, 0xa5, 0xee, 0xc8, 0xc0, - 0x4e, 0xcd, 0xfc, 0x05, 0xc0, 0xe2, 0xa4, 0x72, 0xa5, 0xd9, 0x63, 0xf8, 0xaa, 0xb6, 0x96, 0x2d, - 0x3b, 0xac, 0x4b, 0xe1, 0x16, 0xac, 0x7b, 0x71, 0x7c, 0x2f, 0x0a, 0xdf, 0xe4, 0xe6, 0x38, 0xf0, - 0xed, 0x91, 0xa9, 0x4a, 0xc4, 0x5f, 0x86, 0x76, 0x38, 0xdc, 0x03, 0x54, 0x49, 0x7d, 0x41, 0xd5, - 0xc2, 0xbf, 0x67, 0x4b, 0xf9, 0x9e, 0xdd, 0x6c, 0xbc, 0x34, 0x13, 0xc7, 0xe6, 0xc8, 0xdb, 0x1a, - 0x00, 0x68, 0x5e, 0xd6, 0x44, 0x09, 0x62, 0xc3, 0x87, 0xfe, 0xc5, 0x66, 0xec, 0x2b, 0x6d, 0x79, - 0x94, 0xa2, 0xd6, 0xf6, 0x71, 0x1a, 0x35, 0x6d, 0x99, 0xb4, 0x3b, 0xef, 0xfb, 0x69, 0xe1, 0x9b, - 0x14, 0xf2, 0x37, 0x00, 0xdf, 0x19, 0x25, 0x19, 0xd1, 0x0a, 0x78, 0x87, 0xff, 0x8f, 0x62, 0xa2, - 0x55, 0x78, 0xaf, 0x4d, 0xbb, 0x3e, 0x8f, 0x4e, 0x83, 0x4e, 0xd3, 0xa1, 0x6d, 0x41, 0x66, 0xde, - 0xba, 0x3b, 0x0c, 0xef, 0x8a, 0x68, 0x22, 0x51, 0x23, 0xa6, 0x25, 0x2a, 0xe4, 0x67, 0x00, 0xae, - 0x5c, 0x81, 0x5c, 0x4d, 0xa8, 0x02, 0xa3, 0xd5, 0x94, 0x27, 0x89, 0xc9, 0xe4, 0xb1, 0x34, 0x66, - 0x3c, 0x34, 0x66, 0xfc, 0x69, 0xd0, 0xb3, 0xee, 0xba, 0x89, 0x6b, 0x92, 0x2f, 0x26, 0x9b, 0x7c, - 0x31, 0xf1, 0x68, 0xe6, 0x2e, 0x1b, 0xcd, 0xfc, 0x0c, 0xa3, 0x29, 0x7f, 0x7f, 0x07, 0xde, 0x12, - 0x04, 0xd1, 0xaf, 0x00, 0xc2, 0x98, 0x25, 0xc2, 0x93, 0x1c, 0x2a, 0xfd, 0x97, 0xc4, 0x20, 0x53, - 0xe7, 0x4b, 0xc1, 0xcc, 0x8f, 0xbe, 0xfb, 0xf3, 0xef, 0x1f, 0xb3, 0xcf, 0xd0, 0x3a, 0xb9, 0xf2, - 0xf7, 0x8f, 0x93, 0xa3, 0xc4, 0xdc, 0xfb, 0xe8, 0x67, 0x00, 0x73, 0x9a, 0x71, 0xa0, 0x69, 0xbb, - 0x0f, 0x1d, 0xca, 0x78, 0x3a, 0x7d, 0x81, 0xc2, 0xfb, 0xbe, 0xc0, 0xbb, 0x82, 0x1e, 0x4d, 0x81, - 0x17, 0xfd, 0x01, 0xe0, 0x6b, 0x63, 0xf6, 0x86, 0x9e, 0x5d, 0xde, 0x74, 0x82, 0x9b, 0x1a, 0xcf, - 0xaf, 0x5b, 0xa6, 0x10, 0x7f, 0x2c, 0x10, 0xbf, 0x40, 0xcf, 0x27, 0x22, 0x96, 0x1b, 0x97, 0x14, - 0x7a, 0xb8, 0x85, 0x7d, 0x74, 0x0a, 0xe0, 0xfd, 0x54, 0x5b, 0x42, 0x1f, 0x4e, 0xa9, 0xde, 0xb8, - 0x5f, 0x1a, 0x2f, 0x67, 0x29, 0x55, 0x84, 0xb6, 0x05, 0xa1, 0x2a, 0xfa, 0x64, 0x86, 0x95, 0x21, - 0xba, 0x69, 0xa2, 0x9f, 0xb2, 0xb0, 0x30, 0xe9, 0x49, 0xa3, 0x8d, 0x69, 0x21, 0xa6, 0x79, 0x98, - 0x51, 0x99, 0xb1, 0x5a, 0x71, 0xfc, 0x56, 0x70, 0xec, 0xa1, 0x6f, 0x66, 0xe2, 0x98, 0x74, 0x20, - 0x32, 0x74, 0x33, 0x72, 0x34, 0xe2, 0x8b, 0x7d, 0x22, 0x4d, 0x43, 0x3b, 0x90, 0x81, 0x7e, 0xf5, - 0xab, 0xe3, 0x41, 0x11, 0x9c, 0x0c, 0x8a, 0xe0, 0xaf, 0x41, 0x11, 0xfc, 0x70, 0x5e, 0xcc, 0x9c, - 0x9c, 0x17, 0x33, 0xa7, 0xe7, 0xc5, 0xcc, 0xd7, 0x1b, 0x9e, 0x1f, 0xd6, 0x3b, 0x0e, 0x76, 0x59, - 0x93, 0xa8, 0x7f, 0x80, 0x7d, 0xc7, 0x7d, 0xe2, 0x31, 0xd2, 0x2d, 0x93, 0x26, 0xab, 0x75, 0x1a, - 0x94, 0x4b, 0xc4, 0x4f, 0xd7, 0x9f, 0x68, 0xa0, 0xc3, 0x5e, 0x8b, 0x72, 0xe7, 0xb6, 0xf0, 0xbf, - 0xf5, 0xff, 0x02, 0x00, 0x00, 0xff, 0xff, 0x90, 0x53, 0xd2, 0x89, 0x8e, 0x0b, 0x00, 0x00, + 0xda, 0x82, 0x30, 0xce, 0x15, 0xd5, 0xb9, 0xf5, 0x15, 0x9c, 0x2e, 0x26, 0x8e, 0xeb, 0xb7, 0x82, + 0x9a, 0xa5, 0x15, 0xa2, 0x3c, 0xbc, 0xd5, 0x6a, 0x33, 0x76, 0x50, 0xc8, 0x2e, 0x83, 0xb5, 0x45, + 0x4b, 0xfe, 0x81, 0x36, 0xe1, 0xa2, 0xf8, 0xd8, 0xaf, 0x53, 0xdf, 0xab, 0x87, 0x85, 0x39, 0x71, + 0xbd, 0xa1, 0x5d, 0x2f, 0x75, 0xec, 0x96, 0xf0, 0xb6, 0xc8, 0xa8, 0xce, 0x1f, 0x9f, 0x2d, 0x65, + 0xac, 0x9c, 0xa8, 0x92, 0x21, 0xd3, 0x1e, 0x03, 0xcf, 0x87, 0xec, 0x3f, 0x83, 0x30, 0x1e, 0x97, + 0x02, 0xff, 0x2e, 0x96, 0xb3, 0xc5, 0xd1, 0x6c, 0xb1, 0x5c, 0x11, 0x35, 0x5b, 0xbc, 0x67, 0x7b, + 0x54, 0xd5, 0x5a, 0x5a, 0xa5, 0xf9, 0x0f, 0x80, 0x85, 0xf1, 0x1e, 0x4a, 0xa1, 0x5d, 0x98, 0x8b, + 0x89, 0xf2, 0x02, 0x58, 0x9e, 0x5b, 0xcb, 0xad, 0x7f, 0x30, 0x49, 0xa2, 0x9d, 0x1a, 0x0d, 0x42, + 0xff, 0xc0, 0xa7, 0x35, 0x4d, 0x6c, 0xfd, 0x02, 0xf4, 0x79, 0x02, 0x74, 0x56, 0x80, 0x5e, 0xbd, + 0x12, 0xb4, 0x04, 0xa3, 0xa3, 0x46, 0x2f, 0xe0, 0xed, 0x6b, 0xea, 0xaa, 0xf2, 0xcd, 0x0d, 0xf8, + 0x96, 0xa4, 0x2b, 0xd2, 0x52, 0x84, 0x7d, 0x03, 0x2e, 0xc8, 0x2b, 0xe2, 0x95, 0xba, 0x23, 0x03, + 0x3b, 0x35, 0xf3, 0x17, 0x00, 0x8b, 0x93, 0xca, 0x95, 0x66, 0x8f, 0xe1, 0xab, 0xda, 0x5a, 0xb6, + 0xec, 0xb0, 0x2e, 0x85, 0x5b, 0xb0, 0xee, 0xc5, 0xf1, 0xbd, 0x28, 0x7c, 0x93, 0x9b, 0xe3, 0xc0, + 0xb7, 0x47, 0xa6, 0x2a, 0x11, 0x7f, 0x19, 0xda, 0xe1, 0x70, 0x0f, 0x50, 0x25, 0xf5, 0x05, 0x55, + 0x0b, 0xff, 0x9e, 0x2d, 0xe5, 0x7b, 0x76, 0xb3, 0xf1, 0xd2, 0x4c, 0x1c, 0x9b, 0x23, 0x6f, 0x6b, + 0x00, 0xa0, 0x79, 0x59, 0x13, 0x25, 0x88, 0x0d, 0x1f, 0xfa, 0x17, 0x9b, 0xb1, 0xaf, 0xb4, 0xe5, + 0x51, 0x8a, 0x5a, 0xdb, 0xc7, 0x69, 0xd4, 0xb4, 0x65, 0xd2, 0xee, 0xbc, 0xef, 0xa7, 0x85, 0x6f, + 0x52, 0xc8, 0xdf, 0x00, 0x7c, 0x67, 0x94, 0x64, 0x44, 0x2b, 0xe0, 0x1d, 0xfe, 0x3f, 0x8a, 0x89, + 0x56, 0xe1, 0xbd, 0x36, 0xed, 0xfa, 0x3c, 0x3a, 0x0d, 0x3a, 0x4d, 0x87, 0xb6, 0x05, 0x99, 0x79, + 0xeb, 0xee, 0x30, 0xbc, 0x2b, 0xa2, 0x89, 0x44, 0x8d, 0x98, 0x96, 0xa8, 0x90, 0x9f, 0x01, 0xb8, + 0x72, 0x05, 0x72, 0x35, 0xa1, 0x0a, 0x8c, 0x56, 0x53, 0x9e, 0x24, 0x26, 0x93, 0xc7, 0xd2, 0x98, + 0xf1, 0xd0, 0x98, 0xf1, 0xa7, 0x41, 0xcf, 0xba, 0xeb, 0x26, 0xae, 0x49, 0xbe, 0x98, 0x6c, 0xf2, + 0xc5, 0xc4, 0xa3, 0x99, 0xbb, 0x6c, 0x34, 0xf3, 0x33, 0x8c, 0x66, 0xfd, 0xfb, 0x3b, 0xf0, 0x96, + 0x20, 0x88, 0x7e, 0x05, 0x10, 0xc6, 0x2c, 0x11, 0x9e, 0xe4, 0x50, 0xe9, 0xbf, 0x24, 0x06, 0x99, + 0x3a, 0x5f, 0x0a, 0x66, 0x7e, 0xf4, 0xdd, 0x9f, 0x7f, 0xff, 0x98, 0x7d, 0x86, 0xca, 0xe4, 0xca, + 0xdf, 0x3f, 0x4e, 0x8e, 0x12, 0x73, 0xef, 0xa3, 0x9f, 0x01, 0xcc, 0x69, 0xc6, 0x81, 0xa6, 0xed, + 0x3e, 0x74, 0x28, 0xe3, 0xe9, 0xf4, 0x05, 0x0a, 0xef, 0xfb, 0x02, 0xef, 0x0a, 0x7a, 0x34, 0x05, + 0x5e, 0xf4, 0x07, 0x80, 0xaf, 0x8d, 0xd9, 0x1b, 0x7a, 0x76, 0x79, 0xd3, 0x09, 0x6e, 0x6a, 0x3c, + 0xbf, 0x6e, 0x99, 0x42, 0xfc, 0xb1, 0x40, 0xfc, 0x02, 0x3d, 0x9f, 0x88, 0x58, 0x6e, 0x5c, 0x52, + 0xe8, 0xe1, 0x16, 0xf6, 0xd1, 0x29, 0x80, 0xf7, 0x53, 0x6d, 0x09, 0x7d, 0x38, 0xa5, 0x7a, 0xe3, + 0x7e, 0x69, 0xbc, 0x9c, 0xa5, 0x54, 0x11, 0xda, 0x16, 0x84, 0xaa, 0xe8, 0x93, 0x19, 0x56, 0x86, + 0xe8, 0xa6, 0x89, 0x7e, 0xca, 0xc2, 0xc2, 0xa4, 0x27, 0x8d, 0x36, 0xa6, 0x85, 0x98, 0xe6, 0x61, + 0x46, 0x65, 0xc6, 0x6a, 0xc5, 0xf1, 0x5b, 0xc1, 0xb1, 0x87, 0xbe, 0x99, 0x89, 0x63, 0xd2, 0x81, + 0xc8, 0xd0, 0xcd, 0xc8, 0xd1, 0x88, 0x2f, 0xf6, 0x89, 0x34, 0x0d, 0xed, 0x40, 0x06, 0xfa, 0xd5, + 0xaf, 0x8e, 0x07, 0x45, 0x70, 0x32, 0x28, 0x82, 0xbf, 0x06, 0x45, 0xf0, 0xc3, 0x79, 0x31, 0x73, + 0x72, 0x5e, 0xcc, 0x9c, 0x9e, 0x17, 0x33, 0x5f, 0x6f, 0x78, 0x7e, 0x58, 0xef, 0x38, 0xd8, 0x65, + 0x4d, 0xa2, 0xfe, 0x01, 0xf6, 0x1d, 0xf7, 0x89, 0xc7, 0x48, 0xb7, 0x4c, 0x9a, 0xac, 0xd6, 0x69, + 0x50, 0x2e, 0x11, 0x3f, 0x2d, 0x3f, 0xd1, 0x40, 0x87, 0xbd, 0x16, 0xe5, 0xce, 0x6d, 0xe1, 0x7f, + 0xe5, 0xff, 0x02, 0x00, 0x00, 0xff, 0xff, 0x7e, 0xd7, 0xeb, 0x28, 0x8e, 0x0b, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. diff --git a/modules/core/03-connection/types/tx.pb.go b/modules/core/03-connection/types/tx.pb.go index 709d8c0d81e..3e332e51c4b 100644 --- a/modules/core/03-connection/types/tx.pb.go +++ b/modules/core/03-connection/types/tx.pb.go @@ -7,7 +7,7 @@ import ( context "context" fmt "fmt" types "github.com/cosmos/cosmos-sdk/codec/types" - types1 "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" + types1 "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" _ "github.com/gogo/protobuf/gogoproto" grpc1 "github.com/gogo/protobuf/grpc" proto "github.com/gogo/protobuf/proto" @@ -391,7 +391,7 @@ var fileDescriptor_5d00fde5fc97399e = []byte{ // 927 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x56, 0x31, 0x73, 0xe3, 0x44, 0x14, 0xb6, 0x62, 0x27, 0xb1, 0xd7, 0x86, 0xbb, 0x5b, 0x9c, 0x44, 0x98, 0x3b, 0xcb, 0xa7, 0x81, - 0x21, 0x05, 0x91, 0xce, 0xb9, 0x63, 0x06, 0x32, 0x50, 0xc4, 0x6e, 0x48, 0x71, 0x70, 0x23, 0x6e, + 0x21, 0x05, 0x91, 0xce, 0x97, 0x63, 0x06, 0x32, 0x50, 0xc4, 0x6e, 0x48, 0x71, 0x70, 0x23, 0x6e, 0x8e, 0x99, 0x6b, 0x3c, 0xf6, 0x7a, 0xa3, 0xec, 0xd8, 0xd6, 0x6a, 0xb4, 0xb2, 0x41, 0xb4, 0x34, 0x0c, 0x15, 0x0d, 0xfd, 0xfd, 0x07, 0xfe, 0xc4, 0x95, 0x57, 0x52, 0x69, 0x20, 0x69, 0xa8, 0xd5, 0xd1, 0x31, 0xda, 0x95, 0xe4, 0xb5, 0x23, 0x0f, 0x31, 0xce, 0x75, 0xfb, 0xf6, 0x7d, 0xef, 0xbd, @@ -404,49 +404,49 @@ var fileDescriptor_5d00fde5fc97399e = []byte{ 0xce, 0x99, 0x43, 0x7c, 0xd8, 0x06, 0x15, 0x91, 0xb2, 0x47, 0x86, 0xaa, 0xd2, 0x52, 0x0e, 0x2b, 0x9d, 0x7a, 0x14, 0x6a, 0x77, 0x83, 0xfe, 0x64, 0x7c, 0xa2, 0x67, 0x2e, 0xdd, 0x2a, 0x8b, 0xf5, 0xd9, 0x10, 0x7e, 0x0d, 0x6a, 0x88, 0x4e, 0x1d, 0x1f, 0x7b, 0x6e, 0xdf, 0xf3, 0x03, 0x75, 0xab, - 0xa5, 0x1c, 0x56, 0x8f, 0x3f, 0x34, 0xf2, 0xaf, 0x6d, 0x74, 0x25, 0x6c, 0xa7, 0xf4, 0x3a, 0xd4, - 0x0a, 0xd6, 0x42, 0x3c, 0xfc, 0x1c, 0xec, 0xce, 0xb0, 0xc7, 0x08, 0x75, 0xd4, 0x22, 0x4f, 0xa5, - 0xad, 0x4a, 0xf5, 0x42, 0xc0, 0xac, 0x14, 0x0f, 0x4f, 0x40, 0x6d, 0x88, 0xc7, 0xfd, 0xa0, 0xe7, - 0x62, 0x8f, 0xd0, 0xa1, 0x5a, 0x6a, 0x29, 0x87, 0xa5, 0xce, 0x41, 0x14, 0x6a, 0xef, 0x89, 0x0b, - 0xc8, 0x5e, 0xdd, 0xaa, 0x72, 0xf3, 0x19, 0xb7, 0xe0, 0x3e, 0xd8, 0x61, 0xc4, 0x76, 0xb0, 0xa7, - 0x6e, 0xc7, 0xd7, 0xb6, 0x12, 0xeb, 0xa4, 0xfc, 0xf3, 0x2b, 0xad, 0xf0, 0xf7, 0x2b, 0xad, 0xa0, - 0x6b, 0xe0, 0x41, 0x6e, 0xd3, 0x2c, 0xcc, 0x5c, 0xea, 0x30, 0xac, 0xff, 0xb6, 0x0b, 0xea, 0xd7, - 0x10, 0xcf, 0xbd, 0xe0, 0xff, 0x74, 0xf5, 0x3b, 0xb0, 0xef, 0x7a, 0x78, 0x46, 0xe8, 0x94, 0xf5, - 0xe6, 0xb7, 0x8e, 0xe3, 0xb7, 0x78, 0xfc, 0xc3, 0x28, 0xd4, 0x1e, 0x88, 0xf8, 0x7c, 0x9c, 0x6e, - 0xd5, 0x53, 0xc7, 0xfc, 0x40, 0x67, 0x43, 0xf8, 0x0c, 0xd4, 0x92, 0x82, 0xcc, 0xef, 0xfb, 0x38, - 0xe9, 0x71, 0xdd, 0x10, 0xbc, 0x33, 0x52, 0xde, 0x19, 0xa7, 0x4e, 0x20, 0x77, 0x4e, 0x8e, 0xd1, - 0xad, 0xaa, 0x30, 0xbf, 0x8d, 0xad, 0x6b, 0x04, 0x28, 0x6d, 0x48, 0x80, 0xe5, 0x29, 0x6e, 0xaf, - 0x31, 0xc5, 0x19, 0xd8, 0x93, 0x73, 0xf5, 0x12, 0x66, 0x30, 0x75, 0xa7, 0x55, 0xbc, 0x01, 0x95, - 0x3a, 0xad, 0x28, 0xd4, 0xee, 0x27, 0x37, 0xce, 0xcb, 0xa3, 0x5b, 0x75, 0x79, 0x3f, 0x09, 0x63, - 0xf0, 0x25, 0xa8, 0xb9, 0x1e, 0xa5, 0xe7, 0xbd, 0x0b, 0x4c, 0xec, 0x0b, 0x5f, 0xdd, 0xe5, 0x3d, - 0x68, 0x48, 0xe5, 0x84, 0x50, 0x67, 0x6d, 0xe3, 0x2b, 0x8e, 0xe8, 0x7c, 0x10, 0xdf, 0x7c, 0x7e, - 0x27, 0x39, 0x5a, 0xb7, 0xaa, 0xdc, 0x14, 0x48, 0xf8, 0x04, 0x00, 0xe1, 0x25, 0x0e, 0xf1, 0xd5, - 0x72, 0x4b, 0x39, 0xac, 0x75, 0xf6, 0xa2, 0x50, 0xbb, 0x27, 0x47, 0xc6, 0x3e, 0xdd, 0xaa, 0x70, - 0x83, 0x2b, 0xf9, 0x24, 0x3d, 0x91, 0xa8, 0xac, 0x56, 0x78, 0xdc, 0xc1, 0x72, 0x45, 0xe1, 0x4d, - 0x2b, 0x76, 0xb9, 0x05, 0xbb, 0xe0, 0x4e, 0xe2, 0x8d, 0x79, 0xed, 0xb0, 0x29, 0x53, 0x01, 0x0f, - 0x6f, 0x44, 0xa1, 0xb6, 0xbf, 0x10, 0x9e, 0x02, 0x74, 0xeb, 0x5d, 0x91, 0x21, 0xdd, 0x80, 0xe7, - 0xe0, 0x6e, 0xe6, 0x4d, 0xdb, 0x52, 0xfd, 0xcf, 0xb6, 0x68, 0x49, 0x5b, 0x0e, 0xd2, 0x21, 0x2c, - 0x66, 0xd0, 0xad, 0x3b, 0xd9, 0x56, 0xd2, 0x9e, 0xb9, 0x70, 0x6b, 0x2b, 0x84, 0xdb, 0x04, 0xf7, - 0xf3, 0x64, 0x99, 0xe9, 0xf6, 0xaf, 0xed, 0x1c, 0xdd, 0x9e, 0xa2, 0x11, 0xfc, 0x12, 0xbc, 0xb3, - 0xa8, 0x3d, 0xa1, 0x5d, 0x35, 0x0a, 0xb5, 0x7a, 0x76, 0x3e, 0x59, 0x72, 0x35, 0x24, 0x4b, 0x0d, - 0x81, 0xc6, 0x02, 0x89, 0xf2, 0x74, 0xfc, 0x51, 0x14, 0x6a, 0x0f, 0x73, 0x08, 0xb7, 0x94, 0x58, - 0x95, 0x9d, 0x0b, 0x7a, 0xde, 0xe0, 0xb9, 0x5c, 0x7e, 0x0a, 0x4a, 0x1b, 0x3f, 0x05, 0xcb, 0x32, - 0xd8, 0xbe, 0x45, 0x19, 0xb4, 0x81, 0x60, 0x77, 0xcf, 0xf7, 0x02, 0x75, 0x87, 0xd3, 0x51, 0x7a, - 0x44, 0x33, 0x97, 0x6e, 0x95, 0xf9, 0x3a, 0x7e, 0x77, 0x97, 0x35, 0xb0, 0xbb, 0x99, 0x06, 0xca, - 0xb7, 0xa2, 0x81, 0xca, 0x5b, 0xd5, 0x00, 0x58, 0x43, 0x03, 0xa7, 0x68, 0x94, 0x69, 0xe0, 0x97, - 0x2d, 0xa0, 0x5e, 0x03, 0x74, 0xa9, 0x73, 0x4e, 0xbc, 0xc9, 0xa6, 0x3a, 0xc8, 0x26, 0xd7, 0x47, - 0x23, 0x4e, 0xfb, 0x9c, 0xc9, 0xf5, 0xd1, 0x28, 0x9d, 0x5c, 0xac, 0xbc, 0x65, 0x22, 0x15, 0x6f, - 0x91, 0x48, 0xf3, 0x66, 0x95, 0x56, 0x34, 0x4b, 0x07, 0xad, 0x55, 0xbd, 0x48, 0x1b, 0x76, 0xfc, - 0x4f, 0x11, 0x14, 0x9f, 0x32, 0x1b, 0xfe, 0x08, 0x60, 0xce, 0x3f, 0xea, 0x68, 0x95, 0x08, 0x73, - 0x7f, 0x10, 0x8d, 0x4f, 0xd7, 0x82, 0xa7, 0x67, 0x80, 0xdf, 0x83, 0x7b, 0xd7, 0x3f, 0x1b, 0x9f, - 0xdc, 0x38, 0xd7, 0x73, 0x2f, 0x68, 0x3c, 0x59, 0x07, 0xbd, 0xba, 0x70, 0x3c, 0xb3, 0x9b, 0x17, - 0x3e, 0x45, 0xa3, 0x35, 0x0a, 0x4b, 0x34, 0x85, 0x3f, 0x29, 0x60, 0x2f, 0x9f, 0xa3, 0x8f, 0x6e, - 0x9c, 0x2f, 0x89, 0x68, 0x7c, 0xb6, 0x6e, 0x44, 0x7a, 0x8a, 0xce, 0x8b, 0xd7, 0x97, 0x4d, 0xe5, - 0xcd, 0x65, 0x53, 0xf9, 0xf3, 0xb2, 0xa9, 0xfc, 0x7a, 0xd5, 0x2c, 0xbc, 0xb9, 0x6a, 0x16, 0xfe, - 0xb8, 0x6a, 0x16, 0x5e, 0x7e, 0x61, 0x13, 0xff, 0x62, 0x3a, 0x30, 0x10, 0x9d, 0x98, 0x88, 0xb2, - 0x09, 0x65, 0x26, 0x19, 0xa0, 0x23, 0x9b, 0x9a, 0xb3, 0x63, 0x73, 0x42, 0x87, 0xd3, 0x31, 0x66, - 0xe2, 0x8b, 0xfe, 0xe8, 0xf1, 0x91, 0xf4, 0x4b, 0xf7, 0x03, 0x17, 0xb3, 0xc1, 0x0e, 0x7f, 0x72, - 0x1f, 0xff, 0x1b, 0x00, 0x00, 0xff, 0xff, 0x01, 0x75, 0x59, 0xc2, 0x54, 0x0c, 0x00, 0x00, + 0xa5, 0x1c, 0x56, 0x1f, 0x7f, 0x68, 0xe4, 0x5f, 0xdb, 0xe8, 0x4a, 0xd8, 0x4e, 0xe9, 0x75, 0xa8, + 0x15, 0xac, 0x85, 0x78, 0xf8, 0x39, 0xd8, 0x9d, 0x61, 0x8f, 0x11, 0xea, 0xa8, 0x45, 0x9e, 0x4a, + 0x5b, 0x95, 0xea, 0x85, 0x80, 0x59, 0x29, 0x1e, 0x9e, 0x80, 0xda, 0x10, 0x8f, 0xfb, 0x41, 0xcf, + 0xc5, 0x1e, 0xa1, 0x43, 0xb5, 0xd4, 0x52, 0x0e, 0x4b, 0x9d, 0x83, 0x28, 0xd4, 0xde, 0x13, 0x17, + 0x90, 0xbd, 0xba, 0x55, 0xe5, 0xe6, 0x33, 0x6e, 0xc1, 0x7d, 0xb0, 0xc3, 0x88, 0xed, 0x60, 0x4f, + 0xdd, 0x8e, 0xaf, 0x6d, 0x25, 0xd6, 0x49, 0xf9, 0xe7, 0x57, 0x5a, 0xe1, 0xef, 0x57, 0x5a, 0x41, + 0xd7, 0xc0, 0x83, 0xdc, 0xa6, 0x59, 0x98, 0xb9, 0xd4, 0x61, 0x58, 0xff, 0x6d, 0x17, 0xd4, 0xaf, + 0x21, 0x9e, 0x7b, 0xc1, 0xff, 0xe9, 0xea, 0x77, 0x60, 0xdf, 0xf5, 0xf0, 0x8c, 0xd0, 0x29, 0xeb, + 0xcd, 0x6f, 0x1d, 0xc7, 0x6f, 0xf1, 0xf8, 0x87, 0x51, 0xa8, 0x3d, 0x10, 0xf1, 0xf9, 0x38, 0xdd, + 0xaa, 0xa7, 0x8e, 0xf9, 0x81, 0xce, 0x86, 0xf0, 0x19, 0xa8, 0x25, 0x05, 0x99, 0xdf, 0xf7, 0x71, + 0xd2, 0xe3, 0xba, 0x21, 0x78, 0x67, 0xa4, 0xbc, 0x33, 0x4e, 0x9d, 0x40, 0xee, 0x9c, 0x1c, 0xa3, + 0x5b, 0x55, 0x61, 0x7e, 0x1b, 0x5b, 0xd7, 0x08, 0x50, 0xda, 0x90, 0x00, 0xcb, 0x53, 0xdc, 0x5e, + 0x63, 0x8a, 0x33, 0xb0, 0x27, 0xe7, 0xea, 0x25, 0xcc, 0x60, 0xea, 0x4e, 0xab, 0x78, 0x03, 0x2a, + 0x75, 0x5a, 0x51, 0xa8, 0xdd, 0x4f, 0x6e, 0x9c, 0x97, 0x47, 0xb7, 0xea, 0xf2, 0x7e, 0x12, 0xc6, + 0xe0, 0x4b, 0x50, 0x73, 0x3d, 0x4a, 0xcf, 0x7b, 0x17, 0x98, 0xd8, 0x17, 0xbe, 0xba, 0xcb, 0x7b, + 0xd0, 0x90, 0xca, 0x09, 0xa1, 0xce, 0xda, 0xc6, 0x57, 0x1c, 0xd1, 0xf9, 0x20, 0xbe, 0xf9, 0xfc, + 0x4e, 0x72, 0xb4, 0x6e, 0x55, 0xb9, 0x29, 0x90, 0xf0, 0x09, 0x00, 0xc2, 0x4b, 0x1c, 0xe2, 0xab, + 0xe5, 0x96, 0x72, 0x58, 0xeb, 0xec, 0x45, 0xa1, 0x76, 0x4f, 0x8e, 0x8c, 0x7d, 0xba, 0x55, 0xe1, + 0x06, 0x57, 0xf2, 0x49, 0x7a, 0x22, 0x51, 0x59, 0xad, 0xf0, 0xb8, 0x83, 0xe5, 0x8a, 0xc2, 0x9b, + 0x56, 0xec, 0x72, 0x0b, 0x76, 0xc1, 0x9d, 0xc4, 0x1b, 0xf3, 0xda, 0x61, 0x53, 0xa6, 0x02, 0x1e, + 0xde, 0x88, 0x42, 0x6d, 0x7f, 0x21, 0x3c, 0x05, 0xe8, 0xd6, 0xbb, 0x22, 0x43, 0xba, 0x01, 0xcf, + 0xc1, 0xdd, 0xcc, 0x9b, 0xb6, 0xa5, 0xfa, 0x9f, 0x6d, 0xd1, 0x92, 0xb6, 0x1c, 0xa4, 0x43, 0x58, + 0xcc, 0xa0, 0x5b, 0x77, 0xb2, 0xad, 0xa4, 0x3d, 0x73, 0xe1, 0xd6, 0x56, 0x08, 0xb7, 0x09, 0xee, + 0xe7, 0xc9, 0x32, 0xd3, 0xed, 0x5f, 0xdb, 0x39, 0xba, 0x3d, 0x45, 0x23, 0xf8, 0x25, 0x78, 0x67, + 0x51, 0x7b, 0x42, 0xbb, 0x6a, 0x14, 0x6a, 0xf5, 0xec, 0x7c, 0xb2, 0xe4, 0x6a, 0x48, 0x96, 0x1a, + 0x02, 0x8d, 0x05, 0x12, 0xe5, 0xe9, 0xf8, 0xa3, 0x28, 0xd4, 0x1e, 0xe6, 0x10, 0x6e, 0x29, 0xb1, + 0x2a, 0x3b, 0x17, 0xf4, 0xbc, 0xc1, 0x73, 0xb9, 0xfc, 0x14, 0x94, 0x36, 0x7e, 0x0a, 0x96, 0x65, + 0xb0, 0x7d, 0x8b, 0x32, 0x68, 0x03, 0xc1, 0xee, 0x9e, 0xef, 0x05, 0xea, 0x0e, 0xa7, 0xa3, 0xf4, + 0x88, 0x66, 0x2e, 0xdd, 0x2a, 0xf3, 0x75, 0xfc, 0xee, 0x2e, 0x6b, 0x60, 0x77, 0x33, 0x0d, 0x94, + 0x6f, 0x45, 0x03, 0x95, 0xb7, 0xaa, 0x01, 0xb0, 0x86, 0x06, 0x4e, 0xd1, 0x28, 0xd3, 0xc0, 0x2f, + 0x5b, 0x40, 0xbd, 0x06, 0xe8, 0x52, 0xe7, 0x9c, 0x78, 0x93, 0x4d, 0x75, 0x90, 0x4d, 0xae, 0x8f, + 0x46, 0x9c, 0xf6, 0x39, 0x93, 0xeb, 0xa3, 0x51, 0x3a, 0xb9, 0x58, 0x79, 0xcb, 0x44, 0x2a, 0xde, + 0x22, 0x91, 0xe6, 0xcd, 0x2a, 0xad, 0x68, 0x96, 0x0e, 0x5a, 0xab, 0x7a, 0x91, 0x36, 0xec, 0xf1, + 0x3f, 0x45, 0x50, 0x7c, 0xca, 0x6c, 0xf8, 0x23, 0x80, 0x39, 0xff, 0xa8, 0xa3, 0x55, 0x22, 0xcc, + 0xfd, 0x41, 0x34, 0x3e, 0x5d, 0x0b, 0x9e, 0x9e, 0x01, 0x7e, 0x0f, 0xee, 0x5d, 0xff, 0x6c, 0x7c, + 0x72, 0xe3, 0x5c, 0xcf, 0xbd, 0xa0, 0xf1, 0x64, 0x1d, 0xf4, 0xea, 0xc2, 0xf1, 0xcc, 0x6e, 0x5e, + 0xf8, 0x14, 0x8d, 0xd6, 0x28, 0x2c, 0xd1, 0x14, 0xfe, 0xa4, 0x80, 0xbd, 0x7c, 0x8e, 0x3e, 0xba, + 0x71, 0xbe, 0x24, 0xa2, 0xf1, 0xd9, 0xba, 0x11, 0xe9, 0x29, 0x3a, 0x2f, 0x5e, 0x5f, 0x36, 0x95, + 0x37, 0x97, 0x4d, 0xe5, 0xcf, 0xcb, 0xa6, 0xf2, 0xeb, 0x55, 0xb3, 0xf0, 0xe6, 0xaa, 0x59, 0xf8, + 0xe3, 0xaa, 0x59, 0x78, 0xf9, 0x85, 0x4d, 0xfc, 0x8b, 0xe9, 0xc0, 0x40, 0x74, 0x62, 0x22, 0xca, + 0x26, 0x94, 0x99, 0x64, 0x80, 0x8e, 0x6c, 0x6a, 0xce, 0x8e, 0xcd, 0x09, 0x1d, 0x4e, 0xc7, 0x98, + 0x89, 0x2f, 0xfa, 0xa3, 0xe3, 0x23, 0xe9, 0x97, 0xee, 0x07, 0x2e, 0x66, 0x83, 0x1d, 0xfe, 0xe4, + 0x1e, 0xff, 0x1b, 0x00, 0x00, 0xff, 0xff, 0xef, 0xf1, 0x60, 0x63, 0x54, 0x0c, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. diff --git a/modules/core/03-connection/types/version.go b/modules/core/03-connection/types/version.go index 347017ce5e8..c465589b662 100644 --- a/modules/core/03-connection/types/version.go +++ b/modules/core/03-connection/types/version.go @@ -4,7 +4,7 @@ import ( "strings" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" - "github.com/cosmos/ibc-go/v2/modules/core/exported" + "github.com/cosmos/ibc-go/v3/modules/core/exported" ) var ( diff --git a/modules/core/03-connection/types/version_test.go b/modules/core/03-connection/types/version_test.go index d8cb122252b..3fa637cc4de 100644 --- a/modules/core/03-connection/types/version_test.go +++ b/modules/core/03-connection/types/version_test.go @@ -5,9 +5,9 @@ import ( "github.com/stretchr/testify/require" - "github.com/cosmos/ibc-go/v2/modules/core/03-connection/types" - "github.com/cosmos/ibc-go/v2/modules/core/exported" - ibctesting "github.com/cosmos/ibc-go/v2/testing" + "github.com/cosmos/ibc-go/v3/modules/core/03-connection/types" + "github.com/cosmos/ibc-go/v3/modules/core/exported" + ibctesting "github.com/cosmos/ibc-go/v3/testing" ) func TestValidateVersion(t *testing.T) { diff --git a/modules/core/04-channel/client/cli/cli.go b/modules/core/04-channel/client/cli/cli.go index 24257f33da7..093c51a9c01 100644 --- a/modules/core/04-channel/client/cli/cli.go +++ b/modules/core/04-channel/client/cli/cli.go @@ -4,7 +4,7 @@ import ( "github.com/spf13/cobra" "github.com/cosmos/cosmos-sdk/client" - "github.com/cosmos/ibc-go/v2/modules/core/04-channel/types" + "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types" ) // GetQueryCmd returns the query commands for IBC channels diff --git a/modules/core/04-channel/client/cli/query.go b/modules/core/04-channel/client/cli/query.go index c8754c60d67..05dd5cf9ae9 100644 --- a/modules/core/04-channel/client/cli/query.go +++ b/modules/core/04-channel/client/cli/query.go @@ -9,9 +9,9 @@ import ( "github.com/cosmos/cosmos-sdk/client" "github.com/cosmos/cosmos-sdk/client/flags" "github.com/cosmos/cosmos-sdk/version" - "github.com/cosmos/ibc-go/v2/modules/core/04-channel/client/utils" - "github.com/cosmos/ibc-go/v2/modules/core/04-channel/types" - host "github.com/cosmos/ibc-go/v2/modules/core/24-host" + "github.com/cosmos/ibc-go/v3/modules/core/04-channel/client/utils" + "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types" + host "github.com/cosmos/ibc-go/v3/modules/core/24-host" ) const ( diff --git a/modules/core/04-channel/client/utils/utils.go b/modules/core/04-channel/client/utils/utils.go index 76b18898a62..3b79534f3f4 100644 --- a/modules/core/04-channel/client/utils/utils.go +++ b/modules/core/04-channel/client/utils/utils.go @@ -7,12 +7,12 @@ import ( "github.com/cosmos/cosmos-sdk/client" "github.com/cosmos/cosmos-sdk/codec" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" - clientutils "github.com/cosmos/ibc-go/v2/modules/core/02-client/client/utils" - clienttypes "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" - "github.com/cosmos/ibc-go/v2/modules/core/04-channel/types" - host "github.com/cosmos/ibc-go/v2/modules/core/24-host" - ibcclient "github.com/cosmos/ibc-go/v2/modules/core/client" - "github.com/cosmos/ibc-go/v2/modules/core/exported" + clientutils "github.com/cosmos/ibc-go/v3/modules/core/02-client/client/utils" + clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" + "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types" + host "github.com/cosmos/ibc-go/v3/modules/core/24-host" + ibcclient "github.com/cosmos/ibc-go/v3/modules/core/client" + "github.com/cosmos/ibc-go/v3/modules/core/exported" ) // QueryChannel returns a channel end. diff --git a/modules/core/04-channel/genesis.go b/modules/core/04-channel/genesis.go index 648becbb8a9..51b2e293b37 100644 --- a/modules/core/04-channel/genesis.go +++ b/modules/core/04-channel/genesis.go @@ -2,8 +2,8 @@ package channel import ( sdk "github.com/cosmos/cosmos-sdk/types" - "github.com/cosmos/ibc-go/v2/modules/core/04-channel/keeper" - "github.com/cosmos/ibc-go/v2/modules/core/04-channel/types" + "github.com/cosmos/ibc-go/v3/modules/core/04-channel/keeper" + "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types" ) // InitGenesis initializes the ibc channel submodule's state from a provided genesis diff --git a/modules/core/04-channel/keeper/events.go b/modules/core/04-channel/keeper/events.go index e1726e53668..1a5b44dbb1c 100644 --- a/modules/core/04-channel/keeper/events.go +++ b/modules/core/04-channel/keeper/events.go @@ -6,8 +6,8 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" - "github.com/cosmos/ibc-go/v2/modules/core/04-channel/types" - "github.com/cosmos/ibc-go/v2/modules/core/exported" + "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types" + "github.com/cosmos/ibc-go/v3/modules/core/exported" ) // EmitSendPacketEvent emits an event with packet data along with other packet information for relayer diff --git a/modules/core/04-channel/keeper/grpc_query.go b/modules/core/04-channel/keeper/grpc_query.go index 64a281eaa8f..ff58100988b 100644 --- a/modules/core/04-channel/keeper/grpc_query.go +++ b/modules/core/04-channel/keeper/grpc_query.go @@ -12,10 +12,10 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" "github.com/cosmos/cosmos-sdk/types/query" - clienttypes "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" - connectiontypes "github.com/cosmos/ibc-go/v2/modules/core/03-connection/types" - "github.com/cosmos/ibc-go/v2/modules/core/04-channel/types" - host "github.com/cosmos/ibc-go/v2/modules/core/24-host" + clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" + connectiontypes "github.com/cosmos/ibc-go/v3/modules/core/03-connection/types" + "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types" + host "github.com/cosmos/ibc-go/v3/modules/core/24-host" ) var _ types.QueryServer = (*Keeper)(nil) diff --git a/modules/core/04-channel/keeper/grpc_query_test.go b/modules/core/04-channel/keeper/grpc_query_test.go index 9fdce2b14a1..35885f21375 100644 --- a/modules/core/04-channel/keeper/grpc_query_test.go +++ b/modules/core/04-channel/keeper/grpc_query_test.go @@ -5,11 +5,11 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" "github.com/cosmos/cosmos-sdk/types/query" - clienttypes "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" - connectiontypes "github.com/cosmos/ibc-go/v2/modules/core/03-connection/types" - "github.com/cosmos/ibc-go/v2/modules/core/04-channel/types" - "github.com/cosmos/ibc-go/v2/modules/core/exported" - ibctesting "github.com/cosmos/ibc-go/v2/testing" + clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" + connectiontypes "github.com/cosmos/ibc-go/v3/modules/core/03-connection/types" + "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types" + "github.com/cosmos/ibc-go/v3/modules/core/exported" + ibctesting "github.com/cosmos/ibc-go/v3/testing" ) func (suite *KeeperTestSuite) TestQueryChannel() { diff --git a/modules/core/04-channel/keeper/handshake.go b/modules/core/04-channel/keeper/handshake.go index 402188af1d8..6b0b81df077 100644 --- a/modules/core/04-channel/keeper/handshake.go +++ b/modules/core/04-channel/keeper/handshake.go @@ -5,11 +5,11 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" capabilitytypes "github.com/cosmos/cosmos-sdk/x/capability/types" - connectiontypes "github.com/cosmos/ibc-go/v2/modules/core/03-connection/types" - "github.com/cosmos/ibc-go/v2/modules/core/04-channel/types" - porttypes "github.com/cosmos/ibc-go/v2/modules/core/05-port/types" - host "github.com/cosmos/ibc-go/v2/modules/core/24-host" - "github.com/cosmos/ibc-go/v2/modules/core/exported" + connectiontypes "github.com/cosmos/ibc-go/v3/modules/core/03-connection/types" + "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types" + porttypes "github.com/cosmos/ibc-go/v3/modules/core/05-port/types" + host "github.com/cosmos/ibc-go/v3/modules/core/24-host" + "github.com/cosmos/ibc-go/v3/modules/core/exported" ) // CounterpartyHops returns the connection hops of the counterparty channel. diff --git a/modules/core/04-channel/keeper/handshake_test.go b/modules/core/04-channel/keeper/handshake_test.go index c64077d7118..1ed17c6d3fc 100644 --- a/modules/core/04-channel/keeper/handshake_test.go +++ b/modules/core/04-channel/keeper/handshake_test.go @@ -4,12 +4,12 @@ import ( "fmt" capabilitytypes "github.com/cosmos/cosmos-sdk/x/capability/types" - clienttypes "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" - connectiontypes "github.com/cosmos/ibc-go/v2/modules/core/03-connection/types" - "github.com/cosmos/ibc-go/v2/modules/core/04-channel/types" - host "github.com/cosmos/ibc-go/v2/modules/core/24-host" - "github.com/cosmos/ibc-go/v2/modules/core/exported" - ibctesting "github.com/cosmos/ibc-go/v2/testing" + clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" + connectiontypes "github.com/cosmos/ibc-go/v3/modules/core/03-connection/types" + "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types" + host "github.com/cosmos/ibc-go/v3/modules/core/24-host" + "github.com/cosmos/ibc-go/v3/modules/core/exported" + ibctesting "github.com/cosmos/ibc-go/v3/testing" ) type testCase = struct { diff --git a/modules/core/04-channel/keeper/keeper.go b/modules/core/04-channel/keeper/keeper.go index cb8201ce585..324d11e0bd2 100644 --- a/modules/core/04-channel/keeper/keeper.go +++ b/modules/core/04-channel/keeper/keeper.go @@ -12,12 +12,12 @@ import ( sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" capabilitykeeper "github.com/cosmos/cosmos-sdk/x/capability/keeper" capabilitytypes "github.com/cosmos/cosmos-sdk/x/capability/types" - clienttypes "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" - connectiontypes "github.com/cosmos/ibc-go/v2/modules/core/03-connection/types" - "github.com/cosmos/ibc-go/v2/modules/core/04-channel/types" - porttypes "github.com/cosmos/ibc-go/v2/modules/core/05-port/types" - host "github.com/cosmos/ibc-go/v2/modules/core/24-host" - "github.com/cosmos/ibc-go/v2/modules/core/exported" + clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" + connectiontypes "github.com/cosmos/ibc-go/v3/modules/core/03-connection/types" + "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types" + porttypes "github.com/cosmos/ibc-go/v3/modules/core/05-port/types" + host "github.com/cosmos/ibc-go/v3/modules/core/24-host" + "github.com/cosmos/ibc-go/v3/modules/core/exported" ) var _ porttypes.ICS4Wrapper = Keeper{} diff --git a/modules/core/04-channel/keeper/keeper_test.go b/modules/core/04-channel/keeper/keeper_test.go index a8b616d2a10..c37b7744ff3 100644 --- a/modules/core/04-channel/keeper/keeper_test.go +++ b/modules/core/04-channel/keeper/keeper_test.go @@ -5,8 +5,8 @@ import ( "github.com/stretchr/testify/suite" - "github.com/cosmos/ibc-go/v2/modules/core/04-channel/types" - ibctesting "github.com/cosmos/ibc-go/v2/testing" + "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types" + ibctesting "github.com/cosmos/ibc-go/v3/testing" ) // KeeperTestSuite is a testing suite to test keeper functions. diff --git a/modules/core/04-channel/keeper/packet.go b/modules/core/04-channel/keeper/packet.go index 401b6c734c2..58e63ad976d 100644 --- a/modules/core/04-channel/keeper/packet.go +++ b/modules/core/04-channel/keeper/packet.go @@ -8,11 +8,11 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" capabilitytypes "github.com/cosmos/cosmos-sdk/x/capability/types" - clienttypes "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" - connectiontypes "github.com/cosmos/ibc-go/v2/modules/core/03-connection/types" - "github.com/cosmos/ibc-go/v2/modules/core/04-channel/types" - host "github.com/cosmos/ibc-go/v2/modules/core/24-host" - "github.com/cosmos/ibc-go/v2/modules/core/exported" + clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" + connectiontypes "github.com/cosmos/ibc-go/v3/modules/core/03-connection/types" + "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types" + host "github.com/cosmos/ibc-go/v3/modules/core/24-host" + "github.com/cosmos/ibc-go/v3/modules/core/exported" ) // SendPacket is called by a module in order to send an IBC packet on a channel diff --git a/modules/core/04-channel/keeper/packet_test.go b/modules/core/04-channel/keeper/packet_test.go index a34d48b42df..69587080cf9 100644 --- a/modules/core/04-channel/keeper/packet_test.go +++ b/modules/core/04-channel/keeper/packet_test.go @@ -7,14 +7,14 @@ import ( sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" capabilitytypes "github.com/cosmos/cosmos-sdk/x/capability/types" - clienttypes "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" - connectiontypes "github.com/cosmos/ibc-go/v2/modules/core/03-connection/types" - "github.com/cosmos/ibc-go/v2/modules/core/04-channel/types" - host "github.com/cosmos/ibc-go/v2/modules/core/24-host" - "github.com/cosmos/ibc-go/v2/modules/core/exported" - ibctmtypes "github.com/cosmos/ibc-go/v2/modules/light-clients/07-tendermint/types" - ibctesting "github.com/cosmos/ibc-go/v2/testing" - ibcmock "github.com/cosmos/ibc-go/v2/testing/mock" + clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" + connectiontypes "github.com/cosmos/ibc-go/v3/modules/core/03-connection/types" + "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types" + host "github.com/cosmos/ibc-go/v3/modules/core/24-host" + "github.com/cosmos/ibc-go/v3/modules/core/exported" + ibctmtypes "github.com/cosmos/ibc-go/v3/modules/light-clients/07-tendermint/types" + ibctesting "github.com/cosmos/ibc-go/v3/testing" + ibcmock "github.com/cosmos/ibc-go/v3/testing/mock" ) var ( diff --git a/modules/core/04-channel/keeper/timeout.go b/modules/core/04-channel/keeper/timeout.go index 6b577bd2d5d..f7f4ab4b96c 100644 --- a/modules/core/04-channel/keeper/timeout.go +++ b/modules/core/04-channel/keeper/timeout.go @@ -7,10 +7,10 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" capabilitytypes "github.com/cosmos/cosmos-sdk/x/capability/types" - connectiontypes "github.com/cosmos/ibc-go/v2/modules/core/03-connection/types" - "github.com/cosmos/ibc-go/v2/modules/core/04-channel/types" - host "github.com/cosmos/ibc-go/v2/modules/core/24-host" - "github.com/cosmos/ibc-go/v2/modules/core/exported" + connectiontypes "github.com/cosmos/ibc-go/v3/modules/core/03-connection/types" + "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types" + host "github.com/cosmos/ibc-go/v3/modules/core/24-host" + "github.com/cosmos/ibc-go/v3/modules/core/exported" ) // TimeoutPacket is called by a module which originally attempted to send a diff --git a/modules/core/04-channel/keeper/timeout_test.go b/modules/core/04-channel/keeper/timeout_test.go index d54177d2b4d..a7151c4c0ff 100644 --- a/modules/core/04-channel/keeper/timeout_test.go +++ b/modules/core/04-channel/keeper/timeout_test.go @@ -7,12 +7,12 @@ import ( sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" capabilitytypes "github.com/cosmos/cosmos-sdk/x/capability/types" - clienttypes "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" - connectiontypes "github.com/cosmos/ibc-go/v2/modules/core/03-connection/types" - "github.com/cosmos/ibc-go/v2/modules/core/04-channel/types" - host "github.com/cosmos/ibc-go/v2/modules/core/24-host" - "github.com/cosmos/ibc-go/v2/modules/core/exported" - ibctesting "github.com/cosmos/ibc-go/v2/testing" + clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" + connectiontypes "github.com/cosmos/ibc-go/v3/modules/core/03-connection/types" + "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types" + host "github.com/cosmos/ibc-go/v3/modules/core/24-host" + "github.com/cosmos/ibc-go/v3/modules/core/exported" + ibctesting "github.com/cosmos/ibc-go/v3/testing" ) // TestTimeoutPacket test the TimeoutPacket call on chainA by ensuring the timeout has passed diff --git a/modules/core/04-channel/module.go b/modules/core/04-channel/module.go index 50c07cd07d1..00dfc6a808b 100644 --- a/modules/core/04-channel/module.go +++ b/modules/core/04-channel/module.go @@ -4,8 +4,8 @@ import ( "github.com/gogo/protobuf/grpc" "github.com/spf13/cobra" - "github.com/cosmos/ibc-go/v2/modules/core/04-channel/client/cli" - "github.com/cosmos/ibc-go/v2/modules/core/04-channel/types" + "github.com/cosmos/ibc-go/v3/modules/core/04-channel/client/cli" + "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types" ) // Name returns the IBC channel ICS name. diff --git a/modules/core/04-channel/simulation/decoder.go b/modules/core/04-channel/simulation/decoder.go index 01f829f1596..660785fd88a 100644 --- a/modules/core/04-channel/simulation/decoder.go +++ b/modules/core/04-channel/simulation/decoder.go @@ -7,8 +7,8 @@ import ( "github.com/cosmos/cosmos-sdk/codec" sdk "github.com/cosmos/cosmos-sdk/types" "github.com/cosmos/cosmos-sdk/types/kv" - "github.com/cosmos/ibc-go/v2/modules/core/04-channel/types" - host "github.com/cosmos/ibc-go/v2/modules/core/24-host" + "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types" + host "github.com/cosmos/ibc-go/v3/modules/core/24-host" ) // NewDecodeStore returns a decoder function closure that unmarshals the KVPair's diff --git a/modules/core/04-channel/simulation/decoder_test.go b/modules/core/04-channel/simulation/decoder_test.go index 2514d8ea2ae..b7b87caf2db 100644 --- a/modules/core/04-channel/simulation/decoder_test.go +++ b/modules/core/04-channel/simulation/decoder_test.go @@ -8,10 +8,10 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" "github.com/cosmos/cosmos-sdk/types/kv" - "github.com/cosmos/ibc-go/v2/modules/core/04-channel/simulation" - "github.com/cosmos/ibc-go/v2/modules/core/04-channel/types" - host "github.com/cosmos/ibc-go/v2/modules/core/24-host" - "github.com/cosmos/ibc-go/v2/testing/simapp" + "github.com/cosmos/ibc-go/v3/modules/core/04-channel/simulation" + "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types" + host "github.com/cosmos/ibc-go/v3/modules/core/24-host" + "github.com/cosmos/ibc-go/v3/testing/simapp" ) func TestDecodeStore(t *testing.T) { diff --git a/modules/core/04-channel/simulation/genesis.go b/modules/core/04-channel/simulation/genesis.go index e0680ece96a..76d459e7fea 100644 --- a/modules/core/04-channel/simulation/genesis.go +++ b/modules/core/04-channel/simulation/genesis.go @@ -4,7 +4,7 @@ import ( "math/rand" simtypes "github.com/cosmos/cosmos-sdk/types/simulation" - "github.com/cosmos/ibc-go/v2/modules/core/04-channel/types" + "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types" ) // GenChannelGenesis returns the default channel genesis state. diff --git a/modules/core/04-channel/types/acknowledgement_test.go b/modules/core/04-channel/types/acknowledgement_test.go index a1c5fa86396..658ff31a8b5 100644 --- a/modules/core/04-channel/types/acknowledgement_test.go +++ b/modules/core/04-channel/types/acknowledgement_test.go @@ -1,6 +1,6 @@ package types_test -import "github.com/cosmos/ibc-go/v2/modules/core/04-channel/types" +import "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types" // tests acknowledgement.ValidateBasic and acknowledgement.GetBytes func (suite TypesTestSuite) TestAcknowledgement() { diff --git a/modules/core/04-channel/types/channel.go b/modules/core/04-channel/types/channel.go index dcd3832b05a..4135ca35e6e 100644 --- a/modules/core/04-channel/types/channel.go +++ b/modules/core/04-channel/types/channel.go @@ -2,8 +2,8 @@ package types import ( sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" - host "github.com/cosmos/ibc-go/v2/modules/core/24-host" - "github.com/cosmos/ibc-go/v2/modules/core/exported" + host "github.com/cosmos/ibc-go/v3/modules/core/24-host" + "github.com/cosmos/ibc-go/v3/modules/core/exported" ) var ( diff --git a/modules/core/04-channel/types/channel.pb.go b/modules/core/04-channel/types/channel.pb.go index 34415f20731..4ebbe01c977 100644 --- a/modules/core/04-channel/types/channel.pb.go +++ b/modules/core/04-channel/types/channel.pb.go @@ -5,7 +5,7 @@ package types import ( fmt "fmt" - types "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" + types "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" _ "github.com/gogo/protobuf/gogoproto" proto "github.com/gogo/protobuf/proto" io "io" @@ -456,63 +456,63 @@ func init() { proto.RegisterFile("ibc/core/channel/v1/channel.proto", fileDescri var fileDescriptor_c3a07336710636a0 = []byte{ // 911 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x55, 0xcb, 0x6e, 0xdb, 0x46, - 0x14, 0x15, 0x2d, 0xea, 0x75, 0x65, 0xc9, 0xf2, 0xa4, 0x56, 0x58, 0x36, 0x11, 0x15, 0xa2, 0x0b, - 0x23, 0x45, 0xa4, 0xd8, 0x0d, 0x5a, 0x34, 0xab, 0x5a, 0x8f, 0xc0, 0x44, 0x03, 0xc9, 0xa0, 0xe4, - 0x45, 0xb3, 0x51, 0x25, 0x72, 0x2a, 0x11, 0x91, 0x38, 0x2a, 0x39, 0x92, 0xe1, 0x3f, 0x08, 0xb4, - 0xea, 0x0f, 0x08, 0x28, 0x50, 0xb4, 0xbf, 0xd0, 0x5f, 0xc8, 0x32, 0xcb, 0xae, 0x88, 0xc2, 0x5e, - 0x74, 0xaf, 0x1f, 0x68, 0xc1, 0x99, 0xa1, 0x1e, 0x4e, 0x90, 0x65, 0x57, 0x5d, 0x69, 0xee, 0x39, - 0xe7, 0x3e, 0x78, 0xef, 0xd5, 0x0c, 0x3c, 0x72, 0x06, 0x56, 0xd5, 0x22, 0x1e, 0xae, 0x5a, 0xa3, - 0xbe, 0xeb, 0xe2, 0x71, 0x75, 0x7e, 0x12, 0x1d, 0x2b, 0x53, 0x8f, 0x50, 0x82, 0xee, 0x39, 0x03, - 0xab, 0x12, 0x4a, 0x2a, 0x11, 0x3e, 0x3f, 0x51, 0x3f, 0x19, 0x92, 0x21, 0x61, 0x7c, 0x35, 0x3c, - 0x71, 0xa9, 0xaa, 0x6d, 0xa2, 0x8d, 0x1d, 0xec, 0x52, 0x16, 0x8c, 0x9d, 0xb8, 0x40, 0xff, 0x6d, - 0x0f, 0x52, 0x75, 0x1e, 0x05, 0x3d, 0x85, 0x84, 0x4f, 0xfb, 0x14, 0x2b, 0x52, 0x59, 0x3a, 0xce, - 0x9f, 0xaa, 0x95, 0x0f, 0xe4, 0xa9, 0x74, 0x42, 0x85, 0xc9, 0x85, 0xe8, 0x2b, 0x48, 0x13, 0xcf, - 0xc6, 0x9e, 0xe3, 0x0e, 0x95, 0xbd, 0x8f, 0x38, 0xb5, 0x43, 0x91, 0xb9, 0xd6, 0xa2, 0xef, 0x60, - 0xdf, 0x22, 0x33, 0x97, 0x62, 0x6f, 0xda, 0xf7, 0xe8, 0xb5, 0x12, 0x2f, 0x4b, 0xc7, 0xd9, 0xd3, - 0x47, 0x1f, 0xf4, 0xad, 0x6f, 0x09, 0x6b, 0xf2, 0xdb, 0x40, 0x8b, 0x99, 0x3b, 0xce, 0xa8, 0x0e, - 0x07, 0x16, 0x71, 0x5d, 0x6c, 0x51, 0x87, 0xb8, 0xbd, 0x11, 0x99, 0xfa, 0x8a, 0x5c, 0x8e, 0x1f, - 0x67, 0x6a, 0xea, 0x2a, 0xd0, 0x8a, 0xd7, 0xfd, 0xc9, 0xf8, 0xb9, 0x7e, 0x47, 0xa0, 0x9b, 0xf9, - 0x0d, 0x72, 0x4e, 0xa6, 0x3e, 0x52, 0x20, 0x35, 0xc7, 0x9e, 0xef, 0x10, 0x57, 0x49, 0x94, 0xa5, - 0xe3, 0x8c, 0x19, 0x99, 0xcf, 0xe5, 0x37, 0xbf, 0x68, 0x31, 0xfd, 0xef, 0x3d, 0x38, 0x34, 0x6c, - 0xec, 0x52, 0xe7, 0x47, 0x07, 0xdb, 0xff, 0x77, 0xec, 0x23, 0x1d, 0x43, 0xf7, 0x21, 0x35, 0x25, - 0x1e, 0xed, 0x39, 0xb6, 0x92, 0x64, 0x4c, 0x32, 0x34, 0x0d, 0x1b, 0x3d, 0x04, 0x10, 0x65, 0x86, - 0x5c, 0x8a, 0x71, 0x19, 0x81, 0x18, 0xb6, 0xe8, 0xf4, 0x15, 0xec, 0x6f, 0x7f, 0x00, 0xfa, 0x62, - 0x13, 0x2d, 0xec, 0x72, 0xa6, 0x86, 0x56, 0x81, 0x96, 0xe7, 0x45, 0x0a, 0x42, 0x5f, 0x67, 0x78, - 0xb6, 0x93, 0x61, 0x8f, 0xe9, 0x8f, 0x56, 0x81, 0x76, 0x28, 0x3e, 0x6a, 0xcd, 0xe9, 0xef, 0x27, - 0xfe, 0x27, 0x0e, 0xc9, 0x8b, 0xbe, 0xf5, 0x1a, 0x53, 0xa4, 0x42, 0xda, 0xc7, 0x3f, 0xcd, 0xb0, - 0x6b, 0xf1, 0xd1, 0xca, 0xe6, 0xda, 0x46, 0x5f, 0x43, 0xd6, 0x27, 0x33, 0xcf, 0xc2, 0xbd, 0x30, - 0xa7, 0xc8, 0x51, 0x5c, 0x05, 0x1a, 0xe2, 0x39, 0xb6, 0x48, 0xdd, 0x04, 0x6e, 0x5d, 0x10, 0x8f, - 0xa2, 0x6f, 0x21, 0x2f, 0x38, 0x91, 0x99, 0x0d, 0x31, 0x53, 0xfb, 0x74, 0x15, 0x68, 0x47, 0x3b, - 0xbe, 0x82, 0xd7, 0xcd, 0x1c, 0x07, 0xa2, 0x75, 0x7b, 0x01, 0x05, 0x1b, 0xfb, 0xd4, 0x71, 0xfb, - 0x6c, 0x2e, 0x2c, 0xbf, 0xcc, 0x62, 0x7c, 0xb6, 0x0a, 0xb4, 0xfb, 0x3c, 0xc6, 0x5d, 0x85, 0x6e, - 0x1e, 0x6c, 0x41, 0xac, 0x92, 0x36, 0xdc, 0xdb, 0x56, 0x45, 0xe5, 0xb0, 0x31, 0xd6, 0x4a, 0xab, - 0x40, 0x53, 0xdf, 0x0f, 0xb5, 0xae, 0x09, 0x6d, 0xa1, 0x51, 0x61, 0x08, 0x64, 0xbb, 0x4f, 0xfb, - 0x6c, 0xdc, 0xfb, 0x26, 0x3b, 0xa3, 0x1f, 0x20, 0x4f, 0x9d, 0x09, 0x26, 0x33, 0xda, 0x1b, 0x61, - 0x67, 0x38, 0xa2, 0x6c, 0xe0, 0xd9, 0x9d, 0x7d, 0xe7, 0x37, 0xd1, 0xfc, 0xa4, 0x72, 0xce, 0x14, - 0xb5, 0x87, 0xe1, 0xb2, 0x6e, 0xda, 0xb1, 0xeb, 0xaf, 0x9b, 0x39, 0x01, 0x70, 0x35, 0x32, 0xe0, - 0x30, 0x52, 0x84, 0xbf, 0x3e, 0xed, 0x4f, 0xa6, 0x4a, 0x3a, 0x1c, 0x57, 0xed, 0xc1, 0x2a, 0xd0, - 0x94, 0xdd, 0x20, 0x6b, 0x89, 0x6e, 0x16, 0x04, 0xd6, 0x8d, 0x20, 0xb1, 0x01, 0xbf, 0x4b, 0x90, - 0xe5, 0x1b, 0xc0, 0xfe, 0xb3, 0xff, 0xc1, 0xea, 0xed, 0x6c, 0x5a, 0xfc, 0xce, 0xa6, 0x45, 0x5d, - 0x95, 0x37, 0x5d, 0x15, 0x85, 0xb6, 0xe1, 0xe0, 0xcc, 0x7a, 0xed, 0x92, 0xab, 0x31, 0xb6, 0x87, - 0x78, 0x82, 0x5d, 0x8a, 0x14, 0x48, 0x7a, 0xd8, 0x9f, 0x8d, 0xa9, 0x72, 0x14, 0xca, 0xcf, 0x63, - 0xa6, 0xb0, 0x51, 0x11, 0x12, 0xd8, 0xf3, 0x88, 0xa7, 0x14, 0xc3, 0x9a, 0xce, 0x63, 0x26, 0x37, - 0x6b, 0x00, 0x69, 0x0f, 0xfb, 0x53, 0xe2, 0xfa, 0xf8, 0xf1, 0x1f, 0x12, 0x24, 0x3a, 0xe2, 0x82, - 0xd2, 0x3a, 0xdd, 0xb3, 0x6e, 0xb3, 0x77, 0xd9, 0x32, 0x5a, 0x46, 0xd7, 0x38, 0x7b, 0x69, 0xbc, - 0x6a, 0x36, 0x7a, 0x97, 0xad, 0xce, 0x45, 0xb3, 0x6e, 0xbc, 0x30, 0x9a, 0x8d, 0x42, 0x4c, 0x3d, - 0x5c, 0x2c, 0xcb, 0xb9, 0x1d, 0x01, 0x52, 0x00, 0xb8, 0x5f, 0x08, 0x16, 0x24, 0x35, 0xbd, 0x58, - 0x96, 0xe5, 0xf0, 0x8c, 0x4a, 0x90, 0xe3, 0x4c, 0xd7, 0xfc, 0xbe, 0x7d, 0xd1, 0x6c, 0x15, 0xf6, - 0xd4, 0xec, 0x62, 0x59, 0x4e, 0x09, 0x73, 0xe3, 0xc9, 0xc8, 0x38, 0xf7, 0x64, 0xcc, 0x03, 0xd8, - 0xe7, 0x4c, 0xfd, 0x65, 0xbb, 0xd3, 0x6c, 0x14, 0x64, 0x15, 0x16, 0xcb, 0x72, 0x92, 0x5b, 0xaa, - 0xfc, 0xe6, 0xd7, 0x52, 0xec, 0xf1, 0x15, 0x24, 0xd8, 0x5d, 0x89, 0x3e, 0x87, 0x62, 0xdb, 0x6c, - 0x34, 0xcd, 0x5e, 0xab, 0xdd, 0x6a, 0xde, 0xa9, 0x97, 0x85, 0x0c, 0x71, 0xa4, 0xc3, 0x01, 0x57, - 0x5d, 0xb6, 0xd8, 0x6f, 0xb3, 0x51, 0x90, 0xd4, 0xdc, 0x62, 0x59, 0xce, 0xac, 0x81, 0xb0, 0x60, - 0xae, 0x89, 0x14, 0xa2, 0x60, 0x61, 0xf2, 0xc4, 0xb5, 0xce, 0xdb, 0x9b, 0x92, 0xf4, 0xee, 0xa6, - 0x24, 0xfd, 0x75, 0x53, 0x92, 0x7e, 0xbe, 0x2d, 0xc5, 0xde, 0xdd, 0x96, 0x62, 0x7f, 0xde, 0x96, - 0x62, 0xaf, 0xbe, 0x19, 0x3a, 0x74, 0x34, 0x1b, 0x54, 0x2c, 0x32, 0xa9, 0x5a, 0xc4, 0x9f, 0x10, - 0xbf, 0xea, 0x0c, 0xac, 0x27, 0x43, 0x52, 0x9d, 0x9f, 0x56, 0x27, 0xc4, 0x9e, 0x8d, 0xb1, 0xcf, - 0x1f, 0xe5, 0xa7, 0xcf, 0x9e, 0x44, 0xaf, 0x3c, 0xbd, 0x9e, 0x62, 0x7f, 0x90, 0x64, 0xaf, 0xf2, - 0x97, 0xff, 0x06, 0x00, 0x00, 0xff, 0xff, 0x01, 0x3a, 0xb8, 0xab, 0x06, 0x08, 0x00, 0x00, + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x55, 0xcd, 0x8e, 0xda, 0x56, + 0x14, 0xc6, 0x83, 0xf9, 0x3b, 0x0c, 0x0c, 0x73, 0xd3, 0x21, 0xae, 0x9b, 0x60, 0x62, 0x75, 0x31, + 0x4a, 0x15, 0xc8, 0x24, 0x51, 0xab, 0x66, 0xd5, 0xe1, 0x27, 0x1a, 0xab, 0x11, 0x8c, 0x0c, 0xb3, + 0x68, 0x36, 0x14, 0xec, 0x5b, 0xb0, 0x02, 0xbe, 0xd4, 0xbe, 0x30, 0x9a, 0x37, 0x88, 0x58, 0xf5, + 0x05, 0x90, 0x2a, 0x55, 0xed, 0x2b, 0xf4, 0x15, 0xb2, 0xcc, 0xb2, 0x2b, 0xab, 0x9a, 0x59, 0x74, + 0xcf, 0x0b, 0xb4, 0xf2, 0xbd, 0xd7, 0xfc, 0x4c, 0xa2, 0x2c, 0xbb, 0xca, 0x8a, 0x7b, 0xbe, 0xef, + 0x3b, 0x3f, 0x3e, 0xe7, 0x70, 0x2f, 0x3c, 0x70, 0x06, 0x56, 0xd5, 0x22, 0x1e, 0xae, 0x5a, 0xa3, + 0xbe, 0xeb, 0xe2, 0x71, 0x75, 0x7e, 0x12, 0x1d, 0x2b, 0x53, 0x8f, 0x50, 0x82, 0xee, 0x38, 0x03, + 0xab, 0x12, 0x4a, 0x2a, 0x11, 0x3e, 0x3f, 0x51, 0x3f, 0x1b, 0x92, 0x21, 0x61, 0x7c, 0x35, 0x3c, + 0x71, 0xa9, 0xaa, 0x6d, 0xa2, 0x8d, 0x1d, 0xec, 0x52, 0x16, 0x8c, 0x9d, 0xb8, 0x40, 0xff, 0x7d, + 0x0f, 0x52, 0x75, 0x1e, 0x05, 0x3d, 0x86, 0x84, 0x4f, 0xfb, 0x14, 0x2b, 0x52, 0x59, 0x3a, 0xce, + 0x3f, 0x51, 0x2b, 0x1f, 0xc8, 0x53, 0xe9, 0x84, 0x0a, 0x93, 0x0b, 0xd1, 0xd7, 0x90, 0x26, 0x9e, + 0x8d, 0x3d, 0xc7, 0x1d, 0x2a, 0x7b, 0x1f, 0x71, 0x6a, 0x87, 0x22, 0x73, 0xad, 0x45, 0xdf, 0xc3, + 0xbe, 0x45, 0x66, 0x2e, 0xc5, 0xde, 0xb4, 0xef, 0xd1, 0x2b, 0x25, 0x5e, 0x96, 0x8e, 0xb3, 0x4f, + 0x1e, 0x7c, 0xd0, 0xb7, 0xbe, 0x25, 0xac, 0xc9, 0x6f, 0x03, 0x2d, 0x66, 0xee, 0x38, 0xa3, 0x3a, + 0x1c, 0x58, 0xc4, 0x75, 0xb1, 0x45, 0x1d, 0xe2, 0xf6, 0x46, 0x64, 0xea, 0x2b, 0x72, 0x39, 0x7e, + 0x9c, 0xa9, 0xa9, 0xab, 0x40, 0x2b, 0x5e, 0xf5, 0x27, 0xe3, 0xe7, 0xfa, 0x2d, 0x81, 0x6e, 0xe6, + 0x37, 0xc8, 0x19, 0x99, 0xfa, 0x48, 0x81, 0xd4, 0x1c, 0x7b, 0xbe, 0x43, 0x5c, 0x25, 0x51, 0x96, + 0x8e, 0x33, 0x66, 0x64, 0x3e, 0x97, 0xdf, 0xfc, 0xaa, 0xc5, 0xf4, 0x7f, 0xf6, 0xe0, 0xd0, 0xb0, + 0xb1, 0x4b, 0x9d, 0x9f, 0x1c, 0x6c, 0x7f, 0xea, 0xd8, 0x47, 0x3a, 0x86, 0xee, 0x42, 0x6a, 0x4a, + 0x3c, 0xda, 0x73, 0x6c, 0x25, 0xc9, 0x98, 0x64, 0x68, 0x1a, 0x36, 0xba, 0x0f, 0x20, 0xca, 0x0c, + 0xb9, 0x14, 0xe3, 0x32, 0x02, 0x31, 0x6c, 0xd1, 0xe9, 0x4b, 0xd8, 0xdf, 0xfe, 0x00, 0xf4, 0xd5, + 0x26, 0x5a, 0xd8, 0xe5, 0x4c, 0x0d, 0xad, 0x02, 0x2d, 0xcf, 0x8b, 0x14, 0x84, 0xbe, 0xce, 0xf0, + 0x6c, 0x27, 0xc3, 0x1e, 0xd3, 0x1f, 0xad, 0x02, 0xed, 0x50, 0x7c, 0xd4, 0x9a, 0xd3, 0xdf, 0x4f, + 0xfc, 0x6f, 0x1c, 0x92, 0xe7, 0x7d, 0xeb, 0x35, 0xa6, 0x48, 0x85, 0xb4, 0x8f, 0x7f, 0x9e, 0x61, + 0xd7, 0xe2, 0xa3, 0x95, 0xcd, 0xb5, 0x8d, 0xbe, 0x81, 0xac, 0x4f, 0x66, 0x9e, 0x85, 0x7b, 0x61, + 0x4e, 0x91, 0xa3, 0xb8, 0x0a, 0x34, 0xc4, 0x73, 0x6c, 0x91, 0xba, 0x09, 0xdc, 0x3a, 0x27, 0x1e, + 0x45, 0xdf, 0x41, 0x5e, 0x70, 0x22, 0x33, 0x1b, 0x62, 0xa6, 0xf6, 0xf9, 0x2a, 0xd0, 0x8e, 0x76, + 0x7c, 0x05, 0xaf, 0x9b, 0x39, 0x0e, 0x44, 0xeb, 0xf6, 0x02, 0x0a, 0x36, 0xf6, 0xa9, 0xe3, 0xf6, + 0xd9, 0x5c, 0x58, 0x7e, 0x99, 0xc5, 0xf8, 0x62, 0x15, 0x68, 0x77, 0x79, 0x8c, 0xdb, 0x0a, 0xdd, + 0x3c, 0xd8, 0x82, 0x58, 0x25, 0x6d, 0xb8, 0xb3, 0xad, 0x8a, 0xca, 0x61, 0x63, 0xac, 0x95, 0x56, + 0x81, 0xa6, 0xbe, 0x1f, 0x6a, 0x5d, 0x13, 0xda, 0x42, 0xa3, 0xc2, 0x10, 0xc8, 0x76, 0x9f, 0xf6, + 0xd9, 0xb8, 0xf7, 0x4d, 0x76, 0x46, 0x3f, 0x42, 0x9e, 0x3a, 0x13, 0x4c, 0x66, 0xb4, 0x37, 0xc2, + 0xce, 0x70, 0x44, 0xd9, 0xc0, 0xb3, 0x3b, 0xfb, 0xce, 0x6f, 0xa2, 0xf9, 0x49, 0xe5, 0x8c, 0x29, + 0x6a, 0xf7, 0xc3, 0x65, 0xdd, 0xb4, 0x63, 0xd7, 0x5f, 0x37, 0x73, 0x02, 0xe0, 0x6a, 0x64, 0xc0, + 0x61, 0xa4, 0x08, 0x7f, 0x7d, 0xda, 0x9f, 0x4c, 0x95, 0x74, 0x38, 0xae, 0xda, 0xbd, 0x55, 0xa0, + 0x29, 0xbb, 0x41, 0xd6, 0x12, 0xdd, 0x2c, 0x08, 0xac, 0x1b, 0x41, 0x62, 0x03, 0xfe, 0x90, 0x20, + 0xcb, 0x37, 0x80, 0xfd, 0x67, 0xff, 0x87, 0xd5, 0xdb, 0xd9, 0xb4, 0xf8, 0xad, 0x4d, 0x8b, 0xba, + 0x2a, 0x6f, 0xba, 0x2a, 0x0a, 0x6d, 0xc3, 0xc1, 0xa9, 0xf5, 0xda, 0x25, 0x97, 0x63, 0x6c, 0x0f, + 0xf1, 0x04, 0xbb, 0x14, 0x29, 0x90, 0xf4, 0xb0, 0x3f, 0x1b, 0x53, 0xe5, 0x28, 0x94, 0x9f, 0xc5, + 0x4c, 0x61, 0xa3, 0x22, 0x24, 0xb0, 0xe7, 0x11, 0x4f, 0x29, 0x86, 0x35, 0x9d, 0xc5, 0x4c, 0x6e, + 0xd6, 0x00, 0xd2, 0x1e, 0xf6, 0xa7, 0xc4, 0xf5, 0xf1, 0xc3, 0x3f, 0x25, 0x48, 0x74, 0xc4, 0x05, + 0xa5, 0x75, 0xba, 0xa7, 0xdd, 0x66, 0xef, 0xa2, 0x65, 0xb4, 0x8c, 0xae, 0x71, 0xfa, 0xd2, 0x78, + 0xd5, 0x6c, 0xf4, 0x2e, 0x5a, 0x9d, 0xf3, 0x66, 0xdd, 0x78, 0x61, 0x34, 0x1b, 0x85, 0x98, 0x7a, + 0xb8, 0x58, 0x96, 0x73, 0x3b, 0x02, 0xa4, 0x00, 0x70, 0xbf, 0x10, 0x2c, 0x48, 0x6a, 0x7a, 0xb1, + 0x2c, 0xcb, 0xe1, 0x19, 0x95, 0x20, 0xc7, 0x99, 0xae, 0xf9, 0x43, 0xfb, 0xbc, 0xd9, 0x2a, 0xec, + 0xa9, 0xd9, 0xc5, 0xb2, 0x9c, 0x12, 0xe6, 0xc6, 0x93, 0x91, 0x71, 0xee, 0xc9, 0x98, 0x7b, 0xb0, + 0xcf, 0x99, 0xfa, 0xcb, 0x76, 0xa7, 0xd9, 0x28, 0xc8, 0x2a, 0x2c, 0x96, 0xe5, 0x24, 0xb7, 0x54, + 0xf9, 0xcd, 0x6f, 0xa5, 0xd8, 0xc3, 0x4b, 0x48, 0xb0, 0xbb, 0x12, 0x7d, 0x09, 0xc5, 0xb6, 0xd9, + 0x68, 0x9a, 0xbd, 0x56, 0xbb, 0xd5, 0xbc, 0x55, 0x2f, 0x0b, 0x19, 0xe2, 0x48, 0x87, 0x03, 0xae, + 0xba, 0x68, 0xb1, 0xdf, 0x66, 0xa3, 0x20, 0xa9, 0xb9, 0xc5, 0xb2, 0x9c, 0x59, 0x03, 0x61, 0xc1, + 0x5c, 0x13, 0x29, 0x44, 0xc1, 0xc2, 0xe4, 0x89, 0x6b, 0x9d, 0xb7, 0xd7, 0x25, 0xe9, 0xdd, 0x75, + 0x49, 0xfa, 0xfb, 0xba, 0x24, 0xfd, 0x72, 0x53, 0x8a, 0xbd, 0xbb, 0x29, 0xc5, 0xfe, 0xba, 0x29, + 0xc5, 0x5e, 0x7d, 0x3b, 0x74, 0xe8, 0x68, 0x36, 0xa8, 0x58, 0x64, 0x52, 0xb5, 0x88, 0x3f, 0x21, + 0x7e, 0xd5, 0x19, 0x58, 0x8f, 0x86, 0xa4, 0x3a, 0x7f, 0x5a, 0x9d, 0x10, 0x7b, 0x36, 0xc6, 0x3e, + 0x7f, 0x94, 0x1f, 0x3f, 0x7b, 0x14, 0xbd, 0xf2, 0xf4, 0x6a, 0x8a, 0xfd, 0x41, 0x92, 0xbd, 0xca, + 0x4f, 0xff, 0x0b, 0x00, 0x00, 0xff, 0xff, 0xa8, 0x31, 0x31, 0xe5, 0x06, 0x08, 0x00, 0x00, } func (m *Channel) Marshal() (dAtA []byte, err error) { diff --git a/modules/core/04-channel/types/channel_test.go b/modules/core/04-channel/types/channel_test.go index f9b9e5a63fc..c6cc9a03a9c 100644 --- a/modules/core/04-channel/types/channel_test.go +++ b/modules/core/04-channel/types/channel_test.go @@ -5,7 +5,7 @@ import ( "github.com/stretchr/testify/require" - "github.com/cosmos/ibc-go/v2/modules/core/04-channel/types" + "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types" ) func TestChannelValidateBasic(t *testing.T) { diff --git a/modules/core/04-channel/types/codec.go b/modules/core/04-channel/types/codec.go index ebb09dc01f9..23b062a70c0 100644 --- a/modules/core/04-channel/types/codec.go +++ b/modules/core/04-channel/types/codec.go @@ -5,7 +5,7 @@ import ( codectypes "github.com/cosmos/cosmos-sdk/codec/types" sdk "github.com/cosmos/cosmos-sdk/types" "github.com/cosmos/cosmos-sdk/types/msgservice" - "github.com/cosmos/ibc-go/v2/modules/core/exported" + "github.com/cosmos/ibc-go/v3/modules/core/exported" ) // RegisterInterfaces register the ibc channel submodule interfaces to protobuf diff --git a/modules/core/04-channel/types/events.go b/modules/core/04-channel/types/events.go index 81c1f38c9bb..4154b856c5d 100644 --- a/modules/core/04-channel/types/events.go +++ b/modules/core/04-channel/types/events.go @@ -3,7 +3,7 @@ package types import ( "fmt" - host "github.com/cosmos/ibc-go/v2/modules/core/24-host" + host "github.com/cosmos/ibc-go/v3/modules/core/24-host" ) // IBC channel events diff --git a/modules/core/04-channel/types/expected_keepers.go b/modules/core/04-channel/types/expected_keepers.go index 3f2dfa54546..232caa5244f 100644 --- a/modules/core/04-channel/types/expected_keepers.go +++ b/modules/core/04-channel/types/expected_keepers.go @@ -3,8 +3,8 @@ package types import ( sdk "github.com/cosmos/cosmos-sdk/types" capabilitytypes "github.com/cosmos/cosmos-sdk/x/capability/types" - connectiontypes "github.com/cosmos/ibc-go/v2/modules/core/03-connection/types" - "github.com/cosmos/ibc-go/v2/modules/core/exported" + connectiontypes "github.com/cosmos/ibc-go/v3/modules/core/03-connection/types" + "github.com/cosmos/ibc-go/v3/modules/core/exported" ) // ClientKeeper expected account IBC client keeper diff --git a/modules/core/04-channel/types/genesis.go b/modules/core/04-channel/types/genesis.go index c57847c1625..5f6b9370942 100644 --- a/modules/core/04-channel/types/genesis.go +++ b/modules/core/04-channel/types/genesis.go @@ -4,7 +4,7 @@ import ( "errors" "fmt" - host "github.com/cosmos/ibc-go/v2/modules/core/24-host" + host "github.com/cosmos/ibc-go/v3/modules/core/24-host" ) // NewPacketState creates a new PacketState instance. diff --git a/modules/core/04-channel/types/genesis.pb.go b/modules/core/04-channel/types/genesis.pb.go index e4f1d216efa..fa474dbb006 100644 --- a/modules/core/04-channel/types/genesis.pb.go +++ b/modules/core/04-channel/types/genesis.pb.go @@ -198,36 +198,36 @@ var fileDescriptor_cb06ec201f452595 = []byte{ // 506 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x93, 0xcf, 0x6e, 0xd3, 0x40, 0x10, 0x87, 0xe3, 0x36, 0x4d, 0xd3, 0x6d, 0x13, 0xd1, 0x6d, 0x23, 0x99, 0xa8, 0xd8, 0xc6, 0x48, - 0x28, 0x12, 0xaa, 0x4d, 0x4b, 0x2f, 0x70, 0x34, 0x07, 0xc8, 0x0d, 0x6d, 0x39, 0x21, 0xa1, 0xc8, + 0x28, 0x12, 0xaa, 0x4d, 0x69, 0x2f, 0x70, 0x34, 0x07, 0xc8, 0x0d, 0x6d, 0x39, 0x21, 0xa1, 0xc8, 0x5e, 0x4f, 0xdd, 0x55, 0x62, 0x6f, 0xf0, 0x6e, 0x02, 0x7d, 0x0a, 0x78, 0xac, 0x1e, 0x7b, 0xe4, 0x64, 0xa1, 0xe4, 0x0d, 0x72, 0xe4, 0x84, 0xfc, 0x37, 0x89, 0x1a, 0x21, 0xca, 0xcd, 0x3b, 0xf3, 0x9b, 0xef, 0x9b, 0x83, 0x07, 0x3d, 0x65, 0x1e, 0xb5, 0x29, 0x8f, 0xc1, 0xa6, 0xd7, 0x6e, 0x14, 0xc1, 0xc8, 0x9e, 0x9e, 0xd9, 0x01, 0x44, 0x20, 0x98, 0xb0, 0xc6, 0x31, 0x97, 0x1c, 0x1f, 0x31, 0x8f, 0x5a, 0x69, 0xc4, 0x2a, 0x22, 0xd6, 0xf4, 0xac, 0x7b, 0x1c, 0xf0, 0x80, 0x67, 0x7d, 0x3b, 0xfd, 0xca, 0xa3, 0xdd, 0x8d, 0xb4, 0x72, 0x2a, 0x8b, 0x98, 0xf3, 0x1d, 0x74, 0xf0, 0x2e, 0xe7, - 0x5f, 0x4a, 0x57, 0x02, 0xfe, 0x8c, 0x9a, 0x45, 0x42, 0xa8, 0x8a, 0xb1, 0xdd, 0xdb, 0x3f, 0x7f, - 0x6e, 0x6d, 0x30, 0x5a, 0x7d, 0x1f, 0x22, 0xc9, 0xae, 0x18, 0xf8, 0x6f, 0xf3, 0xa2, 0xf3, 0xf8, - 0x36, 0xd1, 0x6b, 0xbf, 0x13, 0xfd, 0xf0, 0x5e, 0x8b, 0x54, 0x48, 0x4c, 0xd0, 0x23, 0x97, 0x0e, - 0x23, 0xfe, 0x75, 0x04, 0x7e, 0x00, 0x21, 0x44, 0x52, 0xa8, 0x5b, 0x99, 0xc6, 0xd8, 0xa8, 0xf9, - 0xe0, 0xd2, 0x21, 0xc8, 0x6c, 0x35, 0xa7, 0x9e, 0x0a, 0xc8, 0xbd, 0x79, 0xfc, 0x1e, 0xed, 0x53, - 0x1e, 0x86, 0x4c, 0xe6, 0xb8, 0xed, 0x07, 0xe1, 0x56, 0x47, 0xb1, 0x83, 0x9a, 0x31, 0x50, 0x60, - 0x63, 0x29, 0xd4, 0xfa, 0x83, 0x30, 0xd5, 0x1c, 0x66, 0xa8, 0x2d, 0x20, 0xf2, 0x07, 0x02, 0xbe, - 0x4c, 0x20, 0xa2, 0x20, 0xd4, 0x9d, 0x8c, 0xf4, 0xec, 0x6f, 0xa4, 0x22, 0xeb, 0x3c, 0x49, 0x61, - 0x8b, 0x44, 0xef, 0xdc, 0xb8, 0xe1, 0xe8, 0x8d, 0xb9, 0x0e, 0x32, 0x49, 0x2b, 0x2d, 0x94, 0xe1, - 0x4c, 0x15, 0x03, 0x9d, 0xae, 0xa8, 0x1a, 0xff, 0xad, 0x5a, 0x07, 0x99, 0xa4, 0x95, 0x16, 0x96, - 0xaa, 0x2b, 0xd4, 0x72, 0xe9, 0x70, 0xc5, 0xb4, 0xfb, 0xef, 0xa6, 0x93, 0xc2, 0x74, 0x9c, 0x9b, - 0xd6, 0x38, 0x26, 0x39, 0x70, 0xe9, 0x70, 0xe9, 0xf9, 0x88, 0x3a, 0x11, 0x7c, 0x93, 0x83, 0x82, - 0x56, 0x05, 0xd5, 0xa6, 0xa1, 0xf4, 0xea, 0x8e, 0xb1, 0x48, 0xf4, 0x93, 0x1c, 0xb3, 0x31, 0x66, - 0x92, 0xa3, 0xb4, 0x5e, 0xfc, 0x77, 0x25, 0xd6, 0xfc, 0xae, 0xa0, 0xf6, 0xfa, 0x52, 0xf8, 0x05, - 0xda, 0x1d, 0xf3, 0x58, 0x0e, 0x98, 0xaf, 0x2a, 0x86, 0xd2, 0xdb, 0x73, 0xf0, 0x22, 0xd1, 0xdb, - 0x39, 0xba, 0x68, 0x98, 0xa4, 0x91, 0x7e, 0xf5, 0x7d, 0x7c, 0x81, 0x50, 0x69, 0x62, 0xbe, 0xba, - 0x95, 0xe5, 0x3b, 0x8b, 0x44, 0x3f, 0xcc, 0xf3, 0xcb, 0x9e, 0x49, 0xf6, 0x8a, 0x47, 0xdf, 0xc7, - 0x5d, 0xd4, 0xac, 0xd6, 0xdf, 0x4e, 0xd7, 0x27, 0xd5, 0xdb, 0xb9, 0xbc, 0x9d, 0x69, 0xca, 0xdd, - 0x4c, 0x53, 0x7e, 0xcd, 0x34, 0xe5, 0xc7, 0x5c, 0xab, 0xdd, 0xcd, 0xb5, 0xda, 0xcf, 0xb9, 0x56, - 0xfb, 0xf4, 0x3a, 0x60, 0xf2, 0x7a, 0xe2, 0x59, 0x94, 0x87, 0x36, 0xe5, 0x22, 0xe4, 0xc2, 0x66, - 0x1e, 0x3d, 0x0d, 0xb8, 0x3d, 0x3d, 0xb7, 0x43, 0xee, 0x4f, 0x46, 0x20, 0xf2, 0xa3, 0x7e, 0x79, - 0x71, 0x5a, 0xde, 0xb5, 0xbc, 0x19, 0x83, 0xf0, 0x1a, 0xd9, 0x4d, 0xbf, 0xfa, 0x13, 0x00, 0x00, - 0xff, 0xff, 0x80, 0xaa, 0x4d, 0x9c, 0x46, 0x04, 0x00, 0x00, + 0x5f, 0x4a, 0x57, 0x02, 0xfe, 0x8c, 0x9a, 0x45, 0x42, 0xa8, 0x8a, 0xb1, 0xdd, 0xdb, 0x7f, 0xf5, + 0xdc, 0xda, 0x60, 0xb4, 0xfa, 0x3e, 0x44, 0x92, 0x5d, 0x31, 0xf0, 0xdf, 0xe6, 0x45, 0xe7, 0xf1, + 0x6d, 0xa2, 0xd7, 0x7e, 0x27, 0xfa, 0xe1, 0xbd, 0x16, 0xa9, 0x90, 0x98, 0xa0, 0x47, 0x2e, 0x1d, + 0x46, 0xfc, 0xeb, 0x08, 0xfc, 0x00, 0x42, 0x88, 0xa4, 0x50, 0xb7, 0x32, 0x8d, 0xb1, 0x51, 0xf3, + 0xc1, 0xa5, 0x43, 0x90, 0xd9, 0x6a, 0x4e, 0x3d, 0x15, 0x90, 0x7b, 0xf3, 0xf8, 0x3d, 0xda, 0xa7, + 0x3c, 0x0c, 0x99, 0xcc, 0x71, 0xdb, 0x0f, 0xc2, 0xad, 0x8e, 0x62, 0x07, 0x35, 0x63, 0xa0, 0xc0, + 0xc6, 0x52, 0xa8, 0xf5, 0x07, 0x61, 0xaa, 0x39, 0xcc, 0x50, 0x5b, 0x40, 0xe4, 0x0f, 0x04, 0x7c, + 0x99, 0x40, 0x44, 0x41, 0xa8, 0x3b, 0x19, 0xe9, 0xd9, 0xdf, 0x48, 0x45, 0xd6, 0x79, 0x92, 0xc2, + 0x16, 0x89, 0xde, 0xb9, 0x71, 0xc3, 0xd1, 0x1b, 0x73, 0x1d, 0x64, 0x92, 0x56, 0x5a, 0x28, 0xc3, + 0x99, 0x2a, 0x06, 0x3a, 0x5d, 0x51, 0x35, 0xfe, 0x5b, 0xb5, 0x0e, 0x32, 0x49, 0x2b, 0x2d, 0x2c, + 0x55, 0x57, 0xa8, 0xe5, 0xd2, 0xe1, 0x8a, 0x69, 0xf7, 0xdf, 0x4d, 0x27, 0x85, 0xe9, 0x38, 0x37, + 0xad, 0x71, 0x4c, 0x72, 0xe0, 0xd2, 0xe1, 0xd2, 0xf3, 0x11, 0x75, 0x22, 0xf8, 0x26, 0x07, 0x05, + 0xad, 0x0a, 0xaa, 0x4d, 0x43, 0xe9, 0xd5, 0x1d, 0x63, 0x91, 0xe8, 0x27, 0x39, 0x66, 0x63, 0xcc, + 0x24, 0x47, 0x69, 0xbd, 0xf8, 0xef, 0x4a, 0xac, 0xf9, 0x5d, 0x41, 0xed, 0xf5, 0xa5, 0xf0, 0x0b, + 0xb4, 0x3b, 0xe6, 0xb1, 0x1c, 0x30, 0x5f, 0x55, 0x0c, 0xa5, 0xb7, 0xe7, 0xe0, 0x45, 0xa2, 0xb7, + 0x73, 0x74, 0xd1, 0x30, 0x49, 0x23, 0xfd, 0xea, 0xfb, 0xf8, 0x02, 0xa1, 0xd2, 0xc4, 0x7c, 0x75, + 0x2b, 0xcb, 0x77, 0x16, 0x89, 0x7e, 0x98, 0xe7, 0x97, 0x3d, 0x93, 0xec, 0x15, 0x8f, 0xbe, 0x8f, + 0xbb, 0xa8, 0x59, 0xad, 0xbf, 0x9d, 0xae, 0x4f, 0xaa, 0xb7, 0x73, 0x79, 0x3b, 0xd3, 0x94, 0xbb, + 0x99, 0xa6, 0xfc, 0x9a, 0x69, 0xca, 0x8f, 0xb9, 0x56, 0xbb, 0x9b, 0x6b, 0xb5, 0x9f, 0x73, 0xad, + 0xf6, 0xe9, 0x75, 0xc0, 0xe4, 0xf5, 0xc4, 0xb3, 0x28, 0x0f, 0x6d, 0xca, 0x45, 0xc8, 0x85, 0xcd, + 0x3c, 0x7a, 0x1a, 0x70, 0x7b, 0x7a, 0x6e, 0x87, 0xdc, 0x9f, 0x8c, 0x40, 0xe4, 0x47, 0xfd, 0xf2, + 0xe2, 0xb4, 0xbc, 0x6b, 0x79, 0x33, 0x06, 0xe1, 0x35, 0xb2, 0x9b, 0x3e, 0xff, 0x13, 0x00, 0x00, + 0xff, 0xff, 0x29, 0xa1, 0xc4, 0xd2, 0x46, 0x04, 0x00, 0x00, } func (m *GenesisState) Marshal() (dAtA []byte, err error) { diff --git a/modules/core/04-channel/types/genesis_test.go b/modules/core/04-channel/types/genesis_test.go index 869acf1135b..856c0833c88 100644 --- a/modules/core/04-channel/types/genesis_test.go +++ b/modules/core/04-channel/types/genesis_test.go @@ -5,7 +5,7 @@ import ( "github.com/stretchr/testify/require" - "github.com/cosmos/ibc-go/v2/modules/core/04-channel/types" + "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types" ) const ( diff --git a/modules/core/04-channel/types/keys.go b/modules/core/04-channel/types/keys.go index 0ad8f471913..3b2bce3642f 100644 --- a/modules/core/04-channel/types/keys.go +++ b/modules/core/04-channel/types/keys.go @@ -5,7 +5,7 @@ import ( "regexp" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" - host "github.com/cosmos/ibc-go/v2/modules/core/24-host" + host "github.com/cosmos/ibc-go/v3/modules/core/24-host" ) const ( diff --git a/modules/core/04-channel/types/keys_test.go b/modules/core/04-channel/types/keys_test.go index 5c6a7d9fa16..f5bef1eaf2d 100644 --- a/modules/core/04-channel/types/keys_test.go +++ b/modules/core/04-channel/types/keys_test.go @@ -5,7 +5,7 @@ import ( "github.com/stretchr/testify/require" - "github.com/cosmos/ibc-go/v2/modules/core/04-channel/types" + "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types" ) // tests ParseChannelSequence and IsValidChannelID diff --git a/modules/core/04-channel/types/msgs.go b/modules/core/04-channel/types/msgs.go index 9d552d7950c..d940eb9ae8c 100644 --- a/modules/core/04-channel/types/msgs.go +++ b/modules/core/04-channel/types/msgs.go @@ -5,9 +5,9 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" - clienttypes "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" - commitmenttypes "github.com/cosmos/ibc-go/v2/modules/core/23-commitment/types" - host "github.com/cosmos/ibc-go/v2/modules/core/24-host" + clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" + commitmenttypes "github.com/cosmos/ibc-go/v3/modules/core/23-commitment/types" + host "github.com/cosmos/ibc-go/v3/modules/core/24-host" ) var _ sdk.Msg = &MsgChannelOpenInit{} diff --git a/modules/core/04-channel/types/msgs_test.go b/modules/core/04-channel/types/msgs_test.go index e82faa2541f..172d8a29f63 100644 --- a/modules/core/04-channel/types/msgs_test.go +++ b/modules/core/04-channel/types/msgs_test.go @@ -13,11 +13,11 @@ import ( "github.com/cosmos/cosmos-sdk/store/rootmulti" storetypes "github.com/cosmos/cosmos-sdk/store/types" sdk "github.com/cosmos/cosmos-sdk/types" - clienttypes "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" - "github.com/cosmos/ibc-go/v2/modules/core/04-channel/types" - commitmenttypes "github.com/cosmos/ibc-go/v2/modules/core/23-commitment/types" - "github.com/cosmos/ibc-go/v2/modules/core/exported" - "github.com/cosmos/ibc-go/v2/testing/simapp" + clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" + "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types" + commitmenttypes "github.com/cosmos/ibc-go/v3/modules/core/23-commitment/types" + "github.com/cosmos/ibc-go/v3/modules/core/exported" + "github.com/cosmos/ibc-go/v3/testing/simapp" ) const ( diff --git a/modules/core/04-channel/types/packet.go b/modules/core/04-channel/types/packet.go index 8e259ca1813..be06e66cc09 100644 --- a/modules/core/04-channel/types/packet.go +++ b/modules/core/04-channel/types/packet.go @@ -6,9 +6,9 @@ import ( "github.com/cosmos/cosmos-sdk/codec" sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" - clienttypes "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" - host "github.com/cosmos/ibc-go/v2/modules/core/24-host" - "github.com/cosmos/ibc-go/v2/modules/core/exported" + clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" + host "github.com/cosmos/ibc-go/v3/modules/core/24-host" + "github.com/cosmos/ibc-go/v3/modules/core/exported" ) // CommitPacket returns the packet commitment bytes. The commitment consists of: diff --git a/modules/core/04-channel/types/packet_test.go b/modules/core/04-channel/types/packet_test.go index 47f8a302852..06752d6e947 100644 --- a/modules/core/04-channel/types/packet_test.go +++ b/modules/core/04-channel/types/packet_test.go @@ -7,8 +7,8 @@ import ( "github.com/cosmos/cosmos-sdk/codec" codectypes "github.com/cosmos/cosmos-sdk/codec/types" - clienttypes "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" - "github.com/cosmos/ibc-go/v2/modules/core/04-channel/types" + clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" + "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types" ) func TestCommitPacket(t *testing.T) { diff --git a/modules/core/04-channel/types/query.go b/modules/core/04-channel/types/query.go index ceb4e3661b8..83180c223e1 100644 --- a/modules/core/04-channel/types/query.go +++ b/modules/core/04-channel/types/query.go @@ -2,8 +2,8 @@ package types import ( codectypes "github.com/cosmos/cosmos-sdk/codec/types" - clienttypes "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" - "github.com/cosmos/ibc-go/v2/modules/core/exported" + clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" + "github.com/cosmos/ibc-go/v3/modules/core/exported" ) var ( diff --git a/modules/core/04-channel/types/query.pb.go b/modules/core/04-channel/types/query.pb.go index 65eabb70767..1345b0bcdea 100644 --- a/modules/core/04-channel/types/query.pb.go +++ b/modules/core/04-channel/types/query.pb.go @@ -8,7 +8,7 @@ import ( fmt "fmt" types1 "github.com/cosmos/cosmos-sdk/codec/types" query "github.com/cosmos/cosmos-sdk/types/query" - types "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" + types "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" _ "github.com/gogo/protobuf/gogoproto" grpc1 "github.com/gogo/protobuf/grpc" proto "github.com/gogo/protobuf/proto" @@ -1709,99 +1709,99 @@ func init() { proto.RegisterFile("ibc/core/channel/v1/query.proto", fileDescript var fileDescriptor_1034a1e9abc4cca1 = []byte{ // 1490 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xdc, 0x59, 0xcf, 0x6f, 0x13, 0xc7, - 0x17, 0xcf, 0x38, 0x06, 0x92, 0x07, 0x5f, 0x7e, 0x4c, 0x12, 0x08, 0x4b, 0x70, 0x82, 0xbf, 0x6a, - 0x09, 0x48, 0xec, 0x90, 0x40, 0x29, 0xad, 0x5a, 0x24, 0x12, 0xa9, 0x90, 0xaa, 0xfc, 0xda, 0x14, - 0x15, 0x90, 0x5a, 0x77, 0xbd, 0x1e, 0x9c, 0x55, 0xe2, 0xdd, 0xc5, 0xbb, 0x36, 0xa0, 0xd4, 0x55, - 0xd5, 0x03, 0x45, 0xea, 0xa5, 0x2a, 0x87, 0x4a, 0xbd, 0x54, 0xea, 0x8d, 0x43, 0x0f, 0xfd, 0x0b, - 0x7a, 0xe5, 0x56, 0x24, 0x7a, 0xa8, 0x84, 0x44, 0x2b, 0x82, 0x44, 0xaf, 0xbd, 0xf4, 0x5c, 0xed, - 0xfc, 0x58, 0xef, 0xda, 0xbb, 0x1b, 0x3b, 0x8e, 0x25, 0xd4, 0xdb, 0xee, 0xec, 0xbc, 0x37, 0x9f, - 0xcf, 0xe7, 0xcd, 0x7b, 0x79, 0xcf, 0x81, 0x49, 0xb3, 0x68, 0x10, 0xc3, 0xae, 0x52, 0x62, 0x2c, - 0xe9, 0x96, 0x45, 0x57, 0x48, 0x7d, 0x86, 0xdc, 0xaa, 0xd1, 0xea, 0x5d, 0xd5, 0xa9, 0xda, 0x9e, - 0x8d, 0x47, 0xcc, 0xa2, 0xa1, 0xfa, 0x1b, 0x54, 0xb1, 0x41, 0xad, 0xcf, 0x28, 0x21, 0xab, 0x15, - 0x93, 0x5a, 0x9e, 0x6f, 0xc4, 0x9f, 0xb8, 0x95, 0x72, 0xd4, 0xb0, 0xdd, 0x8a, 0xed, 0x92, 0xa2, - 0xee, 0x52, 0xee, 0x8e, 0xd4, 0x67, 0x8a, 0xd4, 0xd3, 0x67, 0x88, 0xa3, 0x97, 0x4d, 0x4b, 0xf7, - 0x4c, 0xdb, 0x12, 0x7b, 0x0f, 0xc5, 0x41, 0x90, 0x87, 0xf1, 0x2d, 0x13, 0x65, 0xdb, 0x2e, 0xaf, - 0x50, 0xa2, 0x3b, 0x26, 0xd1, 0x2d, 0xcb, 0xf6, 0x98, 0xbd, 0x2b, 0xbe, 0xee, 0x17, 0x5f, 0xd9, - 0x5b, 0xb1, 0x76, 0x93, 0xe8, 0x96, 0x40, 0xaf, 0x8c, 0x96, 0xed, 0xb2, 0xcd, 0x1e, 0x89, 0xff, - 0xc4, 0x57, 0xf3, 0x17, 0x60, 0xe4, 0x8a, 0x8f, 0x69, 0x9e, 0x1f, 0xa2, 0xd1, 0x5b, 0x35, 0xea, - 0x7a, 0x78, 0x1f, 0x6c, 0x73, 0xec, 0xaa, 0x57, 0x30, 0x4b, 0xe3, 0x68, 0x0a, 0x4d, 0x0f, 0x6b, - 0x5b, 0xfd, 0xd7, 0x85, 0x12, 0x3e, 0x08, 0x20, 0xf0, 0xf8, 0xdf, 0x32, 0xec, 0xdb, 0xb0, 0x58, - 0x59, 0x28, 0xe5, 0x1f, 0x22, 0x18, 0x8d, 0xfa, 0x73, 0x1d, 0xdb, 0x72, 0x29, 0x3e, 0x05, 0xdb, - 0xc4, 0x2e, 0xe6, 0x70, 0xfb, 0xec, 0x84, 0x1a, 0xa3, 0xa6, 0x2a, 0xcd, 0xe4, 0x66, 0x3c, 0x0a, - 0x5b, 0x9c, 0xaa, 0x6d, 0xdf, 0x64, 0x47, 0xed, 0xd0, 0xf8, 0x0b, 0x9e, 0x87, 0x1d, 0xec, 0xa1, - 0xb0, 0x44, 0xcd, 0xf2, 0x92, 0x37, 0x3e, 0xc8, 0x5c, 0x2a, 0x21, 0x97, 0x3c, 0x02, 0xf5, 0x19, - 0xf5, 0x3c, 0xdb, 0x31, 0x97, 0x7d, 0xf4, 0x6c, 0x72, 0x40, 0xdb, 0xce, 0xac, 0xf8, 0x52, 0xfe, - 0x93, 0x28, 0x54, 0x57, 0x72, 0x7f, 0x0f, 0xa0, 0x19, 0x18, 0x81, 0xf6, 0x75, 0x95, 0x47, 0x51, - 0xf5, 0xa3, 0xa8, 0xf2, 0x4b, 0x21, 0xa2, 0xa8, 0x5e, 0xd6, 0xcb, 0x54, 0xd8, 0x6a, 0x21, 0xcb, - 0xfc, 0x33, 0x04, 0x63, 0x2d, 0x07, 0x08, 0x31, 0xe6, 0x60, 0x48, 0xf0, 0x73, 0xc7, 0xd1, 0xd4, - 0x20, 0xf3, 0x1f, 0xa7, 0xc6, 0x42, 0x89, 0x5a, 0x9e, 0x79, 0xd3, 0xa4, 0x25, 0xa9, 0x4b, 0x60, - 0x87, 0xcf, 0x45, 0x50, 0x66, 0x18, 0xca, 0xc3, 0xeb, 0xa2, 0xe4, 0x00, 0xc2, 0x30, 0xf1, 0x69, - 0xd8, 0xda, 0xa5, 0x8a, 0x62, 0x7f, 0xfe, 0x3e, 0x82, 0x1c, 0x27, 0x68, 0x5b, 0x16, 0x35, 0x7c, - 0x6f, 0xad, 0x5a, 0xe6, 0x00, 0x8c, 0xe0, 0xa3, 0xb8, 0x4a, 0xa1, 0x95, 0x16, 0xad, 0x33, 0x1b, - 0xd6, 0xfa, 0x2f, 0x04, 0x93, 0x89, 0x50, 0xfe, 0x5b, 0xaa, 0x5f, 0x93, 0xa2, 0x73, 0x4c, 0xf3, - 0x6c, 0xf7, 0xa2, 0xa7, 0x7b, 0xb4, 0xd7, 0xe4, 0xfd, 0x23, 0x10, 0x31, 0xc6, 0xb5, 0x10, 0x51, - 0x87, 0x7d, 0x66, 0xa0, 0x4f, 0x81, 0x43, 0x2d, 0xb8, 0xfe, 0x16, 0x91, 0x29, 0x47, 0xe2, 0x88, - 0x84, 0x24, 0x0d, 0xf9, 0x1c, 0x33, 0xe3, 0x96, 0xfb, 0x99, 0xf2, 0x3f, 0x21, 0x38, 0x14, 0x61, - 0xe8, 0x73, 0xb2, 0xdc, 0x9a, 0xbb, 0x19, 0xfa, 0xe1, 0xc3, 0xb0, 0xab, 0x4a, 0xeb, 0xa6, 0x6b, - 0xda, 0x56, 0xc1, 0xaa, 0x55, 0x8a, 0xb4, 0xca, 0x50, 0x66, 0xb5, 0x9d, 0x72, 0xf9, 0x22, 0x5b, - 0x8d, 0x6c, 0x14, 0x74, 0xb2, 0xd1, 0x8d, 0x02, 0xef, 0x53, 0x04, 0xf9, 0x34, 0xbc, 0x22, 0x28, - 0xef, 0xc2, 0x2e, 0x43, 0x7e, 0x89, 0x04, 0x63, 0x54, 0xe5, 0x7f, 0x0f, 0x54, 0xf9, 0xf7, 0x40, - 0x3d, 0x6b, 0xdd, 0xd5, 0x76, 0x1a, 0x11, 0x37, 0xf8, 0x00, 0x0c, 0x8b, 0x40, 0x06, 0xac, 0x86, - 0xf8, 0xc2, 0x42, 0xa9, 0x19, 0x8d, 0xc1, 0xb4, 0x68, 0x64, 0x37, 0x12, 0x8d, 0x2a, 0x4c, 0x30, - 0x72, 0x97, 0x75, 0x63, 0x99, 0x7a, 0xf3, 0x76, 0xa5, 0x62, 0x7a, 0x15, 0x6a, 0x79, 0xbd, 0xc6, - 0x41, 0x81, 0x21, 0xd7, 0x77, 0x61, 0x19, 0x54, 0x04, 0x20, 0x78, 0xcf, 0x7f, 0x8f, 0xe0, 0x60, - 0xc2, 0xa1, 0x42, 0x4c, 0x56, 0xb2, 0xe4, 0x2a, 0x3b, 0x78, 0x87, 0x16, 0x5a, 0xe9, 0xe7, 0xf5, - 0xfc, 0x21, 0x09, 0x9c, 0xdb, 0xab, 0x24, 0xd1, 0x3a, 0x3b, 0xb8, 0xe1, 0x3a, 0xfb, 0x52, 0x96, - 0xfc, 0x18, 0x84, 0x41, 0x99, 0xdd, 0xde, 0x54, 0x4b, 0x56, 0xda, 0xa9, 0xd8, 0x4a, 0xcb, 0x9d, - 0xf0, 0xbb, 0x1c, 0x36, 0x7a, 0x15, 0xca, 0xac, 0x0d, 0xfb, 0x43, 0x44, 0x35, 0x6a, 0x50, 0xd3, - 0xe9, 0xeb, 0xcd, 0x7c, 0x80, 0x40, 0x89, 0x3b, 0x51, 0xc8, 0xaa, 0xc0, 0x50, 0xd5, 0x5f, 0xaa, - 0x53, 0xee, 0x77, 0x48, 0x0b, 0xde, 0xfb, 0x99, 0xa3, 0xb7, 0x45, 0xc1, 0xe4, 0xa0, 0xce, 0x1a, - 0xcb, 0x96, 0x7d, 0x7b, 0x85, 0x96, 0xca, 0xb4, 0xdf, 0x89, 0xfa, 0x50, 0x96, 0xbe, 0x84, 0x93, - 0x85, 0x2c, 0xd3, 0xb0, 0x4b, 0x8f, 0x7e, 0x12, 0x29, 0xdb, 0xba, 0xdc, 0xcf, 0xbc, 0x7d, 0x91, - 0x8a, 0xf5, 0x55, 0x49, 0x5e, 0x7c, 0x06, 0x0e, 0x38, 0x0c, 0x60, 0xa1, 0x99, 0x6b, 0x05, 0x29, - 0xb8, 0x3b, 0x9e, 0x9d, 0x1a, 0x9c, 0xce, 0x6a, 0xfb, 0x9d, 0x96, 0xcc, 0x5e, 0x94, 0x1b, 0xf2, - 0xff, 0x20, 0xf8, 0x7f, 0x2a, 0x4d, 0x11, 0x93, 0x0f, 0x60, 0x77, 0x8b, 0xf8, 0x9d, 0x97, 0x81, - 0x36, 0xcb, 0x57, 0xa1, 0x16, 0x7c, 0x27, 0xeb, 0xf2, 0x55, 0x4b, 0xe6, 0x1c, 0xc7, 0xdc, 0x73, - 0x68, 0xd7, 0x09, 0xc9, 0xe0, 0x7a, 0x21, 0xb9, 0x23, 0xca, 0x71, 0x0c, 0x30, 0x11, 0x8c, 0x09, - 0x18, 0x6e, 0xfa, 0x43, 0xcc, 0x5f, 0x73, 0x21, 0xa4, 0x49, 0xa6, 0x4b, 0x4d, 0xee, 0xc9, 0x72, - 0xd5, 0x3c, 0xfa, 0xac, 0xb1, 0xdc, 0xb3, 0x20, 0xc7, 0x61, 0x54, 0x08, 0xa2, 0x1b, 0xcb, 0x6d, - 0x4a, 0x60, 0x47, 0xde, 0xbc, 0xa6, 0x04, 0x35, 0x38, 0x10, 0x8b, 0xa3, 0xcf, 0xfc, 0xaf, 0x8b, - 0x5e, 0xf9, 0x22, 0xbd, 0x13, 0xc4, 0x43, 0xe3, 0x00, 0x7a, 0xed, 0xc3, 0x7f, 0x46, 0x30, 0x95, - 0xec, 0x5b, 0xf0, 0x9a, 0x85, 0x31, 0x8b, 0xde, 0x69, 0x5e, 0x96, 0x82, 0x60, 0xcf, 0x8e, 0xca, - 0x6a, 0x23, 0x56, 0xbb, 0x6d, 0x1f, 0x4b, 0xe0, 0xec, 0xd7, 0x7b, 0x61, 0x0b, 0xc3, 0x8c, 0x7f, - 0x44, 0xb0, 0x4d, 0xb4, 0xab, 0x78, 0x3a, 0x36, 0xdf, 0x63, 0x7e, 0x70, 0x50, 0x8e, 0x74, 0xb0, - 0x93, 0x33, 0xcf, 0xcf, 0x7d, 0xf9, 0xe4, 0xc5, 0x83, 0xcc, 0x3b, 0xf8, 0x6d, 0x92, 0xf2, 0x6b, - 0x89, 0x4b, 0x56, 0x9b, 0x12, 0x37, 0x88, 0x2f, 0xbc, 0x4b, 0x56, 0x45, 0x38, 0x1a, 0xf8, 0x3e, - 0x82, 0x21, 0x39, 0x20, 0xe2, 0xf5, 0xcf, 0x96, 0xd7, 0x5a, 0x39, 0xda, 0xc9, 0x56, 0x81, 0xf3, - 0x35, 0x86, 0x73, 0x12, 0x1f, 0x4c, 0xc5, 0x89, 0x7f, 0x41, 0x80, 0xdb, 0xa7, 0x56, 0x7c, 0x22, - 0xe5, 0xa4, 0xa4, 0x71, 0x5b, 0x39, 0xd9, 0x9d, 0x91, 0x00, 0x7a, 0x86, 0x01, 0x3d, 0x8d, 0x4f, - 0xc5, 0x03, 0x0d, 0x0c, 0x7d, 0x4d, 0x83, 0x97, 0x46, 0x93, 0xc1, 0x63, 0x9f, 0x41, 0xdb, 0xc8, - 0x98, 0xca, 0x20, 0x69, 0x76, 0x4d, 0x65, 0x90, 0x38, 0x95, 0xe6, 0x2f, 0x31, 0x06, 0x0b, 0xf8, - 0xdc, 0xc6, 0xaf, 0x04, 0x09, 0xcf, 0xb2, 0xf8, 0xdb, 0x0c, 0x8c, 0xc5, 0xce, 0x5c, 0xf8, 0xd4, - 0xfa, 0x00, 0xe3, 0x86, 0x4a, 0xe5, 0xcd, 0xae, 0xed, 0x04, 0xb7, 0xaf, 0x10, 0x23, 0xf7, 0x05, - 0xc2, 0x9f, 0xf7, 0xc2, 0x2e, 0x3a, 0x1f, 0x12, 0x39, 0x68, 0x92, 0xd5, 0x96, 0x91, 0xb5, 0x41, - 0x78, 0x19, 0x08, 0x7d, 0xe0, 0x0b, 0x0d, 0xfc, 0x14, 0xc1, 0xee, 0xd6, 0xbe, 0x1f, 0xcf, 0x24, - 0xf3, 0x4a, 0x98, 0xeb, 0x94, 0xd9, 0x6e, 0x4c, 0x84, 0x0a, 0x9f, 0x32, 0x11, 0x6e, 0xe0, 0x6b, - 0x3d, 0x68, 0xd0, 0xf6, 0x97, 0xd6, 0x25, 0xab, 0xb2, 0x7c, 0x36, 0xf0, 0x13, 0x04, 0x7b, 0xda, - 0xa6, 0x1a, 0xdc, 0x05, 0xd6, 0x20, 0x0b, 0x4f, 0x74, 0x65, 0x23, 0x08, 0x5e, 0x65, 0x04, 0x2f, - 0xe1, 0x0b, 0x9b, 0x4a, 0x10, 0xff, 0x8a, 0xe0, 0x7f, 0x91, 0x81, 0x02, 0xab, 0xeb, 0xa1, 0x8b, - 0xce, 0x3a, 0x0a, 0xe9, 0x78, 0xbf, 0x60, 0xf2, 0x31, 0x63, 0xf2, 0x11, 0xbe, 0xda, 0x3b, 0x93, - 0x2a, 0x77, 0x1d, 0x89, 0xd3, 0x1a, 0x82, 0xb1, 0xd8, 0x06, 0x34, 0x2d, 0x35, 0xd3, 0xc6, 0x97, - 0xb4, 0xd4, 0x4c, 0x1d, 0x3e, 0xf2, 0xd7, 0x19, 0xd3, 0x45, 0x7c, 0xa5, 0x77, 0xa6, 0xba, 0xb1, - 0x1c, 0x61, 0xf9, 0x12, 0xc1, 0xde, 0xf8, 0x36, 0x1b, 0x77, 0x0b, 0x37, 0xb8, 0x97, 0xa7, 0xbb, - 0x37, 0x14, 0x44, 0x6f, 0x30, 0xa2, 0x1f, 0x62, 0x6d, 0x53, 0x88, 0x46, 0xe9, 0xdc, 0xcb, 0xc0, - 0x9e, 0xb6, 0xf6, 0x35, 0x2d, 0xef, 0x92, 0x9a, 0xf0, 0xb4, 0xbc, 0x4b, 0xec, 0x8f, 0x37, 0xa9, + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xdc, 0x59, 0xcf, 0x6f, 0xd4, 0xc6, + 0x17, 0xcf, 0x6c, 0x16, 0x48, 0x1e, 0x7c, 0xf9, 0x31, 0x49, 0x20, 0x98, 0xb0, 0x09, 0xfb, 0x55, + 0x4b, 0x40, 0xc2, 0x43, 0x12, 0x4a, 0x69, 0xd5, 0x22, 0x91, 0x48, 0x85, 0x54, 0xe5, 0x97, 0x53, + 0x54, 0x40, 0x6a, 0xb7, 0x5e, 0xef, 0xb0, 0xb1, 0x92, 0xb5, 0xcd, 0xda, 0xbb, 0x80, 0xd2, 0xad, + 0xaa, 0x1e, 0x28, 0x52, 0x2f, 0x55, 0x39, 0x54, 0xea, 0xa5, 0x52, 0x6f, 0x1c, 0x7a, 0xe8, 0x5f, + 0xd0, 0x2b, 0xb7, 0x22, 0xd1, 0x43, 0x25, 0x24, 0x5a, 0x11, 0x24, 0x7a, 0xed, 0xa5, 0xe7, 0xca, + 0xf3, 0xc3, 0x6b, 0xef, 0xda, 0x4e, 0x36, 0x9b, 0x95, 0xa2, 0xde, 0xec, 0xf1, 0xbc, 0x37, 0x9f, + 0xcf, 0xe7, 0xcd, 0x7b, 0x79, 0x6f, 0x03, 0xe3, 0x66, 0xd1, 0x20, 0x86, 0x5d, 0xa5, 0xc4, 0x58, + 0xd4, 0x2d, 0x8b, 0x2e, 0x93, 0xfa, 0x14, 0xb9, 0x5d, 0xa3, 0xd5, 0x7b, 0xaa, 0x53, 0xb5, 0x3d, + 0x1b, 0x0f, 0x99, 0x45, 0x43, 0xf5, 0x37, 0xa8, 0x62, 0x83, 0x5a, 0x9f, 0x52, 0x42, 0x56, 0xcb, + 0x26, 0xb5, 0x3c, 0xdf, 0x88, 0x3f, 0x71, 0x2b, 0xe5, 0xb8, 0x61, 0xbb, 0x15, 0xdb, 0x25, 0x45, + 0xdd, 0xa5, 0xdc, 0x1d, 0xa9, 0x4f, 0x15, 0xa9, 0xa7, 0x4f, 0x11, 0x47, 0x2f, 0x9b, 0x96, 0xee, + 0x99, 0xb6, 0x25, 0xf6, 0x1e, 0x89, 0x83, 0x20, 0x0f, 0xe3, 0x5b, 0xc6, 0xca, 0xb6, 0x5d, 0x5e, + 0xa6, 0x44, 0x77, 0x4c, 0xa2, 0x5b, 0x96, 0xed, 0x31, 0x7b, 0x57, 0x7c, 0x3d, 0x28, 0xbe, 0xb2, + 0xb7, 0x62, 0xed, 0x16, 0xd1, 0x2d, 0x81, 0x5e, 0x19, 0x2e, 0xdb, 0x65, 0x9b, 0x3d, 0x12, 0xff, + 0x89, 0xaf, 0xe6, 0x2f, 0xc2, 0xd0, 0x55, 0x1f, 0xd3, 0x1c, 0x3f, 0x44, 0xa3, 0xb7, 0x6b, 0xd4, + 0xf5, 0xf0, 0x01, 0xd8, 0xe1, 0xd8, 0x55, 0xaf, 0x60, 0x96, 0x46, 0xd1, 0x04, 0x9a, 0x1c, 0xd4, + 0xb6, 0xfb, 0xaf, 0xf3, 0x25, 0x7c, 0x18, 0x40, 0xe0, 0xf1, 0xbf, 0x65, 0xd8, 0xb7, 0x41, 0xb1, + 0x32, 0x5f, 0xca, 0x3f, 0x42, 0x30, 0x1c, 0xf5, 0xe7, 0x3a, 0xb6, 0xe5, 0x52, 0x7c, 0x1a, 0x76, + 0x88, 0x5d, 0xcc, 0xe1, 0xce, 0xe9, 0x31, 0x35, 0x46, 0x4d, 0x55, 0x9a, 0xc9, 0xcd, 0x78, 0x18, + 0xb6, 0x39, 0x55, 0xdb, 0xbe, 0xc5, 0x8e, 0xda, 0xa5, 0xf1, 0x17, 0x3c, 0x07, 0xbb, 0xd8, 0x43, + 0x61, 0x91, 0x9a, 0xe5, 0x45, 0x6f, 0xb4, 0x9f, 0xb9, 0x54, 0x42, 0x2e, 0x79, 0x04, 0xea, 0x53, + 0xea, 0x05, 0xb6, 0x63, 0x36, 0xfb, 0xf8, 0xf9, 0x78, 0x9f, 0xb6, 0x93, 0x59, 0xf1, 0xa5, 0xfc, + 0x27, 0x51, 0xa8, 0xae, 0xe4, 0xfe, 0x1e, 0x40, 0x33, 0x30, 0x02, 0xed, 0xeb, 0x2a, 0x8f, 0xa2, + 0xea, 0x47, 0x51, 0xe5, 0x97, 0x42, 0x44, 0x51, 0xbd, 0xa2, 0x97, 0xa9, 0xb0, 0xd5, 0x42, 0x96, + 0xf9, 0xe7, 0x08, 0x46, 0x5a, 0x0e, 0x10, 0x62, 0xcc, 0xc2, 0x80, 0xe0, 0xe7, 0x8e, 0xa2, 0x89, + 0x7e, 0xe6, 0x3f, 0x4e, 0x8d, 0xf9, 0x12, 0xb5, 0x3c, 0xf3, 0x96, 0x49, 0x4b, 0x52, 0x97, 0xc0, + 0x0e, 0x9f, 0x8f, 0xa0, 0xcc, 0x30, 0x94, 0x47, 0xd7, 0x44, 0xc9, 0x01, 0x84, 0x61, 0xe2, 0x33, + 0xb0, 0xbd, 0x43, 0x15, 0xc5, 0xfe, 0xfc, 0x03, 0x04, 0x39, 0x4e, 0xd0, 0xb6, 0x2c, 0x6a, 0xf8, + 0xde, 0x5a, 0xb5, 0xcc, 0x01, 0x18, 0xc1, 0x47, 0x71, 0x95, 0x42, 0x2b, 0x2d, 0x5a, 0x67, 0x36, + 0xac, 0xf5, 0x5f, 0x08, 0xc6, 0x13, 0xa1, 0xfc, 0xb7, 0x54, 0xbf, 0x2e, 0x45, 0xe7, 0x98, 0xe6, + 0xd8, 0xee, 0x05, 0x4f, 0xf7, 0x68, 0xb7, 0xc9, 0xfb, 0x47, 0x20, 0x62, 0x8c, 0x6b, 0x21, 0xa2, + 0x0e, 0x07, 0xcc, 0x40, 0x9f, 0x02, 0x87, 0x5a, 0x70, 0xfd, 0x2d, 0x22, 0x53, 0x8e, 0xc5, 0x11, + 0x09, 0x49, 0x1a, 0xf2, 0x39, 0x62, 0xc6, 0x2d, 0xf7, 0x32, 0xe5, 0x7f, 0x42, 0x70, 0x24, 0xc2, + 0xd0, 0xe7, 0x64, 0xb9, 0x35, 0x77, 0x33, 0xf4, 0xc3, 0x47, 0x61, 0x4f, 0x95, 0xd6, 0x4d, 0xd7, + 0xb4, 0xad, 0x82, 0x55, 0xab, 0x14, 0x69, 0x95, 0xa1, 0xcc, 0x6a, 0xbb, 0xe5, 0xf2, 0x25, 0xb6, + 0x1a, 0xd9, 0x28, 0xe8, 0x64, 0xa3, 0x1b, 0x05, 0xde, 0x67, 0x08, 0xf2, 0x69, 0x78, 0x45, 0x50, + 0xde, 0x85, 0x3d, 0x86, 0xfc, 0x12, 0x09, 0xc6, 0xb0, 0xca, 0xff, 0x1e, 0xa8, 0xf2, 0xef, 0x81, + 0x7a, 0xce, 0xba, 0xa7, 0xed, 0x36, 0x22, 0x6e, 0xf0, 0x21, 0x18, 0x14, 0x81, 0x0c, 0x58, 0x0d, + 0xf0, 0x85, 0xf9, 0x52, 0x33, 0x1a, 0xfd, 0x69, 0xd1, 0xc8, 0x6e, 0x24, 0x1a, 0x55, 0x18, 0x63, + 0xe4, 0xae, 0xe8, 0xc6, 0x12, 0xf5, 0xe6, 0xec, 0x4a, 0xc5, 0xf4, 0x2a, 0xd4, 0xf2, 0xba, 0x8d, + 0x83, 0x02, 0x03, 0xae, 0xef, 0xc2, 0x32, 0xa8, 0x08, 0x40, 0xf0, 0x9e, 0xff, 0x1e, 0xc1, 0xe1, + 0x84, 0x43, 0x85, 0x98, 0xac, 0x64, 0xc9, 0x55, 0x76, 0xf0, 0x2e, 0x2d, 0xb4, 0xd2, 0xcb, 0xeb, + 0xf9, 0x43, 0x12, 0x38, 0xb7, 0x5b, 0x49, 0xa2, 0x75, 0xb6, 0x7f, 0xc3, 0x75, 0xf6, 0x95, 0x2c, + 0xf9, 0x31, 0x08, 0x83, 0x32, 0xbb, 0xb3, 0xa9, 0x96, 0xac, 0xb4, 0x13, 0xb1, 0x95, 0x96, 0x3b, + 0xe1, 0x77, 0x39, 0x6c, 0xb4, 0x15, 0xca, 0xac, 0x0d, 0x07, 0x43, 0x44, 0x35, 0x6a, 0x50, 0xd3, + 0xe9, 0xe9, 0xcd, 0x7c, 0x88, 0x40, 0x89, 0x3b, 0x51, 0xc8, 0xaa, 0xc0, 0x40, 0xd5, 0x5f, 0xaa, + 0x53, 0xee, 0x77, 0x40, 0x0b, 0xde, 0x7b, 0x99, 0xa3, 0x77, 0x44, 0xc1, 0xe4, 0xa0, 0xce, 0x19, + 0x4b, 0x96, 0x7d, 0x67, 0x99, 0x96, 0xca, 0xb4, 0xd7, 0x89, 0xfa, 0x48, 0x96, 0xbe, 0x84, 0x93, + 0x85, 0x2c, 0x93, 0xb0, 0x47, 0x8f, 0x7e, 0x12, 0x29, 0xdb, 0xba, 0xdc, 0xcb, 0xbc, 0x7d, 0x99, + 0x8a, 0x75, 0xab, 0x24, 0x2f, 0x3e, 0x0b, 0x87, 0x1c, 0x06, 0xb0, 0xd0, 0xcc, 0xb5, 0x82, 0x14, + 0xdc, 0x1d, 0xcd, 0x4e, 0xf4, 0x4f, 0x66, 0xb5, 0x83, 0x4e, 0x4b, 0x66, 0x2f, 0xc8, 0x0d, 0xf9, + 0x7f, 0x10, 0xfc, 0x3f, 0x95, 0xa6, 0x88, 0xc9, 0x07, 0xb0, 0xb7, 0x45, 0xfc, 0xf5, 0x97, 0x81, + 0x36, 0xcb, 0xad, 0x50, 0x0b, 0xbe, 0x93, 0x75, 0xf9, 0x9a, 0x25, 0x73, 0x8e, 0x63, 0xee, 0x3a, + 0xb4, 0x6b, 0x84, 0xa4, 0x7f, 0xad, 0x90, 0xdc, 0x15, 0xe5, 0x38, 0x06, 0x98, 0x08, 0xc6, 0x18, + 0x0c, 0x36, 0xfd, 0x21, 0xe6, 0xaf, 0xb9, 0x10, 0xd2, 0x24, 0xd3, 0xa1, 0x26, 0xf7, 0x65, 0xb9, + 0x6a, 0x1e, 0x7d, 0xce, 0x58, 0xea, 0x5a, 0x90, 0x93, 0x30, 0x2c, 0x04, 0xd1, 0x8d, 0xa5, 0x36, + 0x25, 0xb0, 0x23, 0x6f, 0x5e, 0x53, 0x82, 0x1a, 0x1c, 0x8a, 0xc5, 0xd1, 0x63, 0xfe, 0x37, 0x44, + 0xaf, 0x7c, 0x89, 0xde, 0x0d, 0xe2, 0xa1, 0x71, 0x00, 0xdd, 0xf6, 0xe1, 0x3f, 0x23, 0x98, 0x48, + 0xf6, 0x2d, 0x78, 0x4d, 0xc3, 0x88, 0x45, 0xef, 0x36, 0x2f, 0x4b, 0x41, 0xb0, 0x67, 0x47, 0x65, + 0xb5, 0x21, 0xab, 0xdd, 0xb6, 0x87, 0x25, 0x70, 0xfa, 0xeb, 0xfd, 0xb0, 0x8d, 0x61, 0xc6, 0x3f, + 0x22, 0xd8, 0x21, 0xda, 0x55, 0x3c, 0x19, 0x9b, 0xef, 0x31, 0x3f, 0x38, 0x28, 0xc7, 0xd6, 0xb1, + 0x93, 0x33, 0xcf, 0xcf, 0x7e, 0xf9, 0xf4, 0xe5, 0xc3, 0xcc, 0x3b, 0xf8, 0x6d, 0x92, 0xf2, 0x6b, + 0x89, 0x4b, 0x56, 0x9a, 0x12, 0x37, 0x88, 0x2f, 0xbc, 0x4b, 0x56, 0x44, 0x38, 0x1a, 0xf8, 0x01, + 0x82, 0x01, 0x39, 0x20, 0xe2, 0xb5, 0xcf, 0x96, 0xd7, 0x5a, 0x39, 0xbe, 0x9e, 0xad, 0x02, 0xe7, + 0x6b, 0x0c, 0xe7, 0x38, 0x3e, 0x9c, 0x8a, 0x13, 0xff, 0x82, 0x00, 0xb7, 0x4f, 0xad, 0x78, 0x26, + 0xe5, 0xa4, 0xa4, 0x71, 0x5b, 0x39, 0xd5, 0x99, 0x91, 0x00, 0x7a, 0x96, 0x01, 0x3d, 0x83, 0x4f, + 0xc7, 0x03, 0x0d, 0x0c, 0x7d, 0x4d, 0x83, 0x97, 0x46, 0x93, 0xc1, 0x13, 0x9f, 0x41, 0xdb, 0xc8, + 0x98, 0xca, 0x20, 0x69, 0x76, 0x4d, 0x65, 0x90, 0x38, 0x95, 0xe6, 0x2f, 0x33, 0x06, 0xf3, 0xf8, + 0xfc, 0xc6, 0xaf, 0x04, 0x09, 0xcf, 0xb2, 0xf8, 0xdb, 0x0c, 0x8c, 0xc4, 0xce, 0x5c, 0xf8, 0xf4, + 0xda, 0x00, 0xe3, 0x86, 0x4a, 0xe5, 0xcd, 0x8e, 0xed, 0x04, 0xb7, 0xaf, 0x10, 0x23, 0xf7, 0x05, + 0xc2, 0x9f, 0x77, 0xc3, 0x2e, 0x3a, 0x1f, 0x12, 0x39, 0x68, 0x92, 0x95, 0x96, 0x91, 0xb5, 0x41, + 0x78, 0x19, 0x08, 0x7d, 0xe0, 0x0b, 0x0d, 0xfc, 0x0c, 0xc1, 0xde, 0xd6, 0xbe, 0x1f, 0x4f, 0x25, + 0xf3, 0x4a, 0x98, 0xeb, 0x94, 0xe9, 0x4e, 0x4c, 0x84, 0x0a, 0x9f, 0x32, 0x11, 0x6e, 0xe2, 0xeb, + 0x5d, 0x68, 0xd0, 0xf6, 0x97, 0xd6, 0x25, 0x2b, 0xb2, 0x7c, 0x36, 0xf0, 0x53, 0x04, 0xfb, 0xda, + 0xa6, 0x1a, 0xdc, 0x01, 0xd6, 0x20, 0x0b, 0x67, 0x3a, 0xb2, 0x11, 0x04, 0xaf, 0x31, 0x82, 0x97, + 0xf1, 0xc5, 0x4d, 0x25, 0x88, 0x7f, 0x45, 0xf0, 0xbf, 0xc8, 0x40, 0x81, 0xd5, 0xb5, 0xd0, 0x45, + 0x67, 0x1d, 0x85, 0xac, 0x7b, 0xbf, 0x60, 0xf2, 0x31, 0x63, 0xf2, 0x11, 0xbe, 0xd6, 0x3d, 0x93, + 0x2a, 0x77, 0x1d, 0x89, 0xd3, 0x2a, 0x82, 0x91, 0xd8, 0x06, 0x34, 0x2d, 0x35, 0xd3, 0xc6, 0x97, + 0xb4, 0xd4, 0x4c, 0x1d, 0x3e, 0xf2, 0x37, 0x18, 0xd3, 0x05, 0x7c, 0xb5, 0x7b, 0xa6, 0xba, 0xb1, + 0x14, 0x61, 0xf9, 0x0a, 0xc1, 0xfe, 0xf8, 0x36, 0x1b, 0x77, 0x0a, 0x37, 0xb8, 0x97, 0x67, 0x3a, + 0x37, 0x14, 0x44, 0x6f, 0x32, 0xa2, 0x1f, 0x62, 0x6d, 0x53, 0x88, 0x46, 0xe9, 0xdc, 0xcf, 0xc0, + 0xbe, 0xb6, 0xf6, 0x35, 0x2d, 0xef, 0x92, 0x9a, 0xf0, 0xb4, 0xbc, 0x4b, 0xec, 0x8f, 0x37, 0xa9, 0xbc, 0xc6, 0x95, 0x96, 0x94, 0xc6, 0xbe, 0x41, 0x6a, 0x01, 0xa0, 0x82, 0x23, 0x28, 0xff, 0x8d, - 0x60, 0x67, 0xb4, 0x89, 0xc5, 0xa4, 0x13, 0x46, 0xa1, 0xb6, 0x5b, 0x39, 0xde, 0xb9, 0x81, 0xe0, - 0xff, 0x19, 0xa3, 0x5f, 0xc7, 0x5e, 0x7f, 0xd8, 0x47, 0xba, 0xf8, 0x08, 0x6d, 0xff, 0xc6, 0xe3, - 0xdf, 0x10, 0x8c, 0xc4, 0x74, 0xb9, 0x38, 0xa5, 0x0d, 0x48, 0x6e, 0xb8, 0x95, 0x37, 0xba, 0xb4, - 0x12, 0x12, 0x5c, 0x66, 0x12, 0xbc, 0x8f, 0xcf, 0xf7, 0x20, 0x41, 0xa4, 0x17, 0x9f, 0x5b, 0x7c, - 0xf4, 0x3c, 0x87, 0x1e, 0x3f, 0xcf, 0xa1, 0x3f, 0x9f, 0xe7, 0xd0, 0x37, 0x6b, 0xb9, 0x81, 0xc7, - 0x6b, 0xb9, 0x81, 0xdf, 0xd7, 0x72, 0x03, 0x37, 0xde, 0x2a, 0x9b, 0xde, 0x52, 0xad, 0xa8, 0x1a, - 0x76, 0x85, 0x88, 0x7f, 0x0c, 0x9a, 0x45, 0xe3, 0x58, 0xd9, 0x26, 0xf5, 0x59, 0x52, 0xb1, 0x4b, - 0xb5, 0x15, 0xea, 0x72, 0x08, 0xc7, 0x4f, 0x1e, 0x93, 0x28, 0xbc, 0xbb, 0x0e, 0x75, 0x8b, 0x5b, - 0xd9, 0x8f, 0xb8, 0x27, 0xfe, 0x0d, 0x00, 0x00, 0xff, 0xff, 0x2b, 0x7b, 0x87, 0x0e, 0xa8, 0x1c, + 0x60, 0x77, 0xb4, 0x89, 0xc5, 0x64, 0x3d, 0x8c, 0x42, 0x6d, 0xb7, 0x72, 0x72, 0xfd, 0x06, 0x82, + 0xff, 0x67, 0x8c, 0x7e, 0x1d, 0x7b, 0xbd, 0x61, 0x1f, 0xe9, 0xe2, 0x23, 0xb4, 0xfd, 0x1b, 0x8f, + 0x7f, 0x43, 0x30, 0x14, 0xd3, 0xe5, 0xe2, 0x94, 0x36, 0x20, 0xb9, 0xe1, 0x56, 0xde, 0xe8, 0xd0, + 0x4a, 0x48, 0x70, 0x85, 0x49, 0xf0, 0x3e, 0xbe, 0xd0, 0x85, 0x04, 0x91, 0x5e, 0x7c, 0x76, 0xe1, + 0xf1, 0x8b, 0x1c, 0x7a, 0xf2, 0x22, 0x87, 0xfe, 0x7c, 0x91, 0x43, 0xdf, 0xac, 0xe6, 0xfa, 0x9e, + 0xac, 0xe6, 0xfa, 0x7e, 0x5f, 0xcd, 0xf5, 0xdd, 0x7c, 0xab, 0x6c, 0x7a, 0x8b, 0xb5, 0xa2, 0x6a, + 0xd8, 0x15, 0x22, 0xfe, 0x31, 0x68, 0x16, 0x8d, 0x13, 0x65, 0x9b, 0xd4, 0x67, 0x48, 0xc5, 0x2e, + 0xd5, 0x96, 0xa9, 0xcb, 0x21, 0x9c, 0x3c, 0x75, 0x42, 0xa2, 0xf0, 0xee, 0x39, 0xd4, 0x2d, 0x6e, + 0x67, 0x3f, 0xe2, 0xce, 0xfc, 0x1b, 0x00, 0x00, 0xff, 0xff, 0x82, 0x70, 0x0e, 0x40, 0xa8, 0x1c, 0x00, 0x00, } diff --git a/modules/core/04-channel/types/tx.pb.go b/modules/core/04-channel/types/tx.pb.go index 41d25516508..1a007540a64 100644 --- a/modules/core/04-channel/types/tx.pb.go +++ b/modules/core/04-channel/types/tx.pb.go @@ -6,7 +6,7 @@ package types import ( context "context" fmt "fmt" - types "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" + types "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" _ "github.com/gogo/protobuf/gogoproto" grpc1 "github.com/gogo/protobuf/grpc" proto "github.com/gogo/protobuf/proto" @@ -855,78 +855,78 @@ func init() { func init() { proto.RegisterFile("ibc/core/channel/v1/tx.proto", fileDescriptor_bc4637e0ac3fc7b7) } var fileDescriptor_bc4637e0ac3fc7b7 = []byte{ - // 1126 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x58, 0xcd, 0x6e, 0xdb, 0x46, - 0x10, 0xd6, 0x8f, 0x2d, 0xdb, 0x63, 0x37, 0xb6, 0x29, 0xff, 0x28, 0x94, 0x2d, 0xba, 0x3c, 0x24, - 0x42, 0x8a, 0x88, 0xb1, 0x62, 0xa0, 0x48, 0xd0, 0x8b, 0x64, 0xa0, 0x68, 0x50, 0xb8, 0x29, 0x68, - 0xb7, 0x07, 0xa3, 0x80, 0x20, 0xad, 0x36, 0x14, 0x21, 0x89, 0xab, 0x92, 0x94, 0x12, 0xbd, 0x41, - 0x8f, 0x39, 0xf7, 0x94, 0x9e, 0x7b, 0x48, 0x1f, 0x23, 0xc7, 0x9c, 0xda, 0xa2, 0x07, 0xa2, 0xb0, - 0x2f, 0x3d, 0xf3, 0x09, 0x0a, 0x2e, 0x97, 0x14, 0x25, 0x91, 0x15, 0x95, 0x54, 0x4e, 0x6e, 0xcb, - 0x99, 0x6f, 0x67, 0x67, 0xbf, 0x6f, 0x38, 0xbb, 0x24, 0x1c, 0xa8, 0x0d, 0x24, 0x21, 0xa2, 0x63, - 0x09, 0xb5, 0xea, 0x9a, 0x86, 0x3b, 0xd2, 0xe0, 0x58, 0x32, 0x5f, 0x94, 0x7a, 0x3a, 0x31, 0x09, - 0x97, 0x55, 0x1b, 0xa8, 0xe4, 0x78, 0x4b, 0xcc, 0x5b, 0x1a, 0x1c, 0xf3, 0x3b, 0x0a, 0x51, 0x08, - 0xf5, 0x4b, 0xce, 0xc8, 0x85, 0xf2, 0xc2, 0x28, 0x50, 0x47, 0xc5, 0x9a, 0xe9, 0xc4, 0x71, 0x47, - 0x0c, 0xf0, 0x69, 0xd8, 0x4a, 0x5e, 0x58, 0x0a, 0x11, 0x7f, 0x49, 0x02, 0x77, 0x66, 0x28, 0xa7, - 0xae, 0xf1, 0x69, 0x0f, 0x6b, 0x4f, 0x34, 0xd5, 0xe4, 0x3e, 0x83, 0x95, 0x1e, 0xd1, 0xcd, 0x9a, - 0xda, 0xcc, 0x25, 0x8f, 0x92, 0xc5, 0xb5, 0x2a, 0x67, 0x5b, 0xc2, 0xad, 0x61, 0xbd, 0xdb, 0x79, - 0x2c, 0x32, 0x87, 0x28, 0x67, 0x9c, 0xd1, 0x93, 0x26, 0xf7, 0x05, 0xac, 0xb0, 0xa0, 0xb9, 0xd4, - 0x51, 0xb2, 0xb8, 0x5e, 0x3e, 0x28, 0x85, 0x6c, 0xa2, 0xc4, 0xd6, 0xa8, 0x2e, 0xbd, 0xb1, 0x84, - 0x84, 0xec, 0x4d, 0xe1, 0xf6, 0x20, 0x63, 0xa8, 0x8a, 0x86, 0xf5, 0x5c, 0xda, 0x59, 0x49, 0x66, - 0x4f, 0x8f, 0x57, 0x7f, 0x7a, 0x25, 0x24, 0xfe, 0x79, 0x25, 0x24, 0xc4, 0x03, 0xe0, 0xa7, 0x53, - 0x94, 0xb1, 0xd1, 0x23, 0x9a, 0x81, 0xc5, 0xdf, 0xd3, 0xb0, 0x3d, 0xee, 0xbe, 0xd0, 0x87, 0xf3, - 0x6d, 0xe0, 0x1b, 0xc8, 0xf6, 0x74, 0x3c, 0x50, 0x49, 0xdf, 0xa8, 0xb1, 0xb4, 0x9c, 0x89, 0x29, - 0x3a, 0xb1, 0x60, 0x5b, 0x02, 0xcf, 0x26, 0x4e, 0x83, 0x44, 0x79, 0xdb, 0xb3, 0xb2, 0x0c, 0xc6, - 0x09, 0x49, 0xcf, 0x4f, 0x88, 0x0c, 0x3b, 0x88, 0xf4, 0x35, 0x13, 0xeb, 0xbd, 0xba, 0x6e, 0x0e, - 0x6b, 0x03, 0xac, 0x1b, 0x2a, 0xd1, 0x72, 0x4b, 0x34, 0x1d, 0xc1, 0xb6, 0x84, 0xbc, 0x9b, 0x4e, - 0x18, 0x4a, 0x94, 0xb3, 0x41, 0xf3, 0xf7, 0xae, 0x95, 0x3b, 0x01, 0xe8, 0xe9, 0x84, 0x3c, 0xab, - 0xa9, 0x9a, 0x6a, 0xe6, 0x96, 0x8f, 0x92, 0xc5, 0x8d, 0xea, 0xae, 0x6d, 0x09, 0xdb, 0xde, 0xc6, - 0x3c, 0x9f, 0x28, 0xaf, 0xd1, 0x07, 0x5a, 0x05, 0x97, 0xb0, 0xe1, 0x7a, 0x5a, 0x58, 0x55, 0x5a, - 0x66, 0x2e, 0x43, 0x37, 0xc3, 0x07, 0x36, 0xe3, 0x56, 0xdb, 0xe0, 0xb8, 0xf4, 0x15, 0x45, 0x54, - 0xf3, 0xce, 0x56, 0x6c, 0x4b, 0xc8, 0x06, 0xe3, 0xba, 0xb3, 0x45, 0x79, 0x9d, 0x3e, 0xba, 0xc8, - 0x80, 0xec, 0x2b, 0x11, 0xb2, 0xe7, 0xe1, 0xf6, 0x94, 0xae, 0xbe, 0xea, 0x7f, 0x4c, 0xa9, 0x5e, - 0x41, 0xed, 0xf9, 0x54, 0x3f, 0x01, 0x98, 0x12, 0x3b, 0xc0, 0x49, 0x50, 0xe3, 0x35, 0xe4, 0x6b, - 0x7b, 0x09, 0xfb, 0x63, 0xbc, 0x07, 0x42, 0xd0, 0xfa, 0xad, 0x8a, 0xb6, 0x25, 0x14, 0x42, 0x04, - 0x0a, 0xc6, 0xdb, 0x0d, 0x7a, 0x46, 0x75, 0xb3, 0x08, 0xe5, 0x8f, 0xc1, 0x15, 0xb4, 0x66, 0xea, - 0x43, 0x26, 0xfc, 0x8e, 0x6d, 0x09, 0x5b, 0x41, 0x81, 0x4c, 0x7d, 0x28, 0xca, 0xab, 0x74, 0xec, - 0xbc, 0x3b, 0x1f, 0x99, 0xec, 0x15, 0xd4, 0xf6, 0x65, 0xff, 0x35, 0x05, 0xbb, 0xe3, 0xde, 0x53, - 0xa2, 0x3d, 0x53, 0xf5, 0xee, 0x4d, 0x48, 0xef, 0x53, 0x59, 0x47, 0x6d, 0x2a, 0x76, 0x08, 0x95, - 0x75, 0xd4, 0xf6, 0xa8, 0x74, 0x0a, 0x72, 0x92, 0xca, 0xa5, 0x85, 0x50, 0xb9, 0x1c, 0x41, 0xa5, - 0x00, 0x87, 0xa1, 0x64, 0xf9, 0x74, 0xfe, 0x9c, 0x84, 0xec, 0x08, 0x71, 0xda, 0x21, 0x06, 0x9e, - 0xbf, 0xfd, 0xbf, 0x1b, 0x99, 0xb3, 0xdb, 0xfe, 0x21, 0xe4, 0x43, 0x72, 0xf3, 0x73, 0x7f, 0x9d, - 0x82, 0xbd, 0x09, 0xff, 0x0d, 0xd6, 0xc2, 0x78, 0x43, 0x4d, 0xbf, 0x63, 0x43, 0xbd, 0xd9, 0x72, - 0x38, 0x82, 0x42, 0x38, 0x61, 0x3e, 0xa7, 0x2f, 0x53, 0xf0, 0xc9, 0x99, 0xa1, 0xc8, 0x18, 0x0d, - 0xbe, 0xad, 0xa3, 0x36, 0x36, 0xb9, 0x47, 0x90, 0xe9, 0xd1, 0x11, 0x65, 0x72, 0xbd, 0x9c, 0x0f, - 0x3d, 0xc9, 0x5c, 0x30, 0x3b, 0xc8, 0xd8, 0x04, 0xee, 0x4b, 0xd8, 0x72, 0xd3, 0x45, 0xa4, 0xdb, - 0x55, 0xcd, 0x2e, 0xd6, 0x4c, 0x4a, 0xef, 0x46, 0x35, 0x6f, 0x5b, 0xc2, 0x7e, 0x70, 0x43, 0x23, - 0x84, 0x28, 0x6f, 0x52, 0xd3, 0xa9, 0x6f, 0x99, 0x22, 0x2d, 0xbd, 0x10, 0xd2, 0x96, 0x22, 0x48, - 0xdb, 0xa7, 0x0d, 0x67, 0xc4, 0x88, 0xcf, 0xd5, 0x5f, 0x29, 0x80, 0x33, 0x43, 0xb9, 0x50, 0xbb, - 0x98, 0xf4, 0xff, 0x1f, 0xa2, 0xfa, 0x9a, 0x8e, 0x11, 0x56, 0x07, 0xb8, 0x19, 0x45, 0xd4, 0x08, - 0xe1, 0x11, 0xf5, 0x9d, 0x6f, 0x59, 0x28, 0x51, 0x5f, 0x03, 0xa7, 0xe1, 0x17, 0x66, 0xcd, 0xc0, - 0x3f, 0xf6, 0xb1, 0x86, 0x70, 0x4d, 0xc7, 0x68, 0x40, 0x49, 0x5b, 0xaa, 0x1e, 0xda, 0x96, 0x70, - 0xdb, 0x8d, 0x30, 0x8d, 0x11, 0xe5, 0x2d, 0xc7, 0x78, 0xce, 0x6c, 0x0e, 0x91, 0x31, 0x4a, 0x75, - 0x87, 0xde, 0x4a, 0x19, 0xb7, 0xa3, 0x76, 0xe5, 0x1e, 0xfa, 0xcc, 0xfc, 0x54, 0xa3, 0x35, 0xfc, - 0x31, 0x30, 0xff, 0x39, 0xac, 0xb3, 0x42, 0x76, 0x32, 0x62, 0xed, 0x60, 0xcf, 0xb6, 0x04, 0x6e, - 0xac, 0xca, 0x1d, 0xa7, 0x28, 0xbb, 0x8d, 0xc3, 0xcd, 0x7d, 0x91, 0x0d, 0x21, 0x5c, 0xb2, 0xe5, - 0xf7, 0x95, 0x2c, 0xf3, 0x9f, 0xe7, 0xf6, 0xb8, 0x36, 0xbe, 0x72, 0xbf, 0xa5, 0xa8, 0xa0, 0x15, - 0xd4, 0xd6, 0xc8, 0xf3, 0x0e, 0x6e, 0x2a, 0x98, 0xbe, 0xda, 0xef, 0x21, 0x5d, 0x11, 0x36, 0xeb, - 0xe3, 0xd1, 0x5c, 0xe5, 0xe4, 0x49, 0xf3, 0x48, 0x1c, 0x67, 0x62, 0x33, 0x4a, 0x1c, 0xea, 0xf4, - 0xc4, 0xa9, 0x38, 0x0f, 0x1f, 0xb8, 0x5b, 0xbb, 0x5f, 0x3d, 0x13, 0x8c, 0x79, 0x84, 0x96, 0x5f, - 0xaf, 0x42, 0xfa, 0xcc, 0x50, 0xb8, 0x36, 0x6c, 0x4e, 0x7e, 0xbb, 0xdd, 0x0d, 0x25, 0x71, 0xfa, - 0x0b, 0x8a, 0x97, 0x62, 0x02, 0xbd, 0x45, 0xb9, 0x16, 0xdc, 0x9a, 0xf8, 0xcc, 0xba, 0x13, 0x23, - 0xc4, 0x85, 0x3e, 0xe4, 0x4b, 0xf1, 0x70, 0x11, 0x2b, 0x39, 0x37, 0xa9, 0x38, 0x2b, 0x55, 0x50, - 0x3b, 0xd6, 0x4a, 0x81, 0x1b, 0x25, 0x67, 0x02, 0x17, 0x72, 0x9b, 0xbc, 0x17, 0x23, 0x0a, 0xc3, - 0xf2, 0xe5, 0xf8, 0x58, 0x7f, 0x55, 0x0d, 0xb6, 0xa6, 0x2e, 0x5d, 0xc5, 0x19, 0x71, 0x7c, 0x24, - 0xff, 0x20, 0x2e, 0xd2, 0x5f, 0xef, 0x39, 0x64, 0x43, 0x2f, 0x4a, 0x71, 0x02, 0x79, 0xfb, 0x7c, - 0x38, 0x07, 0xd8, 0x5f, 0xf8, 0x07, 0x80, 0xc0, 0x6d, 0x42, 0x8c, 0x0a, 0x31, 0xc2, 0xf0, 0xf7, - 0x66, 0x63, 0xfc, 0xe8, 0xe7, 0xb0, 0xe2, 0x9d, 0xbf, 0x42, 0xd4, 0x34, 0x06, 0xe0, 0xef, 0xce, - 0x00, 0x04, 0x6b, 0x6f, 0xe2, 0x84, 0xb9, 0x33, 0x63, 0x2a, 0xc3, 0x45, 0xd7, 0x5e, 0x78, 0x57, - 0x74, 0x5e, 0xde, 0xc9, 0x8e, 0x18, 0x99, 0xe5, 0x04, 0x30, 0xfa, 0xe5, 0x8d, 0xe8, 0x18, 0xd5, - 0xf3, 0x37, 0x57, 0x85, 0xe4, 0xdb, 0xab, 0x42, 0xf2, 0xef, 0xab, 0x42, 0xf2, 0xe5, 0x75, 0x21, - 0xf1, 0xf6, 0xba, 0x90, 0xf8, 0xf3, 0xba, 0x90, 0xb8, 0x7c, 0xa4, 0xa8, 0x66, 0xab, 0xdf, 0x28, - 0x21, 0xd2, 0x95, 0x10, 0x31, 0xba, 0xc4, 0x90, 0xd4, 0x06, 0xba, 0xaf, 0x10, 0x69, 0x50, 0x96, - 0xba, 0xa4, 0xd9, 0xef, 0x60, 0xc3, 0xfd, 0x8d, 0xf4, 0xe0, 0xe4, 0xbe, 0xf7, 0x27, 0xc9, 0x1c, - 0xf6, 0xb0, 0xd1, 0xc8, 0xd0, 0xbf, 0x48, 0x0f, 0xff, 0x0d, 0x00, 0x00, 0xff, 0xff, 0x32, 0xba, - 0xc2, 0x9b, 0xd4, 0x12, 0x00, 0x00, + // 1127 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x58, 0x4d, 0x6f, 0xdb, 0x46, + 0x13, 0xd6, 0x97, 0x65, 0x7b, 0xec, 0x37, 0xb6, 0x29, 0x7f, 0x28, 0x94, 0x2d, 0xfa, 0xe5, 0x21, + 0x11, 0x52, 0x44, 0x8c, 0x3f, 0x80, 0x22, 0x41, 0x2f, 0x92, 0x81, 0xa2, 0x41, 0xe1, 0xa6, 0xa0, + 0xdd, 0x1e, 0x8c, 0x02, 0x82, 0xb4, 0xda, 0x50, 0x84, 0x24, 0xae, 0x4a, 0x52, 0x4a, 0xf4, 0x0f, + 0x7a, 0xcc, 0xb9, 0xa7, 0xf4, 0xdc, 0x43, 0xfa, 0x33, 0x72, 0xcc, 0xa9, 0x2d, 0x7a, 0x20, 0x0a, + 0xfb, 0xd2, 0x33, 0x7f, 0x41, 0xc1, 0xe5, 0x92, 0xa2, 0x24, 0xb2, 0xa2, 0x92, 0xca, 0xcd, 0x6d, + 0x39, 0xf3, 0xec, 0xec, 0xec, 0xf3, 0x0c, 0x67, 0x97, 0x84, 0x7d, 0xb5, 0x81, 0x24, 0x44, 0x74, + 0x2c, 0xa1, 0x56, 0x5d, 0xd3, 0x70, 0x47, 0x1a, 0x1c, 0x49, 0xe6, 0xcb, 0x72, 0x4f, 0x27, 0x26, + 0xe1, 0x72, 0x6a, 0x03, 0x95, 0x1d, 0x6f, 0x99, 0x79, 0xcb, 0x83, 0x23, 0x7e, 0x5b, 0x21, 0x0a, + 0xa1, 0x7e, 0xc9, 0x19, 0xb9, 0x50, 0x5e, 0x18, 0x05, 0xea, 0xa8, 0x58, 0x33, 0x9d, 0x38, 0xee, + 0x88, 0x01, 0xfe, 0x1f, 0xb6, 0x92, 0x17, 0x96, 0x42, 0xc4, 0x9f, 0x92, 0xc0, 0x9d, 0x1b, 0xca, + 0x99, 0x6b, 0x7c, 0xd6, 0xc3, 0xda, 0x53, 0x4d, 0x35, 0xb9, 0x4f, 0x60, 0xb9, 0x47, 0x74, 0xb3, + 0xa6, 0x36, 0xf3, 0xc9, 0xc3, 0x64, 0x69, 0xb5, 0xca, 0xd9, 0x96, 0x70, 0x67, 0x58, 0xef, 0x76, + 0x9e, 0x88, 0xcc, 0x21, 0xca, 0x59, 0x67, 0xf4, 0xb4, 0xc9, 0x7d, 0x06, 0xcb, 0x2c, 0x68, 0x3e, + 0x75, 0x98, 0x2c, 0xad, 0x1d, 0xef, 0x97, 0x43, 0x36, 0x51, 0x66, 0x6b, 0x54, 0x33, 0x6f, 0x2d, + 0x21, 0x21, 0x7b, 0x53, 0xb8, 0x5d, 0xc8, 0x1a, 0xaa, 0xa2, 0x61, 0x3d, 0x9f, 0x76, 0x56, 0x92, + 0xd9, 0xd3, 0x93, 0x95, 0x1f, 0x5e, 0x0b, 0x89, 0xbf, 0x5e, 0x0b, 0x09, 0x71, 0x1f, 0xf8, 0xe9, + 0x14, 0x65, 0x6c, 0xf4, 0x88, 0x66, 0x60, 0xf1, 0xd7, 0x34, 0x6c, 0x8d, 0xbb, 0x2f, 0xf5, 0xe1, + 0x7c, 0x1b, 0xf8, 0x0a, 0x72, 0x3d, 0x1d, 0x0f, 0x54, 0xd2, 0x37, 0x6a, 0x2c, 0x2d, 0x67, 0x62, + 0x8a, 0x4e, 0x2c, 0xda, 0x96, 0xc0, 0xb3, 0x89, 0xd3, 0x20, 0x51, 0xde, 0xf2, 0xac, 0x2c, 0x83, + 0x71, 0x42, 0xd2, 0xf3, 0x13, 0x22, 0xc3, 0x36, 0x22, 0x7d, 0xcd, 0xc4, 0x7a, 0xaf, 0xae, 0x9b, + 0xc3, 0xda, 0x00, 0xeb, 0x86, 0x4a, 0xb4, 0x7c, 0x86, 0xa6, 0x23, 0xd8, 0x96, 0x50, 0x70, 0xd3, + 0x09, 0x43, 0x89, 0x72, 0x2e, 0x68, 0xfe, 0xd6, 0xb5, 0x72, 0xa7, 0x00, 0x3d, 0x9d, 0x90, 0xe7, + 0x35, 0x55, 0x53, 0xcd, 0xfc, 0xd2, 0x61, 0xb2, 0xb4, 0x5e, 0xdd, 0xb1, 0x2d, 0x61, 0xcb, 0xdb, + 0x98, 0xe7, 0x13, 0xe5, 0x55, 0xfa, 0x40, 0xab, 0xe0, 0x0a, 0xd6, 0x5d, 0x4f, 0x0b, 0xab, 0x4a, + 0xcb, 0xcc, 0x67, 0xe9, 0x66, 0xf8, 0xc0, 0x66, 0xdc, 0x6a, 0x1b, 0x1c, 0x95, 0xbf, 0xa0, 0x88, + 0x6a, 0xc1, 0xd9, 0x8a, 0x6d, 0x09, 0xb9, 0x60, 0x5c, 0x77, 0xb6, 0x28, 0xaf, 0xd1, 0x47, 0x17, + 0x19, 0x90, 0x7d, 0x39, 0x42, 0xf6, 0x02, 0xdc, 0x9d, 0xd2, 0xd5, 0x57, 0xfd, 0xb7, 0x29, 0xd5, + 0x2b, 0xa8, 0x3d, 0x9f, 0xea, 0xa7, 0x00, 0x53, 0x62, 0x07, 0x38, 0x09, 0x6a, 0xbc, 0x8a, 0x7c, + 0x6d, 0xaf, 0x60, 0x6f, 0x8c, 0xf7, 0x40, 0x08, 0x5a, 0xbf, 0x55, 0xd1, 0xb6, 0x84, 0x62, 0x88, + 0x40, 0xc1, 0x78, 0x3b, 0x41, 0xcf, 0xa8, 0x6e, 0x16, 0xa1, 0xfc, 0x11, 0xb8, 0x82, 0xd6, 0x4c, + 0x7d, 0xc8, 0x84, 0xdf, 0xb6, 0x2d, 0x61, 0x33, 0x28, 0x90, 0xa9, 0x0f, 0x45, 0x79, 0x85, 0x8e, + 0x9d, 0x77, 0xe7, 0x23, 0x93, 0xbd, 0x82, 0xda, 0xbe, 0xec, 0x3f, 0xa7, 0x60, 0x67, 0xdc, 0x7b, + 0x46, 0xb4, 0xe7, 0xaa, 0xde, 0xbd, 0x0d, 0xe9, 0x7d, 0x2a, 0xeb, 0xa8, 0x4d, 0xc5, 0x0e, 0xa1, + 0xb2, 0x8e, 0xda, 0x1e, 0x95, 0x4e, 0x41, 0x4e, 0x52, 0x99, 0x59, 0x08, 0x95, 0x4b, 0x11, 0x54, + 0x0a, 0x70, 0x10, 0x4a, 0x96, 0x4f, 0xe7, 0x8f, 0x49, 0xc8, 0x8d, 0x10, 0x67, 0x1d, 0x62, 0xe0, + 0xf9, 0xdb, 0xff, 0xfb, 0x91, 0x39, 0xbb, 0xed, 0x1f, 0x40, 0x21, 0x24, 0x37, 0x3f, 0xf7, 0x37, + 0x29, 0xd8, 0x9d, 0xf0, 0xdf, 0x62, 0x2d, 0x8c, 0x37, 0xd4, 0xf4, 0x7b, 0x36, 0xd4, 0xdb, 0x2d, + 0x87, 0x43, 0x28, 0x86, 0x13, 0xe6, 0x73, 0xfa, 0x2a, 0x05, 0xff, 0x3b, 0x37, 0x14, 0x19, 0xa3, + 0xc1, 0xd7, 0x75, 0xd4, 0xc6, 0x26, 0xf7, 0x18, 0xb2, 0x3d, 0x3a, 0xa2, 0x4c, 0xae, 0x1d, 0x17, + 0x42, 0x4f, 0x32, 0x17, 0xcc, 0x0e, 0x32, 0x36, 0x81, 0xfb, 0x1c, 0x36, 0xdd, 0x74, 0x11, 0xe9, + 0x76, 0x55, 0xb3, 0x8b, 0x35, 0x93, 0xd2, 0xbb, 0x5e, 0x2d, 0xd8, 0x96, 0xb0, 0x17, 0xdc, 0xd0, + 0x08, 0x21, 0xca, 0x1b, 0xd4, 0x74, 0xe6, 0x5b, 0xa6, 0x48, 0x4b, 0x2f, 0x84, 0xb4, 0x4c, 0x04, + 0x69, 0x7b, 0xb4, 0xe1, 0x8c, 0x18, 0xf1, 0xb9, 0xfa, 0x23, 0x05, 0x70, 0x6e, 0x28, 0x97, 0x6a, + 0x17, 0x93, 0xfe, 0xbf, 0x43, 0x54, 0x5f, 0xd3, 0x31, 0xc2, 0xea, 0x00, 0x37, 0xa3, 0x88, 0x1a, + 0x21, 0x3c, 0xa2, 0xbe, 0xf1, 0x2d, 0x0b, 0x25, 0xea, 0x4b, 0xe0, 0x34, 0xfc, 0xd2, 0xac, 0x19, + 0xf8, 0xfb, 0x3e, 0xd6, 0x10, 0xae, 0xe9, 0x18, 0x0d, 0x28, 0x69, 0x99, 0xea, 0x81, 0x6d, 0x09, + 0x77, 0xdd, 0x08, 0xd3, 0x18, 0x51, 0xde, 0x74, 0x8c, 0x17, 0xcc, 0xe6, 0x10, 0x19, 0xa3, 0x54, + 0xb7, 0xe9, 0xad, 0x94, 0x71, 0x3b, 0x6a, 0x57, 0xee, 0xa1, 0xcf, 0xcc, 0xcf, 0x34, 0x5a, 0xc3, + 0x1f, 0x03, 0xf3, 0x9f, 0xc2, 0x1a, 0x2b, 0x64, 0x27, 0x23, 0xd6, 0x0e, 0x76, 0x6d, 0x4b, 0xe0, + 0xc6, 0xaa, 0xdc, 0x71, 0x8a, 0xb2, 0xdb, 0x38, 0xdc, 0xdc, 0x17, 0xd9, 0x10, 0xc2, 0x25, 0x5b, + 0xfa, 0x50, 0xc9, 0xb2, 0xff, 0x78, 0x6e, 0x8f, 0x6b, 0xe3, 0x2b, 0xf7, 0x4b, 0x8a, 0x0a, 0x5a, + 0x41, 0x6d, 0x8d, 0xbc, 0xe8, 0xe0, 0xa6, 0x82, 0xe9, 0xab, 0xfd, 0x01, 0xd2, 0x95, 0x60, 0xa3, + 0x3e, 0x1e, 0xcd, 0x55, 0x4e, 0x9e, 0x34, 0x8f, 0xc4, 0x71, 0x26, 0x36, 0xa3, 0xc4, 0xa1, 0x4e, + 0x4f, 0x9c, 0x8a, 0xf3, 0xf0, 0x1f, 0x77, 0x6b, 0xf7, 0xab, 0x67, 0x82, 0x31, 0x8f, 0xd0, 0xe3, + 0x37, 0x2b, 0x90, 0x3e, 0x37, 0x14, 0xae, 0x0d, 0x1b, 0x93, 0xdf, 0x6e, 0xf7, 0x43, 0x49, 0x9c, + 0xfe, 0x82, 0xe2, 0xa5, 0x98, 0x40, 0x6f, 0x51, 0xae, 0x05, 0x77, 0x26, 0x3e, 0xb3, 0xee, 0xc5, + 0x08, 0x71, 0xa9, 0x0f, 0xf9, 0x72, 0x3c, 0x5c, 0xc4, 0x4a, 0xce, 0x4d, 0x2a, 0xce, 0x4a, 0x15, + 0xd4, 0x8e, 0xb5, 0x52, 0xe0, 0x46, 0xc9, 0x99, 0xc0, 0x85, 0xdc, 0x26, 0x1f, 0xc4, 0x88, 0xc2, + 0xb0, 0xfc, 0x71, 0x7c, 0xac, 0xbf, 0xaa, 0x06, 0x9b, 0x53, 0x97, 0xae, 0xd2, 0x8c, 0x38, 0x3e, + 0x92, 0x7f, 0x14, 0x17, 0xe9, 0xaf, 0xf7, 0x02, 0x72, 0xa1, 0x17, 0xa5, 0x38, 0x81, 0xbc, 0x7d, + 0x9e, 0xcc, 0x01, 0xf6, 0x17, 0xfe, 0x0e, 0x20, 0x70, 0x9b, 0x10, 0xa3, 0x42, 0x8c, 0x30, 0xfc, + 0x83, 0xd9, 0x18, 0x3f, 0xfa, 0x05, 0x2c, 0x7b, 0xe7, 0xaf, 0x10, 0x35, 0x8d, 0x01, 0xf8, 0xfb, + 0x33, 0x00, 0xc1, 0xda, 0x9b, 0x38, 0x61, 0xee, 0xcd, 0x98, 0xca, 0x70, 0xd1, 0xb5, 0x17, 0xde, + 0x15, 0x9d, 0x97, 0x77, 0xb2, 0x23, 0x46, 0x66, 0x39, 0x01, 0x8c, 0x7e, 0x79, 0x23, 0x3a, 0x46, + 0xf5, 0xe2, 0xed, 0x75, 0x31, 0xf9, 0xee, 0xba, 0x98, 0xfc, 0xf3, 0xba, 0x98, 0x7c, 0x75, 0x53, + 0x4c, 0xbc, 0xbb, 0x29, 0x26, 0x7e, 0xbf, 0x29, 0x26, 0xae, 0x1e, 0x2b, 0xaa, 0xd9, 0xea, 0x37, + 0xca, 0x88, 0x74, 0x25, 0x44, 0x8c, 0x2e, 0x31, 0x24, 0xb5, 0x81, 0x1e, 0x2a, 0x44, 0x1a, 0x9c, + 0x48, 0x5d, 0xd2, 0xec, 0x77, 0xb0, 0xe1, 0xfe, 0x46, 0x7a, 0x74, 0xfa, 0xd0, 0xfb, 0x93, 0x64, + 0x0e, 0x7b, 0xd8, 0x68, 0x64, 0xe9, 0x5f, 0xa4, 0x93, 0xbf, 0x03, 0x00, 0x00, 0xff, 0xff, 0x9b, + 0xb1, 0x4b, 0xd5, 0xd4, 0x12, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. diff --git a/modules/core/04-channel/types/version_test.go b/modules/core/04-channel/types/version_test.go index 4011aeade2c..1ccacf7d9f2 100644 --- a/modules/core/04-channel/types/version_test.go +++ b/modules/core/04-channel/types/version_test.go @@ -5,7 +5,7 @@ import ( "github.com/stretchr/testify/require" - "github.com/cosmos/ibc-go/v2/modules/core/04-channel/types" + "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types" ) func TestSplitVersions(t *testing.T) { diff --git a/modules/core/05-port/keeper/grpc_query.go b/modules/core/05-port/keeper/grpc_query.go index ebf9f0f4460..508c9749ccc 100644 --- a/modules/core/05-port/keeper/grpc_query.go +++ b/modules/core/05-port/keeper/grpc_query.go @@ -8,8 +8,8 @@ import ( "google.golang.org/grpc/codes" "google.golang.org/grpc/status" - "github.com/cosmos/ibc-go/v2/modules/core/05-port/types" - host "github.com/cosmos/ibc-go/v2/modules/core/24-host" + "github.com/cosmos/ibc-go/v3/modules/core/05-port/types" + host "github.com/cosmos/ibc-go/v3/modules/core/24-host" ) var _ types.QueryServer = (*Keeper)(nil) diff --git a/modules/core/05-port/keeper/grpc_query_test.go b/modules/core/05-port/keeper/grpc_query_test.go index 87e0caccbbb..d7f144ab3bf 100644 --- a/modules/core/05-port/keeper/grpc_query_test.go +++ b/modules/core/05-port/keeper/grpc_query_test.go @@ -5,9 +5,9 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" - channeltypes "github.com/cosmos/ibc-go/v2/modules/core/04-channel/types" - "github.com/cosmos/ibc-go/v2/modules/core/05-port/types" - "github.com/cosmos/ibc-go/v2/testing/mock" + channeltypes "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types" + "github.com/cosmos/ibc-go/v3/modules/core/05-port/types" + "github.com/cosmos/ibc-go/v3/testing/mock" ) func (suite *KeeperTestSuite) TestAppVersion() { diff --git a/modules/core/05-port/keeper/keeper.go b/modules/core/05-port/keeper/keeper.go index 0ef9850a709..0d5be26573e 100644 --- a/modules/core/05-port/keeper/keeper.go +++ b/modules/core/05-port/keeper/keeper.go @@ -8,8 +8,8 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" capabilitykeeper "github.com/cosmos/cosmos-sdk/x/capability/keeper" capabilitytypes "github.com/cosmos/cosmos-sdk/x/capability/types" - "github.com/cosmos/ibc-go/v2/modules/core/05-port/types" - host "github.com/cosmos/ibc-go/v2/modules/core/24-host" + "github.com/cosmos/ibc-go/v3/modules/core/05-port/types" + host "github.com/cosmos/ibc-go/v3/modules/core/24-host" ) // Keeper defines the IBC connection keeper diff --git a/modules/core/05-port/keeper/keeper_test.go b/modules/core/05-port/keeper/keeper_test.go index 2222517c05a..e2aa7707d7e 100644 --- a/modules/core/05-port/keeper/keeper_test.go +++ b/modules/core/05-port/keeper/keeper_test.go @@ -8,8 +8,8 @@ import ( tmproto "github.com/tendermint/tendermint/proto/tendermint/types" sdk "github.com/cosmos/cosmos-sdk/types" - "github.com/cosmos/ibc-go/v2/modules/core/05-port/keeper" - "github.com/cosmos/ibc-go/v2/testing/simapp" + "github.com/cosmos/ibc-go/v3/modules/core/05-port/keeper" + "github.com/cosmos/ibc-go/v3/testing/simapp" ) var ( diff --git a/modules/core/05-port/module.go b/modules/core/05-port/module.go index 1609efe5762..8aab55b1fb8 100644 --- a/modules/core/05-port/module.go +++ b/modules/core/05-port/module.go @@ -4,8 +4,8 @@ import ( "github.com/gogo/protobuf/grpc" "github.com/spf13/cobra" - "github.com/cosmos/ibc-go/v2/modules/core/05-port/types" - "github.com/cosmos/ibc-go/v2/modules/core/client/cli" + "github.com/cosmos/ibc-go/v3/modules/core/05-port/types" + "github.com/cosmos/ibc-go/v3/modules/core/client/cli" ) // Name returns the IBC port ICS name. diff --git a/modules/core/05-port/types/module.go b/modules/core/05-port/types/module.go index 6f66c72a530..cd8c5719dc3 100644 --- a/modules/core/05-port/types/module.go +++ b/modules/core/05-port/types/module.go @@ -4,8 +4,8 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" capabilitytypes "github.com/cosmos/cosmos-sdk/x/capability/types" - channeltypes "github.com/cosmos/ibc-go/v2/modules/core/04-channel/types" - "github.com/cosmos/ibc-go/v2/modules/core/exported" + channeltypes "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types" + "github.com/cosmos/ibc-go/v3/modules/core/exported" ) // IBCModule defines an interface that implements all the callbacks diff --git a/modules/core/05-port/types/query.pb.go b/modules/core/05-port/types/query.pb.go index 75e71c0de13..17a6cfc65da 100644 --- a/modules/core/05-port/types/query.pb.go +++ b/modules/core/05-port/types/query.pb.go @@ -6,7 +6,7 @@ package types import ( context "context" fmt "fmt" - types "github.com/cosmos/ibc-go/v2/modules/core/04-channel/types" + types "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types" grpc1 "github.com/gogo/protobuf/grpc" proto "github.com/gogo/protobuf/proto" grpc "google.golang.org/grpc" @@ -173,31 +173,31 @@ func init() { func init() { proto.RegisterFile("ibc/core/port/v1/query.proto", fileDescriptor_9a256596009a8334) } var fileDescriptor_9a256596009a8334 = []byte{ - // 370 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x52, 0x4f, 0x0f, 0xd2, 0x30, - 0x14, 0xdf, 0x50, 0x40, 0x2b, 0x2a, 0xe9, 0x41, 0x16, 0x62, 0x16, 0xc0, 0xcb, 0x38, 0xd0, 0xca, - 0x8c, 0xdc, 0xd5, 0x78, 0x20, 0x31, 0x51, 0x77, 0xf0, 0xe0, 0x85, 0xb0, 0xae, 0x81, 0x26, 0xd0, - 0x57, 0xda, 0x6e, 0x09, 0x37, 0x3f, 0x82, 0x1f, 0xcb, 0x23, 0x47, 0x8f, 0x06, 0xbe, 0x88, 0xe9, - 0xc6, 0xc0, 0x3f, 0x98, 0x78, 0xeb, 0x7b, 0xbf, 0x3f, 0xf9, 0xbd, 0xd7, 0x87, 0x9e, 0x8a, 0x94, - 0x51, 0x06, 0x9a, 0x53, 0x05, 0xda, 0xd2, 0x62, 0x4a, 0x77, 0x39, 0xd7, 0x7b, 0xa2, 0x34, 0x58, - 0xc0, 0x5d, 0x91, 0x32, 0xe2, 0x50, 0xe2, 0x50, 0x52, 0x4c, 0xfb, 0xc3, 0x0b, 0x9f, 0xad, 0x97, - 0x52, 0xf2, 0x8d, 0x93, 0x9c, 0x9f, 0x95, 0x68, 0xf4, 0xa5, 0x81, 0x9e, 0x7c, 0x74, 0x26, 0xaf, - 0x94, 0xfa, 0xc4, 0xb5, 0x11, 0x20, 0x13, 0xbe, 0xcb, 0xb9, 0xb1, 0xb8, 0x87, 0xda, 0xce, 0x68, - 0x21, 0xb2, 0xc0, 0x1f, 0xf8, 0xd1, 0xfd, 0xa4, 0xe5, 0xca, 0x79, 0x86, 0x9f, 0xa1, 0x87, 0x0c, - 0xa4, 0xe4, 0xcc, 0x0a, 0x90, 0x0e, 0x6e, 0x94, 0x70, 0xe7, 0xda, 0x9c, 0x67, 0x78, 0x86, 0xee, - 0x81, 0xce, 0xb8, 0x16, 0x72, 0x15, 0xdc, 0x19, 0xf8, 0xd1, 0xa3, 0xb8, 0x4f, 0x2e, 0x01, 0xeb, - 0x0c, 0xc5, 0x94, 0xbc, 0x77, 0xa4, 0xe4, 0xc2, 0xc5, 0x6f, 0x51, 0x87, 0x41, 0x2e, 0x2d, 0xd7, - 0x6a, 0xa9, 0xed, 0x3e, 0xb8, 0x3b, 0xf0, 0xa3, 0x07, 0xf1, 0xf0, 0xa6, 0xf6, 0xcd, 0x2f, 0xc4, - 0xe4, 0x37, 0x19, 0x1e, 0xa3, 0xae, 0xd2, 0xa0, 0xc0, 0xf0, 0x6c, 0x51, 0x54, 0x73, 0x05, 0xcd, - 0x32, 0xe6, 0xe3, 0xba, 0x7f, 0x1e, 0x77, 0xf4, 0x0e, 0xf5, 0xfe, 0xda, 0x80, 0x51, 0x20, 0x0d, - 0xff, 0xf7, 0x0a, 0x02, 0xd4, 0xae, 0x5d, 0xab, 0xe1, 0xeb, 0x32, 0xde, 0xa0, 0x66, 0xe9, 0x86, - 0x19, 0x42, 0x57, 0x47, 0x1c, 0x91, 0x3f, 0x7f, 0x87, 0xdc, 0x5e, 0x7b, 0x7f, 0xfc, 0x1f, 0xcc, - 0x2a, 0xde, 0xc8, 0x7b, 0xfd, 0xe1, 0xdb, 0x31, 0xf4, 0x0f, 0xc7, 0xd0, 0xff, 0x71, 0x0c, 0xfd, - 0xaf, 0xa7, 0xd0, 0x3b, 0x9c, 0x42, 0xef, 0xfb, 0x29, 0xf4, 0x3e, 0xcf, 0x56, 0xc2, 0xae, 0xf3, - 0x94, 0x30, 0xd8, 0x52, 0x06, 0x66, 0x0b, 0x86, 0x8a, 0x94, 0x4d, 0x56, 0x40, 0x8b, 0x98, 0x6e, - 0x21, 0xcb, 0x37, 0xdc, 0x54, 0xb7, 0xf1, 0xfc, 0xe5, 0xa4, 0x3c, 0x27, 0xbb, 0x57, 0xdc, 0xa4, - 0xad, 0xf2, 0x2e, 0x5e, 0xfc, 0x0c, 0x00, 0x00, 0xff, 0xff, 0x8c, 0xe3, 0x0f, 0x88, 0x6c, 0x02, - 0x00, 0x00, + // 371 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x52, 0xcd, 0xee, 0x12, 0x31, + 0x10, 0xdf, 0x45, 0x01, 0xad, 0xa8, 0xa4, 0x07, 0xd9, 0x10, 0xb3, 0x01, 0xbc, 0x2c, 0x07, 0x5a, + 0x81, 0xc8, 0x5d, 0x8d, 0x07, 0x12, 0x13, 0x75, 0x0f, 0x1e, 0xbc, 0x10, 0xb6, 0xdb, 0x40, 0x13, + 0xe8, 0x94, 0xb6, 0xbb, 0x09, 0x37, 0x1f, 0xc1, 0xc7, 0xf2, 0xc8, 0xd1, 0xa3, 0x81, 0x17, 0x31, + 0xdd, 0x65, 0xc1, 0x0f, 0x4c, 0xfe, 0xb7, 0xce, 0xfc, 0x3e, 0xf2, 0x9b, 0xe9, 0xa0, 0xe7, 0x22, + 0x61, 0x94, 0x81, 0xe6, 0x54, 0x81, 0xb6, 0x34, 0x1f, 0xd3, 0x5d, 0xc6, 0xf5, 0x9e, 0x28, 0x0d, + 0x16, 0x70, 0x5b, 0x24, 0x8c, 0x38, 0x94, 0x38, 0x94, 0xe4, 0xe3, 0x6e, 0xff, 0xc2, 0x67, 0xeb, + 0xa5, 0x94, 0x7c, 0xe3, 0x24, 0xe7, 0x67, 0x29, 0x1a, 0x7c, 0xad, 0xa1, 0x67, 0x9f, 0x9c, 0xc9, + 0x6b, 0xa5, 0x3e, 0x73, 0x6d, 0x04, 0xc8, 0x98, 0xef, 0x32, 0x6e, 0x2c, 0xee, 0xa0, 0xa6, 0x33, + 0x5a, 0x88, 0x34, 0xf0, 0x7b, 0x7e, 0xf4, 0x30, 0x6e, 0xb8, 0x72, 0x9e, 0xe2, 0x17, 0xe8, 0x31, + 0x03, 0x29, 0x39, 0xb3, 0x02, 0xa4, 0x83, 0x6b, 0x05, 0xdc, 0xba, 0x36, 0xe7, 0x29, 0x9e, 0xa1, + 0x07, 0xa0, 0x53, 0xae, 0x85, 0x5c, 0x05, 0xf7, 0x7a, 0x7e, 0xf4, 0x64, 0xd2, 0x25, 0x97, 0x80, + 0x55, 0x86, 0x7c, 0x4c, 0x3e, 0x38, 0x52, 0x7c, 0xe1, 0xe2, 0x77, 0xa8, 0xc5, 0x20, 0x93, 0x96, + 0x6b, 0xb5, 0xd4, 0x76, 0x1f, 0xdc, 0xef, 0xf9, 0xd1, 0xa3, 0x49, 0xff, 0xa6, 0xf6, 0xed, 0x6f, + 0xc4, 0xf8, 0x0f, 0x19, 0x1e, 0xa2, 0xb6, 0xd2, 0xa0, 0xc0, 0xf0, 0x74, 0x91, 0x97, 0x73, 0x05, + 0xf5, 0x22, 0xe6, 0xd3, 0xaa, 0x7f, 0x1e, 0x77, 0xf0, 0x1e, 0x75, 0xfe, 0xd9, 0x80, 0x51, 0x20, + 0x0d, 0xff, 0xff, 0x0a, 0x02, 0xd4, 0xac, 0x5c, 0xcb, 0xe1, 0xab, 0x72, 0xb2, 0x41, 0xf5, 0xc2, + 0x0d, 0x33, 0x84, 0xae, 0x8e, 0x38, 0x22, 0x7f, 0xff, 0x0e, 0xb9, 0xbd, 0xf6, 0xee, 0xf0, 0x0e, + 0xcc, 0x32, 0xde, 0xc0, 0x7b, 0xf3, 0xf1, 0xfb, 0x31, 0xf4, 0x0f, 0xc7, 0xd0, 0xff, 0x79, 0x0c, + 0xfd, 0x6f, 0xa7, 0xd0, 0x3b, 0x9c, 0x42, 0xef, 0xc7, 0x29, 0xf4, 0xbe, 0xcc, 0x56, 0xc2, 0xae, + 0xb3, 0x84, 0x30, 0xd8, 0x52, 0x06, 0x66, 0x0b, 0x86, 0x8a, 0x84, 0x8d, 0x56, 0x40, 0xf3, 0x29, + 0xdd, 0x42, 0x9a, 0x6d, 0xb8, 0x29, 0x6f, 0xe3, 0xe5, 0xab, 0x51, 0x71, 0x4e, 0x76, 0xaf, 0xb8, + 0x49, 0x1a, 0xc5, 0x5d, 0x4c, 0x7f, 0x05, 0x00, 0x00, 0xff, 0xff, 0x19, 0x37, 0x7f, 0x1d, 0x6c, + 0x02, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. diff --git a/modules/core/23-commitment/types/codec.go b/modules/core/23-commitment/types/codec.go index 5ef95233486..343bbceaed0 100644 --- a/modules/core/23-commitment/types/codec.go +++ b/modules/core/23-commitment/types/codec.go @@ -2,7 +2,7 @@ package types import ( codectypes "github.com/cosmos/cosmos-sdk/codec/types" - "github.com/cosmos/ibc-go/v2/modules/core/exported" + "github.com/cosmos/ibc-go/v3/modules/core/exported" ) // RegisterInterfaces registers the commitment interfaces to protobuf Any. diff --git a/modules/core/23-commitment/types/commitment.pb.go b/modules/core/23-commitment/types/commitment.pb.go index 19e58581b70..b5c4a458535 100644 --- a/modules/core/23-commitment/types/commitment.pb.go +++ b/modules/core/23-commitment/types/commitment.pb.go @@ -220,7 +220,7 @@ var fileDescriptor_7921d88972a41469 = []byte{ // 334 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x4c, 0x91, 0xbf, 0x4e, 0xeb, 0x30, 0x14, 0xc6, 0x13, 0xdd, 0xaa, 0x97, 0xba, 0x95, 0x10, 0x01, 0x2a, 0xd4, 0x21, 0x45, 0x19, 0xa0, - 0x4b, 0x6d, 0x35, 0x65, 0xaa, 0x60, 0x09, 0xac, 0x48, 0x55, 0x06, 0x06, 0x16, 0x94, 0x18, 0x37, + 0x4b, 0x6d, 0xb5, 0x61, 0xaa, 0x60, 0x09, 0xac, 0x48, 0x55, 0x06, 0x06, 0x16, 0x94, 0x18, 0x37, 0xb1, 0xda, 0x70, 0xa2, 0xd8, 0xad, 0xc8, 0x1b, 0x30, 0x32, 0x32, 0xf2, 0x38, 0x8c, 0x1d, 0x99, 0x2a, 0xd4, 0xbe, 0x41, 0x9f, 0x00, 0xd9, 0xa6, 0x90, 0xed, 0x7c, 0x3a, 0xbf, 0xf3, 0xef, 0x3b, 0xe8, 0x9c, 0xc7, 0x94, 0x50, 0x28, 0x18, 0xa1, 0x90, 0x65, 0x5c, 0x66, 0xec, 0x49, 0x92, 0xc5, @@ -233,12 +233,12 @@ var fileDescriptor_7921d88972a41469 = []byte{ 0x4d, 0x95, 0x17, 0xec, 0xa6, 0x8d, 0x23, 0x99, 0x3a, 0x18, 0xed, 0x69, 0x2e, 0x92, 0x6a, 0xe2, 0xbf, 0x5e, 0x23, 0x38, 0xdc, 0xae, 0xba, 0xfb, 0x95, 0x0e, 0x91, 0x4c, 0xbd, 0xf0, 0xbf, 0xaa, 0x8f, 0x64, 0x3a, 0xaa, 0xbd, 0xa9, 0x4d, 0xae, 0x50, 0x73, 0xb7, 0x09, 0xc0, 0xc4, 0xc1, 0xa8, - 0x6e, 0x0e, 0xd2, 0x2d, 0x9a, 0x7e, 0x1b, 0x73, 0x2a, 0xfc, 0x21, 0xbe, 0xfe, 0xb5, 0x42, 0x73, - 0xe1, 0x0f, 0x15, 0xdc, 0x7d, 0xac, 0x5d, 0x7b, 0xb9, 0x76, 0xed, 0xaf, 0xb5, 0x6b, 0xbf, 0x6e, - 0x5c, 0x6b, 0xb9, 0x71, 0xad, 0xcf, 0x8d, 0x6b, 0xdd, 0x5f, 0x26, 0x5c, 0xa6, 0xf3, 0x58, 0x99, - 0x48, 0x28, 0x88, 0x0c, 0x04, 0xe1, 0x31, 0xed, 0x27, 0x40, 0x16, 0x3e, 0xc9, 0xe0, 0x71, 0x3e, - 0x63, 0xc2, 0xfc, 0xc3, 0x1f, 0xf6, 0x2b, 0x2f, 0x91, 0x65, 0xce, 0x44, 0x5c, 0xd7, 0x7e, 0x0e, - 0xbf, 0x03, 0x00, 0x00, 0xff, 0xff, 0x02, 0x1e, 0x01, 0x6b, 0xb6, 0x01, 0x00, 0x00, + 0x6e, 0x0e, 0xd2, 0x2d, 0x9a, 0xc3, 0x36, 0xe6, 0x54, 0x0c, 0x7d, 0x7c, 0xfd, 0x6b, 0x85, 0xe6, + 0xc2, 0x1f, 0x2a, 0xb8, 0xfb, 0x58, 0xbb, 0xf6, 0x72, 0xed, 0xda, 0x5f, 0x6b, 0xd7, 0x7e, 0xdd, + 0xb8, 0xd6, 0x72, 0xe3, 0x5a, 0x9f, 0x1b, 0xd7, 0xba, 0xbf, 0x4c, 0xb8, 0x4c, 0xe7, 0xb1, 0x32, + 0x91, 0x50, 0x10, 0x19, 0x08, 0xc2, 0x63, 0xda, 0x4f, 0x80, 0x2c, 0x7c, 0x92, 0xc1, 0xe3, 0x7c, + 0xc6, 0x84, 0xf9, 0xc7, 0xd0, 0xef, 0x57, 0x5e, 0x22, 0xcb, 0x9c, 0x89, 0xb8, 0xae, 0xfd, 0xf4, + 0xbf, 0x03, 0x00, 0x00, 0xff, 0xff, 0xec, 0x9a, 0x38, 0xca, 0xb6, 0x01, 0x00, 0x00, } func (m *MerkleRoot) Marshal() (dAtA []byte, err error) { diff --git a/modules/core/23-commitment/types/merkle.go b/modules/core/23-commitment/types/merkle.go index d9a0f889d7f..3abdbae412d 100644 --- a/modules/core/23-commitment/types/merkle.go +++ b/modules/core/23-commitment/types/merkle.go @@ -10,7 +10,7 @@ import ( tmcrypto "github.com/tendermint/tendermint/proto/tendermint/crypto" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" - "github.com/cosmos/ibc-go/v2/modules/core/exported" + "github.com/cosmos/ibc-go/v3/modules/core/exported" ) // var representing the proofspecs for a SDK chain diff --git a/modules/core/23-commitment/types/merkle_test.go b/modules/core/23-commitment/types/merkle_test.go index 28724f11f7f..28b8b3cd0dd 100644 --- a/modules/core/23-commitment/types/merkle_test.go +++ b/modules/core/23-commitment/types/merkle_test.go @@ -7,7 +7,7 @@ import ( "github.com/stretchr/testify/require" abci "github.com/tendermint/tendermint/abci/types" - "github.com/cosmos/ibc-go/v2/modules/core/23-commitment/types" + "github.com/cosmos/ibc-go/v3/modules/core/23-commitment/types" ) func (suite *MerkleTestSuite) TestVerifyMembership() { diff --git a/modules/core/23-commitment/types/utils_test.go b/modules/core/23-commitment/types/utils_test.go index 47ef8e99b65..ea2abea2026 100644 --- a/modules/core/23-commitment/types/utils_test.go +++ b/modules/core/23-commitment/types/utils_test.go @@ -7,7 +7,7 @@ import ( abci "github.com/tendermint/tendermint/abci/types" crypto "github.com/tendermint/tendermint/proto/tendermint/crypto" - "github.com/cosmos/ibc-go/v2/modules/core/23-commitment/types" + "github.com/cosmos/ibc-go/v3/modules/core/23-commitment/types" ) func (suite *MerkleTestSuite) TestConvertProofs() { diff --git a/modules/core/24-host/keys.go b/modules/core/24-host/keys.go index 4d9a7a4b011..c12449f182f 100644 --- a/modules/core/24-host/keys.go +++ b/modules/core/24-host/keys.go @@ -3,7 +3,7 @@ package host import ( "fmt" - "github.com/cosmos/ibc-go/v2/modules/core/exported" + "github.com/cosmos/ibc-go/v3/modules/core/exported" ) const ( diff --git a/modules/core/24-host/parse_test.go b/modules/core/24-host/parse_test.go index 25ff7334d68..60b33d8ce45 100644 --- a/modules/core/24-host/parse_test.go +++ b/modules/core/24-host/parse_test.go @@ -6,8 +6,8 @@ import ( "github.com/stretchr/testify/require" - connectiontypes "github.com/cosmos/ibc-go/v2/modules/core/03-connection/types" - host "github.com/cosmos/ibc-go/v2/modules/core/24-host" + connectiontypes "github.com/cosmos/ibc-go/v3/modules/core/03-connection/types" + host "github.com/cosmos/ibc-go/v3/modules/core/24-host" ) func TestParseIdentifier(t *testing.T) { diff --git a/modules/core/ante/ante.go b/modules/core/ante/ante.go index 3eccfbc058a..3fc440351a9 100644 --- a/modules/core/ante/ante.go +++ b/modules/core/ante/ante.go @@ -2,9 +2,9 @@ package ante import ( sdk "github.com/cosmos/cosmos-sdk/types" - clienttypes "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" - channelkeeper "github.com/cosmos/ibc-go/v2/modules/core/04-channel/keeper" - channeltypes "github.com/cosmos/ibc-go/v2/modules/core/04-channel/types" + clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" + channelkeeper "github.com/cosmos/ibc-go/v3/modules/core/04-channel/keeper" + channeltypes "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types" ) type AnteDecorator struct { diff --git a/modules/core/ante/ante_test.go b/modules/core/ante/ante_test.go index e12f91082e7..c1d06e41ca2 100644 --- a/modules/core/ante/ante_test.go +++ b/modules/core/ante/ante_test.go @@ -4,11 +4,11 @@ import ( "testing" sdk "github.com/cosmos/cosmos-sdk/types" - clienttypes "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" - channeltypes "github.com/cosmos/ibc-go/v2/modules/core/04-channel/types" - "github.com/cosmos/ibc-go/v2/modules/core/ante" - ibctesting "github.com/cosmos/ibc-go/v2/testing" - "github.com/cosmos/ibc-go/v2/testing/mock" + clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" + channeltypes "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types" + "github.com/cosmos/ibc-go/v3/modules/core/ante" + ibctesting "github.com/cosmos/ibc-go/v3/testing" + "github.com/cosmos/ibc-go/v3/testing/mock" "github.com/stretchr/testify/suite" ) diff --git a/modules/core/client/cli/cli.go b/modules/core/client/cli/cli.go index 2239a29593c..8cb08754935 100644 --- a/modules/core/client/cli/cli.go +++ b/modules/core/client/cli/cli.go @@ -4,10 +4,10 @@ import ( "github.com/spf13/cobra" "github.com/cosmos/cosmos-sdk/client" - ibcclient "github.com/cosmos/ibc-go/v2/modules/core/02-client" - connection "github.com/cosmos/ibc-go/v2/modules/core/03-connection" - channel "github.com/cosmos/ibc-go/v2/modules/core/04-channel" - host "github.com/cosmos/ibc-go/v2/modules/core/24-host" + ibcclient "github.com/cosmos/ibc-go/v3/modules/core/02-client" + connection "github.com/cosmos/ibc-go/v3/modules/core/03-connection" + channel "github.com/cosmos/ibc-go/v3/modules/core/04-channel" + host "github.com/cosmos/ibc-go/v3/modules/core/24-host" ) // GetTxCmd returns the transaction commands for this module diff --git a/modules/core/client/query.go b/modules/core/client/query.go index 2ba0faa657d..724d3e34df4 100644 --- a/modules/core/client/query.go +++ b/modules/core/client/query.go @@ -7,9 +7,9 @@ import ( "github.com/cosmos/cosmos-sdk/client" "github.com/cosmos/cosmos-sdk/codec" - clienttypes "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" - commitmenttypes "github.com/cosmos/ibc-go/v2/modules/core/23-commitment/types" - host "github.com/cosmos/ibc-go/v2/modules/core/24-host" + clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" + commitmenttypes "github.com/cosmos/ibc-go/v3/modules/core/23-commitment/types" + host "github.com/cosmos/ibc-go/v3/modules/core/24-host" ) // QueryTendermintProof performs an ABCI query with the given key and returns diff --git a/modules/core/genesis.go b/modules/core/genesis.go index c66704108f8..16b5767d3a1 100644 --- a/modules/core/genesis.go +++ b/modules/core/genesis.go @@ -2,11 +2,11 @@ package ibc import ( sdk "github.com/cosmos/cosmos-sdk/types" - client "github.com/cosmos/ibc-go/v2/modules/core/02-client" - connection "github.com/cosmos/ibc-go/v2/modules/core/03-connection" - channel "github.com/cosmos/ibc-go/v2/modules/core/04-channel" - "github.com/cosmos/ibc-go/v2/modules/core/keeper" - "github.com/cosmos/ibc-go/v2/modules/core/types" + client "github.com/cosmos/ibc-go/v3/modules/core/02-client" + connection "github.com/cosmos/ibc-go/v3/modules/core/03-connection" + channel "github.com/cosmos/ibc-go/v3/modules/core/04-channel" + "github.com/cosmos/ibc-go/v3/modules/core/keeper" + "github.com/cosmos/ibc-go/v3/modules/core/types" ) // InitGenesis initializes the ibc state from a provided genesis diff --git a/modules/core/genesis_test.go b/modules/core/genesis_test.go index 7a562cffb93..8b1e2dd35e2 100644 --- a/modules/core/genesis_test.go +++ b/modules/core/genesis_test.go @@ -8,17 +8,17 @@ import ( tmproto "github.com/tendermint/tendermint/proto/tendermint/types" "github.com/cosmos/cosmos-sdk/codec" - ibc "github.com/cosmos/ibc-go/v2/modules/core" - clienttypes "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" - connectiontypes "github.com/cosmos/ibc-go/v2/modules/core/03-connection/types" - channeltypes "github.com/cosmos/ibc-go/v2/modules/core/04-channel/types" - commitmenttypes "github.com/cosmos/ibc-go/v2/modules/core/23-commitment/types" - "github.com/cosmos/ibc-go/v2/modules/core/exported" - "github.com/cosmos/ibc-go/v2/modules/core/types" - ibctmtypes "github.com/cosmos/ibc-go/v2/modules/light-clients/07-tendermint/types" - localhosttypes "github.com/cosmos/ibc-go/v2/modules/light-clients/09-localhost/types" - ibctesting "github.com/cosmos/ibc-go/v2/testing" - "github.com/cosmos/ibc-go/v2/testing/simapp" + ibc "github.com/cosmos/ibc-go/v3/modules/core" + clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" + connectiontypes "github.com/cosmos/ibc-go/v3/modules/core/03-connection/types" + channeltypes "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types" + commitmenttypes "github.com/cosmos/ibc-go/v3/modules/core/23-commitment/types" + "github.com/cosmos/ibc-go/v3/modules/core/exported" + "github.com/cosmos/ibc-go/v3/modules/core/types" + ibctmtypes "github.com/cosmos/ibc-go/v3/modules/light-clients/07-tendermint/types" + localhosttypes "github.com/cosmos/ibc-go/v3/modules/light-clients/09-localhost/types" + ibctesting "github.com/cosmos/ibc-go/v3/testing" + "github.com/cosmos/ibc-go/v3/testing/simapp" ) const ( diff --git a/modules/core/keeper/grpc_query.go b/modules/core/keeper/grpc_query.go index dac1e78cd11..5e45facf84f 100644 --- a/modules/core/keeper/grpc_query.go +++ b/modules/core/keeper/grpc_query.go @@ -3,10 +3,10 @@ package keeper import ( "context" - clienttypes "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" - connectiontypes "github.com/cosmos/ibc-go/v2/modules/core/03-connection/types" - channeltypes "github.com/cosmos/ibc-go/v2/modules/core/04-channel/types" - porttypes "github.com/cosmos/ibc-go/v2/modules/core/05-port/types" + clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" + connectiontypes "github.com/cosmos/ibc-go/v3/modules/core/03-connection/types" + channeltypes "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types" + porttypes "github.com/cosmos/ibc-go/v3/modules/core/05-port/types" ) // ClientState implements the IBC QueryServer interface diff --git a/modules/core/keeper/keeper.go b/modules/core/keeper/keeper.go index 51e8bcd79d4..1e4c2077ce4 100644 --- a/modules/core/keeper/keeper.go +++ b/modules/core/keeper/keeper.go @@ -5,14 +5,14 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" capabilitykeeper "github.com/cosmos/cosmos-sdk/x/capability/keeper" paramtypes "github.com/cosmos/cosmos-sdk/x/params/types" - clientkeeper "github.com/cosmos/ibc-go/v2/modules/core/02-client/keeper" - clienttypes "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" - connectionkeeper "github.com/cosmos/ibc-go/v2/modules/core/03-connection/keeper" - connectiontypes "github.com/cosmos/ibc-go/v2/modules/core/03-connection/types" - channelkeeper "github.com/cosmos/ibc-go/v2/modules/core/04-channel/keeper" - portkeeper "github.com/cosmos/ibc-go/v2/modules/core/05-port/keeper" - porttypes "github.com/cosmos/ibc-go/v2/modules/core/05-port/types" - "github.com/cosmos/ibc-go/v2/modules/core/types" + clientkeeper "github.com/cosmos/ibc-go/v3/modules/core/02-client/keeper" + clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" + connectionkeeper "github.com/cosmos/ibc-go/v3/modules/core/03-connection/keeper" + connectiontypes "github.com/cosmos/ibc-go/v3/modules/core/03-connection/types" + channelkeeper "github.com/cosmos/ibc-go/v3/modules/core/04-channel/keeper" + portkeeper "github.com/cosmos/ibc-go/v3/modules/core/05-port/keeper" + porttypes "github.com/cosmos/ibc-go/v3/modules/core/05-port/types" + "github.com/cosmos/ibc-go/v3/modules/core/types" ) var _ types.QueryServer = (*Keeper)(nil) diff --git a/modules/core/keeper/migrations.go b/modules/core/keeper/migrations.go index 34d8b454c2b..286ce5b2e97 100644 --- a/modules/core/keeper/migrations.go +++ b/modules/core/keeper/migrations.go @@ -3,7 +3,7 @@ package keeper import ( sdk "github.com/cosmos/cosmos-sdk/types" - clientkeeper "github.com/cosmos/ibc-go/v2/modules/core/02-client/keeper" + clientkeeper "github.com/cosmos/ibc-go/v3/modules/core/02-client/keeper" ) // Migrator is a struct for handling in-place store migrations. diff --git a/modules/core/keeper/msg_server.go b/modules/core/keeper/msg_server.go index 326e9ce9721..e2c92fdeb1d 100644 --- a/modules/core/keeper/msg_server.go +++ b/modules/core/keeper/msg_server.go @@ -8,11 +8,11 @@ import ( "github.com/cosmos/cosmos-sdk/telemetry" sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" - clienttypes "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" - connectiontypes "github.com/cosmos/ibc-go/v2/modules/core/03-connection/types" - channeltypes "github.com/cosmos/ibc-go/v2/modules/core/04-channel/types" - porttypes "github.com/cosmos/ibc-go/v2/modules/core/05-port/types" - coretypes "github.com/cosmos/ibc-go/v2/modules/core/types" + clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" + connectiontypes "github.com/cosmos/ibc-go/v3/modules/core/03-connection/types" + channeltypes "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types" + porttypes "github.com/cosmos/ibc-go/v3/modules/core/05-port/types" + coretypes "github.com/cosmos/ibc-go/v3/modules/core/types" ) var _ clienttypes.MsgServer = Keeper{} diff --git a/modules/core/keeper/msg_server_test.go b/modules/core/keeper/msg_server_test.go index 97eb44f7cb5..5f94d1bd3d7 100644 --- a/modules/core/keeper/msg_server_test.go +++ b/modules/core/keeper/msg_server_test.go @@ -7,15 +7,15 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" upgradetypes "github.com/cosmos/cosmos-sdk/x/upgrade/types" - clienttypes "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" - channeltypes "github.com/cosmos/ibc-go/v2/modules/core/04-channel/types" - commitmenttypes "github.com/cosmos/ibc-go/v2/modules/core/23-commitment/types" - host "github.com/cosmos/ibc-go/v2/modules/core/24-host" - "github.com/cosmos/ibc-go/v2/modules/core/exported" - "github.com/cosmos/ibc-go/v2/modules/core/keeper" - ibctmtypes "github.com/cosmos/ibc-go/v2/modules/light-clients/07-tendermint/types" - ibctesting "github.com/cosmos/ibc-go/v2/testing" - ibcmock "github.com/cosmos/ibc-go/v2/testing/mock" + clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" + channeltypes "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types" + commitmenttypes "github.com/cosmos/ibc-go/v3/modules/core/23-commitment/types" + host "github.com/cosmos/ibc-go/v3/modules/core/24-host" + "github.com/cosmos/ibc-go/v3/modules/core/exported" + "github.com/cosmos/ibc-go/v3/modules/core/keeper" + ibctmtypes "github.com/cosmos/ibc-go/v3/modules/light-clients/07-tendermint/types" + ibctesting "github.com/cosmos/ibc-go/v3/testing" + ibcmock "github.com/cosmos/ibc-go/v3/testing/mock" ) const height = 10 diff --git a/modules/core/legacy/v100/genesis.go b/modules/core/legacy/v100/genesis.go index 432d4010d82..a1c85978ba2 100644 --- a/modules/core/legacy/v100/genesis.go +++ b/modules/core/legacy/v100/genesis.go @@ -6,11 +6,11 @@ import ( genutiltypes "github.com/cosmos/cosmos-sdk/x/genutil/types" tmtypes "github.com/tendermint/tendermint/types" - clientv100 "github.com/cosmos/ibc-go/v2/modules/core/02-client/legacy/v100" - clienttypes "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" - connectiontypes "github.com/cosmos/ibc-go/v2/modules/core/03-connection/types" - host "github.com/cosmos/ibc-go/v2/modules/core/24-host" - "github.com/cosmos/ibc-go/v2/modules/core/types" + clientv100 "github.com/cosmos/ibc-go/v3/modules/core/02-client/legacy/v100" + clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" + connectiontypes "github.com/cosmos/ibc-go/v3/modules/core/03-connection/types" + host "github.com/cosmos/ibc-go/v3/modules/core/24-host" + "github.com/cosmos/ibc-go/v3/modules/core/types" ) // MigrateGenesis accepts exported v1.0.0 IBC client genesis file and migrates it to: diff --git a/modules/core/legacy/v100/genesis_test.go b/modules/core/legacy/v100/genesis_test.go index 24df416d433..e06ceba87f7 100644 --- a/modules/core/legacy/v100/genesis_test.go +++ b/modules/core/legacy/v100/genesis_test.go @@ -9,15 +9,15 @@ import ( "github.com/stretchr/testify/suite" tmtypes "github.com/tendermint/tendermint/types" - ibcclient "github.com/cosmos/ibc-go/v2/modules/core/02-client" - clientv100 "github.com/cosmos/ibc-go/v2/modules/core/02-client/legacy/v100" - clienttypes "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" - connectiontypes "github.com/cosmos/ibc-go/v2/modules/core/03-connection/types" - host "github.com/cosmos/ibc-go/v2/modules/core/24-host" - "github.com/cosmos/ibc-go/v2/modules/core/legacy/v100" - "github.com/cosmos/ibc-go/v2/modules/core/types" - ibctesting "github.com/cosmos/ibc-go/v2/testing" - "github.com/cosmos/ibc-go/v2/testing/simapp" + ibcclient "github.com/cosmos/ibc-go/v3/modules/core/02-client" + clientv100 "github.com/cosmos/ibc-go/v3/modules/core/02-client/legacy/v100" + clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" + connectiontypes "github.com/cosmos/ibc-go/v3/modules/core/03-connection/types" + host "github.com/cosmos/ibc-go/v3/modules/core/24-host" + "github.com/cosmos/ibc-go/v3/modules/core/legacy/v100" + "github.com/cosmos/ibc-go/v3/modules/core/types" + ibctesting "github.com/cosmos/ibc-go/v3/testing" + "github.com/cosmos/ibc-go/v3/testing/simapp" ) type LegacyTestSuite struct { diff --git a/modules/core/module.go b/modules/core/module.go index 7893f5d39f3..3d43cbad20a 100644 --- a/modules/core/module.go +++ b/modules/core/module.go @@ -18,16 +18,16 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" "github.com/cosmos/cosmos-sdk/types/module" simtypes "github.com/cosmos/cosmos-sdk/types/simulation" - ibcclient "github.com/cosmos/ibc-go/v2/modules/core/02-client" - clientkeeper "github.com/cosmos/ibc-go/v2/modules/core/02-client/keeper" - clienttypes "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" - connectiontypes "github.com/cosmos/ibc-go/v2/modules/core/03-connection/types" - channeltypes "github.com/cosmos/ibc-go/v2/modules/core/04-channel/types" - host "github.com/cosmos/ibc-go/v2/modules/core/24-host" - "github.com/cosmos/ibc-go/v2/modules/core/client/cli" - "github.com/cosmos/ibc-go/v2/modules/core/keeper" - "github.com/cosmos/ibc-go/v2/modules/core/simulation" - "github.com/cosmos/ibc-go/v2/modules/core/types" + ibcclient "github.com/cosmos/ibc-go/v3/modules/core/02-client" + clientkeeper "github.com/cosmos/ibc-go/v3/modules/core/02-client/keeper" + clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" + connectiontypes "github.com/cosmos/ibc-go/v3/modules/core/03-connection/types" + channeltypes "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types" + host "github.com/cosmos/ibc-go/v3/modules/core/24-host" + "github.com/cosmos/ibc-go/v3/modules/core/client/cli" + "github.com/cosmos/ibc-go/v3/modules/core/keeper" + "github.com/cosmos/ibc-go/v3/modules/core/simulation" + "github.com/cosmos/ibc-go/v3/modules/core/types" ) var ( diff --git a/modules/core/simulation/decoder.go b/modules/core/simulation/decoder.go index ac6a3eb2942..36864a16a87 100644 --- a/modules/core/simulation/decoder.go +++ b/modules/core/simulation/decoder.go @@ -4,11 +4,11 @@ import ( "fmt" "github.com/cosmos/cosmos-sdk/types/kv" - clientsim "github.com/cosmos/ibc-go/v2/modules/core/02-client/simulation" - connectionsim "github.com/cosmos/ibc-go/v2/modules/core/03-connection/simulation" - channelsim "github.com/cosmos/ibc-go/v2/modules/core/04-channel/simulation" - host "github.com/cosmos/ibc-go/v2/modules/core/24-host" - "github.com/cosmos/ibc-go/v2/modules/core/keeper" + clientsim "github.com/cosmos/ibc-go/v3/modules/core/02-client/simulation" + connectionsim "github.com/cosmos/ibc-go/v3/modules/core/03-connection/simulation" + channelsim "github.com/cosmos/ibc-go/v3/modules/core/04-channel/simulation" + host "github.com/cosmos/ibc-go/v3/modules/core/24-host" + "github.com/cosmos/ibc-go/v3/modules/core/keeper" ) // NewDecodeStore returns a decoder function closure that unmarshals the KVPair's diff --git a/modules/core/simulation/decoder_test.go b/modules/core/simulation/decoder_test.go index 0ebe700b0b5..73ee7cd0c70 100644 --- a/modules/core/simulation/decoder_test.go +++ b/modules/core/simulation/decoder_test.go @@ -7,13 +7,13 @@ import ( "github.com/stretchr/testify/require" "github.com/cosmos/cosmos-sdk/types/kv" - clienttypes "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" - connectiontypes "github.com/cosmos/ibc-go/v2/modules/core/03-connection/types" - channeltypes "github.com/cosmos/ibc-go/v2/modules/core/04-channel/types" - host "github.com/cosmos/ibc-go/v2/modules/core/24-host" - "github.com/cosmos/ibc-go/v2/modules/core/simulation" - ibctmtypes "github.com/cosmos/ibc-go/v2/modules/light-clients/07-tendermint/types" - "github.com/cosmos/ibc-go/v2/testing/simapp" + clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" + connectiontypes "github.com/cosmos/ibc-go/v3/modules/core/03-connection/types" + channeltypes "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types" + host "github.com/cosmos/ibc-go/v3/modules/core/24-host" + "github.com/cosmos/ibc-go/v3/modules/core/simulation" + ibctmtypes "github.com/cosmos/ibc-go/v3/modules/light-clients/07-tendermint/types" + "github.com/cosmos/ibc-go/v3/testing/simapp" ) func TestDecodeStore(t *testing.T) { diff --git a/modules/core/simulation/genesis.go b/modules/core/simulation/genesis.go index fcb790f418d..ce88f0d77ae 100644 --- a/modules/core/simulation/genesis.go +++ b/modules/core/simulation/genesis.go @@ -8,14 +8,14 @@ import ( "math/rand" "github.com/cosmos/cosmos-sdk/types/module" - clientsims "github.com/cosmos/ibc-go/v2/modules/core/02-client/simulation" - clienttypes "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" - connectionsims "github.com/cosmos/ibc-go/v2/modules/core/03-connection/simulation" - connectiontypes "github.com/cosmos/ibc-go/v2/modules/core/03-connection/types" - channelsims "github.com/cosmos/ibc-go/v2/modules/core/04-channel/simulation" - channeltypes "github.com/cosmos/ibc-go/v2/modules/core/04-channel/types" - host "github.com/cosmos/ibc-go/v2/modules/core/24-host" - "github.com/cosmos/ibc-go/v2/modules/core/types" + clientsims "github.com/cosmos/ibc-go/v3/modules/core/02-client/simulation" + clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" + connectionsims "github.com/cosmos/ibc-go/v3/modules/core/03-connection/simulation" + connectiontypes "github.com/cosmos/ibc-go/v3/modules/core/03-connection/types" + channelsims "github.com/cosmos/ibc-go/v3/modules/core/04-channel/simulation" + channeltypes "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types" + host "github.com/cosmos/ibc-go/v3/modules/core/24-host" + "github.com/cosmos/ibc-go/v3/modules/core/types" ) // Simulation parameter constants diff --git a/modules/core/simulation/genesis_test.go b/modules/core/simulation/genesis_test.go index 8f2b9f5bafc..5a32c96ee62 100644 --- a/modules/core/simulation/genesis_test.go +++ b/modules/core/simulation/genesis_test.go @@ -11,9 +11,9 @@ import ( codectypes "github.com/cosmos/cosmos-sdk/codec/types" "github.com/cosmos/cosmos-sdk/types/module" simtypes "github.com/cosmos/cosmos-sdk/types/simulation" - host "github.com/cosmos/ibc-go/v2/modules/core/24-host" - "github.com/cosmos/ibc-go/v2/modules/core/simulation" - "github.com/cosmos/ibc-go/v2/modules/core/types" + host "github.com/cosmos/ibc-go/v3/modules/core/24-host" + "github.com/cosmos/ibc-go/v3/modules/core/simulation" + "github.com/cosmos/ibc-go/v3/modules/core/types" ) // TestRandomizedGenState tests the normal scenario of applying RandomizedGenState. diff --git a/modules/core/types/codec.go b/modules/core/types/codec.go index 4c6c6eb0416..11d0af291e8 100644 --- a/modules/core/types/codec.go +++ b/modules/core/types/codec.go @@ -2,13 +2,13 @@ package types import ( codectypes "github.com/cosmos/cosmos-sdk/codec/types" - clienttypes "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" - connectiontypes "github.com/cosmos/ibc-go/v2/modules/core/03-connection/types" - channeltypes "github.com/cosmos/ibc-go/v2/modules/core/04-channel/types" - commitmenttypes "github.com/cosmos/ibc-go/v2/modules/core/23-commitment/types" - solomachinetypes "github.com/cosmos/ibc-go/v2/modules/light-clients/06-solomachine/types" - ibctmtypes "github.com/cosmos/ibc-go/v2/modules/light-clients/07-tendermint/types" - localhosttypes "github.com/cosmos/ibc-go/v2/modules/light-clients/09-localhost/types" + clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" + connectiontypes "github.com/cosmos/ibc-go/v3/modules/core/03-connection/types" + channeltypes "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types" + commitmenttypes "github.com/cosmos/ibc-go/v3/modules/core/23-commitment/types" + solomachinetypes "github.com/cosmos/ibc-go/v3/modules/light-clients/06-solomachine/types" + ibctmtypes "github.com/cosmos/ibc-go/v3/modules/light-clients/07-tendermint/types" + localhosttypes "github.com/cosmos/ibc-go/v3/modules/light-clients/09-localhost/types" ) // RegisterInterfaces registers x/ibc interfaces into protobuf Any. diff --git a/modules/core/types/genesis.go b/modules/core/types/genesis.go index 8fada0ae961..e2ee997d2ef 100644 --- a/modules/core/types/genesis.go +++ b/modules/core/types/genesis.go @@ -2,9 +2,9 @@ package types import ( codectypes "github.com/cosmos/cosmos-sdk/codec/types" - clienttypes "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" - connectiontypes "github.com/cosmos/ibc-go/v2/modules/core/03-connection/types" - channeltypes "github.com/cosmos/ibc-go/v2/modules/core/04-channel/types" + clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" + connectiontypes "github.com/cosmos/ibc-go/v3/modules/core/03-connection/types" + channeltypes "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types" ) var _ codectypes.UnpackInterfacesMessage = GenesisState{} diff --git a/modules/core/types/genesis.pb.go b/modules/core/types/genesis.pb.go index 25f90b0c507..11fe53adab2 100644 --- a/modules/core/types/genesis.pb.go +++ b/modules/core/types/genesis.pb.go @@ -5,9 +5,9 @@ package types import ( fmt "fmt" - types "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" - types1 "github.com/cosmos/ibc-go/v2/modules/core/03-connection/types" - types2 "github.com/cosmos/ibc-go/v2/modules/core/04-channel/types" + types "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" + types1 "github.com/cosmos/ibc-go/v3/modules/core/03-connection/types" + types2 "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types" _ "github.com/gogo/protobuf/gogoproto" proto "github.com/gogo/protobuf/proto" io "io" @@ -100,7 +100,7 @@ var fileDescriptor_b9a49c5663e6fc59 = []byte{ // 323 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x64, 0x92, 0xb1, 0x4e, 0xeb, 0x30, 0x14, 0x86, 0x93, 0x5e, 0xe9, 0x0e, 0x01, 0x8a, 0x1a, 0x01, 0x82, 0x4a, 0xb8, 0x6d, 0xd4, 0x81, - 0x05, 0x5b, 0x2d, 0x1b, 0x63, 0x17, 0x98, 0xc3, 0xc6, 0x82, 0x12, 0x63, 0x52, 0xa3, 0xc4, 0xa7, + 0x05, 0x5b, 0xa5, 0x1b, 0x63, 0x17, 0x98, 0xc3, 0xc6, 0x82, 0x12, 0x63, 0x52, 0xa3, 0xc4, 0xa7, 0xaa, 0xdd, 0x48, 0x7d, 0x0b, 0x1e, 0xab, 0x63, 0x47, 0xc4, 0x50, 0xa1, 0xe4, 0x0d, 0x78, 0x02, 0xd4, 0xd8, 0x24, 0xa9, 0xbc, 0x45, 0xff, 0xf9, 0xce, 0xff, 0x1d, 0x25, 0xf1, 0x06, 0x3c, 0xa6, 0x84, 0xc2, 0x92, 0x11, 0xb5, 0x5e, 0x30, 0x49, 0xf2, 0x09, 0x49, 0x98, 0x60, 0x92, 0x4b, 0xbc, @@ -108,16 +108,16 @@ var fileDescriptor_b9a49c5663e6fc59 = []byte{ 0x24, 0x50, 0x4d, 0xc9, 0xfe, 0x49, 0x83, 0xfd, 0x61, 0xdd, 0x44, 0x53, 0xce, 0x84, 0xb2, 0xaa, 0xfa, 0xe3, 0x86, 0x00, 0x21, 0x18, 0x55, 0x1c, 0x84, 0x4d, 0x8d, 0x1a, 0x6a, 0x1e, 0x09, 0xc1, 0x52, 0x0b, 0x09, 0xbe, 0x3a, 0xde, 0xf1, 0x83, 0x4e, 0x9e, 0x54, 0xa4, 0x98, 0xff, 0xe6, 0x75, - 0xb5, 0xf4, 0xc5, 0x80, 0x97, 0xee, 0xd0, 0xbd, 0x39, 0x9a, 0x0e, 0x71, 0x7d, 0xbd, 0x9e, 0xe3, - 0x7c, 0x82, 0xdb, 0x9b, 0xb3, 0xeb, 0xcd, 0x6e, 0xe0, 0xfc, 0xec, 0x06, 0xe7, 0xeb, 0x28, 0x4b, - 0xef, 0x83, 0xc3, 0x96, 0x20, 0x3c, 0xd1, 0x81, 0x59, 0xf1, 0x73, 0xcf, 0x6f, 0x4e, 0xaf, 0x5d, - 0x9d, 0xca, 0x35, 0x6e, 0xb9, 0x6a, 0xc6, 0xf2, 0x8d, 0x8c, 0xef, 0xca, 0xf8, 0xac, 0xb6, 0x20, - 0xec, 0x35, 0xe1, 0x9f, 0xf7, 0xdd, 0x3b, 0x35, 0x2f, 0xa3, 0x96, 0xfe, 0xab, 0xa4, 0xa3, 0x96, - 0x54, 0x03, 0x96, 0x11, 0x19, 0xe3, 0x85, 0x31, 0x1e, 0xf6, 0x04, 0x61, 0xd7, 0x24, 0x66, 0x69, - 0xf6, 0xb8, 0x29, 0x90, 0xbb, 0x2d, 0x90, 0xfb, 0x5d, 0x20, 0xf7, 0xa3, 0x44, 0xce, 0xb6, 0x44, - 0xce, 0x67, 0x89, 0x9c, 0x67, 0x9c, 0x70, 0x35, 0x5f, 0xc5, 0x98, 0x42, 0x46, 0x28, 0xc8, 0x0c, - 0x24, 0xe1, 0x31, 0xbd, 0x4d, 0x80, 0xe4, 0x53, 0x92, 0xc1, 0xeb, 0x2a, 0x65, 0xb2, 0xf5, 0x2f, - 0xc5, 0xff, 0xab, 0xaf, 0x75, 0xf7, 0x1b, 0x00, 0x00, 0xff, 0xff, 0x9c, 0xb0, 0xe8, 0x1c, 0x64, + 0xb5, 0xf4, 0xc5, 0x80, 0x97, 0xee, 0xd0, 0xbd, 0x39, 0xba, 0x1b, 0xe2, 0xfa, 0x7a, 0x3d, 0xc7, + 0xf9, 0x04, 0xb7, 0x37, 0x67, 0xd7, 0x9b, 0xdd, 0xc0, 0xf9, 0xd9, 0x0d, 0xce, 0xd7, 0x51, 0x96, + 0xde, 0x07, 0x87, 0x2d, 0x41, 0x78, 0xa2, 0x03, 0xb3, 0xe2, 0xe7, 0x9e, 0xdf, 0x9c, 0x5e, 0xbb, + 0x3a, 0x95, 0x6b, 0xdc, 0x72, 0xd5, 0x8c, 0xe5, 0x1b, 0x19, 0xdf, 0x95, 0xf1, 0x59, 0x6d, 0x41, + 0xd8, 0x6b, 0xc2, 0x3f, 0xef, 0xbb, 0x77, 0x6a, 0x5e, 0x46, 0x2d, 0xfd, 0x57, 0x49, 0x47, 0x2d, + 0xa9, 0x06, 0x2c, 0x23, 0x32, 0xc6, 0x0b, 0x63, 0x3c, 0xec, 0x09, 0xc2, 0xae, 0x49, 0xcc, 0xd2, + 0xec, 0x71, 0x53, 0x20, 0x77, 0x5b, 0x20, 0xf7, 0xbb, 0x40, 0xee, 0x47, 0x89, 0x9c, 0x6d, 0x89, + 0x9c, 0xcf, 0x12, 0x39, 0xcf, 0x38, 0xe1, 0x6a, 0xbe, 0x8a, 0x31, 0x85, 0x8c, 0x50, 0x90, 0x19, + 0x48, 0xc2, 0x63, 0x7a, 0x9b, 0x00, 0xc9, 0xa7, 0x24, 0x83, 0xd7, 0x55, 0xca, 0x64, 0xeb, 0x5f, + 0x8a, 0xff, 0x57, 0x5f, 0x6b, 0xfa, 0x1b, 0x00, 0x00, 0xff, 0xff, 0x81, 0x4d, 0x5d, 0x1d, 0x64, 0x02, 0x00, 0x00, } diff --git a/modules/core/types/query.go b/modules/core/types/query.go index 8bf6c92ad21..dd14f6c57f0 100644 --- a/modules/core/types/query.go +++ b/modules/core/types/query.go @@ -3,14 +3,14 @@ package types import ( "github.com/gogo/protobuf/grpc" - client "github.com/cosmos/ibc-go/v2/modules/core/02-client" - clienttypes "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" - connection "github.com/cosmos/ibc-go/v2/modules/core/03-connection" - connectiontypes "github.com/cosmos/ibc-go/v2/modules/core/03-connection/types" - channel "github.com/cosmos/ibc-go/v2/modules/core/04-channel" - channeltypes "github.com/cosmos/ibc-go/v2/modules/core/04-channel/types" - port "github.com/cosmos/ibc-go/v2/modules/core/05-port" - porttypes "github.com/cosmos/ibc-go/v2/modules/core/05-port/types" + client "github.com/cosmos/ibc-go/v3/modules/core/02-client" + clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" + connection "github.com/cosmos/ibc-go/v3/modules/core/03-connection" + connectiontypes "github.com/cosmos/ibc-go/v3/modules/core/03-connection/types" + channel "github.com/cosmos/ibc-go/v3/modules/core/04-channel" + channeltypes "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types" + port "github.com/cosmos/ibc-go/v3/modules/core/05-port" + porttypes "github.com/cosmos/ibc-go/v3/modules/core/05-port/types" ) // QueryServer defines the IBC interfaces that the gRPC query server must implement diff --git a/modules/light-clients/06-solomachine/module.go b/modules/light-clients/06-solomachine/module.go index 6dbee1401a5..d607282725a 100644 --- a/modules/light-clients/06-solomachine/module.go +++ b/modules/light-clients/06-solomachine/module.go @@ -1,7 +1,7 @@ package solomachine import ( - "github.com/cosmos/ibc-go/v2/modules/light-clients/06-solomachine/types" + "github.com/cosmos/ibc-go/v3/modules/light-clients/06-solomachine/types" ) // Name returns the solo machine client name. diff --git a/modules/light-clients/06-solomachine/types/client_state.go b/modules/light-clients/06-solomachine/types/client_state.go index 6835f09ce50..2ce6eee512e 100644 --- a/modules/light-clients/06-solomachine/types/client_state.go +++ b/modules/light-clients/06-solomachine/types/client_state.go @@ -10,10 +10,10 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" "github.com/cosmos/cosmos-sdk/types/tx/signing" - clienttypes "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" - commitmenttypes "github.com/cosmos/ibc-go/v2/modules/core/23-commitment/types" - host "github.com/cosmos/ibc-go/v2/modules/core/24-host" - "github.com/cosmos/ibc-go/v2/modules/core/exported" + clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" + commitmenttypes "github.com/cosmos/ibc-go/v3/modules/core/23-commitment/types" + host "github.com/cosmos/ibc-go/v3/modules/core/24-host" + "github.com/cosmos/ibc-go/v3/modules/core/exported" ) var _ exported.ClientState = (*ClientState)(nil) 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 3d52cf5f488..09ea9693119 100644 --- a/modules/light-clients/06-solomachine/types/client_state_test.go +++ b/modules/light-clients/06-solomachine/types/client_state_test.go @@ -1,14 +1,14 @@ package types_test import ( - clienttypes "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" - connectiontypes "github.com/cosmos/ibc-go/v2/modules/core/03-connection/types" - channeltypes "github.com/cosmos/ibc-go/v2/modules/core/04-channel/types" - commitmenttypes "github.com/cosmos/ibc-go/v2/modules/core/23-commitment/types" - "github.com/cosmos/ibc-go/v2/modules/core/exported" - "github.com/cosmos/ibc-go/v2/modules/light-clients/06-solomachine/types" - ibctmtypes "github.com/cosmos/ibc-go/v2/modules/light-clients/07-tendermint/types" - ibctesting "github.com/cosmos/ibc-go/v2/testing" + clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" + connectiontypes "github.com/cosmos/ibc-go/v3/modules/core/03-connection/types" + channeltypes "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types" + commitmenttypes "github.com/cosmos/ibc-go/v3/modules/core/23-commitment/types" + "github.com/cosmos/ibc-go/v3/modules/core/exported" + "github.com/cosmos/ibc-go/v3/modules/light-clients/06-solomachine/types" + ibctmtypes "github.com/cosmos/ibc-go/v3/modules/light-clients/07-tendermint/types" + ibctesting "github.com/cosmos/ibc-go/v3/testing" ) const ( diff --git a/modules/light-clients/06-solomachine/types/codec.go b/modules/light-clients/06-solomachine/types/codec.go index 740e03e34e6..6ba8651f399 100644 --- a/modules/light-clients/06-solomachine/types/codec.go +++ b/modules/light-clients/06-solomachine/types/codec.go @@ -5,8 +5,8 @@ import ( codectypes "github.com/cosmos/cosmos-sdk/codec/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" "github.com/cosmos/cosmos-sdk/types/tx/signing" - clienttypes "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" - "github.com/cosmos/ibc-go/v2/modules/core/exported" + clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" + "github.com/cosmos/ibc-go/v3/modules/core/exported" ) // RegisterInterfaces register the ibc channel submodule interfaces to protobuf diff --git a/modules/light-clients/06-solomachine/types/codec_test.go b/modules/light-clients/06-solomachine/types/codec_test.go index 4a47045dc46..1a0e3e0086f 100644 --- a/modules/light-clients/06-solomachine/types/codec_test.go +++ b/modules/light-clients/06-solomachine/types/codec_test.go @@ -1,11 +1,11 @@ package types_test import ( - clienttypes "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" - connectiontypes "github.com/cosmos/ibc-go/v2/modules/core/03-connection/types" - channeltypes "github.com/cosmos/ibc-go/v2/modules/core/04-channel/types" - "github.com/cosmos/ibc-go/v2/modules/light-clients/06-solomachine/types" - ibctesting "github.com/cosmos/ibc-go/v2/testing" + clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" + connectiontypes "github.com/cosmos/ibc-go/v3/modules/core/03-connection/types" + channeltypes "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types" + "github.com/cosmos/ibc-go/v3/modules/light-clients/06-solomachine/types" + ibctesting "github.com/cosmos/ibc-go/v3/testing" ) func (suite SoloMachineTestSuite) TestUnmarshalDataByType() { diff --git a/modules/light-clients/06-solomachine/types/consensus_state.go b/modules/light-clients/06-solomachine/types/consensus_state.go index a1a24af0281..405dcbfe983 100644 --- a/modules/light-clients/06-solomachine/types/consensus_state.go +++ b/modules/light-clients/06-solomachine/types/consensus_state.go @@ -5,8 +5,8 @@ import ( cryptotypes "github.com/cosmos/cosmos-sdk/crypto/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" - clienttypes "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" - "github.com/cosmos/ibc-go/v2/modules/core/exported" + clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" + "github.com/cosmos/ibc-go/v3/modules/core/exported" ) var _ exported.ConsensusState = &ConsensusState{} diff --git a/modules/light-clients/06-solomachine/types/consensus_state_test.go b/modules/light-clients/06-solomachine/types/consensus_state_test.go index 2a9fd37f581..33e200c5461 100644 --- a/modules/light-clients/06-solomachine/types/consensus_state_test.go +++ b/modules/light-clients/06-solomachine/types/consensus_state_test.go @@ -1,9 +1,9 @@ package types_test import ( - "github.com/cosmos/ibc-go/v2/modules/core/exported" - "github.com/cosmos/ibc-go/v2/modules/light-clients/06-solomachine/types" - ibctesting "github.com/cosmos/ibc-go/v2/testing" + "github.com/cosmos/ibc-go/v3/modules/core/exported" + "github.com/cosmos/ibc-go/v3/modules/light-clients/06-solomachine/types" + ibctesting "github.com/cosmos/ibc-go/v3/testing" ) func (suite *SoloMachineTestSuite) TestConsensusState() { diff --git a/modules/light-clients/06-solomachine/types/header.go b/modules/light-clients/06-solomachine/types/header.go index a3c1f7cb79a..67b706931c6 100644 --- a/modules/light-clients/06-solomachine/types/header.go +++ b/modules/light-clients/06-solomachine/types/header.go @@ -5,8 +5,8 @@ import ( cryptotypes "github.com/cosmos/cosmos-sdk/crypto/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" - clienttypes "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" - "github.com/cosmos/ibc-go/v2/modules/core/exported" + clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" + "github.com/cosmos/ibc-go/v3/modules/core/exported" ) var _ exported.Header = &Header{} diff --git a/modules/light-clients/06-solomachine/types/header_test.go b/modules/light-clients/06-solomachine/types/header_test.go index ea951466f9b..48ce858c76a 100644 --- a/modules/light-clients/06-solomachine/types/header_test.go +++ b/modules/light-clients/06-solomachine/types/header_test.go @@ -1,9 +1,9 @@ package types_test import ( - "github.com/cosmos/ibc-go/v2/modules/core/exported" - "github.com/cosmos/ibc-go/v2/modules/light-clients/06-solomachine/types" - ibctesting "github.com/cosmos/ibc-go/v2/testing" + "github.com/cosmos/ibc-go/v3/modules/core/exported" + "github.com/cosmos/ibc-go/v3/modules/light-clients/06-solomachine/types" + ibctesting "github.com/cosmos/ibc-go/v3/testing" ) func (suite *SoloMachineTestSuite) TestHeaderValidateBasic() { diff --git a/modules/light-clients/06-solomachine/types/misbehaviour.go b/modules/light-clients/06-solomachine/types/misbehaviour.go index 08843f2d37e..b32a9bc8753 100644 --- a/modules/light-clients/06-solomachine/types/misbehaviour.go +++ b/modules/light-clients/06-solomachine/types/misbehaviour.go @@ -4,9 +4,9 @@ import ( "bytes" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" - clienttypes "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" - host "github.com/cosmos/ibc-go/v2/modules/core/24-host" - "github.com/cosmos/ibc-go/v2/modules/core/exported" + clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" + host "github.com/cosmos/ibc-go/v3/modules/core/24-host" + "github.com/cosmos/ibc-go/v3/modules/core/exported" ) var _ exported.Misbehaviour = &Misbehaviour{} diff --git a/modules/light-clients/06-solomachine/types/misbehaviour_handle.go b/modules/light-clients/06-solomachine/types/misbehaviour_handle.go index 1fef3c9978a..391310404cf 100644 --- a/modules/light-clients/06-solomachine/types/misbehaviour_handle.go +++ b/modules/light-clients/06-solomachine/types/misbehaviour_handle.go @@ -4,8 +4,8 @@ import ( "github.com/cosmos/cosmos-sdk/codec" sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" - clienttypes "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" - "github.com/cosmos/ibc-go/v2/modules/core/exported" + clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" + "github.com/cosmos/ibc-go/v3/modules/core/exported" ) // CheckMisbehaviourAndUpdateState determines whether or not the currently registered 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 e370ac392b3..db58b710772 100644 --- a/modules/light-clients/06-solomachine/types/misbehaviour_handle_test.go +++ b/modules/light-clients/06-solomachine/types/misbehaviour_handle_test.go @@ -1,10 +1,10 @@ package types_test import ( - "github.com/cosmos/ibc-go/v2/modules/core/exported" - "github.com/cosmos/ibc-go/v2/modules/light-clients/06-solomachine/types" - ibctmtypes "github.com/cosmos/ibc-go/v2/modules/light-clients/07-tendermint/types" - ibctesting "github.com/cosmos/ibc-go/v2/testing" + "github.com/cosmos/ibc-go/v3/modules/core/exported" + "github.com/cosmos/ibc-go/v3/modules/light-clients/06-solomachine/types" + ibctmtypes "github.com/cosmos/ibc-go/v3/modules/light-clients/07-tendermint/types" + ibctesting "github.com/cosmos/ibc-go/v3/testing" ) func (suite *SoloMachineTestSuite) TestCheckMisbehaviourAndUpdateState() { diff --git a/modules/light-clients/06-solomachine/types/misbehaviour_test.go b/modules/light-clients/06-solomachine/types/misbehaviour_test.go index 2d4f155468f..813a8520ee7 100644 --- a/modules/light-clients/06-solomachine/types/misbehaviour_test.go +++ b/modules/light-clients/06-solomachine/types/misbehaviour_test.go @@ -1,9 +1,9 @@ package types_test import ( - "github.com/cosmos/ibc-go/v2/modules/core/exported" - "github.com/cosmos/ibc-go/v2/modules/light-clients/06-solomachine/types" - ibctesting "github.com/cosmos/ibc-go/v2/testing" + "github.com/cosmos/ibc-go/v3/modules/core/exported" + "github.com/cosmos/ibc-go/v3/modules/light-clients/06-solomachine/types" + ibctesting "github.com/cosmos/ibc-go/v3/testing" ) func (suite *SoloMachineTestSuite) TestMisbehaviour() { diff --git a/modules/light-clients/06-solomachine/types/proof.go b/modules/light-clients/06-solomachine/types/proof.go index 396ddd815ea..77155b7e6ff 100644 --- a/modules/light-clients/06-solomachine/types/proof.go +++ b/modules/light-clients/06-solomachine/types/proof.go @@ -6,11 +6,11 @@ import ( "github.com/cosmos/cosmos-sdk/crypto/types/multisig" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" "github.com/cosmos/cosmos-sdk/types/tx/signing" - clienttypes "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" - connectiontypes "github.com/cosmos/ibc-go/v2/modules/core/03-connection/types" - channeltypes "github.com/cosmos/ibc-go/v2/modules/core/04-channel/types" - commitmenttypes "github.com/cosmos/ibc-go/v2/modules/core/23-commitment/types" - "github.com/cosmos/ibc-go/v2/modules/core/exported" + clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" + connectiontypes "github.com/cosmos/ibc-go/v3/modules/core/03-connection/types" + channeltypes "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types" + commitmenttypes "github.com/cosmos/ibc-go/v3/modules/core/23-commitment/types" + "github.com/cosmos/ibc-go/v3/modules/core/exported" ) // VerifySignature verifies if the the provided public key generated the signature diff --git a/modules/light-clients/06-solomachine/types/proof_test.go b/modules/light-clients/06-solomachine/types/proof_test.go index 5f15ad93555..87f1b0b42ea 100644 --- a/modules/light-clients/06-solomachine/types/proof_test.go +++ b/modules/light-clients/06-solomachine/types/proof_test.go @@ -3,9 +3,9 @@ package types_test import ( cryptotypes "github.com/cosmos/cosmos-sdk/crypto/types" "github.com/cosmos/cosmos-sdk/types/tx/signing" - "github.com/cosmos/ibc-go/v2/modules/light-clients/06-solomachine/types" - solomachinetypes "github.com/cosmos/ibc-go/v2/modules/light-clients/06-solomachine/types" - ibctesting "github.com/cosmos/ibc-go/v2/testing" + "github.com/cosmos/ibc-go/v3/modules/light-clients/06-solomachine/types" + solomachinetypes "github.com/cosmos/ibc-go/v3/modules/light-clients/06-solomachine/types" + ibctesting "github.com/cosmos/ibc-go/v3/testing" ) func (suite *SoloMachineTestSuite) TestVerifySignature() { diff --git a/modules/light-clients/06-solomachine/types/proposal_handle.go b/modules/light-clients/06-solomachine/types/proposal_handle.go index 057c82ec2bf..9150617cd0d 100644 --- a/modules/light-clients/06-solomachine/types/proposal_handle.go +++ b/modules/light-clients/06-solomachine/types/proposal_handle.go @@ -6,8 +6,8 @@ import ( "github.com/cosmos/cosmos-sdk/codec" sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" - clienttypes "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" - "github.com/cosmos/ibc-go/v2/modules/core/exported" + clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" + "github.com/cosmos/ibc-go/v3/modules/core/exported" ) // CheckSubstituteAndUpdateState verifies that the subject is allowed to be updated by 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 3956053d5c8..f52bbffde44 100644 --- a/modules/light-clients/06-solomachine/types/proposal_handle_test.go +++ b/modules/light-clients/06-solomachine/types/proposal_handle_test.go @@ -1,10 +1,10 @@ package types_test import ( - "github.com/cosmos/ibc-go/v2/modules/core/exported" - "github.com/cosmos/ibc-go/v2/modules/light-clients/06-solomachine/types" - ibctmtypes "github.com/cosmos/ibc-go/v2/modules/light-clients/07-tendermint/types" - ibctesting "github.com/cosmos/ibc-go/v2/testing" + "github.com/cosmos/ibc-go/v3/modules/core/exported" + "github.com/cosmos/ibc-go/v3/modules/light-clients/06-solomachine/types" + ibctmtypes "github.com/cosmos/ibc-go/v3/modules/light-clients/07-tendermint/types" + ibctesting "github.com/cosmos/ibc-go/v3/testing" ) func (suite *SoloMachineTestSuite) TestCheckSubstituteAndUpdateState() { diff --git a/modules/light-clients/06-solomachine/types/solomachine.go b/modules/light-clients/06-solomachine/types/solomachine.go index 2189a3af690..036bbd15e1e 100644 --- a/modules/light-clients/06-solomachine/types/solomachine.go +++ b/modules/light-clients/06-solomachine/types/solomachine.go @@ -3,7 +3,7 @@ package types import ( codectypes "github.com/cosmos/cosmos-sdk/codec/types" cryptotypes "github.com/cosmos/cosmos-sdk/crypto/types" - "github.com/cosmos/ibc-go/v2/modules/core/exported" + "github.com/cosmos/ibc-go/v3/modules/core/exported" ) // Interface implementation checks. diff --git a/modules/light-clients/06-solomachine/types/solomachine.pb.go b/modules/light-clients/06-solomachine/types/solomachine.pb.go index a712da4358c..441a7030402 100644 --- a/modules/light-clients/06-solomachine/types/solomachine.pb.go +++ b/modules/light-clients/06-solomachine/types/solomachine.pb.go @@ -6,8 +6,8 @@ package types import ( fmt "fmt" types "github.com/cosmos/cosmos-sdk/codec/types" - types1 "github.com/cosmos/ibc-go/v2/modules/core/03-connection/types" - types2 "github.com/cosmos/ibc-go/v2/modules/core/04-channel/types" + types1 "github.com/cosmos/ibc-go/v3/modules/core/03-connection/types" + types2 "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types" _ "github.com/gogo/protobuf/gogoproto" proto "github.com/gogo/protobuf/proto" io "io" @@ -823,93 +823,93 @@ func init() { } var fileDescriptor_141333b361aae010 = []byte{ - // 1372 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, 0x21, 0x19, 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, 0xbc, 0xd3, 0xb4, 0xdc, 0x56, - 0xbf, 0x5e, 0x30, 0x71, 0xa7, 0x68, 0x62, 0xa7, 0x83, 0x9d, 0xa2, 0x55, 0x37, 0x6f, 0x36, 0xb1, - 0xf7, 0xaf, 0xd4, 0xc1, 0x8d, 0x7e, 0x1b, 0x39, 0xe4, 0x7f, 0xea, 0xe6, 0xfc, 0x87, 0xea, 0xb5, - 0x5b, 0x37, 0xc3, 0xff, 0x54, 0xde, 0x35, 0xe3, 0xd4, 0xd7, 0xfd, 0x79, 0xf6, 0xfa, 0xef, 0x01, - 0x00, 0x00, 0xff, 0xff, 0x50, 0x28, 0xa0, 0x92, 0x80, 0x0d, 0x00, 0x00, + // 1370 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x57, 0x5f, 0x8f, 0xdb, 0x44, + 0x10, 0x3f, 0xa7, 0xe9, 0xf5, 0x32, 0xb9, 0xde, 0x05, 0x37, 0x6d, 0x73, 0x6e, 0x95, 0x18, 0x23, + 0xca, 0x81, 0x68, 0xc2, 0x5d, 0x45, 0x85, 0x2a, 0x04, 0x38, 0x8e, 0x4b, 0xd3, 0xde, 0xf9, 0x82, + 0xe3, 0x03, 0x5a, 0x21, 0x19, 0xc7, 0xd9, 0x4b, 0xac, 0x26, 0xde, 0x34, 0x76, 0x92, 0x06, 0x09, + 0x09, 0xf1, 0x54, 0x22, 0x1e, 0xf8, 0x02, 0x91, 0x10, 0x88, 0xcf, 0xc1, 0x1b, 0xf0, 0xd8, 0x47, + 0x9e, 0x02, 0x6a, 0xbf, 0x41, 0x3e, 0x01, 0xb2, 0x77, 0x13, 0xdb, 0xb9, 0x5e, 0x4e, 0xfc, 0x7b, + 0xdb, 0x9d, 0xdf, 0xcc, 0x6f, 0x66, 0x67, 0xc6, 0xb3, 0x6b, 0xd8, 0xb1, 0x6a, 0x66, 0xa1, 0x65, + 0x35, 0x9a, 0xae, 0xd9, 0xb2, 0x90, 0xed, 0x3a, 0x05, 0x07, 0xb7, 0x70, 0xdb, 0x30, 0x9b, 0x96, + 0x8d, 0x0a, 0xfd, 0xdd, 0xf0, 0x36, 0xdf, 0xe9, 0x62, 0x17, 0xb3, 0x39, 0xab, 0x66, 0xe6, 0xc3, + 0x26, 0xf9, 0xb0, 0x4e, 0x7f, 0x97, 0x7b, 0xcd, 0xe3, 0x34, 0x71, 0x17, 0x15, 0x4c, 0x6c, 0xdb, + 0xc8, 0x74, 0x2d, 0x6c, 0x17, 0xfa, 0x3b, 0xa1, 0x1d, 0x61, 0xe2, 0x5e, 0x0e, 0x14, 0x9b, 0x86, + 0x6d, 0xa3, 0x96, 0xaf, 0x45, 0x96, 0x54, 0x25, 0xdd, 0xc0, 0x0d, 0xec, 0x2f, 0x0b, 0xde, 0x8a, + 0x4a, 0xb7, 0x1a, 0x18, 0x37, 0x5a, 0xa8, 0xe0, 0xef, 0x6a, 0xbd, 0xa3, 0x82, 0x61, 0x0f, 0x09, + 0x24, 0xfc, 0x1c, 0x83, 0xa4, 0xe4, 0xc7, 0x55, 0x75, 0x0d, 0x17, 0xb1, 0x1c, 0xac, 0x39, 0xe8, + 0x51, 0x0f, 0xd9, 0x26, 0xca, 0x30, 0x3c, 0xb3, 0x1d, 0x57, 0xe7, 0x7b, 0x76, 0x07, 0x12, 0x96, + 0xa3, 0x1f, 0x75, 0xf1, 0x17, 0xc8, 0xce, 0xc4, 0x78, 0x66, 0x7b, 0xad, 0x98, 0x9e, 0x4e, 0x72, + 0xa9, 0xa1, 0xd1, 0x6e, 0xdd, 0x12, 0xe6, 0x90, 0xa0, 0xae, 0x59, 0xce, 0x6d, 0x7f, 0xc9, 0xba, + 0xb0, 0x69, 0x62, 0xdb, 0x41, 0xb6, 0xd3, 0x73, 0x74, 0xc7, 0xf3, 0x90, 0x39, 0xc3, 0x33, 0xdb, + 0xc9, 0xdd, 0x42, 0xfe, 0x94, 0xb4, 0xe4, 0xa5, 0x99, 0x9d, 0x1f, 0x58, 0x91, 0x9b, 0x4e, 0x72, + 0x97, 0x88, 0xa7, 0x05, 0x46, 0x41, 0xdd, 0x30, 0x23, 0xba, 0x2c, 0x82, 0x2b, 0x46, 0xab, 0x85, + 0x07, 0x7a, 0xaf, 0x53, 0x37, 0x5c, 0xa4, 0x1b, 0x47, 0x2e, 0xea, 0xea, 0x9d, 0x2e, 0xee, 0x60, + 0xc7, 0x68, 0x65, 0xe2, 0x7e, 0xe8, 0xd7, 0xa6, 0x93, 0x9c, 0x40, 0x08, 0x97, 0x28, 0x0b, 0x6a, + 0xc6, 0x47, 0x0f, 0x7d, 0x50, 0xf4, 0xb0, 0x0a, 0x85, 0x6e, 0xc5, 0x9f, 0x7c, 0x9f, 0x5b, 0x11, + 0x7e, 0x60, 0x60, 0x23, 0x1a, 0x2b, 0x7b, 0x17, 0xa0, 0xd3, 0xab, 0xb5, 0x2c, 0x53, 0x7f, 0x88, + 0x86, 0x7e, 0x1a, 0x93, 0xbb, 0xe9, 0x3c, 0x29, 0x42, 0x7e, 0x56, 0x84, 0xbc, 0x68, 0x0f, 0x8b, + 0x17, 0xa7, 0x93, 0xdc, 0x4b, 0x24, 0x88, 0xc0, 0x42, 0x50, 0x13, 0x64, 0x73, 0x0f, 0x0d, 0x59, + 0x1e, 0x92, 0x75, 0xab, 0x8f, 0xba, 0x8e, 0x75, 0x64, 0xa1, 0xae, 0x9f, 0xf6, 0x84, 0x1a, 0x16, + 0xb1, 0x57, 0x21, 0xe1, 0x5a, 0x6d, 0xe4, 0xb8, 0x46, 0xbb, 0xe3, 0x67, 0x37, 0xae, 0x06, 0x02, + 0x1a, 0xe4, 0xd7, 0x31, 0x58, 0xbd, 0x83, 0x8c, 0x3a, 0xea, 0x2e, 0xad, 0x70, 0x84, 0x2a, 0xb6, + 0x40, 0xe5, 0xa1, 0x8e, 0xd5, 0xb0, 0x0d, 0xb7, 0xd7, 0x25, 0x65, 0x5c, 0x57, 0x03, 0x01, 0x7b, + 0x08, 0x1b, 0x36, 0x1a, 0xe8, 0xa1, 0x83, 0xc7, 0x97, 0x1c, 0x7c, 0x6b, 0x3a, 0xc9, 0x5d, 0x24, + 0x07, 0x8f, 0x5a, 0x09, 0xea, 0xba, 0x8d, 0x06, 0x95, 0xf9, 0xf9, 0x25, 0xd8, 0xf4, 0x14, 0xc2, + 0x39, 0x38, 0xeb, 0xe5, 0x20, 0xdc, 0x10, 0x0b, 0x0a, 0x82, 0xea, 0x45, 0x52, 0x0a, 0x04, 0x34, + 0x09, 0xbf, 0xc6, 0x60, 0x7d, 0xdf, 0x72, 0x6a, 0xa8, 0x69, 0xf4, 0x2d, 0xdc, 0xeb, 0x7a, 0x0d, + 0x4d, 0x9a, 0x4f, 0xb7, 0xea, 0x7e, 0x2e, 0x12, 0xe1, 0x86, 0x9e, 0x43, 0x82, 0xba, 0x46, 0xd6, + 0xe5, 0x7a, 0x24, 0x7b, 0xb1, 0x85, 0xec, 0x75, 0xe0, 0xfc, 0x3c, 0x1d, 0x3a, 0xb6, 0x67, 0xad, + 0xbe, 0x73, 0x6a, 0xab, 0x57, 0x67, 0x56, 0xa2, 0x5d, 0x2f, 0x19, 0xae, 0x51, 0xcc, 0x4c, 0x27, + 0xb9, 0x34, 0x89, 0x22, 0xc2, 0x28, 0xa8, 0xeb, 0xf3, 0xfd, 0x81, 0xbd, 0xe0, 0xd1, 0x1d, 0x60, + 0x9a, 0xf2, 0xff, 0xca, 0xa3, 0x3b, 0xc0, 0x61, 0x8f, 0xda, 0x00, 0xd3, 0x4c, 0xfe, 0xc2, 0x40, + 0x6a, 0x91, 0x22, 0xda, 0x1e, 0xcc, 0x62, 0x7b, 0x7c, 0x06, 0x89, 0xba, 0xe1, 0x1a, 0xba, 0x3b, + 0xec, 0x90, 0xcc, 0x6d, 0xec, 0xbe, 0x7e, 0x6a, 0x98, 0x1e, 0xaf, 0x36, 0xec, 0xa0, 0x70, 0x59, + 0xe6, 0x2c, 0x82, 0xba, 0x56, 0xa7, 0x38, 0xcb, 0x42, 0xdc, 0x5b, 0xd3, 0xae, 0xf4, 0xd7, 0xd1, + 0x66, 0x8e, 0xbf, 0xf8, 0xbb, 0xf8, 0x8a, 0x81, 0x8c, 0x36, 0x93, 0xa1, 0xfa, 0xfc, 0x4c, 0xfe, + 0x81, 0x3e, 0x80, 0x8d, 0x20, 0x17, 0x3e, 0xbd, 0x7f, 0xaa, 0x70, 0xef, 0x46, 0x71, 0x41, 0x0d, + 0xca, 0x51, 0x3a, 0x16, 0x42, 0xec, 0xc5, 0x21, 0xfc, 0xc1, 0x40, 0xc2, 0xf3, 0x5b, 0x1c, 0xba, + 0xc8, 0xf9, 0x17, 0x5f, 0xe7, 0xc2, 0xa0, 0x38, 0x73, 0x7c, 0x50, 0x44, 0x4a, 0x10, 0xff, 0xbf, + 0x4a, 0x70, 0x36, 0x28, 0x01, 0x3d, 0xe1, 0x4f, 0x0c, 0x00, 0x19, 0x3e, 0x7e, 0x52, 0xf6, 0x20, + 0x49, 0x3f, 0xf9, 0x53, 0xc7, 0xe3, 0xa5, 0xe9, 0x24, 0xc7, 0x46, 0xa6, 0x04, 0x9d, 0x8f, 0x64, + 0x44, 0x9c, 0x30, 0x1f, 0x62, 0xff, 0x70, 0x3e, 0x7c, 0x09, 0x9b, 0xa1, 0xab, 0xd0, 0x8f, 0x95, + 0x85, 0x78, 0xc7, 0x70, 0x9b, 0xb4, 0x9d, 0xfd, 0x35, 0x5b, 0x81, 0x75, 0x3a, 0x1a, 0xc8, 0x85, + 0x16, 0x5b, 0x72, 0x80, 0xcb, 0xd3, 0x49, 0xee, 0x42, 0x64, 0x9c, 0xd0, 0x2b, 0x2b, 0x69, 0x06, + 0x9e, 0xa8, 0xfb, 0x6f, 0x18, 0x60, 0xa3, 0x17, 0xc9, 0x89, 0x21, 0xdc, 0x3f, 0x7e, 0xad, 0x2e, + 0x8b, 0xe2, 0x6f, 0xdc, 0x9d, 0x34, 0x96, 0x3e, 0x5c, 0x90, 0xe6, 0xcf, 0x8f, 0xe5, 0xb1, 0xc8, + 0x00, 0xc1, 0x4b, 0x85, 0x86, 0xf1, 0xaa, 0xdf, 0x56, 0xde, 0x53, 0x25, 0x1f, 0x7a, 0xc5, 0xf4, + 0x77, 0xf2, 0x01, 0xa9, 0x6c, 0xd7, 0xd5, 0x90, 0x21, 0xf5, 0x5b, 0x87, 0x94, 0x44, 0x1e, 0x34, + 0xcb, 0x9d, 0xde, 0x84, 0x73, 0xf4, 0xe1, 0x43, 0x3d, 0x5e, 0x0d, 0x79, 0xa4, 0x2f, 0x22, 0xcf, + 0x1d, 0x59, 0xaa, 0x33, 0x65, 0xea, 0xe5, 0x2e, 0xa4, 0x2b, 0x86, 0xf9, 0x10, 0xb9, 0x12, 0x6e, + 0xb7, 0x2d, 0xb7, 0x8d, 0x6c, 0xf7, 0x44, 0x4f, 0x59, 0xef, 0x78, 0x33, 0x2d, 0xdf, 0xd9, 0xba, + 0x1a, 0x92, 0x08, 0xf7, 0x61, 0x8b, 0x70, 0x89, 0xe6, 0x43, 0x1b, 0x0f, 0x5a, 0xa8, 0xde, 0x40, + 0x4b, 0x09, 0xb7, 0x61, 0xd3, 0x88, 0xaa, 0x52, 0xd6, 0x45, 0xb1, 0x90, 0x87, 0x0c, 0xa1, 0x56, + 0x91, 0x89, 0xac, 0x8e, 0x2b, 0xd6, 0x1c, 0x6f, 0x0e, 0x9c, 0xc4, 0x2c, 0x34, 0x21, 0xad, 0xa0, + 0xc7, 0x6e, 0x95, 0xce, 0x0b, 0x15, 0x99, 0xfd, 0x13, 0xa3, 0x78, 0x17, 0xce, 0xdb, 0xe8, 0xb1, + 0xab, 0x3b, 0xe8, 0x91, 0xde, 0x45, 0x66, 0x9f, 0xcc, 0x93, 0xf0, 0x35, 0x10, 0x81, 0x05, 0x35, + 0x69, 0x13, 0x6a, 0x8f, 0xf5, 0x8d, 0x6f, 0xe3, 0xb0, 0x36, 0x1b, 0x0c, 0xec, 0x3b, 0xf0, 0x4a, + 0x49, 0xd4, 0x44, 0x5d, 0xbb, 0x5f, 0x91, 0xf5, 0x43, 0xa5, 0xac, 0x94, 0xb5, 0xb2, 0xb8, 0x57, + 0x7e, 0x20, 0x97, 0xf4, 0x43, 0xa5, 0x5a, 0x91, 0xa5, 0xf2, 0xed, 0xb2, 0x5c, 0x4a, 0xad, 0x70, + 0x9b, 0xa3, 0x31, 0x9f, 0x0c, 0x89, 0xd8, 0x6b, 0x70, 0x29, 0xb0, 0x94, 0xf6, 0xca, 0xb2, 0xa2, + 0xe9, 0x55, 0x4d, 0xd4, 0xe4, 0x14, 0xc3, 0xc1, 0x68, 0xcc, 0xaf, 0x12, 0x19, 0xfb, 0x26, 0x6c, + 0x85, 0xf4, 0x0e, 0x94, 0xaa, 0xac, 0x54, 0x0f, 0xab, 0x54, 0x35, 0xc6, 0x9d, 0x1f, 0x8d, 0xf9, + 0xc4, 0x5c, 0xcc, 0xe6, 0x81, 0x8b, 0x68, 0x2b, 0xb2, 0xa4, 0x95, 0x0f, 0x14, 0xaa, 0x7e, 0x86, + 0xdb, 0x18, 0x8d, 0x79, 0x08, 0xe4, 0xec, 0x36, 0x5c, 0x0e, 0xe9, 0xdf, 0x11, 0x15, 0x45, 0xde, + 0xa3, 0xca, 0x71, 0x2e, 0x39, 0x1a, 0xf3, 0xe7, 0xa8, 0x90, 0x7d, 0x1b, 0xae, 0x04, 0x9a, 0x15, + 0x51, 0xba, 0x27, 0x6b, 0xba, 0x74, 0xb0, 0xbf, 0x5f, 0xd6, 0xf6, 0x65, 0x45, 0x4b, 0x9d, 0xe5, + 0xd2, 0xa3, 0x31, 0x9f, 0x22, 0x40, 0x20, 0x67, 0xdf, 0x07, 0xfe, 0x98, 0x99, 0x28, 0xdd, 0x53, + 0x0e, 0x3e, 0xd9, 0x93, 0x4b, 0x1f, 0xca, 0xbe, 0xed, 0x2a, 0xb7, 0x35, 0x1a, 0xf3, 0x17, 0x09, + 0xba, 0x00, 0xb2, 0xef, 0xbd, 0x80, 0x40, 0x95, 0x25, 0xb9, 0x5c, 0xd1, 0x74, 0xb1, 0x58, 0x95, + 0x15, 0x49, 0x4e, 0x9d, 0xe3, 0x32, 0xa3, 0x31, 0x9f, 0x26, 0x28, 0x05, 0x29, 0xc6, 0xde, 0x84, + 0xab, 0x81, 0xbd, 0x22, 0x7f, 0xaa, 0xe9, 0x55, 0xf9, 0xa3, 0x43, 0x0f, 0xf2, 0x68, 0x3e, 0x4e, + 0xad, 0x91, 0xc0, 0x3d, 0x64, 0x06, 0x78, 0x72, 0x96, 0x87, 0x54, 0x60, 0x77, 0x47, 0x16, 0x4b, + 0xb2, 0x9a, 0x4a, 0x90, 0xca, 0x90, 0x1d, 0x17, 0x7f, 0xf2, 0x63, 0x76, 0xa5, 0xf8, 0xf9, 0x6f, + 0xcf, 0xb2, 0xcc, 0xd3, 0x67, 0x59, 0xe6, 0xcf, 0x67, 0x59, 0xe6, 0xbb, 0xe7, 0xd9, 0x95, 0xa7, + 0xcf, 0xb3, 0x2b, 0xbf, 0x3f, 0xcf, 0xae, 0x3c, 0xb8, 0xdd, 0xb0, 0xdc, 0x66, 0xaf, 0x96, 0x37, + 0x71, 0xbb, 0x60, 0x62, 0xa7, 0x8d, 0x9d, 0x82, 0x55, 0x33, 0xaf, 0x37, 0x70, 0xa1, 0x7f, 0xa3, + 0xd0, 0xc6, 0xf5, 0x5e, 0x0b, 0x39, 0xe4, 0x7f, 0xea, 0xfa, 0xec, 0x87, 0xea, 0xad, 0x9b, 0xd7, + 0xc3, 0xff, 0x54, 0xde, 0x35, 0xe3, 0xd4, 0x56, 0xfd, 0x79, 0x76, 0xe3, 0xaf, 0x00, 0x00, 0x00, + 0xff, 0xff, 0x5d, 0xd4, 0x6c, 0xfb, 0x80, 0x0d, 0x00, 0x00, } func (m *ClientState) Marshal() (dAtA []byte, err error) { diff --git a/modules/light-clients/06-solomachine/types/solomachine_test.go b/modules/light-clients/06-solomachine/types/solomachine_test.go index 5cd9c8aaae6..8bce55f0412 100644 --- a/modules/light-clients/06-solomachine/types/solomachine_test.go +++ b/modules/light-clients/06-solomachine/types/solomachine_test.go @@ -12,10 +12,10 @@ import ( cryptotypes "github.com/cosmos/cosmos-sdk/crypto/types" "github.com/cosmos/cosmos-sdk/testutil/testdata" sdk "github.com/cosmos/cosmos-sdk/types" - host "github.com/cosmos/ibc-go/v2/modules/core/24-host" - "github.com/cosmos/ibc-go/v2/modules/core/exported" - "github.com/cosmos/ibc-go/v2/modules/light-clients/06-solomachine/types" - ibctesting "github.com/cosmos/ibc-go/v2/testing" + host "github.com/cosmos/ibc-go/v3/modules/core/24-host" + "github.com/cosmos/ibc-go/v3/modules/core/exported" + "github.com/cosmos/ibc-go/v3/modules/light-clients/06-solomachine/types" + ibctesting "github.com/cosmos/ibc-go/v3/testing" ) type SoloMachineTestSuite struct { diff --git a/modules/light-clients/06-solomachine/types/update.go b/modules/light-clients/06-solomachine/types/update.go index c4209c77143..543d72ce1d0 100644 --- a/modules/light-clients/06-solomachine/types/update.go +++ b/modules/light-clients/06-solomachine/types/update.go @@ -4,8 +4,8 @@ import ( "github.com/cosmos/cosmos-sdk/codec" sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" - clienttypes "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" - "github.com/cosmos/ibc-go/v2/modules/core/exported" + clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" + "github.com/cosmos/ibc-go/v3/modules/core/exported" ) // CheckHeaderAndUpdateState checks if the provided header is valid and updates diff --git a/modules/light-clients/06-solomachine/types/update_test.go b/modules/light-clients/06-solomachine/types/update_test.go index c07263af262..3bbf24a21d8 100644 --- a/modules/light-clients/06-solomachine/types/update_test.go +++ b/modules/light-clients/06-solomachine/types/update_test.go @@ -3,10 +3,10 @@ package types_test import ( codectypes "github.com/cosmos/cosmos-sdk/codec/types" sdk "github.com/cosmos/cosmos-sdk/types" - "github.com/cosmos/ibc-go/v2/modules/core/exported" - "github.com/cosmos/ibc-go/v2/modules/light-clients/06-solomachine/types" - ibctmtypes "github.com/cosmos/ibc-go/v2/modules/light-clients/07-tendermint/types" - ibctesting "github.com/cosmos/ibc-go/v2/testing" + "github.com/cosmos/ibc-go/v3/modules/core/exported" + "github.com/cosmos/ibc-go/v3/modules/light-clients/06-solomachine/types" + ibctmtypes "github.com/cosmos/ibc-go/v3/modules/light-clients/07-tendermint/types" + ibctesting "github.com/cosmos/ibc-go/v3/testing" ) func (suite *SoloMachineTestSuite) TestCheckHeaderAndUpdateState() { diff --git a/modules/light-clients/07-tendermint/module.go b/modules/light-clients/07-tendermint/module.go index fd1feb5ffb2..429105b4d33 100644 --- a/modules/light-clients/07-tendermint/module.go +++ b/modules/light-clients/07-tendermint/module.go @@ -1,7 +1,7 @@ package tendermint import ( - "github.com/cosmos/ibc-go/v2/modules/light-clients/07-tendermint/types" + "github.com/cosmos/ibc-go/v3/modules/light-clients/07-tendermint/types" ) // Name returns the IBC client name diff --git a/modules/light-clients/07-tendermint/types/client_state.go b/modules/light-clients/07-tendermint/types/client_state.go index 2448d2859bb..5a1e2b3d0a4 100644 --- a/modules/light-clients/07-tendermint/types/client_state.go +++ b/modules/light-clients/07-tendermint/types/client_state.go @@ -11,12 +11,12 @@ import ( "github.com/cosmos/cosmos-sdk/codec" sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" - clienttypes "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" - connectiontypes "github.com/cosmos/ibc-go/v2/modules/core/03-connection/types" - channeltypes "github.com/cosmos/ibc-go/v2/modules/core/04-channel/types" - commitmenttypes "github.com/cosmos/ibc-go/v2/modules/core/23-commitment/types" - host "github.com/cosmos/ibc-go/v2/modules/core/24-host" - "github.com/cosmos/ibc-go/v2/modules/core/exported" + clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" + connectiontypes "github.com/cosmos/ibc-go/v3/modules/core/03-connection/types" + channeltypes "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types" + commitmenttypes "github.com/cosmos/ibc-go/v3/modules/core/23-commitment/types" + host "github.com/cosmos/ibc-go/v3/modules/core/24-host" + "github.com/cosmos/ibc-go/v3/modules/core/exported" ) var _ exported.ClientState = (*ClientState)(nil) diff --git a/modules/light-clients/07-tendermint/types/client_state_test.go b/modules/light-clients/07-tendermint/types/client_state_test.go index 7a3f185370b..b0434579b76 100644 --- a/modules/light-clients/07-tendermint/types/client_state_test.go +++ b/modules/light-clients/07-tendermint/types/client_state_test.go @@ -5,14 +5,14 @@ import ( ics23 "github.com/confio/ics23/go" - clienttypes "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" - channeltypes "github.com/cosmos/ibc-go/v2/modules/core/04-channel/types" - commitmenttypes "github.com/cosmos/ibc-go/v2/modules/core/23-commitment/types" - host "github.com/cosmos/ibc-go/v2/modules/core/24-host" - "github.com/cosmos/ibc-go/v2/modules/core/exported" - "github.com/cosmos/ibc-go/v2/modules/light-clients/07-tendermint/types" - ibctesting "github.com/cosmos/ibc-go/v2/testing" - ibcmock "github.com/cosmos/ibc-go/v2/testing/mock" + clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" + channeltypes "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types" + commitmenttypes "github.com/cosmos/ibc-go/v3/modules/core/23-commitment/types" + host "github.com/cosmos/ibc-go/v3/modules/core/24-host" + "github.com/cosmos/ibc-go/v3/modules/core/exported" + "github.com/cosmos/ibc-go/v3/modules/light-clients/07-tendermint/types" + ibctesting "github.com/cosmos/ibc-go/v3/testing" + ibcmock "github.com/cosmos/ibc-go/v3/testing/mock" ) const ( diff --git a/modules/light-clients/07-tendermint/types/codec.go b/modules/light-clients/07-tendermint/types/codec.go index e4af4978fd7..b141976314b 100644 --- a/modules/light-clients/07-tendermint/types/codec.go +++ b/modules/light-clients/07-tendermint/types/codec.go @@ -2,7 +2,7 @@ package types import ( codectypes "github.com/cosmos/cosmos-sdk/codec/types" - "github.com/cosmos/ibc-go/v2/modules/core/exported" + "github.com/cosmos/ibc-go/v3/modules/core/exported" ) // RegisterInterfaces registers the tendermint concrete client-related diff --git a/modules/light-clients/07-tendermint/types/consensus_state.go b/modules/light-clients/07-tendermint/types/consensus_state.go index 857bfe35c1b..c0237fe26a9 100644 --- a/modules/light-clients/07-tendermint/types/consensus_state.go +++ b/modules/light-clients/07-tendermint/types/consensus_state.go @@ -7,9 +7,9 @@ import ( tmtypes "github.com/tendermint/tendermint/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" - clienttypes "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" - commitmenttypes "github.com/cosmos/ibc-go/v2/modules/core/23-commitment/types" - "github.com/cosmos/ibc-go/v2/modules/core/exported" + clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" + commitmenttypes "github.com/cosmos/ibc-go/v3/modules/core/23-commitment/types" + "github.com/cosmos/ibc-go/v3/modules/core/exported" ) // SentinelRoot is used as a stand-in root value for the consensus state set at the upgrade height diff --git a/modules/light-clients/07-tendermint/types/consensus_state_test.go b/modules/light-clients/07-tendermint/types/consensus_state_test.go index 6b89865345c..f45a4a5d24d 100644 --- a/modules/light-clients/07-tendermint/types/consensus_state_test.go +++ b/modules/light-clients/07-tendermint/types/consensus_state_test.go @@ -3,9 +3,9 @@ package types_test import ( "time" - commitmenttypes "github.com/cosmos/ibc-go/v2/modules/core/23-commitment/types" - "github.com/cosmos/ibc-go/v2/modules/core/exported" - "github.com/cosmos/ibc-go/v2/modules/light-clients/07-tendermint/types" + commitmenttypes "github.com/cosmos/ibc-go/v3/modules/core/23-commitment/types" + "github.com/cosmos/ibc-go/v3/modules/core/exported" + "github.com/cosmos/ibc-go/v3/modules/light-clients/07-tendermint/types" ) func (suite *TendermintTestSuite) TestConsensusStateValidateBasic() { diff --git a/modules/light-clients/07-tendermint/types/genesis.go b/modules/light-clients/07-tendermint/types/genesis.go index f91cd370bdd..d5ae98e874f 100644 --- a/modules/light-clients/07-tendermint/types/genesis.go +++ b/modules/light-clients/07-tendermint/types/genesis.go @@ -2,8 +2,8 @@ package types import ( sdk "github.com/cosmos/cosmos-sdk/types" - clienttypes "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" - "github.com/cosmos/ibc-go/v2/modules/core/exported" + clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" + "github.com/cosmos/ibc-go/v3/modules/core/exported" ) // ExportMetadata exports all the consensus metadata in the client store so they can be included in clients genesis diff --git a/modules/light-clients/07-tendermint/types/genesis_test.go b/modules/light-clients/07-tendermint/types/genesis_test.go index 503e9af3220..703cf5ce996 100644 --- a/modules/light-clients/07-tendermint/types/genesis_test.go +++ b/modules/light-clients/07-tendermint/types/genesis_test.go @@ -3,9 +3,9 @@ package types_test import ( sdk "github.com/cosmos/cosmos-sdk/types" - clienttypes "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" - "github.com/cosmos/ibc-go/v2/modules/light-clients/07-tendermint/types" - ibctesting "github.com/cosmos/ibc-go/v2/testing" + clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" + "github.com/cosmos/ibc-go/v3/modules/light-clients/07-tendermint/types" + ibctesting "github.com/cosmos/ibc-go/v3/testing" ) // expected export ordering: diff --git a/modules/light-clients/07-tendermint/types/header.go b/modules/light-clients/07-tendermint/types/header.go index 5f081252cd4..648ea2b75e9 100644 --- a/modules/light-clients/07-tendermint/types/header.go +++ b/modules/light-clients/07-tendermint/types/header.go @@ -7,9 +7,9 @@ import ( tmtypes "github.com/tendermint/tendermint/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" - clienttypes "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" - commitmenttypes "github.com/cosmos/ibc-go/v2/modules/core/23-commitment/types" - "github.com/cosmos/ibc-go/v2/modules/core/exported" + clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" + commitmenttypes "github.com/cosmos/ibc-go/v3/modules/core/23-commitment/types" + "github.com/cosmos/ibc-go/v3/modules/core/exported" ) var _ exported.Header = &Header{} diff --git a/modules/light-clients/07-tendermint/types/header_test.go b/modules/light-clients/07-tendermint/types/header_test.go index ba792c2136c..f57776c092f 100644 --- a/modules/light-clients/07-tendermint/types/header_test.go +++ b/modules/light-clients/07-tendermint/types/header_test.go @@ -5,9 +5,9 @@ import ( tmprotocrypto "github.com/tendermint/tendermint/proto/tendermint/crypto" - clienttypes "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" - "github.com/cosmos/ibc-go/v2/modules/core/exported" - "github.com/cosmos/ibc-go/v2/modules/light-clients/07-tendermint/types" + clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" + "github.com/cosmos/ibc-go/v3/modules/core/exported" + "github.com/cosmos/ibc-go/v3/modules/light-clients/07-tendermint/types" ) func (suite *TendermintTestSuite) TestGetHeight() { diff --git a/modules/light-clients/07-tendermint/types/misbehaviour.go b/modules/light-clients/07-tendermint/types/misbehaviour.go index 7fc159e1e85..41f8ea2c7df 100644 --- a/modules/light-clients/07-tendermint/types/misbehaviour.go +++ b/modules/light-clients/07-tendermint/types/misbehaviour.go @@ -7,9 +7,9 @@ import ( tmtypes "github.com/tendermint/tendermint/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" - clienttypes "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" - host "github.com/cosmos/ibc-go/v2/modules/core/24-host" - "github.com/cosmos/ibc-go/v2/modules/core/exported" + clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" + host "github.com/cosmos/ibc-go/v3/modules/core/24-host" + "github.com/cosmos/ibc-go/v3/modules/core/exported" ) var _ exported.Misbehaviour = &Misbehaviour{} diff --git a/modules/light-clients/07-tendermint/types/misbehaviour_handle.go b/modules/light-clients/07-tendermint/types/misbehaviour_handle.go index 2e77f18c55e..787d34b85bb 100644 --- a/modules/light-clients/07-tendermint/types/misbehaviour_handle.go +++ b/modules/light-clients/07-tendermint/types/misbehaviour_handle.go @@ -9,8 +9,8 @@ import ( "github.com/cosmos/cosmos-sdk/codec" sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" - clienttypes "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" - "github.com/cosmos/ibc-go/v2/modules/core/exported" + clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" + "github.com/cosmos/ibc-go/v3/modules/core/exported" ) // CheckMisbehaviourAndUpdateState determines whether or not two conflicting diff --git a/modules/light-clients/07-tendermint/types/misbehaviour_handle_test.go b/modules/light-clients/07-tendermint/types/misbehaviour_handle_test.go index 1dcbaa7a95e..da1efc665da 100644 --- a/modules/light-clients/07-tendermint/types/misbehaviour_handle_test.go +++ b/modules/light-clients/07-tendermint/types/misbehaviour_handle_test.go @@ -7,12 +7,12 @@ import ( "github.com/tendermint/tendermint/crypto/tmhash" tmtypes "github.com/tendermint/tendermint/types" - clienttypes "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" - commitmenttypes "github.com/cosmos/ibc-go/v2/modules/core/23-commitment/types" - "github.com/cosmos/ibc-go/v2/modules/core/exported" - "github.com/cosmos/ibc-go/v2/modules/light-clients/07-tendermint/types" - ibctesting "github.com/cosmos/ibc-go/v2/testing" - ibctestingmock "github.com/cosmos/ibc-go/v2/testing/mock" + clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" + commitmenttypes "github.com/cosmos/ibc-go/v3/modules/core/23-commitment/types" + "github.com/cosmos/ibc-go/v3/modules/core/exported" + "github.com/cosmos/ibc-go/v3/modules/light-clients/07-tendermint/types" + ibctesting "github.com/cosmos/ibc-go/v3/testing" + ibctestingmock "github.com/cosmos/ibc-go/v3/testing/mock" ) func (suite *TendermintTestSuite) TestCheckMisbehaviourAndUpdateState() { diff --git a/modules/light-clients/07-tendermint/types/misbehaviour_test.go b/modules/light-clients/07-tendermint/types/misbehaviour_test.go index 3738fa791b5..bba616bc5e4 100644 --- a/modules/light-clients/07-tendermint/types/misbehaviour_test.go +++ b/modules/light-clients/07-tendermint/types/misbehaviour_test.go @@ -7,11 +7,11 @@ import ( tmproto "github.com/tendermint/tendermint/proto/tendermint/types" tmtypes "github.com/tendermint/tendermint/types" - clienttypes "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" - "github.com/cosmos/ibc-go/v2/modules/core/exported" - "github.com/cosmos/ibc-go/v2/modules/light-clients/07-tendermint/types" - ibctesting "github.com/cosmos/ibc-go/v2/testing" - ibctestingmock "github.com/cosmos/ibc-go/v2/testing/mock" + clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" + "github.com/cosmos/ibc-go/v3/modules/core/exported" + "github.com/cosmos/ibc-go/v3/modules/light-clients/07-tendermint/types" + ibctesting "github.com/cosmos/ibc-go/v3/testing" + ibctestingmock "github.com/cosmos/ibc-go/v3/testing/mock" ) func (suite *TendermintTestSuite) TestMisbehaviour() { diff --git a/modules/light-clients/07-tendermint/types/proposal_handle.go b/modules/light-clients/07-tendermint/types/proposal_handle.go index 0647d1d0592..b6e57a777c5 100644 --- a/modules/light-clients/07-tendermint/types/proposal_handle.go +++ b/modules/light-clients/07-tendermint/types/proposal_handle.go @@ -6,8 +6,8 @@ import ( "github.com/cosmos/cosmos-sdk/codec" sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" - clienttypes "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" - "github.com/cosmos/ibc-go/v2/modules/core/exported" + clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" + "github.com/cosmos/ibc-go/v3/modules/core/exported" ) // CheckSubstituteAndUpdateState will try to update the client with the state of the diff --git a/modules/light-clients/07-tendermint/types/proposal_handle_test.go b/modules/light-clients/07-tendermint/types/proposal_handle_test.go index 1549f8a5490..822ec16e014 100644 --- a/modules/light-clients/07-tendermint/types/proposal_handle_test.go +++ b/modules/light-clients/07-tendermint/types/proposal_handle_test.go @@ -3,10 +3,10 @@ package types_test import ( "time" - clienttypes "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" - "github.com/cosmos/ibc-go/v2/modules/core/exported" - "github.com/cosmos/ibc-go/v2/modules/light-clients/07-tendermint/types" - ibctesting "github.com/cosmos/ibc-go/v2/testing" + clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" + "github.com/cosmos/ibc-go/v3/modules/core/exported" + "github.com/cosmos/ibc-go/v3/modules/light-clients/07-tendermint/types" + ibctesting "github.com/cosmos/ibc-go/v3/testing" ) var ( diff --git a/modules/light-clients/07-tendermint/types/store.go b/modules/light-clients/07-tendermint/types/store.go index 6ee21abfc28..29471278cec 100644 --- a/modules/light-clients/07-tendermint/types/store.go +++ b/modules/light-clients/07-tendermint/types/store.go @@ -9,9 +9,9 @@ import ( "github.com/cosmos/cosmos-sdk/store/prefix" sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" - clienttypes "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" - host "github.com/cosmos/ibc-go/v2/modules/core/24-host" - "github.com/cosmos/ibc-go/v2/modules/core/exported" + clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" + host "github.com/cosmos/ibc-go/v3/modules/core/24-host" + "github.com/cosmos/ibc-go/v3/modules/core/exported" ) /* diff --git a/modules/light-clients/07-tendermint/types/store_test.go b/modules/light-clients/07-tendermint/types/store_test.go index 6377b45db8b..22a8d069794 100644 --- a/modules/light-clients/07-tendermint/types/store_test.go +++ b/modules/light-clients/07-tendermint/types/store_test.go @@ -4,13 +4,13 @@ import ( "math" "time" - clienttypes "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" - commitmenttypes "github.com/cosmos/ibc-go/v2/modules/core/23-commitment/types" - host "github.com/cosmos/ibc-go/v2/modules/core/24-host" - "github.com/cosmos/ibc-go/v2/modules/core/exported" - solomachinetypes "github.com/cosmos/ibc-go/v2/modules/light-clients/06-solomachine/types" - "github.com/cosmos/ibc-go/v2/modules/light-clients/07-tendermint/types" - ibctesting "github.com/cosmos/ibc-go/v2/testing" + clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" + commitmenttypes "github.com/cosmos/ibc-go/v3/modules/core/23-commitment/types" + host "github.com/cosmos/ibc-go/v3/modules/core/24-host" + "github.com/cosmos/ibc-go/v3/modules/core/exported" + solomachinetypes "github.com/cosmos/ibc-go/v3/modules/light-clients/06-solomachine/types" + "github.com/cosmos/ibc-go/v3/modules/light-clients/07-tendermint/types" + ibctesting "github.com/cosmos/ibc-go/v3/testing" ) func (suite *TendermintTestSuite) TestGetConsensusState() { diff --git a/modules/light-clients/07-tendermint/types/tendermint.pb.go b/modules/light-clients/07-tendermint/types/tendermint.pb.go index 1b2e70e80f4..6436578b2ae 100644 --- a/modules/light-clients/07-tendermint/types/tendermint.pb.go +++ b/modules/light-clients/07-tendermint/types/tendermint.pb.go @@ -6,8 +6,8 @@ package types import ( fmt "fmt" _go "github.com/confio/ics23/go" - types "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" - types1 "github.com/cosmos/ibc-go/v2/modules/core/23-commitment/types" + types "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" + types1 "github.com/cosmos/ibc-go/v3/modules/core/23-commitment/types" _ "github.com/gogo/protobuf/gogoproto" proto "github.com/gogo/protobuf/proto" github_com_gogo_protobuf_types "github.com/gogo/protobuf/types" @@ -326,73 +326,73 @@ func init() { var fileDescriptor_c6d6cf2b288949be = []byte{ // 1080 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x56, 0xcf, 0x6f, 0xe3, 0x44, - 0x14, 0x6e, 0xda, 0xb2, 0x4d, 0x26, 0xe9, 0xb6, 0x98, 0xd2, 0x4d, 0x4b, 0x37, 0x8e, 0x0c, 0x5a, - 0x22, 0xa4, 0xda, 0x24, 0x8b, 0x84, 0x54, 0x71, 0xc1, 0xdd, 0x45, 0x2d, 0x62, 0xa5, 0xca, 0xe5, + 0x14, 0x6e, 0xda, 0xb2, 0x4d, 0x26, 0xe9, 0x76, 0x31, 0xa5, 0x9b, 0x96, 0x6e, 0x1c, 0x19, 0xb4, + 0x44, 0x48, 0xb5, 0x49, 0x8a, 0x84, 0x54, 0x71, 0xc1, 0xdd, 0x45, 0x2d, 0x62, 0xa5, 0xca, 0xe5, 0x87, 0x84, 0x84, 0xcc, 0xc4, 0x9e, 0x24, 0xa3, 0xb5, 0x3d, 0xc6, 0x33, 0x09, 0x2d, 0x7f, 0x01, 0x1c, 0x90, 0xf6, 0x88, 0x38, 0x71, 0xe0, 0x8f, 0xd9, 0x63, 0x8f, 0x9c, 0x0c, 0x6a, 0x2f, 0x9c, 0x73, 0xe4, 0x84, 0xe6, 0x87, 0xed, 0x69, 0xb6, 0x4b, 0xb5, 0x5c, 0xa2, 0x79, 0xef, 0x7d, 0xef, 0xfb, 0x32, 0x6f, 0xde, 0xbc, 0x31, 0x70, 0xf0, 0x30, 0x70, 0x22, 0x3c, 0x9e, 0xb0, 0x20, 0xc2, 0x28, 0x61, 0xd4, 0x61, 0x28, 0x09, 0x51, 0x16, 0xe3, 0x84, 0x39, 0xb3, 0xbe, 0x66, 0xd9, 0x69, - 0x46, 0x18, 0x31, 0x3a, 0x78, 0x18, 0xd8, 0x7a, 0x82, 0xad, 0x41, 0x66, 0xfd, 0xdd, 0xae, 0x96, - 0xcf, 0xce, 0x53, 0x44, 0x9d, 0x19, 0x8c, 0x70, 0x08, 0x19, 0xc9, 0x24, 0xc3, 0xee, 0xde, 0x0b, + 0x46, 0x18, 0x31, 0x3a, 0x78, 0x18, 0xd8, 0x7a, 0x82, 0xad, 0x41, 0x66, 0xfd, 0x9d, 0xae, 0x96, + 0xcf, 0xce, 0x53, 0x44, 0x9d, 0x19, 0x8c, 0x70, 0x08, 0x19, 0xc9, 0x24, 0xc3, 0xce, 0xee, 0x0b, 0x08, 0xf1, 0xab, 0xa2, 0xad, 0x34, 0x23, 0x64, 0x54, 0x58, 0x9d, 0x31, 0x21, 0xe3, 0x08, 0x39, 0xc2, 0x1a, 0x4e, 0x47, 0x4e, 0x38, 0xcd, 0x20, 0xc3, 0x24, 0x51, 0x71, 0x73, 0x31, 0xce, 0x70, 0x8c, 0x28, 0x83, 0x71, 0x5a, 0x00, 0xf8, 0xfe, 0x02, 0x92, 0x21, 0x47, 0xfe, 0x5d, 0xbe, 0x27, - 0xb9, 0x52, 0x80, 0x77, 0x2b, 0x00, 0x89, 0x63, 0xcc, 0xe2, 0x02, 0x54, 0x5a, 0x0a, 0xb8, 0x35, + 0xb9, 0x52, 0x80, 0x77, 0x2b, 0x00, 0x89, 0x63, 0xcc, 0xe2, 0x02, 0x54, 0x5a, 0x0a, 0xb8, 0x39, 0x26, 0x63, 0x22, 0x96, 0x0e, 0x5f, 0x49, 0xaf, 0xf5, 0xf7, 0x1a, 0x68, 0x1e, 0x0a, 0xbe, 0x53, - 0x06, 0x19, 0x32, 0x76, 0x40, 0x3d, 0x98, 0x40, 0x9c, 0xf8, 0x38, 0x6c, 0xd7, 0xba, 0xb5, 0x5e, + 0x06, 0x19, 0x32, 0xb6, 0x41, 0x3d, 0x98, 0x40, 0x9c, 0xf8, 0x38, 0x6c, 0xd7, 0xba, 0xb5, 0x5e, 0xc3, 0x5b, 0x13, 0xf6, 0x71, 0x68, 0x20, 0xd0, 0x64, 0xd9, 0x94, 0x32, 0x3f, 0x42, 0x33, 0x14, 0xb5, 0x97, 0xbb, 0xb5, 0x5e, 0x73, 0xd0, 0xb3, 0xff, 0xbb, 0x9e, 0xf6, 0x27, 0x19, 0x0c, 0xf8, - 0x86, 0xdd, 0xdd, 0xe7, 0xb9, 0xb9, 0x34, 0xcf, 0x4d, 0xe3, 0x1c, 0xc6, 0xd1, 0x81, 0xa5, 0x51, + 0x86, 0xdd, 0x9d, 0xe7, 0xb9, 0xb9, 0x34, 0xcf, 0x4d, 0xe3, 0x1c, 0xc6, 0xd1, 0x81, 0xa5, 0x51, 0x59, 0x1e, 0x10, 0xd6, 0x67, 0xdc, 0x30, 0x46, 0x60, 0x43, 0x58, 0x38, 0x19, 0xfb, 0x29, 0xca, - 0x30, 0x09, 0xdb, 0x2b, 0x42, 0x6a, 0xc7, 0x96, 0xc5, 0xb2, 0x8b, 0x62, 0xd9, 0x8f, 0x54, 0x31, - 0x5d, 0x4b, 0x71, 0x6f, 0x6b, 0xdc, 0x55, 0xbe, 0xf5, 0xcb, 0x9f, 0x66, 0xcd, 0xbb, 0x5b, 0x78, - 0x4f, 0x84, 0xd3, 0xc0, 0x60, 0x73, 0x9a, 0x0c, 0x49, 0x12, 0x6a, 0x42, 0xab, 0xb7, 0x09, 0xbd, - 0xad, 0x84, 0xee, 0x49, 0xa1, 0x45, 0x02, 0xa9, 0xb4, 0x51, 0xba, 0x95, 0x14, 0x02, 0x1b, 0x31, - 0x3c, 0xf3, 0x83, 0x88, 0x04, 0x4f, 0xfd, 0x30, 0xc3, 0x23, 0xd6, 0x7e, 0xed, 0x15, 0xb7, 0xb4, - 0x90, 0x2f, 0x85, 0xd6, 0x63, 0x78, 0x76, 0xc8, 0x9d, 0x8f, 0xb8, 0xcf, 0xf8, 0x06, 0xac, 0x8f, - 0x32, 0xf2, 0x03, 0x4a, 0xfc, 0x09, 0xe2, 0x07, 0xd2, 0xbe, 0x23, 0x44, 0x76, 0xc5, 0x11, 0xf1, - 0x16, 0xb1, 0x55, 0xe7, 0xcc, 0xfa, 0xf6, 0x91, 0x40, 0xb8, 0x7b, 0x4a, 0x65, 0x4b, 0xaa, 0x5c, - 0x4b, 0xb7, 0xbc, 0x96, 0xb4, 0x25, 0x96, 0xd3, 0x47, 0x90, 0x21, 0xca, 0x0a, 0xfa, 0xb5, 0x57, - 0xa5, 0xbf, 0x96, 0x6e, 0x79, 0x2d, 0x69, 0x2b, 0xfa, 0x63, 0xd0, 0x14, 0x57, 0xc7, 0xa7, 0x29, - 0x0a, 0x68, 0xbb, 0xde, 0x5d, 0xe9, 0x35, 0x07, 0x9b, 0x36, 0x0e, 0xe8, 0xe0, 0xa1, 0x7d, 0xc2, - 0x23, 0xa7, 0x29, 0x0a, 0xdc, 0xed, 0xaa, 0x85, 0x34, 0xb8, 0xe5, 0x81, 0xb4, 0x80, 0x50, 0xe3, - 0x00, 0xb4, 0xa6, 0xe9, 0x38, 0x83, 0x21, 0xf2, 0x53, 0xc8, 0x26, 0xed, 0x46, 0x77, 0xa5, 0xd7, - 0x70, 0xef, 0xcd, 0x73, 0xf3, 0x0d, 0x75, 0x6e, 0x5a, 0xd4, 0xf2, 0x9a, 0xca, 0x3c, 0x81, 0x6c, - 0x62, 0xf8, 0x60, 0x07, 0x46, 0x11, 0xf9, 0xde, 0x9f, 0xa6, 0x21, 0x64, 0xc8, 0x87, 0x23, 0x86, - 0x32, 0x1f, 0x9d, 0xa5, 0x38, 0x3b, 0x6f, 0x83, 0x6e, 0xad, 0x57, 0x77, 0xdf, 0x99, 0xe7, 0x66, - 0x57, 0x12, 0xbd, 0x14, 0x6a, 0x79, 0xdb, 0x22, 0xf6, 0x85, 0x08, 0x7d, 0xcc, 0x23, 0x8f, 0x45, - 0xc0, 0xf8, 0x0e, 0x98, 0x37, 0x64, 0xc5, 0x98, 0x0e, 0xd1, 0x04, 0xce, 0x30, 0x99, 0x66, 0xed, - 0xa6, 0x90, 0x79, 0x6f, 0x9e, 0x9b, 0x0f, 0x5e, 0x2a, 0xa3, 0x27, 0x58, 0xde, 0xde, 0xa2, 0xd8, - 0x13, 0x2d, 0x7c, 0xb0, 0xfa, 0xe3, 0x6f, 0xe6, 0x92, 0xf5, 0xfb, 0x32, 0xb8, 0x7b, 0x48, 0x12, - 0x8a, 0x12, 0x3a, 0xa5, 0xf2, 0xb6, 0xbb, 0xa0, 0x51, 0x0e, 0x1c, 0x71, 0xdd, 0xf9, 0x71, 0x2e, - 0xb6, 0xe4, 0xe7, 0x05, 0xc2, 0xad, 0xf3, 0xe3, 0x7c, 0xc6, 0x3b, 0xaf, 0x4a, 0x33, 0x3e, 0x02, - 0xab, 0x19, 0x21, 0x4c, 0xcd, 0x03, 0x4b, 0xeb, 0x86, 0x6a, 0x02, 0xcd, 0xfa, 0xf6, 0x13, 0x94, - 0x3d, 0x8d, 0x90, 0x47, 0x08, 0x73, 0x57, 0x39, 0x8d, 0x27, 0xb2, 0x8c, 0x9f, 0x6a, 0x60, 0x2b, - 0x41, 0x67, 0xcc, 0x2f, 0xa7, 0x2c, 0xf5, 0x27, 0x90, 0x4e, 0xc4, 0x9d, 0x6f, 0xb9, 0x5f, 0xcd, - 0x73, 0xf3, 0x2d, 0x59, 0x83, 0x9b, 0x50, 0xd6, 0x3f, 0xb9, 0xf9, 0xc1, 0x18, 0xb3, 0xc9, 0x74, - 0xc8, 0xe5, 0xf4, 0xd9, 0xaf, 0x2d, 0x23, 0x3c, 0xa4, 0xce, 0xf0, 0x9c, 0x21, 0x6a, 0x1f, 0xa1, - 0x33, 0x97, 0x2f, 0x3c, 0x83, 0xd3, 0x7d, 0x59, 0xb2, 0x1d, 0x41, 0x3a, 0x51, 0x65, 0xfa, 0x79, - 0x19, 0xb4, 0xf4, 0xea, 0x19, 0x7d, 0xd0, 0x90, 0x8d, 0x5d, 0xce, 0x44, 0x77, 0x6b, 0x9e, 0x9b, - 0x9b, 0xf2, 0x6f, 0x95, 0x21, 0xcb, 0xab, 0xcb, 0xf5, 0x71, 0x68, 0x40, 0x50, 0x9f, 0x20, 0x18, - 0xa2, 0xcc, 0xef, 0xab, 0xba, 0x3c, 0xb8, 0x6d, 0x4e, 0x1e, 0x09, 0xbc, 0xdb, 0xb9, 0xcc, 0xcd, - 0x35, 0xb9, 0xee, 0xcf, 0x73, 0x73, 0x43, 0x8a, 0x14, 0x64, 0x96, 0xb7, 0x26, 0x97, 0x7d, 0x4d, - 0x62, 0xa0, 0xe6, 0xe3, 0xff, 0x90, 0x18, 0xbc, 0x20, 0x31, 0x28, 0x25, 0x06, 0xaa, 0x1e, 0xbf, - 0xae, 0x80, 0x3b, 0x12, 0x6d, 0x40, 0xb0, 0x4e, 0xf1, 0x38, 0x41, 0xa1, 0x2f, 0x21, 0xaa, 0x65, - 0x3a, 0xba, 0x8e, 0x7c, 0x0b, 0x4f, 0x05, 0x4c, 0x09, 0xee, 0x5d, 0xe4, 0x66, 0xad, 0x9a, 0x02, - 0xd7, 0x28, 0x2c, 0xaf, 0x45, 0x35, 0x2c, 0x1f, 0x32, 0xe5, 0x19, 0xfb, 0x14, 0x15, 0x6d, 0x75, - 0x83, 0x44, 0x79, 0x78, 0xa7, 0x88, 0xb9, 0xed, 0x8a, 0xfe, 0x5a, 0xba, 0xe5, 0xb5, 0x66, 0x1a, - 0xce, 0xf8, 0x16, 0xc8, 0x67, 0x40, 0xe8, 0x8b, 0x21, 0xb6, 0x72, 0xeb, 0x10, 0xbb, 0xaf, 0x86, - 0xd8, 0x9b, 0xda, 0xe3, 0x52, 0xe6, 0x5b, 0xde, 0xba, 0x72, 0xa8, 0x31, 0x16, 0x01, 0xa3, 0x40, - 0x54, 0xcd, 0xaa, 0x1e, 0x96, 0xdb, 0x76, 0x71, 0x7f, 0x9e, 0x9b, 0x3b, 0xd7, 0x55, 0x2a, 0x0e, - 0xcb, 0x7b, 0x5d, 0x39, 0xab, 0xb6, 0xb5, 0x3e, 0x05, 0xf5, 0xe2, 0x81, 0x35, 0xf6, 0x40, 0x23, - 0x99, 0xc6, 0x28, 0xe3, 0x11, 0x71, 0x32, 0xab, 0x5e, 0xe5, 0x30, 0xba, 0xa0, 0x19, 0xa2, 0x84, - 0xc4, 0x38, 0x11, 0xf1, 0x65, 0x11, 0xd7, 0x5d, 0xae, 0xff, 0xfc, 0xb2, 0x53, 0xbb, 0xb8, 0xec, - 0xd4, 0xfe, 0xba, 0xec, 0xd4, 0x9e, 0x5d, 0x75, 0x96, 0x2e, 0xae, 0x3a, 0x4b, 0x7f, 0x5c, 0x75, - 0x96, 0xbe, 0x7e, 0xac, 0x5d, 0xb1, 0x80, 0xd0, 0x98, 0x50, 0xfe, 0xd9, 0xb5, 0x3f, 0x26, 0xce, - 0x6c, 0xe0, 0xc4, 0x24, 0x9c, 0x46, 0x88, 0xca, 0x8f, 0xb0, 0xfd, 0xe2, 0x2b, 0xec, 0xfd, 0x0f, - 0xf7, 0x17, 0x3f, 0x93, 0x86, 0x77, 0xc4, 0x48, 0x79, 0xf8, 0x6f, 0x00, 0x00, 0x00, 0xff, 0xff, - 0x57, 0xd8, 0xa6, 0xc2, 0xb4, 0x09, 0x00, 0x00, + 0x30, 0x09, 0xdb, 0x2b, 0x42, 0x6a, 0xdb, 0x96, 0xc5, 0xb2, 0x8b, 0x62, 0xd9, 0x8f, 0x54, 0x31, + 0x5d, 0x4b, 0x71, 0x6f, 0x69, 0xdc, 0x55, 0xbe, 0xf5, 0xcb, 0x9f, 0x66, 0xcd, 0xbb, 0x5b, 0x78, + 0x4f, 0x84, 0xd3, 0xc0, 0xe0, 0xde, 0x34, 0x19, 0x92, 0x24, 0xd4, 0x84, 0x56, 0x6f, 0x13, 0x7a, + 0x5b, 0x09, 0xdd, 0x97, 0x42, 0x8b, 0x04, 0x52, 0x69, 0xa3, 0x74, 0x2b, 0x29, 0x04, 0x36, 0x62, + 0x78, 0xe6, 0x07, 0x11, 0x09, 0x9e, 0xfa, 0x61, 0x86, 0x47, 0xac, 0xfd, 0xda, 0x2b, 0x6e, 0x69, + 0x21, 0x5f, 0x0a, 0xad, 0xc7, 0xf0, 0xec, 0x90, 0x3b, 0x1f, 0x71, 0x9f, 0xf1, 0x0d, 0x58, 0x1f, + 0x65, 0xe4, 0x07, 0x94, 0xf8, 0x13, 0xc4, 0x0f, 0xa4, 0x7d, 0x47, 0x88, 0xec, 0x88, 0x23, 0xe2, + 0x2d, 0x62, 0xab, 0xce, 0x99, 0xf5, 0xed, 0x23, 0x81, 0x70, 0x77, 0x95, 0xca, 0xa6, 0x54, 0xb9, + 0x96, 0x6e, 0x79, 0x2d, 0x69, 0x4b, 0x2c, 0xa7, 0x8f, 0x20, 0x43, 0x94, 0x15, 0xf4, 0x6b, 0xaf, + 0x4a, 0x7f, 0x2d, 0xdd, 0xf2, 0x5a, 0xd2, 0x56, 0xf4, 0xc7, 0xa0, 0x29, 0xae, 0x8e, 0x4f, 0x53, + 0x14, 0xd0, 0x76, 0xbd, 0xbb, 0xd2, 0x6b, 0x0e, 0xee, 0xd9, 0x38, 0xa0, 0x83, 0x7d, 0xfb, 0x84, + 0x47, 0x4e, 0x53, 0x14, 0xb8, 0x5b, 0x55, 0x0b, 0x69, 0x70, 0xcb, 0x03, 0x69, 0x01, 0xa1, 0xc6, + 0x01, 0x68, 0x4d, 0xd3, 0x71, 0x06, 0x43, 0xe4, 0xa7, 0x90, 0x4d, 0xda, 0x8d, 0xee, 0x4a, 0xaf, + 0xe1, 0xde, 0x9f, 0xe7, 0xe6, 0x1b, 0xea, 0xdc, 0xb4, 0xa8, 0xe5, 0x35, 0x95, 0x79, 0x02, 0xd9, + 0xc4, 0xf0, 0xc1, 0x36, 0x8c, 0x22, 0xf2, 0xbd, 0x3f, 0x4d, 0x43, 0xc8, 0x90, 0x0f, 0x47, 0x0c, + 0x65, 0x3e, 0x3a, 0x4b, 0x71, 0x76, 0xde, 0x06, 0xdd, 0x5a, 0xaf, 0xee, 0xbe, 0x33, 0xcf, 0xcd, + 0xae, 0x24, 0x7a, 0x29, 0xd4, 0xf2, 0xb6, 0x44, 0xec, 0x0b, 0x11, 0xfa, 0x98, 0x47, 0x1e, 0x8b, + 0x80, 0xf1, 0x1d, 0x30, 0x6f, 0xc8, 0x8a, 0x31, 0x1d, 0xa2, 0x09, 0x9c, 0x61, 0x32, 0xcd, 0xda, + 0x4d, 0x21, 0xf3, 0xde, 0x3c, 0x37, 0x1f, 0xbe, 0x54, 0x46, 0x4f, 0xb0, 0xbc, 0xdd, 0x45, 0xb1, + 0x27, 0x5a, 0xf8, 0x60, 0xf5, 0xc7, 0xdf, 0xcc, 0x25, 0xeb, 0xf7, 0x65, 0x70, 0xf7, 0x90, 0x24, + 0x14, 0x25, 0x74, 0x4a, 0xe5, 0x6d, 0x77, 0x41, 0xa3, 0x1c, 0x38, 0xe2, 0xba, 0xf3, 0xe3, 0x5c, + 0x6c, 0xc9, 0xcf, 0x0b, 0x84, 0x5b, 0xe7, 0xc7, 0xf9, 0x8c, 0x77, 0x5e, 0x95, 0x66, 0x7c, 0x04, + 0x56, 0x33, 0x42, 0x98, 0x9a, 0x07, 0x96, 0xd6, 0x0d, 0xd5, 0x04, 0x9a, 0xf5, 0xed, 0x27, 0x28, + 0x7b, 0x1a, 0x21, 0x8f, 0x10, 0xe6, 0xae, 0x72, 0x1a, 0x4f, 0x64, 0x19, 0x3f, 0xd5, 0xc0, 0x66, + 0x82, 0xce, 0x98, 0x5f, 0x4e, 0x59, 0xea, 0x4f, 0x20, 0x9d, 0x88, 0x3b, 0xdf, 0x72, 0xbf, 0x9a, + 0xe7, 0xe6, 0x5b, 0xb2, 0x06, 0x37, 0xa1, 0xac, 0x7f, 0x72, 0xf3, 0x83, 0x31, 0x66, 0x93, 0xe9, + 0x90, 0xcb, 0xe9, 0xb3, 0x5f, 0x5b, 0x46, 0x78, 0x48, 0x9d, 0xe1, 0x39, 0x43, 0xd4, 0x3e, 0x42, + 0x67, 0x2e, 0x5f, 0x78, 0x06, 0xa7, 0xfb, 0xb2, 0x64, 0x3b, 0x82, 0x74, 0xa2, 0xca, 0xf4, 0xf3, + 0x32, 0x68, 0xe9, 0xd5, 0x33, 0xfa, 0xa0, 0x21, 0x1b, 0xbb, 0x9c, 0x89, 0xee, 0xe6, 0x3c, 0x37, + 0xef, 0xc9, 0xbf, 0x55, 0x86, 0x2c, 0xaf, 0x2e, 0xd7, 0xc7, 0xa1, 0x01, 0x41, 0x7d, 0x82, 0x60, + 0x88, 0x32, 0xbf, 0xaf, 0xea, 0xf2, 0xf0, 0xb6, 0x39, 0x79, 0x24, 0xf0, 0x6e, 0xe7, 0x32, 0x37, + 0xd7, 0xe4, 0xba, 0x3f, 0xcf, 0xcd, 0x0d, 0x29, 0x52, 0x90, 0x59, 0xde, 0x9a, 0x5c, 0xf6, 0x35, + 0x89, 0x81, 0x9a, 0x8f, 0xff, 0x43, 0x62, 0xf0, 0x82, 0xc4, 0xa0, 0x94, 0x18, 0xa8, 0x7a, 0xfc, + 0xba, 0x02, 0xee, 0x48, 0xb4, 0x01, 0xc1, 0x3a, 0xc5, 0xe3, 0x04, 0x85, 0xbe, 0x84, 0xa8, 0x96, + 0xe9, 0xe8, 0x3a, 0xf2, 0x2d, 0x3c, 0x15, 0x30, 0x25, 0xb8, 0x7b, 0x91, 0x9b, 0xb5, 0x6a, 0x0a, + 0x5c, 0xa3, 0xb0, 0xbc, 0x16, 0xd5, 0xb0, 0x7c, 0xc8, 0x94, 0x67, 0xec, 0x53, 0x54, 0xb4, 0xd5, + 0x0d, 0x12, 0xe5, 0xe1, 0x9d, 0x22, 0xe6, 0xb6, 0x2b, 0xfa, 0x6b, 0xe9, 0x96, 0xd7, 0x9a, 0x69, + 0x38, 0xe3, 0x5b, 0x20, 0x9f, 0x01, 0xa1, 0x2f, 0x86, 0xd8, 0xca, 0xad, 0x43, 0xec, 0x81, 0x1a, + 0x62, 0x6f, 0x6a, 0x8f, 0x4b, 0x99, 0x6f, 0x79, 0xeb, 0xca, 0xa1, 0xc6, 0x58, 0x04, 0x8c, 0x02, + 0x51, 0x35, 0xab, 0x7a, 0x58, 0x6e, 0xdb, 0xc5, 0x83, 0x79, 0x6e, 0x6e, 0x5f, 0x57, 0xa9, 0x38, + 0x2c, 0xef, 0x75, 0xe5, 0xac, 0xda, 0xd6, 0xfa, 0x14, 0xd4, 0x8b, 0x07, 0xd6, 0xd8, 0x05, 0x8d, + 0x64, 0x1a, 0xa3, 0x8c, 0x47, 0xc4, 0xc9, 0xac, 0x7a, 0x95, 0xc3, 0xe8, 0x82, 0x66, 0x88, 0x12, + 0x12, 0xe3, 0x44, 0xc4, 0x97, 0x45, 0x5c, 0x77, 0xb9, 0xfe, 0xf3, 0xcb, 0x4e, 0xed, 0xe2, 0xb2, + 0x53, 0xfb, 0xeb, 0xb2, 0x53, 0x7b, 0x76, 0xd5, 0x59, 0xba, 0xb8, 0xea, 0x2c, 0xfd, 0x71, 0xd5, + 0x59, 0xfa, 0xfa, 0xb1, 0x76, 0xc5, 0x02, 0x42, 0x63, 0x42, 0xf9, 0x67, 0xd7, 0xde, 0x98, 0x38, + 0xb3, 0x7d, 0x27, 0x26, 0xe1, 0x34, 0x42, 0x54, 0x7e, 0x84, 0xed, 0x15, 0x5f, 0x61, 0xef, 0x7f, + 0xb8, 0xb7, 0xf8, 0x99, 0x34, 0xbc, 0x23, 0x46, 0xca, 0xfe, 0xbf, 0x01, 0x00, 0x00, 0xff, 0xff, + 0xc4, 0x2b, 0x98, 0x08, 0xb4, 0x09, 0x00, 0x00, } func (m *ClientState) Marshal() (dAtA []byte, err error) { diff --git a/modules/light-clients/07-tendermint/types/tendermint_test.go b/modules/light-clients/07-tendermint/types/tendermint_test.go index ffb011b4b23..2cb3647ef6c 100644 --- a/modules/light-clients/07-tendermint/types/tendermint_test.go +++ b/modules/light-clients/07-tendermint/types/tendermint_test.go @@ -11,11 +11,11 @@ import ( "github.com/cosmos/cosmos-sdk/codec" sdk "github.com/cosmos/cosmos-sdk/types" - clienttypes "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" - ibctmtypes "github.com/cosmos/ibc-go/v2/modules/light-clients/07-tendermint/types" - ibctesting "github.com/cosmos/ibc-go/v2/testing" - ibctestingmock "github.com/cosmos/ibc-go/v2/testing/mock" - "github.com/cosmos/ibc-go/v2/testing/simapp" + clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" + ibctmtypes "github.com/cosmos/ibc-go/v3/modules/light-clients/07-tendermint/types" + ibctesting "github.com/cosmos/ibc-go/v3/testing" + ibctestingmock "github.com/cosmos/ibc-go/v3/testing/mock" + "github.com/cosmos/ibc-go/v3/testing/simapp" ) const ( diff --git a/modules/light-clients/07-tendermint/types/update.go b/modules/light-clients/07-tendermint/types/update.go index 4879809f907..1d2b094e57b 100644 --- a/modules/light-clients/07-tendermint/types/update.go +++ b/modules/light-clients/07-tendermint/types/update.go @@ -11,9 +11,9 @@ import ( "github.com/cosmos/cosmos-sdk/codec" sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" - clienttypes "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" - commitmenttypes "github.com/cosmos/ibc-go/v2/modules/core/23-commitment/types" - "github.com/cosmos/ibc-go/v2/modules/core/exported" + clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" + commitmenttypes "github.com/cosmos/ibc-go/v3/modules/core/23-commitment/types" + "github.com/cosmos/ibc-go/v3/modules/core/exported" ) // CheckHeaderAndUpdateState checks if the provided header is valid, and if valid it will: diff --git a/modules/light-clients/07-tendermint/types/update_test.go b/modules/light-clients/07-tendermint/types/update_test.go index 2893fe95384..77c993dff72 100644 --- a/modules/light-clients/07-tendermint/types/update_test.go +++ b/modules/light-clients/07-tendermint/types/update_test.go @@ -6,12 +6,12 @@ import ( tmtypes "github.com/tendermint/tendermint/types" - clienttypes "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" - commitmenttypes "github.com/cosmos/ibc-go/v2/modules/core/23-commitment/types" - "github.com/cosmos/ibc-go/v2/modules/core/exported" - types "github.com/cosmos/ibc-go/v2/modules/light-clients/07-tendermint/types" - ibctesting "github.com/cosmos/ibc-go/v2/testing" - ibctestingmock "github.com/cosmos/ibc-go/v2/testing/mock" + clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" + commitmenttypes "github.com/cosmos/ibc-go/v3/modules/core/23-commitment/types" + "github.com/cosmos/ibc-go/v3/modules/core/exported" + types "github.com/cosmos/ibc-go/v3/modules/light-clients/07-tendermint/types" + ibctesting "github.com/cosmos/ibc-go/v3/testing" + ibctestingmock "github.com/cosmos/ibc-go/v3/testing/mock" ) func (suite *TendermintTestSuite) TestCheckHeaderAndUpdateState() { diff --git a/modules/light-clients/07-tendermint/types/upgrade.go b/modules/light-clients/07-tendermint/types/upgrade.go index 73cc1360538..49f84f97034 100644 --- a/modules/light-clients/07-tendermint/types/upgrade.go +++ b/modules/light-clients/07-tendermint/types/upgrade.go @@ -7,9 +7,9 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" upgradetypes "github.com/cosmos/cosmos-sdk/x/upgrade/types" - clienttypes "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" - commitmenttypes "github.com/cosmos/ibc-go/v2/modules/core/23-commitment/types" - "github.com/cosmos/ibc-go/v2/modules/core/exported" + clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" + commitmenttypes "github.com/cosmos/ibc-go/v3/modules/core/23-commitment/types" + "github.com/cosmos/ibc-go/v3/modules/core/exported" ) // VerifyUpgradeAndUpdateState checks if the upgraded client has been committed by the current client diff --git a/modules/light-clients/07-tendermint/types/upgrade_test.go b/modules/light-clients/07-tendermint/types/upgrade_test.go index 9a89e8fafaf..175ce7fc358 100644 --- a/modules/light-clients/07-tendermint/types/upgrade_test.go +++ b/modules/light-clients/07-tendermint/types/upgrade_test.go @@ -3,11 +3,11 @@ package types_test import ( upgradetypes "github.com/cosmos/cosmos-sdk/x/upgrade/types" - clienttypes "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" - commitmenttypes "github.com/cosmos/ibc-go/v2/modules/core/23-commitment/types" - "github.com/cosmos/ibc-go/v2/modules/core/exported" - "github.com/cosmos/ibc-go/v2/modules/light-clients/07-tendermint/types" - ibctesting "github.com/cosmos/ibc-go/v2/testing" + clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" + commitmenttypes "github.com/cosmos/ibc-go/v3/modules/core/23-commitment/types" + "github.com/cosmos/ibc-go/v3/modules/core/exported" + "github.com/cosmos/ibc-go/v3/modules/light-clients/07-tendermint/types" + ibctesting "github.com/cosmos/ibc-go/v3/testing" ) var ( diff --git a/modules/light-clients/09-localhost/module.go b/modules/light-clients/09-localhost/module.go index 8bce94927f0..e8d9eff55cf 100644 --- a/modules/light-clients/09-localhost/module.go +++ b/modules/light-clients/09-localhost/module.go @@ -1,7 +1,7 @@ package localhost import ( - "github.com/cosmos/ibc-go/v2/modules/light-clients/09-localhost/types" + "github.com/cosmos/ibc-go/v3/modules/light-clients/09-localhost/types" ) // Name returns the IBC client name diff --git a/modules/light-clients/09-localhost/types/client_state.go b/modules/light-clients/09-localhost/types/client_state.go index 499f5f9389c..ab0f7207fdf 100644 --- a/modules/light-clients/09-localhost/types/client_state.go +++ b/modules/light-clients/09-localhost/types/client_state.go @@ -11,11 +11,11 @@ import ( "github.com/cosmos/cosmos-sdk/codec" sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" - clienttypes "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" - connectiontypes "github.com/cosmos/ibc-go/v2/modules/core/03-connection/types" - channeltypes "github.com/cosmos/ibc-go/v2/modules/core/04-channel/types" - host "github.com/cosmos/ibc-go/v2/modules/core/24-host" - "github.com/cosmos/ibc-go/v2/modules/core/exported" + clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" + connectiontypes "github.com/cosmos/ibc-go/v3/modules/core/03-connection/types" + channeltypes "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types" + host "github.com/cosmos/ibc-go/v3/modules/core/24-host" + "github.com/cosmos/ibc-go/v3/modules/core/exported" ) var _ exported.ClientState = (*ClientState)(nil) diff --git a/modules/light-clients/09-localhost/types/client_state_test.go b/modules/light-clients/09-localhost/types/client_state_test.go index 0cb1b46e340..dc4eb393e56 100644 --- a/modules/light-clients/09-localhost/types/client_state_test.go +++ b/modules/light-clients/09-localhost/types/client_state_test.go @@ -2,14 +2,14 @@ package types_test import ( sdk "github.com/cosmos/cosmos-sdk/types" - clienttypes "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" - connectiontypes "github.com/cosmos/ibc-go/v2/modules/core/03-connection/types" - channeltypes "github.com/cosmos/ibc-go/v2/modules/core/04-channel/types" - commitmenttypes "github.com/cosmos/ibc-go/v2/modules/core/23-commitment/types" - host "github.com/cosmos/ibc-go/v2/modules/core/24-host" - "github.com/cosmos/ibc-go/v2/modules/core/exported" - ibctmtypes "github.com/cosmos/ibc-go/v2/modules/light-clients/07-tendermint/types" - "github.com/cosmos/ibc-go/v2/modules/light-clients/09-localhost/types" + clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" + connectiontypes "github.com/cosmos/ibc-go/v3/modules/core/03-connection/types" + channeltypes "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types" + commitmenttypes "github.com/cosmos/ibc-go/v3/modules/core/23-commitment/types" + host "github.com/cosmos/ibc-go/v3/modules/core/24-host" + "github.com/cosmos/ibc-go/v3/modules/core/exported" + ibctmtypes "github.com/cosmos/ibc-go/v3/modules/light-clients/07-tendermint/types" + "github.com/cosmos/ibc-go/v3/modules/light-clients/09-localhost/types" ) const ( diff --git a/modules/light-clients/09-localhost/types/codec.go b/modules/light-clients/09-localhost/types/codec.go index 5291369b28d..691c51ed7b9 100644 --- a/modules/light-clients/09-localhost/types/codec.go +++ b/modules/light-clients/09-localhost/types/codec.go @@ -2,7 +2,7 @@ package types import ( codectypes "github.com/cosmos/cosmos-sdk/codec/types" - "github.com/cosmos/ibc-go/v2/modules/core/exported" + "github.com/cosmos/ibc-go/v3/modules/core/exported" ) // RegisterInterfaces register the ibc interfaces submodule implementations to protobuf diff --git a/modules/light-clients/09-localhost/types/localhost.pb.go b/modules/light-clients/09-localhost/types/localhost.pb.go index f375074abb2..60fecb51822 100644 --- a/modules/light-clients/09-localhost/types/localhost.pb.go +++ b/modules/light-clients/09-localhost/types/localhost.pb.go @@ -5,7 +5,7 @@ package types import ( fmt "fmt" - types "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" + types "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" _ "github.com/gogo/protobuf/gogoproto" proto "github.com/gogo/protobuf/proto" io "io" @@ -91,9 +91,9 @@ var fileDescriptor_acd9f5b22d41bf6d = []byte{ 0x47, 0x72, 0x8c, 0x17, 0x1e, 0xc9, 0x31, 0x3e, 0x78, 0x24, 0xc7, 0x38, 0xe1, 0xb1, 0x1c, 0xc3, 0x85, 0xc7, 0x72, 0x0c, 0x37, 0x1e, 0xcb, 0x31, 0x44, 0xb9, 0xa4, 0x67, 0x96, 0x64, 0x94, 0x26, 0xe9, 0x25, 0xe7, 0xe7, 0xea, 0x27, 0xe7, 0x17, 0xe7, 0xe6, 0x17, 0xeb, 0x67, 0x26, 0x25, 0xeb, - 0xa6, 0xe7, 0xeb, 0x97, 0x19, 0xe9, 0xe7, 0xe6, 0xa7, 0x94, 0xe6, 0xa4, 0x16, 0x43, 0x42, 0x4f, + 0xa6, 0xe7, 0xeb, 0x97, 0x19, 0xeb, 0xe7, 0xe6, 0xa7, 0x94, 0xe6, 0xa4, 0x16, 0x43, 0x42, 0x4f, 0x17, 0x16, 0x7c, 0x06, 0x96, 0xba, 0x88, 0x10, 0x2c, 0xa9, 0x2c, 0x48, 0x2d, 0x4e, 0x62, 0x03, - 0xfb, 0xd2, 0x18, 0x10, 0x00, 0x00, 0xff, 0xff, 0x20, 0xa6, 0x5b, 0x3b, 0x6c, 0x01, 0x00, 0x00, + 0xfb, 0xd2, 0x18, 0x10, 0x00, 0x00, 0xff, 0xff, 0xd1, 0xbf, 0x6a, 0xbf, 0x6c, 0x01, 0x00, 0x00, } func (m *ClientState) Marshal() (dAtA []byte, err error) { diff --git a/modules/light-clients/09-localhost/types/localhost_test.go b/modules/light-clients/09-localhost/types/localhost_test.go index e0da290bd80..4e88b4f4f7f 100644 --- a/modules/light-clients/09-localhost/types/localhost_test.go +++ b/modules/light-clients/09-localhost/types/localhost_test.go @@ -8,9 +8,9 @@ import ( "github.com/cosmos/cosmos-sdk/codec" sdk "github.com/cosmos/cosmos-sdk/types" - clienttypes "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" - "github.com/cosmos/ibc-go/v2/modules/core/exported" - "github.com/cosmos/ibc-go/v2/testing/simapp" + clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" + "github.com/cosmos/ibc-go/v3/modules/core/exported" + "github.com/cosmos/ibc-go/v3/testing/simapp" ) const ( diff --git a/proto/ibc/applications/interchain_accounts/controller/v1/controller.proto b/proto/ibc/applications/interchain_accounts/controller/v1/controller.proto index 4689b72124e..c43039ebb03 100644 --- a/proto/ibc/applications/interchain_accounts/controller/v1/controller.proto +++ b/proto/ibc/applications/interchain_accounts/controller/v1/controller.proto @@ -2,7 +2,7 @@ syntax = "proto3"; package ibc.applications.interchain_accounts.controller.v1; -option go_package = "github.com/cosmos/ibc-go/v2/modules/apps/27-interchain-accounts/controller/types"; +option go_package = "github.com/cosmos/ibc-go/v3/modules/apps/27-interchain-accounts/controller/types"; import "google/protobuf/any.proto"; import "gogoproto/gogo.proto"; diff --git a/proto/ibc/applications/interchain_accounts/controller/v1/query.proto b/proto/ibc/applications/interchain_accounts/controller/v1/query.proto index d6e25f8a252..63ceb8465da 100644 --- a/proto/ibc/applications/interchain_accounts/controller/v1/query.proto +++ b/proto/ibc/applications/interchain_accounts/controller/v1/query.proto @@ -2,7 +2,7 @@ syntax = "proto3"; package ibc.applications.interchain_accounts.controller.v1; -option go_package = "github.com/cosmos/ibc-go/v2/modules/apps/27-interchain-accounts/controller/types"; +option go_package = "github.com/cosmos/ibc-go/v3/modules/apps/27-interchain-accounts/controller/types"; import "gogoproto/gogo.proto"; import "ibc/applications/interchain_accounts/controller/v1/controller.proto"; @@ -24,4 +24,3 @@ message QueryParamsResponse { // params defines the parameters of the module. Params params = 1; } - diff --git a/proto/ibc/applications/interchain_accounts/host/v1/host.proto b/proto/ibc/applications/interchain_accounts/host/v1/host.proto index 5798c2f95c9..e3d6776ff79 100644 --- a/proto/ibc/applications/interchain_accounts/host/v1/host.proto +++ b/proto/ibc/applications/interchain_accounts/host/v1/host.proto @@ -2,7 +2,7 @@ syntax = "proto3"; package ibc.applications.interchain_accounts.host.v1; -option go_package = "github.com/cosmos/ibc-go/v2/modules/apps/27-interchain-accounts/host/types"; +option go_package = "github.com/cosmos/ibc-go/v3/modules/apps/27-interchain-accounts/host/types"; import "google/protobuf/any.proto"; import "gogoproto/gogo.proto"; diff --git a/proto/ibc/applications/interchain_accounts/host/v1/query.proto b/proto/ibc/applications/interchain_accounts/host/v1/query.proto index 4802b724af9..3ec2ae8caef 100644 --- a/proto/ibc/applications/interchain_accounts/host/v1/query.proto +++ b/proto/ibc/applications/interchain_accounts/host/v1/query.proto @@ -2,7 +2,7 @@ syntax = "proto3"; package ibc.applications.interchain_accounts.host.v1; -option go_package = "github.com/cosmos/ibc-go/v2/modules/apps/27-interchain-accounts/host/types"; +option go_package = "github.com/cosmos/ibc-go/v3/modules/apps/27-interchain-accounts/host/types"; import "google/api/annotations.proto"; import "gogoproto/gogo.proto"; @@ -24,4 +24,3 @@ message QueryParamsResponse { // params defines the parameters of the module. Params params = 1; } - diff --git a/proto/ibc/applications/interchain_accounts/v1/account.proto b/proto/ibc/applications/interchain_accounts/v1/account.proto index b7af89b502b..75d2fbd89ed 100644 --- a/proto/ibc/applications/interchain_accounts/v1/account.proto +++ b/proto/ibc/applications/interchain_accounts/v1/account.proto @@ -2,7 +2,7 @@ syntax = "proto3"; package ibc.applications.interchain_accounts.v1; -option go_package = "github.com/cosmos/ibc-go/v2/modules/apps/27-interchain-accounts/types"; +option go_package = "github.com/cosmos/ibc-go/v3/modules/apps/27-interchain-accounts/types"; import "cosmos_proto/cosmos.proto"; import "gogoproto/gogo.proto"; diff --git a/proto/ibc/applications/interchain_accounts/v1/genesis.proto b/proto/ibc/applications/interchain_accounts/v1/genesis.proto index 670d05de534..7fa49cbe2a3 100644 --- a/proto/ibc/applications/interchain_accounts/v1/genesis.proto +++ b/proto/ibc/applications/interchain_accounts/v1/genesis.proto @@ -2,7 +2,7 @@ syntax = "proto3"; package ibc.applications.interchain_accounts.v1; -option go_package = "github.com/cosmos/ibc-go/v2/modules/apps/27-interchain-accounts/types"; +option go_package = "github.com/cosmos/ibc-go/v3/modules/apps/27-interchain-accounts/types"; import "gogoproto/gogo.proto"; import "ibc/applications/interchain_accounts/controller/v1/controller.proto"; diff --git a/proto/ibc/applications/interchain_accounts/v1/types.proto b/proto/ibc/applications/interchain_accounts/v1/types.proto index c6d9d0a3e96..51ff4279aeb 100644 --- a/proto/ibc/applications/interchain_accounts/v1/types.proto +++ b/proto/ibc/applications/interchain_accounts/v1/types.proto @@ -2,7 +2,7 @@ syntax = "proto3"; package ibc.applications.interchain_accounts.v1; -option go_package = "github.com/cosmos/ibc-go/v2/modules/apps/27-interchain-accounts/types"; +option go_package = "github.com/cosmos/ibc-go/v3/modules/apps/27-interchain-accounts/types"; import "google/protobuf/any.proto"; import "gogoproto/gogo.proto"; diff --git a/proto/ibc/applications/transfer/v1/genesis.proto b/proto/ibc/applications/transfer/v1/genesis.proto index 73d9fdddf95..0b5c0e0d122 100644 --- a/proto/ibc/applications/transfer/v1/genesis.proto +++ b/proto/ibc/applications/transfer/v1/genesis.proto @@ -2,7 +2,7 @@ syntax = "proto3"; package ibc.applications.transfer.v1; -option go_package = "github.com/cosmos/ibc-go/v2/modules/apps/transfer/types"; +option go_package = "github.com/cosmos/ibc-go/v3/modules/apps/transfer/types"; import "ibc/applications/transfer/v1/transfer.proto"; import "gogoproto/gogo.proto"; diff --git a/proto/ibc/applications/transfer/v1/query.proto b/proto/ibc/applications/transfer/v1/query.proto index f2faa87b837..12876608db8 100644 --- a/proto/ibc/applications/transfer/v1/query.proto +++ b/proto/ibc/applications/transfer/v1/query.proto @@ -7,7 +7,7 @@ import "cosmos/base/query/v1beta1/pagination.proto"; import "ibc/applications/transfer/v1/transfer.proto"; import "google/api/annotations.proto"; -option go_package = "github.com/cosmos/ibc-go/v2/modules/apps/transfer/types"; +option go_package = "github.com/cosmos/ibc-go/v3/modules/apps/transfer/types"; // Query provides defines the gRPC querier service. service Query { diff --git a/proto/ibc/applications/transfer/v1/transfer.proto b/proto/ibc/applications/transfer/v1/transfer.proto index 10ce92f90d4..7a99485c589 100644 --- a/proto/ibc/applications/transfer/v1/transfer.proto +++ b/proto/ibc/applications/transfer/v1/transfer.proto @@ -2,7 +2,7 @@ syntax = "proto3"; package ibc.applications.transfer.v1; -option go_package = "github.com/cosmos/ibc-go/v2/modules/apps/transfer/types"; +option go_package = "github.com/cosmos/ibc-go/v3/modules/apps/transfer/types"; import "gogoproto/gogo.proto"; diff --git a/proto/ibc/applications/transfer/v1/tx.proto b/proto/ibc/applications/transfer/v1/tx.proto index dfc480d07a4..b8b4e1e75bc 100644 --- a/proto/ibc/applications/transfer/v1/tx.proto +++ b/proto/ibc/applications/transfer/v1/tx.proto @@ -2,7 +2,7 @@ syntax = "proto3"; package ibc.applications.transfer.v1; -option go_package = "github.com/cosmos/ibc-go/v2/modules/apps/transfer/types"; +option go_package = "github.com/cosmos/ibc-go/v3/modules/apps/transfer/types"; import "gogoproto/gogo.proto"; import "cosmos/base/v1beta1/coin.proto"; diff --git a/proto/ibc/applications/transfer/v2/packet.proto b/proto/ibc/applications/transfer/v2/packet.proto index 593392a9005..850320df340 100644 --- a/proto/ibc/applications/transfer/v2/packet.proto +++ b/proto/ibc/applications/transfer/v2/packet.proto @@ -2,7 +2,7 @@ syntax = "proto3"; package ibc.applications.transfer.v2; -option go_package = "github.com/cosmos/ibc-go/v2/modules/apps/transfer/types"; +option go_package = "github.com/cosmos/ibc-go/v3/modules/apps/transfer/types"; // FungibleTokenPacketData defines a struct for the packet payload // See FungibleTokenPacketData spec: diff --git a/proto/ibc/core/channel/v1/channel.proto b/proto/ibc/core/channel/v1/channel.proto index c7f42dbf99a..68c6ec17b19 100644 --- a/proto/ibc/core/channel/v1/channel.proto +++ b/proto/ibc/core/channel/v1/channel.proto @@ -2,7 +2,7 @@ syntax = "proto3"; package ibc.core.channel.v1; -option go_package = "github.com/cosmos/ibc-go/v2/modules/core/04-channel/types"; +option go_package = "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types"; import "gogoproto/gogo.proto"; import "ibc/core/client/v1/client.proto"; diff --git a/proto/ibc/core/channel/v1/genesis.proto b/proto/ibc/core/channel/v1/genesis.proto index 38b57ed6c34..d95c891b6c8 100644 --- a/proto/ibc/core/channel/v1/genesis.proto +++ b/proto/ibc/core/channel/v1/genesis.proto @@ -2,7 +2,7 @@ syntax = "proto3"; package ibc.core.channel.v1; -option go_package = "github.com/cosmos/ibc-go/v2/modules/core/04-channel/types"; +option go_package = "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types"; import "gogoproto/gogo.proto"; import "ibc/core/channel/v1/channel.proto"; diff --git a/proto/ibc/core/channel/v1/query.proto b/proto/ibc/core/channel/v1/query.proto index 212cb645a95..ceb13d00091 100644 --- a/proto/ibc/core/channel/v1/query.proto +++ b/proto/ibc/core/channel/v1/query.proto @@ -2,7 +2,7 @@ syntax = "proto3"; package ibc.core.channel.v1; -option go_package = "github.com/cosmos/ibc-go/v2/modules/core/04-channel/types"; +option go_package = "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types"; import "ibc/core/client/v1/client.proto"; import "cosmos/base/query/v1beta1/pagination.proto"; diff --git a/proto/ibc/core/channel/v1/tx.proto b/proto/ibc/core/channel/v1/tx.proto index dab45080ff3..c9322c1def7 100644 --- a/proto/ibc/core/channel/v1/tx.proto +++ b/proto/ibc/core/channel/v1/tx.proto @@ -2,7 +2,7 @@ syntax = "proto3"; package ibc.core.channel.v1; -option go_package = "github.com/cosmos/ibc-go/v2/modules/core/04-channel/types"; +option go_package = "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types"; import "gogoproto/gogo.proto"; import "ibc/core/client/v1/client.proto"; diff --git a/proto/ibc/core/client/v1/client.proto b/proto/ibc/core/client/v1/client.proto index 07337702017..91ad0c97e72 100644 --- a/proto/ibc/core/client/v1/client.proto +++ b/proto/ibc/core/client/v1/client.proto @@ -2,7 +2,7 @@ syntax = "proto3"; package ibc.core.client.v1; -option go_package = "github.com/cosmos/ibc-go/v2/modules/core/02-client/types"; +option go_package = "github.com/cosmos/ibc-go/v3/modules/core/02-client/types"; import "gogoproto/gogo.proto"; import "google/protobuf/any.proto"; diff --git a/proto/ibc/core/client/v1/genesis.proto b/proto/ibc/core/client/v1/genesis.proto index 6668f2cad6e..0ca29d224b0 100644 --- a/proto/ibc/core/client/v1/genesis.proto +++ b/proto/ibc/core/client/v1/genesis.proto @@ -2,7 +2,7 @@ syntax = "proto3"; package ibc.core.client.v1; -option go_package = "github.com/cosmos/ibc-go/v2/modules/core/02-client/types"; +option go_package = "github.com/cosmos/ibc-go/v3/modules/core/02-client/types"; import "ibc/core/client/v1/client.proto"; import "gogoproto/gogo.proto"; diff --git a/proto/ibc/core/client/v1/query.proto b/proto/ibc/core/client/v1/query.proto index b6f8eb47445..91a906fe54b 100644 --- a/proto/ibc/core/client/v1/query.proto +++ b/proto/ibc/core/client/v1/query.proto @@ -2,7 +2,7 @@ syntax = "proto3"; package ibc.core.client.v1; -option go_package = "github.com/cosmos/ibc-go/v2/modules/core/02-client/types"; +option go_package = "github.com/cosmos/ibc-go/v3/modules/core/02-client/types"; import "cosmos/base/query/v1beta1/pagination.proto"; import "ibc/core/client/v1/client.proto"; diff --git a/proto/ibc/core/client/v1/tx.proto b/proto/ibc/core/client/v1/tx.proto index 82df96dec09..06dbfbd0dfe 100644 --- a/proto/ibc/core/client/v1/tx.proto +++ b/proto/ibc/core/client/v1/tx.proto @@ -2,7 +2,7 @@ syntax = "proto3"; package ibc.core.client.v1; -option go_package = "github.com/cosmos/ibc-go/v2/modules/core/02-client/types"; +option go_package = "github.com/cosmos/ibc-go/v3/modules/core/02-client/types"; import "gogoproto/gogo.proto"; import "google/protobuf/any.proto"; diff --git a/proto/ibc/core/commitment/v1/commitment.proto b/proto/ibc/core/commitment/v1/commitment.proto index 4a39b8305ba..b0afed2273b 100644 --- a/proto/ibc/core/commitment/v1/commitment.proto +++ b/proto/ibc/core/commitment/v1/commitment.proto @@ -2,7 +2,7 @@ syntax = "proto3"; package ibc.core.commitment.v1; -option go_package = "github.com/cosmos/ibc-go/v2/modules/core/23-commitment/types"; +option go_package = "github.com/cosmos/ibc-go/v3/modules/core/23-commitment/types"; import "gogoproto/gogo.proto"; import "proofs.proto"; diff --git a/proto/ibc/core/connection/v1/connection.proto b/proto/ibc/core/connection/v1/connection.proto index 74c39e26e3c..7fd2a6909ad 100644 --- a/proto/ibc/core/connection/v1/connection.proto +++ b/proto/ibc/core/connection/v1/connection.proto @@ -2,7 +2,7 @@ syntax = "proto3"; package ibc.core.connection.v1; -option go_package = "github.com/cosmos/ibc-go/v2/modules/core/03-connection/types"; +option go_package = "github.com/cosmos/ibc-go/v3/modules/core/03-connection/types"; import "gogoproto/gogo.proto"; import "ibc/core/commitment/v1/commitment.proto"; diff --git a/proto/ibc/core/connection/v1/genesis.proto b/proto/ibc/core/connection/v1/genesis.proto index ec5be64285e..1a53422c94a 100644 --- a/proto/ibc/core/connection/v1/genesis.proto +++ b/proto/ibc/core/connection/v1/genesis.proto @@ -2,7 +2,7 @@ syntax = "proto3"; package ibc.core.connection.v1; -option go_package = "github.com/cosmos/ibc-go/v2/modules/core/03-connection/types"; +option go_package = "github.com/cosmos/ibc-go/v3/modules/core/03-connection/types"; import "gogoproto/gogo.proto"; import "ibc/core/connection/v1/connection.proto"; diff --git a/proto/ibc/core/connection/v1/query.proto b/proto/ibc/core/connection/v1/query.proto index d668c3d28da..f28578f5fc5 100644 --- a/proto/ibc/core/connection/v1/query.proto +++ b/proto/ibc/core/connection/v1/query.proto @@ -2,7 +2,7 @@ syntax = "proto3"; package ibc.core.connection.v1; -option go_package = "github.com/cosmos/ibc-go/v2/modules/core/03-connection/types"; +option go_package = "github.com/cosmos/ibc-go/v3/modules/core/03-connection/types"; import "gogoproto/gogo.proto"; import "cosmos/base/query/v1beta1/pagination.proto"; diff --git a/proto/ibc/core/connection/v1/tx.proto b/proto/ibc/core/connection/v1/tx.proto index 9d4e577e21b..e7e09c84cff 100644 --- a/proto/ibc/core/connection/v1/tx.proto +++ b/proto/ibc/core/connection/v1/tx.proto @@ -2,7 +2,7 @@ syntax = "proto3"; package ibc.core.connection.v1; -option go_package = "github.com/cosmos/ibc-go/v2/modules/core/03-connection/types"; +option go_package = "github.com/cosmos/ibc-go/v3/modules/core/03-connection/types"; import "gogoproto/gogo.proto"; import "google/protobuf/any.proto"; diff --git a/proto/ibc/core/port/v1/query.proto b/proto/ibc/core/port/v1/query.proto index 3c7fb7cb908..4ae44a5db70 100644 --- a/proto/ibc/core/port/v1/query.proto +++ b/proto/ibc/core/port/v1/query.proto @@ -2,7 +2,7 @@ syntax = "proto3"; package ibc.core.port.v1; -option go_package = "github.com/cosmos/ibc-go/v2/modules/core/05-port/types"; +option go_package = "github.com/cosmos/ibc-go/v3/modules/core/05-port/types"; import "ibc/core/channel/v1/channel.proto"; diff --git a/proto/ibc/core/types/v1/genesis.proto b/proto/ibc/core/types/v1/genesis.proto index e39f6cdbba8..fbddbf3035f 100644 --- a/proto/ibc/core/types/v1/genesis.proto +++ b/proto/ibc/core/types/v1/genesis.proto @@ -2,7 +2,7 @@ syntax = "proto3"; package ibc.core.types.v1; -option go_package = "github.com/cosmos/ibc-go/v2/modules/core/types"; +option go_package = "github.com/cosmos/ibc-go/v3/modules/core/types"; import "gogoproto/gogo.proto"; import "ibc/core/client/v1/genesis.proto"; diff --git a/proto/ibc/lightclients/localhost/v1/localhost.proto b/proto/ibc/lightclients/localhost/v1/localhost.proto index 4fe05b78570..43056801542 100644 --- a/proto/ibc/lightclients/localhost/v1/localhost.proto +++ b/proto/ibc/lightclients/localhost/v1/localhost.proto @@ -2,7 +2,7 @@ syntax = "proto3"; package ibc.lightclients.localhost.v1; -option go_package = "github.com/cosmos/ibc-go/v2/modules/light-clients/09-localhost/types"; +option go_package = "github.com/cosmos/ibc-go/v3/modules/light-clients/09-localhost/types"; import "gogoproto/gogo.proto"; import "ibc/core/client/v1/client.proto"; diff --git a/proto/ibc/lightclients/solomachine/v1/solomachine.proto b/proto/ibc/lightclients/solomachine/v1/solomachine.proto index b9b8a3a2afe..c279f5e728e 100644 --- a/proto/ibc/lightclients/solomachine/v1/solomachine.proto +++ b/proto/ibc/lightclients/solomachine/v1/solomachine.proto @@ -2,7 +2,7 @@ syntax = "proto3"; package ibc.lightclients.solomachine.v1; -option go_package = "github.com/cosmos/ibc-go/v2/modules/core/02-client/legacy/v100"; +option go_package = "github.com/cosmos/ibc-go/v3/modules/core/02-client/legacy/v100"; import "ibc/core/connection/v1/connection.proto"; import "ibc/core/channel/v1/channel.proto"; diff --git a/proto/ibc/lightclients/solomachine/v2/solomachine.proto b/proto/ibc/lightclients/solomachine/v2/solomachine.proto index 0c8c638c132..e626c18ac66 100644 --- a/proto/ibc/lightclients/solomachine/v2/solomachine.proto +++ b/proto/ibc/lightclients/solomachine/v2/solomachine.proto @@ -2,7 +2,7 @@ syntax = "proto3"; package ibc.lightclients.solomachine.v2; -option go_package = "github.com/cosmos/ibc-go/v2/modules/light-clients/06-solomachine/types"; +option go_package = "github.com/cosmos/ibc-go/v3/modules/light-clients/06-solomachine/types"; import "ibc/core/connection/v1/connection.proto"; import "ibc/core/channel/v1/channel.proto"; diff --git a/proto/ibc/lightclients/tendermint/v1/tendermint.proto b/proto/ibc/lightclients/tendermint/v1/tendermint.proto index 7313a5ba91d..322574fa5bf 100644 --- a/proto/ibc/lightclients/tendermint/v1/tendermint.proto +++ b/proto/ibc/lightclients/tendermint/v1/tendermint.proto @@ -2,7 +2,7 @@ syntax = "proto3"; package ibc.lightclients.tendermint.v1; -option go_package = "github.com/cosmos/ibc-go/v2/modules/light-clients/07-tendermint/types"; +option go_package = "github.com/cosmos/ibc-go/v3/modules/light-clients/07-tendermint/types"; import "tendermint/types/validator.proto"; import "tendermint/types/types.proto"; diff --git a/testing/README.md b/testing/README.md index 189f8e8c6cc..6cf08516b8c 100644 --- a/testing/README.md +++ b/testing/README.md @@ -255,8 +255,8 @@ import ( "github.com/tendermint/tendermint/libs/log" dbm "github.com/tendermint/tm-db" - "github.com/cosmos/ibc-go/v2/modules/apps/transfer/simapp" - ibctesting "github.com/cosmos/ibc-go/v2/testing" + "github.com/cosmos/ibc-go/v3/modules/apps/transfer/simapp" + ibctesting "github.com/cosmos/ibc-go/v3/testing" ) func SetupTransferTestingApp() (ibctesting.TestingApp, map[string]json.RawMessage) { diff --git a/testing/app.go b/testing/app.go index 5fd5904043f..0ce71f43186 100644 --- a/testing/app.go +++ b/testing/app.go @@ -23,8 +23,8 @@ import ( tmtypes "github.com/tendermint/tendermint/types" dbm "github.com/tendermint/tm-db" - "github.com/cosmos/ibc-go/v2/modules/core/keeper" - "github.com/cosmos/ibc-go/v2/testing/simapp" + "github.com/cosmos/ibc-go/v3/modules/core/keeper" + "github.com/cosmos/ibc-go/v3/testing/simapp" ) var DefaultTestingAppInit func() (TestingApp, map[string]json.RawMessage) = SetupTestingApp diff --git a/testing/chain.go b/testing/chain.go index ac63935b8ef..9820c527a4d 100644 --- a/testing/chain.go +++ b/testing/chain.go @@ -26,14 +26,14 @@ import ( tmtypes "github.com/tendermint/tendermint/types" tmversion "github.com/tendermint/tendermint/version" - clienttypes "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" - commitmenttypes "github.com/cosmos/ibc-go/v2/modules/core/23-commitment/types" - host "github.com/cosmos/ibc-go/v2/modules/core/24-host" - "github.com/cosmos/ibc-go/v2/modules/core/exported" - "github.com/cosmos/ibc-go/v2/modules/core/types" - ibctmtypes "github.com/cosmos/ibc-go/v2/modules/light-clients/07-tendermint/types" - "github.com/cosmos/ibc-go/v2/testing/mock" - "github.com/cosmos/ibc-go/v2/testing/simapp" + clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" + commitmenttypes "github.com/cosmos/ibc-go/v3/modules/core/23-commitment/types" + host "github.com/cosmos/ibc-go/v3/modules/core/24-host" + "github.com/cosmos/ibc-go/v3/modules/core/exported" + "github.com/cosmos/ibc-go/v3/modules/core/types" + ibctmtypes "github.com/cosmos/ibc-go/v3/modules/light-clients/07-tendermint/types" + "github.com/cosmos/ibc-go/v3/testing/mock" + "github.com/cosmos/ibc-go/v3/testing/simapp" ) // TestChain is a testing struct that wraps a simapp with the last TM Header, the current ABCI diff --git a/testing/chain_test.go b/testing/chain_test.go index d77d60dcd18..2b77cb75a7d 100644 --- a/testing/chain_test.go +++ b/testing/chain_test.go @@ -6,8 +6,8 @@ import ( "github.com/stretchr/testify/require" tmtypes "github.com/tendermint/tendermint/types" - ibctesting "github.com/cosmos/ibc-go/v2/testing" - "github.com/cosmos/ibc-go/v2/testing/mock" + ibctesting "github.com/cosmos/ibc-go/v3/testing" + "github.com/cosmos/ibc-go/v3/testing/mock" ) func TestCreateSortedSignerArray(t *testing.T) { diff --git a/testing/config.go b/testing/config.go index 35e1b608fa6..720820498e8 100644 --- a/testing/config.go +++ b/testing/config.go @@ -3,11 +3,11 @@ package ibctesting import ( "time" - connectiontypes "github.com/cosmos/ibc-go/v2/modules/core/03-connection/types" - channeltypes "github.com/cosmos/ibc-go/v2/modules/core/04-channel/types" - "github.com/cosmos/ibc-go/v2/modules/core/exported" - ibctmtypes "github.com/cosmos/ibc-go/v2/modules/light-clients/07-tendermint/types" - "github.com/cosmos/ibc-go/v2/testing/mock" + connectiontypes "github.com/cosmos/ibc-go/v3/modules/core/03-connection/types" + channeltypes "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types" + "github.com/cosmos/ibc-go/v3/modules/core/exported" + ibctmtypes "github.com/cosmos/ibc-go/v3/modules/light-clients/07-tendermint/types" + "github.com/cosmos/ibc-go/v3/testing/mock" ) type ClientConfig interface { diff --git a/testing/endpoint.go b/testing/endpoint.go index 73dbc949da5..a2ab014fe99 100644 --- a/testing/endpoint.go +++ b/testing/endpoint.go @@ -6,13 +6,13 @@ import ( // sdk "github.com/cosmos/cosmos-sdk/types" "github.com/stretchr/testify/require" - clienttypes "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" - connectiontypes "github.com/cosmos/ibc-go/v2/modules/core/03-connection/types" - channeltypes "github.com/cosmos/ibc-go/v2/modules/core/04-channel/types" - commitmenttypes "github.com/cosmos/ibc-go/v2/modules/core/23-commitment/types" - host "github.com/cosmos/ibc-go/v2/modules/core/24-host" - "github.com/cosmos/ibc-go/v2/modules/core/exported" - ibctmtypes "github.com/cosmos/ibc-go/v2/modules/light-clients/07-tendermint/types" + clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" + connectiontypes "github.com/cosmos/ibc-go/v3/modules/core/03-connection/types" + channeltypes "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types" + commitmenttypes "github.com/cosmos/ibc-go/v3/modules/core/23-commitment/types" + host "github.com/cosmos/ibc-go/v3/modules/core/24-host" + "github.com/cosmos/ibc-go/v3/modules/core/exported" + ibctmtypes "github.com/cosmos/ibc-go/v3/modules/light-clients/07-tendermint/types" ) // Endpoint is a which represents a channel endpoint and its associated diff --git a/testing/events.go b/testing/events.go index eae742b5201..a8ec0c2f2f3 100644 --- a/testing/events.go +++ b/testing/events.go @@ -4,9 +4,9 @@ import ( "fmt" sdk "github.com/cosmos/cosmos-sdk/types" - clienttypes "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" - connectiontypes "github.com/cosmos/ibc-go/v2/modules/core/03-connection/types" - channeltypes "github.com/cosmos/ibc-go/v2/modules/core/04-channel/types" + clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" + connectiontypes "github.com/cosmos/ibc-go/v3/modules/core/03-connection/types" + channeltypes "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types" ) // ParseClientIDFromEvents parses events emitted from a MsgCreateClient and returns the diff --git a/testing/mock/ibc_app.go b/testing/mock/ibc_app.go index 92e36a697ef..a4a7460c05f 100644 --- a/testing/mock/ibc_app.go +++ b/testing/mock/ibc_app.go @@ -4,8 +4,8 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" capabilitytypes "github.com/cosmos/cosmos-sdk/x/capability/types" - channeltypes "github.com/cosmos/ibc-go/v2/modules/core/04-channel/types" - "github.com/cosmos/ibc-go/v2/modules/core/exported" + channeltypes "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types" + "github.com/cosmos/ibc-go/v3/modules/core/exported" ) type MockIBCApp struct { diff --git a/testing/mock/ibc_module.go b/testing/mock/ibc_module.go index f76a0eafc7e..128f17cf799 100644 --- a/testing/mock/ibc_module.go +++ b/testing/mock/ibc_module.go @@ -9,9 +9,9 @@ import ( capabilitykeeper "github.com/cosmos/cosmos-sdk/x/capability/keeper" capabilitytypes "github.com/cosmos/cosmos-sdk/x/capability/types" - channeltypes "github.com/cosmos/ibc-go/v2/modules/core/04-channel/types" - host "github.com/cosmos/ibc-go/v2/modules/core/24-host" - "github.com/cosmos/ibc-go/v2/modules/core/exported" + channeltypes "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types" + host "github.com/cosmos/ibc-go/v3/modules/core/24-host" + "github.com/cosmos/ibc-go/v3/modules/core/exported" ) // IBCModule implements the ICS26 callbacks for testing/mock. diff --git a/testing/mock/mock.go b/testing/mock/mock.go index e0b416deb5e..6f12f8fac66 100644 --- a/testing/mock/mock.go +++ b/testing/mock/mock.go @@ -15,9 +15,9 @@ import ( "github.com/spf13/cobra" abci "github.com/tendermint/tendermint/abci/types" - channeltypes "github.com/cosmos/ibc-go/v2/modules/core/04-channel/types" - porttypes "github.com/cosmos/ibc-go/v2/modules/core/05-port/types" - host "github.com/cosmos/ibc-go/v2/modules/core/24-host" + channeltypes "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types" + porttypes "github.com/cosmos/ibc-go/v3/modules/core/05-port/types" + host "github.com/cosmos/ibc-go/v3/modules/core/24-host" ) const ( diff --git a/testing/mock/privval_test.go b/testing/mock/privval_test.go index 2d3c3abb14d..452fa667824 100644 --- a/testing/mock/privval_test.go +++ b/testing/mock/privval_test.go @@ -7,7 +7,7 @@ import ( tmproto "github.com/tendermint/tendermint/proto/tendermint/types" tmtypes "github.com/tendermint/tendermint/types" - "github.com/cosmos/ibc-go/v2/testing/mock" + "github.com/cosmos/ibc-go/v3/testing/mock" ) const chainID = "testChain" diff --git a/testing/path.go b/testing/path.go index 63e1e85da45..d90bc5e1171 100644 --- a/testing/path.go +++ b/testing/path.go @@ -4,7 +4,7 @@ import ( "bytes" "fmt" - channeltypes "github.com/cosmos/ibc-go/v2/modules/core/04-channel/types" + channeltypes "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types" ) // Path contains two endpoints representing two chains connected over IBC diff --git a/testing/sdk_test.go b/testing/sdk_test.go index 71a21e2ede1..c8cfd389680 100644 --- a/testing/sdk_test.go +++ b/testing/sdk_test.go @@ -22,14 +22,14 @@ import ( authcli "github.com/cosmos/cosmos-sdk/x/auth/client/cli" authrest "github.com/cosmos/cosmos-sdk/x/auth/client/rest" authtypes "github.com/cosmos/cosmos-sdk/x/auth/types" - "github.com/cosmos/ibc-go/v2/testing/simapp/params" + "github.com/cosmos/ibc-go/v3/testing/simapp/params" "github.com/spf13/cobra" "github.com/stretchr/testify/suite" tmrand "github.com/tendermint/tendermint/libs/rand" dbm "github.com/tendermint/tm-db" - ibcclientcli "github.com/cosmos/ibc-go/v2/modules/core/02-client/client/cli" - "github.com/cosmos/ibc-go/v2/testing/simapp" + ibcclientcli "github.com/cosmos/ibc-go/v3/modules/core/02-client/client/cli" + "github.com/cosmos/ibc-go/v3/testing/simapp" ) /* diff --git a/testing/simapp/app.go b/testing/simapp/app.go index d1463889779..562ebe5cc12 100644 --- a/testing/simapp/app.go +++ b/testing/simapp/app.go @@ -42,7 +42,7 @@ import ( "github.com/cosmos/cosmos-sdk/x/capability" capabilitykeeper "github.com/cosmos/cosmos-sdk/x/capability/keeper" capabilitytypes "github.com/cosmos/cosmos-sdk/x/capability/types" - simappparams "github.com/cosmos/ibc-go/v2/testing/simapp/params" + simappparams "github.com/cosmos/ibc-go/v3/testing/simapp/params" "github.com/cosmos/cosmos-sdk/x/crisis" crisiskeeper "github.com/cosmos/cosmos-sdk/x/crisis/keeper" @@ -80,25 +80,25 @@ import ( upgradeclient "github.com/cosmos/cosmos-sdk/x/upgrade/client" upgradekeeper "github.com/cosmos/cosmos-sdk/x/upgrade/keeper" upgradetypes "github.com/cosmos/cosmos-sdk/x/upgrade/types" - ica "github.com/cosmos/ibc-go/v2/modules/apps/27-interchain-accounts" - icacontroller "github.com/cosmos/ibc-go/v2/modules/apps/27-interchain-accounts/controller" - icacontrollerkeeper "github.com/cosmos/ibc-go/v2/modules/apps/27-interchain-accounts/controller/keeper" - icacontrollertypes "github.com/cosmos/ibc-go/v2/modules/apps/27-interchain-accounts/controller/types" - icahost "github.com/cosmos/ibc-go/v2/modules/apps/27-interchain-accounts/host" - icahostkeeper "github.com/cosmos/ibc-go/v2/modules/apps/27-interchain-accounts/host/keeper" - icahosttypes "github.com/cosmos/ibc-go/v2/modules/apps/27-interchain-accounts/host/types" - icatypes "github.com/cosmos/ibc-go/v2/modules/apps/27-interchain-accounts/types" - transfer "github.com/cosmos/ibc-go/v2/modules/apps/transfer" - ibctransferkeeper "github.com/cosmos/ibc-go/v2/modules/apps/transfer/keeper" - ibctransfertypes "github.com/cosmos/ibc-go/v2/modules/apps/transfer/types" - ibc "github.com/cosmos/ibc-go/v2/modules/core" - ibcclient "github.com/cosmos/ibc-go/v2/modules/core/02-client" - ibcclientclient "github.com/cosmos/ibc-go/v2/modules/core/02-client/client" - ibcclienttypes "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" - porttypes "github.com/cosmos/ibc-go/v2/modules/core/05-port/types" - ibchost "github.com/cosmos/ibc-go/v2/modules/core/24-host" - ibckeeper "github.com/cosmos/ibc-go/v2/modules/core/keeper" - ibcmock "github.com/cosmos/ibc-go/v2/testing/mock" + ica "github.com/cosmos/ibc-go/v3/modules/apps/27-interchain-accounts" + icacontroller "github.com/cosmos/ibc-go/v3/modules/apps/27-interchain-accounts/controller" + icacontrollerkeeper "github.com/cosmos/ibc-go/v3/modules/apps/27-interchain-accounts/controller/keeper" + icacontrollertypes "github.com/cosmos/ibc-go/v3/modules/apps/27-interchain-accounts/controller/types" + icahost "github.com/cosmos/ibc-go/v3/modules/apps/27-interchain-accounts/host" + icahostkeeper "github.com/cosmos/ibc-go/v3/modules/apps/27-interchain-accounts/host/keeper" + icahosttypes "github.com/cosmos/ibc-go/v3/modules/apps/27-interchain-accounts/host/types" + icatypes "github.com/cosmos/ibc-go/v3/modules/apps/27-interchain-accounts/types" + transfer "github.com/cosmos/ibc-go/v3/modules/apps/transfer" + ibctransferkeeper "github.com/cosmos/ibc-go/v3/modules/apps/transfer/keeper" + ibctransfertypes "github.com/cosmos/ibc-go/v3/modules/apps/transfer/types" + ibc "github.com/cosmos/ibc-go/v3/modules/core" + ibcclient "github.com/cosmos/ibc-go/v3/modules/core/02-client" + ibcclientclient "github.com/cosmos/ibc-go/v3/modules/core/02-client/client" + ibcclienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" + porttypes "github.com/cosmos/ibc-go/v3/modules/core/05-port/types" + ibchost "github.com/cosmos/ibc-go/v3/modules/core/24-host" + ibckeeper "github.com/cosmos/ibc-go/v3/modules/core/keeper" + ibcmock "github.com/cosmos/ibc-go/v3/testing/mock" authz "github.com/cosmos/cosmos-sdk/x/authz" authzkeeper "github.com/cosmos/cosmos-sdk/x/authz/keeper" diff --git a/testing/simapp/encoding.go b/testing/simapp/encoding.go index 90206105383..7c8fbc29036 100644 --- a/testing/simapp/encoding.go +++ b/testing/simapp/encoding.go @@ -2,7 +2,7 @@ package simapp import ( "github.com/cosmos/cosmos-sdk/std" - simappparams "github.com/cosmos/ibc-go/v2/testing/simapp/params" + simappparams "github.com/cosmos/ibc-go/v3/testing/simapp/params" ) // MakeTestEncodingConfig creates an EncodingConfig for testing. This function diff --git a/testing/simapp/genesis_account_test.go b/testing/simapp/genesis_account_test.go index 8f41703e4a4..c19113a246d 100644 --- a/testing/simapp/genesis_account_test.go +++ b/testing/simapp/genesis_account_test.go @@ -7,7 +7,7 @@ import ( "github.com/cosmos/cosmos-sdk/crypto/keys/secp256k1" sdk "github.com/cosmos/cosmos-sdk/types" authtypes "github.com/cosmos/cosmos-sdk/x/auth/types" - "github.com/cosmos/ibc-go/v2/testing/simapp" + "github.com/cosmos/ibc-go/v3/testing/simapp" "github.com/stretchr/testify/require" "github.com/tendermint/tendermint/crypto" diff --git a/testing/simapp/sim_bench_test.go b/testing/simapp/sim_bench_test.go index 7ea54e7b854..c874fd69911 100644 --- a/testing/simapp/sim_bench_test.go +++ b/testing/simapp/sim_bench_test.go @@ -12,7 +12,7 @@ import ( ) // Profile with: -// /usr/local/go/bin/go test -benchmem -run=^$ github.com/cosmos/ibc-go/v2/testing/simapp -bench ^BenchmarkFullAppSimulation$ -Commit=true -cpuprofile cpu.out +// /usr/local/go/bin/go test -benchmem -run=^$ github.com/cosmos/ibc-go/v3/testing/simapp -bench ^BenchmarkFullAppSimulation$ -Commit=true -cpuprofile cpu.out func BenchmarkFullAppSimulation(b *testing.B) { b.ReportAllocs() config, db, dir, logger, _, err := SetupSimulation("goleveldb-app-sim", "Simulation") diff --git a/testing/simapp/sim_test.go b/testing/simapp/sim_test.go index 7812dd470c6..1cdcd9a25d8 100644 --- a/testing/simapp/sim_test.go +++ b/testing/simapp/sim_test.go @@ -29,9 +29,9 @@ import ( "github.com/cosmos/cosmos-sdk/x/simulation" slashingtypes "github.com/cosmos/cosmos-sdk/x/slashing/types" stakingtypes "github.com/cosmos/cosmos-sdk/x/staking/types" - ibctransfertypes "github.com/cosmos/ibc-go/v2/modules/apps/transfer/types" - ibchost "github.com/cosmos/ibc-go/v2/modules/core/24-host" - "github.com/cosmos/ibc-go/v2/testing/simapp/helpers" + ibctransfertypes "github.com/cosmos/ibc-go/v3/modules/apps/transfer/types" + ibchost "github.com/cosmos/ibc-go/v3/modules/core/24-host" + "github.com/cosmos/ibc-go/v3/testing/simapp/helpers" ) // Get flags every time the simulator is run diff --git a/testing/simapp/simd/cmd/cmd_test.go b/testing/simapp/simd/cmd/cmd_test.go index 3db9177380b..b7dd7404381 100644 --- a/testing/simapp/simd/cmd/cmd_test.go +++ b/testing/simapp/simd/cmd/cmd_test.go @@ -8,8 +8,8 @@ import ( svrcmd "github.com/cosmos/cosmos-sdk/server/cmd" "github.com/cosmos/cosmos-sdk/x/genutil/client/cli" - "github.com/cosmos/ibc-go/v2/testing/simapp" - "github.com/cosmos/ibc-go/v2/testing/simapp/simd/cmd" + "github.com/cosmos/ibc-go/v3/testing/simapp" + "github.com/cosmos/ibc-go/v3/testing/simapp/simd/cmd" ) func TestInitCmd(t *testing.T) { diff --git a/testing/simapp/simd/cmd/genaccounts_test.go b/testing/simapp/simd/cmd/genaccounts_test.go index c63fb4baaef..756f6743125 100644 --- a/testing/simapp/simd/cmd/genaccounts_test.go +++ b/testing/simapp/simd/cmd/genaccounts_test.go @@ -16,8 +16,8 @@ import ( "github.com/cosmos/cosmos-sdk/types/module" "github.com/cosmos/cosmos-sdk/x/genutil" genutiltest "github.com/cosmos/cosmos-sdk/x/genutil/client/testutil" - "github.com/cosmos/ibc-go/v2/testing/simapp" - simcmd "github.com/cosmos/ibc-go/v2/testing/simapp/simd/cmd" + "github.com/cosmos/ibc-go/v3/testing/simapp" + simcmd "github.com/cosmos/ibc-go/v3/testing/simapp/simd/cmd" ) var testMbm = module.NewBasicManager(genutil.AppModuleBasic{}) diff --git a/testing/simapp/simd/cmd/root.go b/testing/simapp/simd/cmd/root.go index 2253b6ecd82..e690093709e 100644 --- a/testing/simapp/simd/cmd/root.go +++ b/testing/simapp/simd/cmd/root.go @@ -30,8 +30,8 @@ import ( "github.com/tendermint/tendermint/libs/log" dbm "github.com/tendermint/tm-db" - "github.com/cosmos/ibc-go/v2/testing/simapp" - "github.com/cosmos/ibc-go/v2/testing/simapp/params" + "github.com/cosmos/ibc-go/v3/testing/simapp" + "github.com/cosmos/ibc-go/v3/testing/simapp/params" ) // NewRootCmd creates a new root command for simd. It is called once in the diff --git a/testing/simapp/simd/main.go b/testing/simapp/simd/main.go index 80b0b50f774..ae4eb00bf23 100644 --- a/testing/simapp/simd/main.go +++ b/testing/simapp/simd/main.go @@ -5,8 +5,8 @@ import ( "github.com/cosmos/cosmos-sdk/server" svrcmd "github.com/cosmos/cosmos-sdk/server/cmd" - "github.com/cosmos/ibc-go/v2/testing/simapp" - "github.com/cosmos/ibc-go/v2/testing/simapp/simd/cmd" + "github.com/cosmos/ibc-go/v3/testing/simapp" + "github.com/cosmos/ibc-go/v3/testing/simapp/simd/cmd" ) func main() { diff --git a/testing/simapp/state.go b/testing/simapp/state.go index 7dea332368a..cd82b7acfe0 100644 --- a/testing/simapp/state.go +++ b/testing/simapp/state.go @@ -19,7 +19,7 @@ import ( authtypes "github.com/cosmos/cosmos-sdk/x/auth/types" banktypes "github.com/cosmos/cosmos-sdk/x/bank/types" stakingtypes "github.com/cosmos/cosmos-sdk/x/staking/types" - simappparams "github.com/cosmos/ibc-go/v2/testing/simapp/params" + simappparams "github.com/cosmos/ibc-go/v3/testing/simapp/params" ) // AppStateFn returns the initial application state using a genesis or the simulation parameters. diff --git a/testing/simapp/test_helpers.go b/testing/simapp/test_helpers.go index 0773465501c..f5c8b9107c9 100644 --- a/testing/simapp/test_helpers.go +++ b/testing/simapp/test_helpers.go @@ -25,7 +25,7 @@ import ( authtypes "github.com/cosmos/cosmos-sdk/x/auth/types" banktypes "github.com/cosmos/cosmos-sdk/x/bank/types" minttypes "github.com/cosmos/cosmos-sdk/x/mint/types" - "github.com/cosmos/ibc-go/v2/testing/simapp/helpers" + "github.com/cosmos/ibc-go/v3/testing/simapp/helpers" ) // DefaultConsensusParams defines the default Tendermint consensus params used in diff --git a/testing/simapp/utils.go b/testing/simapp/utils.go index 7bfb087c9ff..6e76f79f4a2 100644 --- a/testing/simapp/utils.go +++ b/testing/simapp/utils.go @@ -13,7 +13,7 @@ import ( "github.com/cosmos/cosmos-sdk/types/kv" "github.com/cosmos/cosmos-sdk/types/module" simtypes "github.com/cosmos/cosmos-sdk/types/simulation" - "github.com/cosmos/ibc-go/v2/testing/simapp/helpers" + "github.com/cosmos/ibc-go/v3/testing/simapp/helpers" ) // SetupSimulation creates the config, db (levelDB), temporary directory and logger for diff --git a/testing/solomachine.go b/testing/solomachine.go index 048ac4c8c33..13a2397fef2 100644 --- a/testing/solomachine.go +++ b/testing/solomachine.go @@ -12,11 +12,11 @@ import ( cryptotypes "github.com/cosmos/cosmos-sdk/crypto/types" "github.com/cosmos/cosmos-sdk/crypto/types/multisig" "github.com/cosmos/cosmos-sdk/types/tx/signing" - clienttypes "github.com/cosmos/ibc-go/v2/modules/core/02-client/types" - commitmenttypes "github.com/cosmos/ibc-go/v2/modules/core/23-commitment/types" - host "github.com/cosmos/ibc-go/v2/modules/core/24-host" - "github.com/cosmos/ibc-go/v2/modules/core/exported" - solomachinetypes "github.com/cosmos/ibc-go/v2/modules/light-clients/06-solomachine/types" + clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" + commitmenttypes "github.com/cosmos/ibc-go/v3/modules/core/23-commitment/types" + host "github.com/cosmos/ibc-go/v3/modules/core/24-host" + "github.com/cosmos/ibc-go/v3/modules/core/exported" + solomachinetypes "github.com/cosmos/ibc-go/v3/modules/light-clients/06-solomachine/types" ) // Solomachine is a testing helper used to simulate a counterparty diff --git a/testing/values.go b/testing/values.go index 9994040423e..e341b98fd50 100644 --- a/testing/values.go +++ b/testing/values.go @@ -10,12 +10,12 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" - ibctransfertypes "github.com/cosmos/ibc-go/v2/modules/apps/transfer/types" - connectiontypes "github.com/cosmos/ibc-go/v2/modules/core/03-connection/types" - channeltypes "github.com/cosmos/ibc-go/v2/modules/core/04-channel/types" - commitmenttypes "github.com/cosmos/ibc-go/v2/modules/core/23-commitment/types" - ibctmtypes "github.com/cosmos/ibc-go/v2/modules/light-clients/07-tendermint/types" - "github.com/cosmos/ibc-go/v2/testing/mock" + ibctransfertypes "github.com/cosmos/ibc-go/v3/modules/apps/transfer/types" + connectiontypes "github.com/cosmos/ibc-go/v3/modules/core/03-connection/types" + channeltypes "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types" + commitmenttypes "github.com/cosmos/ibc-go/v3/modules/core/23-commitment/types" + ibctmtypes "github.com/cosmos/ibc-go/v3/modules/light-clients/07-tendermint/types" + "github.com/cosmos/ibc-go/v3/testing/mock" ) const ( From 9b7237eb13d6b07d05d981aaf69ce9c47804af2e Mon Sep 17 00:00:00 2001 From: Sean King Date: Thu, 9 Dec 2021 11:02:13 +0100 Subject: [PATCH 066/107] fix: move changelog entries to unreleased section (#608) --- CHANGELOG.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8bd3a48a16d..1f83dc781f2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -55,8 +55,10 @@ Ref: https://keepachangelog.com/en/1.0.0/ ### Features * [\#432](https://github.com/cosmos/ibc-go/pull/432) Introduce `MockIBCApp` struct to the mock module. Allows the mock module to be reused to perform custom logic on each IBC App interface function. This might be useful when testing out IBC applications written as middleware. +* [\#380](https://github.com/cosmos/ibc-go/pull/380) Adding the Interchain Accounts module v1 ### Bug Fixes +* (modules/core) [\#603](https://github.com/cosmos/ibc-go/pull/603) Fix module name emitted as part of `OnChanOpenInit` event. Replacing `connection` module name with `channel`. ## [v2.0.1](https://github.com/cosmos/ibc-go/releases/tag/v2.0.1) - 2021-12-05 @@ -190,7 +192,6 @@ Ref: https://keepachangelog.com/en/1.0.0/ * (modules/light-clients/06-solomachine) [\#122](https://github.com/cosmos/ibc-go/pull/122) Fix solo machine merkle prefix casting bug. * (modules/light-clients/06-solomachine) [\#120](https://github.com/cosmos/ibc-go/pull/120) Fix solo machine handshake verification bug. * (modules/light-clients/06-solomachine) [\#153](https://github.com/cosmos/ibc-go/pull/153) fix solo machine connection handshake failure at `ConnectionOpenAck`. -* (modules/core) [\#603](https://github.com/cosmos/ibc-go/pull/603) Fix module name emitted as part of `OnChanOpenInit` event. Replacing `connection` module name with `channel`. ### API Breaking @@ -234,7 +235,6 @@ Ref: https://keepachangelog.com/en/1.0.0/ ### Features * [\#198](https://github.com/cosmos/ibc-go/pull/198) New CLI command `query ibc-transfer escrow-address ` to get the escrow address for a channel; can be used to then query balance of escrowed tokens -* [\#380](https://github.com/cosmos/ibc-go/pull/380) Adding the Interchain Accounts module v1 ### Client Breaking Changes From a09f9787fe0b8ba92bb792c16db28224eff0e53e Mon Sep 17 00:00:00 2001 From: Damian Nolan Date: Thu, 9 Dec 2021 12:34:14 +0100 Subject: [PATCH 067/107] chore: rename types.proto -> packet.proto for alignment (#612) * deleting types.pb.go generatred protobufs * renaming types.proto -> packet.proto and regenerating protos --- docs/ibc/proto-docs.md | 6 +- .../types/{types.pb.go => packet.pb.go} | 138 +++++++++--------- .../v1/{types.proto => packet.proto} | 0 3 files changed, 72 insertions(+), 72 deletions(-) rename modules/apps/27-interchain-accounts/types/{types.pb.go => packet.pb.go} (74%) rename proto/ibc/applications/interchain_accounts/v1/{types.proto => packet.proto} (100%) diff --git a/docs/ibc/proto-docs.md b/docs/ibc/proto-docs.md index c1eaa081667..c3b10abc545 100644 --- a/docs/ibc/proto-docs.md +++ b/docs/ibc/proto-docs.md @@ -14,7 +14,7 @@ - [HostGenesisState](#ibc.applications.interchain_accounts.v1.HostGenesisState) - [RegisteredInterchainAccount](#ibc.applications.interchain_accounts.v1.RegisteredInterchainAccount) -- [ibc/applications/interchain_accounts/v1/types.proto](#ibc/applications/interchain_accounts/v1/types.proto) +- [ibc/applications/interchain_accounts/v1/packet.proto](#ibc/applications/interchain_accounts/v1/packet.proto) - [CosmosTx](#ibc.applications.interchain_accounts.v1.CosmosTx) - [InterchainAccountPacketData](#ibc.applications.interchain_accounts.v1.InterchainAccountPacketData) @@ -402,10 +402,10 @@ RegisteredInterchainAccount contains a pairing of controller port ID and associa - +

Top

-## ibc/applications/interchain_accounts/v1/types.proto +## ibc/applications/interchain_accounts/v1/packet.proto diff --git a/modules/apps/27-interchain-accounts/types/types.pb.go b/modules/apps/27-interchain-accounts/types/packet.pb.go similarity index 74% rename from modules/apps/27-interchain-accounts/types/types.pb.go rename to modules/apps/27-interchain-accounts/types/packet.pb.go index 4700c72f41c..98bc3e99ab0 100644 --- a/modules/apps/27-interchain-accounts/types/types.pb.go +++ b/modules/apps/27-interchain-accounts/types/packet.pb.go @@ -1,5 +1,5 @@ // Code generated by protoc-gen-gogo. DO NOT EDIT. -// source: ibc/applications/interchain_accounts/v1/types.proto +// source: ibc/applications/interchain_accounts/v1/packet.proto package types @@ -50,7 +50,7 @@ func (x Type) String() string { } func (Type) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_39bab93e18d89799, []int{0} + return fileDescriptor_89a080d7401cd393, []int{0} } // InterchainAccountPacketData is comprised of a raw transaction, type of transaction and optional memo field. @@ -64,7 +64,7 @@ func (m *InterchainAccountPacketData) Reset() { *m = InterchainAccountPa func (m *InterchainAccountPacketData) String() string { return proto.CompactTextString(m) } func (*InterchainAccountPacketData) ProtoMessage() {} func (*InterchainAccountPacketData) Descriptor() ([]byte, []int) { - return fileDescriptor_39bab93e18d89799, []int{0} + return fileDescriptor_89a080d7401cd393, []int{0} } func (m *InterchainAccountPacketData) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -123,7 +123,7 @@ func (m *CosmosTx) Reset() { *m = CosmosTx{} } func (m *CosmosTx) String() string { return proto.CompactTextString(m) } func (*CosmosTx) ProtoMessage() {} func (*CosmosTx) Descriptor() ([]byte, []int) { - return fileDescriptor_39bab93e18d89799, []int{1} + return fileDescriptor_89a080d7401cd393, []int{1} } func (m *CosmosTx) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -166,36 +166,36 @@ func init() { } func init() { - proto.RegisterFile("ibc/applications/interchain_accounts/v1/types.proto", fileDescriptor_39bab93e18d89799) + proto.RegisterFile("ibc/applications/interchain_accounts/v1/packet.proto", fileDescriptor_89a080d7401cd393) } -var fileDescriptor_39bab93e18d89799 = []byte{ - // 391 bytes of a gzipped FileDescriptorProto +var fileDescriptor_89a080d7401cd393 = []byte{ + // 393 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x51, 0x41, 0x8b, 0xd3, 0x40, 0x18, 0xcd, 0xb8, 0x41, 0xd6, 0x59, 0xd9, 0x2d, 0x61, 0x0f, 0x31, 0x42, 0x08, 0x2b, 0x62, 0x10, - 0x32, 0xe3, 0xb6, 0x07, 0x2f, 0x5e, 0x6a, 0x1b, 0xa1, 0x17, 0x29, 0x31, 0x85, 0xea, 0x25, 0x4c, - 0xa6, 0x63, 0x3a, 0xd8, 0x64, 0x42, 0x67, 0x52, 0xcc, 0x3f, 0x28, 0x3d, 0xf9, 0x07, 0x7a, 0xf2, - 0xcf, 0x78, 0xec, 0xd1, 0xa3, 0xb4, 0x7f, 0x44, 0x32, 0xc1, 0xb6, 0x07, 0x0f, 0x7b, 0x7b, 0x3c, - 0xbe, 0xf7, 0xe6, 0xbd, 0x79, 0xb0, 0xc7, 0x53, 0x8a, 0x49, 0x59, 0x2e, 0x38, 0x25, 0x8a, 0x8b, - 0x42, 0x62, 0x5e, 0x28, 0xb6, 0xa4, 0x73, 0xc2, 0x8b, 0x84, 0x50, 0x2a, 0xaa, 0x42, 0x49, 0xbc, - 0xba, 0xc7, 0xaa, 0x2e, 0x99, 0x44, 0xe5, 0x52, 0x28, 0x61, 0xbd, 0xe2, 0x29, 0x45, 0xe7, 0x22, - 0xf4, 0x1f, 0x11, 0x5a, 0xdd, 0x3b, 0xcf, 0x32, 0x21, 0xb2, 0x05, 0xc3, 0x5a, 0x96, 0x56, 0x5f, - 0x31, 0x29, 0xea, 0xd6, 0xc3, 0xb9, 0xcd, 0x44, 0x26, 0x34, 0xc4, 0x0d, 0x6a, 0xd9, 0xbb, 0x35, - 0x80, 0xcf, 0x47, 0x47, 0xaf, 0x7e, 0x6b, 0x35, 0x26, 0xf4, 0x1b, 0x53, 0x43, 0xa2, 0x88, 0xd5, - 0x87, 0x66, 0x13, 0xc4, 0x06, 0x1e, 0xf0, 0xaf, 0xbb, 0x01, 0x7a, 0x60, 0x10, 0x14, 0xd7, 0x25, - 0x8b, 0xb4, 0xd4, 0xb2, 0xa0, 0x39, 0x23, 0x8a, 0xd8, 0x8f, 0x3c, 0xe0, 0x3f, 0x8d, 0x34, 0x6e, - 0xb8, 0x9c, 0xe5, 0xc2, 0xbe, 0xf0, 0x80, 0xff, 0x24, 0xd2, 0xf8, 0xee, 0x1d, 0xbc, 0x1c, 0x08, - 0x99, 0x0b, 0x19, 0x7f, 0xb7, 0xde, 0xc0, 0xcb, 0x9c, 0x49, 0x49, 0x32, 0x26, 0x6d, 0xe0, 0x5d, - 0xf8, 0x57, 0xdd, 0x5b, 0xd4, 0x56, 0x43, 0xff, 0xaa, 0xa1, 0x7e, 0x51, 0x47, 0xc7, 0xab, 0xd7, - 0x53, 0x68, 0x36, 0x6f, 0x5a, 0x2f, 0x61, 0x27, 0xfe, 0x3c, 0x0e, 0x93, 0xc9, 0xc7, 0x4f, 0xe3, - 0x70, 0x30, 0xfa, 0x30, 0x0a, 0x87, 0x1d, 0xc3, 0xb9, 0xd9, 0x6c, 0xbd, 0xab, 0x33, 0xca, 0x7a, - 0x01, 0x6f, 0xf4, 0x59, 0x38, 0x0d, 0x07, 0x93, 0x38, 0x4c, 0xe2, 0x69, 0x07, 0x38, 0xd7, 0x9b, - 0xad, 0x07, 0x4f, 0x8c, 0x63, 0xae, 0x7f, 0xba, 0xc6, 0xfb, 0xe4, 0xd7, 0xde, 0x05, 0xbb, 0xbd, - 0x0b, 0xfe, 0xec, 0x5d, 0xf0, 0xe3, 0xe0, 0x1a, 0xbb, 0x83, 0x6b, 0xfc, 0x3e, 0xb8, 0xc6, 0x97, - 0x30, 0xe3, 0x6a, 0x5e, 0xa5, 0x88, 0x8a, 0x1c, 0x53, 0x1d, 0x1d, 0xf3, 0x94, 0x06, 0x99, 0xc0, - 0xab, 0x1e, 0xce, 0xc5, 0xac, 0x5a, 0x30, 0xd9, 0x6c, 0x2d, 0x71, 0xf7, 0x6d, 0x70, 0xfa, 0xa8, - 0xe0, 0x38, 0xb3, 0xde, 0x38, 0x7d, 0xac, 0x2b, 0xf5, 0xfe, 0x06, 0x00, 0x00, 0xff, 0xff, 0x69, - 0x4d, 0xde, 0x7c, 0x1b, 0x02, 0x00, 0x00, + 0x32, 0xe3, 0xb6, 0x82, 0x17, 0x2f, 0xb5, 0x8d, 0xd0, 0x8b, 0x94, 0x98, 0x42, 0xf5, 0x12, 0x26, + 0xd3, 0x31, 0x1d, 0x6c, 0x32, 0xa1, 0x33, 0x29, 0xe6, 0x1f, 0x94, 0x9e, 0xfc, 0x03, 0x3d, 0xf9, + 0x67, 0x3c, 0xf6, 0xe8, 0x51, 0xda, 0x3f, 0x22, 0x99, 0x60, 0xdb, 0x83, 0x07, 0x6f, 0x8f, 0xc7, + 0xf7, 0xde, 0xf7, 0xbd, 0xef, 0xc1, 0xd7, 0x3c, 0xa5, 0x98, 0x94, 0xe5, 0x82, 0x53, 0xa2, 0xb8, + 0x28, 0x24, 0xe6, 0x85, 0x62, 0x4b, 0x3a, 0x27, 0xbc, 0x48, 0x08, 0xa5, 0xa2, 0x2a, 0x94, 0xc4, + 0xab, 0x7b, 0x5c, 0x12, 0xfa, 0x95, 0x29, 0x54, 0x2e, 0x85, 0x12, 0xd6, 0x0b, 0x9e, 0x52, 0x74, + 0xae, 0x42, 0xff, 0x50, 0xa1, 0xd5, 0xbd, 0xf3, 0x24, 0x13, 0x22, 0x5b, 0x30, 0xac, 0x65, 0x69, + 0xf5, 0x05, 0x93, 0xa2, 0x6e, 0x3d, 0x9c, 0xdb, 0x4c, 0x64, 0x42, 0x43, 0xdc, 0xa0, 0x96, 0xbd, + 0x5b, 0x03, 0xf8, 0x74, 0x74, 0xf4, 0xea, 0xb7, 0x56, 0x63, 0xbd, 0x7b, 0x48, 0x14, 0xb1, 0xfa, + 0xd0, 0x54, 0x75, 0xc9, 0x6c, 0xe0, 0x01, 0xff, 0xba, 0x1b, 0xa0, 0xff, 0x3c, 0x04, 0xc5, 0x75, + 0xc9, 0x22, 0x2d, 0xb5, 0x2c, 0x68, 0xce, 0x88, 0x22, 0xf6, 0x03, 0x0f, 0xf8, 0x8f, 0x23, 0x8d, + 0x1b, 0x2e, 0x67, 0xb9, 0xb0, 0x2f, 0x3c, 0xe0, 0x3f, 0x8a, 0x34, 0xbe, 0x7b, 0x0b, 0x2f, 0x07, + 0x42, 0xe6, 0x42, 0xc6, 0xdf, 0xac, 0x57, 0xf0, 0x32, 0x67, 0x52, 0x92, 0x8c, 0x49, 0x1b, 0x78, + 0x17, 0xfe, 0x55, 0xf7, 0x16, 0xb5, 0xd1, 0xd0, 0xdf, 0x68, 0xa8, 0x5f, 0xd4, 0xd1, 0x71, 0xea, + 0xe5, 0x14, 0x9a, 0xcd, 0x4e, 0xeb, 0x39, 0xec, 0xc4, 0x9f, 0xc6, 0x61, 0x32, 0xf9, 0xf0, 0x71, + 0x1c, 0x0e, 0x46, 0xef, 0x47, 0xe1, 0xb0, 0x63, 0x38, 0x37, 0x9b, 0xad, 0x77, 0x75, 0x46, 0x59, + 0xcf, 0xe0, 0x8d, 0x1e, 0x0b, 0xa7, 0xe1, 0x60, 0x12, 0x87, 0x49, 0x3c, 0xed, 0x00, 0xe7, 0x7a, + 0xb3, 0xf5, 0xe0, 0x89, 0x71, 0xcc, 0xf5, 0x0f, 0xd7, 0x78, 0x97, 0xfc, 0xdc, 0xbb, 0x60, 0xb7, + 0x77, 0xc1, 0xef, 0xbd, 0x0b, 0xbe, 0x1f, 0x5c, 0x63, 0x77, 0x70, 0x8d, 0x5f, 0x07, 0xd7, 0xf8, + 0x1c, 0x66, 0x5c, 0xcd, 0xab, 0x14, 0x51, 0x91, 0x63, 0xaa, 0x4f, 0xc7, 0x3c, 0xa5, 0x41, 0x26, + 0xf0, 0xaa, 0x87, 0x73, 0x31, 0xab, 0x16, 0x4c, 0x36, 0x65, 0x4b, 0xdc, 0x7d, 0x13, 0x9c, 0x1e, + 0x15, 0x1c, 0x7b, 0x6e, 0xfe, 0x23, 0xd3, 0x87, 0x3a, 0x52, 0xef, 0x4f, 0x00, 0x00, 0x00, 0xff, + 0xff, 0xdd, 0x25, 0x3e, 0xc6, 0x1c, 0x02, 0x00, 0x00, } func (m *InterchainAccountPacketData) Marshal() (dAtA []byte, err error) { @@ -221,19 +221,19 @@ func (m *InterchainAccountPacketData) MarshalToSizedBuffer(dAtA []byte) (int, er if len(m.Memo) > 0 { i -= len(m.Memo) copy(dAtA[i:], m.Memo) - i = encodeVarintTypes(dAtA, i, uint64(len(m.Memo))) + i = encodeVarintPacket(dAtA, i, uint64(len(m.Memo))) i-- dAtA[i] = 0x1a } if len(m.Data) > 0 { i -= len(m.Data) copy(dAtA[i:], m.Data) - i = encodeVarintTypes(dAtA, i, uint64(len(m.Data))) + i = encodeVarintPacket(dAtA, i, uint64(len(m.Data))) i-- dAtA[i] = 0x12 } if m.Type != 0 { - i = encodeVarintTypes(dAtA, i, uint64(m.Type)) + i = encodeVarintPacket(dAtA, i, uint64(m.Type)) i-- dAtA[i] = 0x8 } @@ -268,7 +268,7 @@ func (m *CosmosTx) MarshalToSizedBuffer(dAtA []byte) (int, error) { return 0, err } i -= size - i = encodeVarintTypes(dAtA, i, uint64(size)) + i = encodeVarintPacket(dAtA, i, uint64(size)) } i-- dAtA[i] = 0xa @@ -277,8 +277,8 @@ func (m *CosmosTx) MarshalToSizedBuffer(dAtA []byte) (int, error) { return len(dAtA) - i, nil } -func encodeVarintTypes(dAtA []byte, offset int, v uint64) int { - offset -= sovTypes(v) +func encodeVarintPacket(dAtA []byte, offset int, v uint64) int { + offset -= sovPacket(v) base := offset for v >= 1<<7 { dAtA[offset] = uint8(v&0x7f | 0x80) @@ -295,15 +295,15 @@ func (m *InterchainAccountPacketData) Size() (n int) { var l int _ = l if m.Type != 0 { - n += 1 + sovTypes(uint64(m.Type)) + n += 1 + sovPacket(uint64(m.Type)) } l = len(m.Data) if l > 0 { - n += 1 + l + sovTypes(uint64(l)) + n += 1 + l + sovPacket(uint64(l)) } l = len(m.Memo) if l > 0 { - n += 1 + l + sovTypes(uint64(l)) + n += 1 + l + sovPacket(uint64(l)) } return n } @@ -317,17 +317,17 @@ func (m *CosmosTx) Size() (n int) { if len(m.Messages) > 0 { for _, e := range m.Messages { l = e.Size() - n += 1 + l + sovTypes(uint64(l)) + n += 1 + l + sovPacket(uint64(l)) } } return n } -func sovTypes(x uint64) (n int) { +func sovPacket(x uint64) (n int) { return (math_bits.Len64(x|1) + 6) / 7 } -func sozTypes(x uint64) (n int) { - return sovTypes(uint64((x << 1) ^ uint64((int64(x) >> 63)))) +func sozPacket(x uint64) (n int) { + return sovPacket(uint64((x << 1) ^ uint64((int64(x) >> 63)))) } func (m *InterchainAccountPacketData) Unmarshal(dAtA []byte) error { l := len(dAtA) @@ -337,7 +337,7 @@ func (m *InterchainAccountPacketData) Unmarshal(dAtA []byte) error { var wire uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { - return ErrIntOverflowTypes + return ErrIntOverflowPacket } if iNdEx >= l { return io.ErrUnexpectedEOF @@ -365,7 +365,7 @@ func (m *InterchainAccountPacketData) Unmarshal(dAtA []byte) error { m.Type = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { - return ErrIntOverflowTypes + return ErrIntOverflowPacket } if iNdEx >= l { return io.ErrUnexpectedEOF @@ -384,7 +384,7 @@ func (m *InterchainAccountPacketData) Unmarshal(dAtA []byte) error { var byteLen int for shift := uint(0); ; shift += 7 { if shift >= 64 { - return ErrIntOverflowTypes + return ErrIntOverflowPacket } if iNdEx >= l { return io.ErrUnexpectedEOF @@ -397,11 +397,11 @@ func (m *InterchainAccountPacketData) Unmarshal(dAtA []byte) error { } } if byteLen < 0 { - return ErrInvalidLengthTypes + return ErrInvalidLengthPacket } postIndex := iNdEx + byteLen if postIndex < 0 { - return ErrInvalidLengthTypes + return ErrInvalidLengthPacket } if postIndex > l { return io.ErrUnexpectedEOF @@ -418,7 +418,7 @@ func (m *InterchainAccountPacketData) Unmarshal(dAtA []byte) error { var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { - return ErrIntOverflowTypes + return ErrIntOverflowPacket } if iNdEx >= l { return io.ErrUnexpectedEOF @@ -432,11 +432,11 @@ func (m *InterchainAccountPacketData) Unmarshal(dAtA []byte) error { } intStringLen := int(stringLen) if intStringLen < 0 { - return ErrInvalidLengthTypes + return ErrInvalidLengthPacket } postIndex := iNdEx + intStringLen if postIndex < 0 { - return ErrInvalidLengthTypes + return ErrInvalidLengthPacket } if postIndex > l { return io.ErrUnexpectedEOF @@ -445,12 +445,12 @@ func (m *InterchainAccountPacketData) Unmarshal(dAtA []byte) error { iNdEx = postIndex default: iNdEx = preIndex - skippy, err := skipTypes(dAtA[iNdEx:]) + skippy, err := skipPacket(dAtA[iNdEx:]) if err != nil { return err } if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthTypes + return ErrInvalidLengthPacket } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF @@ -472,7 +472,7 @@ func (m *CosmosTx) Unmarshal(dAtA []byte) error { var wire uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { - return ErrIntOverflowTypes + return ErrIntOverflowPacket } if iNdEx >= l { return io.ErrUnexpectedEOF @@ -500,7 +500,7 @@ func (m *CosmosTx) Unmarshal(dAtA []byte) error { var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { - return ErrIntOverflowTypes + return ErrIntOverflowPacket } if iNdEx >= l { return io.ErrUnexpectedEOF @@ -513,11 +513,11 @@ func (m *CosmosTx) Unmarshal(dAtA []byte) error { } } if msglen < 0 { - return ErrInvalidLengthTypes + return ErrInvalidLengthPacket } postIndex := iNdEx + msglen if postIndex < 0 { - return ErrInvalidLengthTypes + return ErrInvalidLengthPacket } if postIndex > l { return io.ErrUnexpectedEOF @@ -529,12 +529,12 @@ func (m *CosmosTx) Unmarshal(dAtA []byte) error { iNdEx = postIndex default: iNdEx = preIndex - skippy, err := skipTypes(dAtA[iNdEx:]) + skippy, err := skipPacket(dAtA[iNdEx:]) if err != nil { return err } if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthTypes + return ErrInvalidLengthPacket } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF @@ -548,7 +548,7 @@ func (m *CosmosTx) Unmarshal(dAtA []byte) error { } return nil } -func skipTypes(dAtA []byte) (n int, err error) { +func skipPacket(dAtA []byte) (n int, err error) { l := len(dAtA) iNdEx := 0 depth := 0 @@ -556,7 +556,7 @@ func skipTypes(dAtA []byte) (n int, err error) { var wire uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { - return 0, ErrIntOverflowTypes + return 0, ErrIntOverflowPacket } if iNdEx >= l { return 0, io.ErrUnexpectedEOF @@ -573,7 +573,7 @@ func skipTypes(dAtA []byte) (n int, err error) { case 0: for shift := uint(0); ; shift += 7 { if shift >= 64 { - return 0, ErrIntOverflowTypes + return 0, ErrIntOverflowPacket } if iNdEx >= l { return 0, io.ErrUnexpectedEOF @@ -589,7 +589,7 @@ func skipTypes(dAtA []byte) (n int, err error) { var length int for shift := uint(0); ; shift += 7 { if shift >= 64 { - return 0, ErrIntOverflowTypes + return 0, ErrIntOverflowPacket } if iNdEx >= l { return 0, io.ErrUnexpectedEOF @@ -602,14 +602,14 @@ func skipTypes(dAtA []byte) (n int, err error) { } } if length < 0 { - return 0, ErrInvalidLengthTypes + return 0, ErrInvalidLengthPacket } iNdEx += length case 3: depth++ case 4: if depth == 0 { - return 0, ErrUnexpectedEndOfGroupTypes + return 0, ErrUnexpectedEndOfGroupPacket } depth-- case 5: @@ -618,7 +618,7 @@ func skipTypes(dAtA []byte) (n int, err error) { return 0, fmt.Errorf("proto: illegal wireType %d", wireType) } if iNdEx < 0 { - return 0, ErrInvalidLengthTypes + return 0, ErrInvalidLengthPacket } if depth == 0 { return iNdEx, nil @@ -628,7 +628,7 @@ func skipTypes(dAtA []byte) (n int, err error) { } var ( - ErrInvalidLengthTypes = fmt.Errorf("proto: negative length found during unmarshaling") - ErrIntOverflowTypes = fmt.Errorf("proto: integer overflow") - ErrUnexpectedEndOfGroupTypes = fmt.Errorf("proto: unexpected end of group") + ErrInvalidLengthPacket = fmt.Errorf("proto: negative length found during unmarshaling") + ErrIntOverflowPacket = fmt.Errorf("proto: integer overflow") + ErrUnexpectedEndOfGroupPacket = fmt.Errorf("proto: unexpected end of group") ) diff --git a/proto/ibc/applications/interchain_accounts/v1/types.proto b/proto/ibc/applications/interchain_accounts/v1/packet.proto similarity index 100% rename from proto/ibc/applications/interchain_accounts/v1/types.proto rename to proto/ibc/applications/interchain_accounts/v1/packet.proto From 24e512ff28fec19ced808ed0f2948f308c725b52 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?colin=20axn=C3=A9r?= <25233464+colin-axner@users.noreply.github.com> Date: Fri, 10 Dec 2021 12:21:01 +0100 Subject: [PATCH 068/107] remove unnecessary AccountKeeper field in controller submodule of interchain accounts (#618) --- .../apps/27-interchain-accounts/controller/keeper/keeper.go | 4 +--- testing/simapp/app.go | 2 +- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/modules/apps/27-interchain-accounts/controller/keeper/keeper.go b/modules/apps/27-interchain-accounts/controller/keeper/keeper.go index 5fa49fd2d89..855b2a2de5d 100644 --- a/modules/apps/27-interchain-accounts/controller/keeper/keeper.go +++ b/modules/apps/27-interchain-accounts/controller/keeper/keeper.go @@ -26,7 +26,6 @@ type Keeper struct { ics4Wrapper icatypes.ICS4Wrapper channelKeeper icatypes.ChannelKeeper portKeeper icatypes.PortKeeper - accountKeeper icatypes.AccountKeeper scopedKeeper capabilitykeeper.ScopedKeeper @@ -37,7 +36,7 @@ type Keeper struct { func NewKeeper( cdc codec.BinaryCodec, key sdk.StoreKey, paramSpace paramtypes.Subspace, ics4Wrapper icatypes.ICS4Wrapper, channelKeeper icatypes.ChannelKeeper, portKeeper icatypes.PortKeeper, - accountKeeper icatypes.AccountKeeper, scopedKeeper capabilitykeeper.ScopedKeeper, msgRouter *baseapp.MsgServiceRouter, + scopedKeeper capabilitykeeper.ScopedKeeper, msgRouter *baseapp.MsgServiceRouter, ) Keeper { // set KeyTable if it has not already been set @@ -52,7 +51,6 @@ func NewKeeper( ics4Wrapper: ics4Wrapper, channelKeeper: channelKeeper, portKeeper: portKeeper, - accountKeeper: accountKeeper, scopedKeeper: scopedKeeper, msgRouter: msgRouter, } diff --git a/testing/simapp/app.go b/testing/simapp/app.go index 562ebe5cc12..b5e7751b513 100644 --- a/testing/simapp/app.go +++ b/testing/simapp/app.go @@ -356,7 +356,7 @@ func NewSimApp( appCodec, keys[icacontrollertypes.StoreKey], app.GetSubspace(icacontrollertypes.SubModuleName), app.IBCKeeper.ChannelKeeper, // may be replaced with middleware such as ics29 fee app.IBCKeeper.ChannelKeeper, &app.IBCKeeper.PortKeeper, - app.AccountKeeper, scopedICAControllerKeeper, app.MsgServiceRouter(), + scopedICAControllerKeeper, app.MsgServiceRouter(), ) app.ICAHostKeeper = icahostkeeper.NewKeeper( From 3b38056bf73a0196e2e9c62ca5e1a5e9d4b7337b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?colin=20axn=C3=A9r?= <25233464+colin-axner@users.noreply.github.com> Date: Mon, 13 Dec 2021 16:32:09 +0100 Subject: [PATCH 069/107] add app.go integration docs for interchain accounts (#619) * add integration docs for interchain accounts * Update docs/app_modules/interchain-accounts/integration.md Co-authored-by: Damian Nolan * Update docs/app_modules/interchain-accounts/integration.md Co-authored-by: Carlos Rodriguez * fix alignment Co-authored-by: Damian Nolan Co-authored-by: Carlos Rodriguez --- docs/.vuepress/config.js | 22 + .../interchain-accounts/integration.md | 129 ++++ .../interchain-accounts/overview.md | 5 + docs/package-lock.json | 676 ++++-------------- 4 files changed, 307 insertions(+), 525 deletions(-) create mode 100644 docs/app_modules/interchain-accounts/integration.md create mode 100644 docs/app_modules/interchain-accounts/overview.md diff --git a/docs/.vuepress/config.js b/docs/.vuepress/config.js index 48a29d1720a..1adb370da14 100644 --- a/docs/.vuepress/config.js +++ b/docs/.vuepress/config.js @@ -98,6 +98,28 @@ module.exports = { }, ] }, + { + title: "IBC Application Modules", + children: [ + { + title: "Interchain Accounts", + directory: true, + path: "/app_modules", + children: [ + { + title: "Overview", + directory: false, + path: "/app_modules/interchain-accounts/overview.html" + }, + { + title: "Integration", + directory: false, + path: "/app_modules/interchain-accounts/integration.html" + }, + ] + }, + ] + }, { title: "Migrations", children: [ diff --git a/docs/app_modules/interchain-accounts/integration.md b/docs/app_modules/interchain-accounts/integration.md new file mode 100644 index 00000000000..c5959f2a4e4 --- /dev/null +++ b/docs/app_modules/interchain-accounts/integration.md @@ -0,0 +1,129 @@ + + +# Integrating Interchain Accounts into a Chain + +Learn how to integrate Interchain Accounts host and controller functionality to your chain. The following document only applies for Cosmos SDK chains. + +The Interchain Accounts module contains two submodules. Each submodule has its own IBC application. The Interchain Accounts module should be registered as an `AppModule` in the same way all SDK modules are registered on a chain, but each submodule should create its own `IBCModule` as necessary. A route should be added to the IBC router for each submodule which will be used. + +Chains who wish to support ICS27 may elect to act as a host chain, a controller chain or both. Disabling host or controller functionality may be done statically by excluding the host or controller module entirely from the `app.go` file or it may be done dynamically by taking advantage of the on-chain parameters which enable or disable the host or controller submodules. + +Interchain Account authentication modules are the base application of a middleware stack. The controller submodule is the middleware in this stack. + + +### Example integration + +```go +// app.go + +// Register the AppModule for the Interchain Accounts module and the authentication module +// Note: No `icaauth` exists, this must be substituted with an actual Interchain Accounts authentication module +ModuleBasics = module.NewBasicManager( + ... + ica.AppModuleBasic{}, + icaauth.AppModuleBasic{}, + ... +) + +... + +// Add module account permissions for the Interchain Accounts module +// Only necessary for host chain functionality +// Each Interchain Account created on the host chain is derived from the module account created +maccPerms = map[string][]string{ + ... + icatypes.ModuleName: nil, +} + +... + +// Add Interchain Accounts Keepers for each submodule used and the authentication module +// If a submodule is being statically disabled, the associated Keeper does not need to be added. +type App struct { + ... + + ICAControllerKeeper icacontrollerkeeper.Keeper + ICAHostKeeper icahostkeeper.Keeper + ICAAuthKeeper icaauthkeeper.Keeper + + ... +} + +... + +// Create store keys for each submodule Keeper and the authentication module +keys := sdk.NewKVStoreKeys( + ... + icacontrollertypes.StoreKey, + icahosttypes.StoreKey, + icaauthtypes.StoreKey, + ... +) + +... + +// Create the scoped keepers for each submodule keeper and authentication keeper +scopedICAControllerKeeper := app.CapabilityKeeper.ScopeToModule(icacontrollertypes.SubModuleName) +scopedICAHostKeeper := app.CapabilityKeeper.ScopeToModule(icahosttypes.SubModuleName) +scopedICAAuthKeeper := app.CapabilityKeeper.ScopeToModule(icaauthtypes.ModuleName) + +... + +// Create the Keeper for each submodule +app.ICAControllerKeeper = icacontrollerkeeper.NewKeeper( + appCodec, keys[icacontrollertypes.StoreKey], app.GetSubspace(icacontrollertypes.SubModuleName), + app.IBCKeeper.ChannelKeeper, // may be replaced with middleware such as ics29 fee + app.IBCKeeper.ChannelKeeper, &app.IBCKeeper.PortKeeper, + app.AccountKeeper, scopedICAControllerKeeper, app.MsgServiceRouter(), +) +app.ICAHostKeeper = icahostkeeper.NewKeeper( + appCodec, keys[icahosttypes.StoreKey], app.GetSubspace(icahosttypes.SubModuleName), + app.IBCKeeper.ChannelKeeper, &app.IBCKeeper.PortKeeper, + app.AccountKeeper, scopedICAHostKeeper, app.MsgServiceRouter(), +) + +// Create Interchain Accounts AppModule +icaModule := ica.NewAppModule(&app.ICAControllerKeeper, &app.ICAHostKeeper) + +// Create your Interchain Accounts authentication module +app.ICAAuthKeeper = icaauthkeeper.NewKeeper(appCodec, keys[icaauthtypes.StoreKey], app.ICAControllerKeeper, scopedICAAuthKeeper) + +// ICA auth AppModule +icaAuthModule := icaauth.NewAppModule(appCodec, app.ICAAuthKeeper) + +// ICA auth IBC Module +ICAAuthIBCModule := icaauth.NewIBCModule(app.ICAAuthKeeper) + +// Create host and controller IBC Modules as desired +icaControllerIBCModule := icacontroller.NewIBCModule(app.ICAControllerKeeper, icaAuthIBCModule) +icaHostIBCModule := icahost.NewIBCModule(app.ICAHostKeeper) + +// Register host and authentication routes +ibcRouter.AddRoute(icacontrollertypes.SubModuleName, icaControllerIBCModule). + AddRoute(icahosttypes.SubModuleName, icaHostIBCModule). + AddRoute(icaauthtypes.ModuleName, icaControllerIBCModule) // Note, the authentication module is routed to the top level of the middleware stack + +... + +// Register Interchain Accounts and authentication module AppModule's +app.moduleManager = module.NewManager( + ... + icaModule, + icaAuthModule, +) + +... + +// Add Interchain Accounts module InitGenesis logic +app.mm.SetOrderInitGenesis( + ... + icatypes.ModuleName, + ... +) +``` + +### Interchain Accounts on-chain parameters + +#### Example Initialization of parameters diff --git a/docs/app_modules/interchain-accounts/overview.md b/docs/app_modules/interchain-accounts/overview.md new file mode 100644 index 00000000000..9f8983c55bb --- /dev/null +++ b/docs/app_modules/interchain-accounts/overview.md @@ -0,0 +1,5 @@ + + + diff --git a/docs/package-lock.json b/docs/package-lock.json index 5e6b7b1c547..b921c516323 100644 --- a/docs/package-lock.json +++ b/docs/package-lock.json @@ -2217,56 +2217,11 @@ "integrity": "sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM=" }, "node_modules/ansi-align": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.0.tgz", - "integrity": "sha512-ZpClVKqXN3RGBmKibdfWzqCY4lnjEuoNzU5T0oEFpfd/z5qJHVarukridD4juLO2FXMiwUQxr9WqQtaYa8XRYw==", - "dependencies": { - "string-width": "^3.0.0" - } - }, - "node_modules/ansi-align/node_modules/ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", - "engines": { - "node": ">=6" - } - }, - "node_modules/ansi-align/node_modules/emoji-regex": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", - "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==" - }, - "node_modules/ansi-align/node_modules/is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "engines": { - "node": ">=4" - } - }, - "node_modules/ansi-align/node_modules/string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", - "dependencies": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/ansi-align/node_modules/strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.1.tgz", + "integrity": "sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==", "dependencies": { - "ansi-regex": "^4.1.0" - }, - "engines": { - "node": ">=6" + "string-width": "^4.1.0" } }, "node_modules/ansi-colors": { @@ -2302,10 +2257,10 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/ansi-html": { - "version": "0.0.7", - "resolved": "https://registry.npmjs.org/ansi-html/-/ansi-html-0.0.7.tgz", - "integrity": "sha1-gTWEAhliqenm/QOflA0S9WynhZ4=", + "node_modules/ansi-html-community": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/ansi-html-community/-/ansi-html-community-0.0.8.tgz", + "integrity": "sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==", "engines": [ "node >= 0.8.0" ], @@ -2314,9 +2269,9 @@ } }, "node_modules/ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", "engines": { "node": ">=8" } @@ -2570,11 +2525,11 @@ "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==" }, "node_modules/axios": { - "version": "0.21.1", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.1.tgz", - "integrity": "sha512-dKQiRHxGD9PPRIUNIWvZhPTPpl1rf/OxTYKsqKUDjBwYylTvV7SjSHJb9ratfyzM6wCdLCOYLzs73qpg5c4iGA==", + "version": "0.21.4", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.4.tgz", + "integrity": "sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==", "dependencies": { - "follow-redirects": "^1.10.0" + "follow-redirects": "^1.14.0" } }, "node_modules/babel-loader": { @@ -3321,9 +3276,9 @@ } }, "node_modules/cacheable-request/node_modules/normalize-url": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-4.5.0.tgz", - "integrity": "sha512-2s47yzUxdexf1OhyRi4Em83iQk0aPvwTddtFz4hnSSw9dCEsLEGf6SwIO8ss/19S9iBb5sJaOuTvTGDeZI00BQ==", + "version": "4.5.1", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-4.5.1.tgz", + "integrity": "sha512-9UZCFRHQdNrfTpGg8+1INIg93B6zE0aXMVFkw1WFwvO4SlZywU6aLg5Of0Ap/PgcbSw4LNxvMWXMeugwMCX0AA==", "engines": { "node": ">=8" } @@ -3637,17 +3592,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/clipboard": { - "version": "2.0.8", - "resolved": "https://registry.npmjs.org/clipboard/-/clipboard-2.0.8.tgz", - "integrity": "sha512-Y6WO0unAIQp5bLmk1zdThRhgJt/x3ks6f30s3oE3H1mgIEU33XyQjEf8gsf6DxC7NPX8Y1SsNWjUjL/ywLnnbQ==", - "optional": true, - "dependencies": { - "good-listener": "^1.2.2", - "select": "^1.1.2", - "tiny-emitter": "^2.0.0" - } - }, "node_modules/clipboard-copy": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/clipboard-copy/-/clipboard-copy-3.2.0.tgz", @@ -4391,9 +4335,9 @@ } }, "node_modules/css-select": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.1.2.tgz", - "integrity": "sha512-nu5ye2Hg/4ISq4XqdLY2bEatAcLIdt3OYGFc9Tm9n7VSlFBcfRv0gBNksHRgSdUDQGtN3XrZ94ztW+NfzkFSUw==", + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.1.3.tgz", + "integrity": "sha512-gT3wBNd9Nj49rAbmtFHj1cljIAOLYSX1nZ8CB7TBO3INYckygm5B7LISU/szY//YmdiSLbJvDLOx9VnMVpMBxA==", "dependencies": { "boolbase": "^1.0.0", "css-what": "^5.0.0", @@ -4431,9 +4375,9 @@ } }, "node_modules/css-what": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-5.0.0.tgz", - "integrity": "sha512-qxyKHQvgKwzwDWC/rGbT821eJalfupxYW2qbSJSAtdSTimsr/MlaGONoNLllaUPZWf8QnbcKM/kPVYUQuEKAFA==", + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-5.1.0.tgz", + "integrity": "sha512-arSMRWIIFY0hV8pIxZMEfmMI47Wj3R/aWpZDDxWYCPEiOMv6tfOrnpDtgxBYPEQD4V0Y/958+1TdC3iWTFcUPw==", "engines": { "node": ">= 6" }, @@ -4761,12 +4705,6 @@ "node": ">=0.4.0" } }, - "node_modules/delegate": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/delegate/-/delegate-3.2.0.tgz", - "integrity": "sha512-IofjkYBZaZivn0V8nnsMJGBr4jVLxHDheKSW88PyxS5QC4Vo9ZbZVvhzlSxY87fVq3STR6r+4cGepyHkcWOQSw==", - "optional": true - }, "node_modules/depd": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", @@ -4826,9 +4764,9 @@ "integrity": "sha1-s55/HabrCnW6nBcySzR1PEfgZU0=" }, "node_modules/dns-packet": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-1.3.1.tgz", - "integrity": "sha512-0UxfQkMhYAUaZI+xrNZOz/as5KgDU0M/fQ9b6SpkyLbk3GEswDi6PADJVaYJradtRVsRIlF1zLyOodbcTCDzUg==", + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-1.3.4.tgz", + "integrity": "sha512-BQ6F4vycLXBvdrJZ6S3gZewt6rcrks9KBgM9vrhW+knGRqc8uEdT7fuCwloc7nny5xNoMJ17HGH0R/6fpo8ECA==", "dependencies": { "ip": "^1.1.0", "safe-buffer": "^5.0.1" @@ -6008,15 +5946,6 @@ "node": ">=6" } }, - "node_modules/good-listener": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/good-listener/-/good-listener-1.2.2.tgz", - "integrity": "sha1-1TswzfkxPf+33JoNR3CWqm0UXFA=", - "optional": true, - "dependencies": { - "delegate": "^3.1.2" - } - }, "node_modules/got": { "version": "9.6.0", "resolved": "https://registry.npmjs.org/got/-/got-9.6.0.tgz", @@ -7201,9 +7130,9 @@ "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==" }, "node_modules/json-schema": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", - "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=" + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", + "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==" }, "node_modules/json-schema-traverse": { "version": "0.4.1", @@ -7248,17 +7177,17 @@ } }, "node_modules/jsprim": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", - "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", - "engines": [ - "node >=0.6.0" - ], + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.2.tgz", + "integrity": "sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==", "dependencies": { "assert-plus": "1.0.0", "extsprintf": "1.3.0", - "json-schema": "0.2.3", + "json-schema": "0.4.0", "verror": "1.10.0" + }, + "engines": { + "node": ">=0.6.0" } }, "node_modules/jstransformer": { @@ -8097,9 +8026,9 @@ "integrity": "sha1-y480xTIT2JVyP8urkH6UIq28r7E=" }, "node_modules/nth-check": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.0.0.tgz", - "integrity": "sha512-i4sc/Kj8htBrAiH1viZ0TgU8Y5XqCaV/FziYK6TBczxmeKm3AEFWqqF3195yKudrarqy7Zu80Ra5dobFjn9X/Q==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.0.1.tgz", + "integrity": "sha512-it1vE95zF6dTT9lBsYbxvqh0Soy4SPowchj0UBGj/V6cTPnXXtQOPUbhZ6CmGzAD/rW22LQK6E96pcdJXk4A4w==", "dependencies": { "boolbase": "^1.0.0" }, @@ -8361,9 +8290,9 @@ } }, "node_modules/optimize-css-assets-webpack-plugin": { - "version": "5.0.4", - "resolved": "https://registry.npmjs.org/optimize-css-assets-webpack-plugin/-/optimize-css-assets-webpack-plugin-5.0.4.tgz", - "integrity": "sha512-wqd6FdI2a5/FdoiCNNkEvLeA//lHHfG24Ln2Xm2qqdIk4aOlsR18jwpyOihqQ8849W3qu2DX8fOYxpvTMj+93A==", + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/optimize-css-assets-webpack-plugin/-/optimize-css-assets-webpack-plugin-5.0.8.tgz", + "integrity": "sha512-mgFS1JdOtEGzD8l+EuISqL57cKO+We9GcoiQEmdCWRqqck+FGNmYJtx9qfAPzEz+lRrlThWMuGDaRkI/yWNx/Q==", "dependencies": { "cssnano": "^4.1.10", "last-call-webpack-plugin": "^3.0.0" @@ -8583,9 +8512,9 @@ } }, "node_modules/path-parse": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", - "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==" + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" }, "node_modules/path-to-regexp": { "version": "0.1.7", @@ -8631,6 +8560,11 @@ "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=" }, + "node_modules/picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==" + }, "node_modules/picomatch": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.0.tgz", @@ -8727,13 +8661,12 @@ } }, "node_modules/postcss": { - "version": "7.0.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", "dependencies": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" + "picocolors": "^0.2.1", + "source-map": "^0.6.1" }, "engines": { "node": ">=6.0.0" @@ -9342,17 +9275,6 @@ "node": ">=0.10.0" } }, - "node_modules/postcss/node_modules/supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, "node_modules/prepend-http": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz", @@ -9391,12 +9313,9 @@ } }, "node_modules/prismjs": { - "version": "1.23.0", - "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.23.0.tgz", - "integrity": "sha512-c29LVsqOaLbBHuIbsTxaKENh1N2EQBOHaWv7gkHN4dgRbxSREqDnDbtFJYdpPauS4YCplMSNCABQ6Eeor69bAA==", - "optionalDependencies": { - "clipboard": "^2.0.0" - } + "version": "1.25.0", + "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.25.0.tgz", + "integrity": "sha512-WCjJHl1KEWbnkQom1+SzftbtXMKQoezOCYs5rECqMN+jP+apI7ftoflyqigqzopSO3hMhTEb0mFClA8lkolgEg==" }, "node_modules/process": { "version": "0.11.10", @@ -9941,15 +9860,15 @@ "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=" }, "node_modules/renderkid": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-2.0.5.tgz", - "integrity": "sha512-ccqoLg+HLOHq1vdfYNm4TBeaCDIi1FLt3wGojTDSvdewUv65oTmI3cnT2E4hRjl1gzKZIPK+KZrXzlUYKnR+vQ==", + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-2.0.7.tgz", + "integrity": "sha512-oCcFyxaMrKsKcTY59qnCAtmDVSLfPbrv6A3tVbPdFMMrv5jaK10V6m40cKsoPNhAqN6rmHW9sswW4o3ruSrwUQ==", "dependencies": { - "css-select": "^2.0.2", - "dom-converter": "^0.2", - "htmlparser2": "^3.10.1", - "lodash": "^4.17.20", - "strip-ansi": "^3.0.0" + "css-select": "^4.1.3", + "dom-converter": "^0.2.0", + "htmlparser2": "^6.1.0", + "lodash": "^4.17.21", + "strip-ansi": "^3.0.1" } }, "node_modules/renderkid/node_modules/ansi-regex": { @@ -9960,108 +9879,6 @@ "node": ">=0.10.0" } }, - "node_modules/renderkid/node_modules/css-select": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-2.1.0.tgz", - "integrity": "sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ==", - "dependencies": { - "boolbase": "^1.0.0", - "css-what": "^3.2.1", - "domutils": "^1.7.0", - "nth-check": "^1.0.2" - } - }, - "node_modules/renderkid/node_modules/css-what": { - "version": "3.4.2", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-3.4.2.tgz", - "integrity": "sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ==", - "engines": { - "node": ">= 6" - }, - "funding": { - "url": "https://github.com/sponsors/fb55" - } - }, - "node_modules/renderkid/node_modules/dom-serializer": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz", - "integrity": "sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==", - "dependencies": { - "domelementtype": "^2.0.1", - "entities": "^2.0.0" - } - }, - "node_modules/renderkid/node_modules/domhandler": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.4.2.tgz", - "integrity": "sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==", - "dependencies": { - "domelementtype": "1" - } - }, - "node_modules/renderkid/node_modules/domhandler/node_modules/domelementtype": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz", - "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==" - }, - "node_modules/renderkid/node_modules/domutils": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz", - "integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==", - "dependencies": { - "dom-serializer": "0", - "domelementtype": "1" - } - }, - "node_modules/renderkid/node_modules/domutils/node_modules/domelementtype": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz", - "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==" - }, - "node_modules/renderkid/node_modules/htmlparser2": { - "version": "3.10.1", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.10.1.tgz", - "integrity": "sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ==", - "dependencies": { - "domelementtype": "^1.3.1", - "domhandler": "^2.3.0", - "domutils": "^1.5.1", - "entities": "^1.1.1", - "inherits": "^2.0.1", - "readable-stream": "^3.1.1" - } - }, - "node_modules/renderkid/node_modules/htmlparser2/node_modules/domelementtype": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz", - "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==" - }, - "node_modules/renderkid/node_modules/htmlparser2/node_modules/entities": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz", - "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==" - }, - "node_modules/renderkid/node_modules/nth-check": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz", - "integrity": "sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==", - "dependencies": { - "boolbase": "~1.0.0" - } - }, - "node_modules/renderkid/node_modules/readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, "node_modules/renderkid/node_modules/strip-ansi": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", @@ -10289,12 +10106,6 @@ "node": ">=4" } }, - "node_modules/select": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/select/-/select-1.1.2.tgz", - "integrity": "sha1-DnNQrN7ICxEIUoeG7B1EGNEbOW0=", - "optional": true - }, "node_modules/select-hose": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", @@ -11578,12 +11389,6 @@ "resolved": "https://registry.npmjs.org/tiny-cookie/-/tiny-cookie-2.3.2.tgz", "integrity": "sha512-qbymkVh+6+Gc/c9sqnvbG+dOHH6bschjphK3SHgIfT6h/t+63GBL37JXNoXEc6u/+BcwU6XmaWUuf19ouLVtPg==" }, - "node_modules/tiny-emitter": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/tiny-emitter/-/tiny-emitter-2.1.0.tgz", - "integrity": "sha512-NB6Dk1A9xgQPMoGqC5CVXn123gWyte215ONT5Pp5a0yt4nlEoO1ZWeCwpncaekPHXO60i47ihFnZPiRPjRMq4Q==", - "optional": true - }, "node_modules/to-arraybuffer": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz", @@ -12131,9 +11936,9 @@ } }, "node_modules/url-parse": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.1.tgz", - "integrity": "sha512-HOfCOUJt7iSYzEx/UqgtwKRMC6EU91NFhsCHMv9oM03VJcVo2Qrp8T8kI9D7amFf1cu+/3CEhgb3rF9zL7k85Q==", + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.3.tgz", + "integrity": "sha512-IIORyIQD9rvj0A4CLWsHkBBJuNqWpFQe224b6j9t/ABmquIS0qDU2pY6kl6AuOrL5OkCXHMCFNe1jBcuAggjvQ==", "dependencies": { "querystringify": "^2.1.1", "requires-port": "^1.0.0" @@ -12698,11 +12503,11 @@ } }, "node_modules/webpack-dev-server": { - "version": "3.11.2", - "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-3.11.2.tgz", - "integrity": "sha512-A80BkuHRQfCiNtGBS1EMf2ChTUs0x+B3wGDFmOeT4rmJOHhHTCH2naNxIHhmkr0/UillP4U3yeIyv1pNp+QDLQ==", + "version": "3.11.3", + "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-3.11.3.tgz", + "integrity": "sha512-3x31rjbEQWKMNzacUZRE6wXvUFuGpH7vr0lIEbYpMAG9BOxi0928QU1BBswOAP3kg3H1O4hiS+sq4YyAn6ANnA==", "dependencies": { - "ansi-html": "0.0.7", + "ansi-html-community": "0.0.8", "bonjour": "^3.5.0", "chokidar": "^2.1.8", "compression": "^1.7.4", @@ -13241,9 +13046,9 @@ } }, "node_modules/ws": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.1.tgz", - "integrity": "sha512-GIyAXC2cB7LjvpgMt9EKS2ldqr0MTrORaleiOno6TweZ6r3TKtoFQWay/2PceJ3RuBasOHzXNn5Lrw1X0bEjqA==", + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.2.tgz", + "integrity": "sha512-zmhltoSR8u1cnDsD43TX59mzoMZsLKqUweyYBAIvTngR3shc0W6aOZylZmq/7hqyVxPdi+5Ud2QInblgyE72fw==", "dependencies": { "async-limiter": "~1.0.0" } @@ -15278,46 +15083,11 @@ "integrity": "sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM=" }, "ansi-align": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.0.tgz", - "integrity": "sha512-ZpClVKqXN3RGBmKibdfWzqCY4lnjEuoNzU5T0oEFpfd/z5qJHVarukridD4juLO2FXMiwUQxr9WqQtaYa8XRYw==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.1.tgz", + "integrity": "sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==", "requires": { - "string-width": "^3.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==" - }, - "emoji-regex": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", - "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==" - }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=" - }, - "string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", - "requires": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - } - }, - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "requires": { - "ansi-regex": "^4.1.0" - } - } + "string-width": "^4.1.0" } }, "ansi-colors": { @@ -15340,15 +15110,15 @@ } } }, - "ansi-html": { - "version": "0.0.7", - "resolved": "https://registry.npmjs.org/ansi-html/-/ansi-html-0.0.7.tgz", - "integrity": "sha1-gTWEAhliqenm/QOflA0S9WynhZ4=" + "ansi-html-community": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/ansi-html-community/-/ansi-html-community-0.0.8.tgz", + "integrity": "sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==" }, "ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==" + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" }, "ansi-styles": { "version": "3.2.1", @@ -15559,11 +15329,11 @@ "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==" }, "axios": { - "version": "0.21.1", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.1.tgz", - "integrity": "sha512-dKQiRHxGD9PPRIUNIWvZhPTPpl1rf/OxTYKsqKUDjBwYylTvV7SjSHJb9ratfyzM6wCdLCOYLzs73qpg5c4iGA==", + "version": "0.21.4", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.4.tgz", + "integrity": "sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==", "requires": { - "follow-redirects": "^1.10.0" + "follow-redirects": "^1.14.0" } }, "babel-loader": { @@ -16151,9 +15921,9 @@ "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==" }, "normalize-url": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-4.5.0.tgz", - "integrity": "sha512-2s47yzUxdexf1OhyRi4Em83iQk0aPvwTddtFz4hnSSw9dCEsLEGf6SwIO8ss/19S9iBb5sJaOuTvTGDeZI00BQ==" + "version": "4.5.1", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-4.5.1.tgz", + "integrity": "sha512-9UZCFRHQdNrfTpGg8+1INIg93B6zE0aXMVFkw1WFwvO4SlZywU6aLg5Of0Ap/PgcbSw4LNxvMWXMeugwMCX0AA==" } } }, @@ -16405,17 +16175,6 @@ "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-2.2.1.tgz", "integrity": "sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw==" }, - "clipboard": { - "version": "2.0.8", - "resolved": "https://registry.npmjs.org/clipboard/-/clipboard-2.0.8.tgz", - "integrity": "sha512-Y6WO0unAIQp5bLmk1zdThRhgJt/x3ks6f30s3oE3H1mgIEU33XyQjEf8gsf6DxC7NPX8Y1SsNWjUjL/ywLnnbQ==", - "optional": true, - "requires": { - "good-listener": "^1.2.2", - "select": "^1.1.2", - "tiny-emitter": "^2.0.0" - } - }, "clipboard-copy": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/clipboard-copy/-/clipboard-copy-3.2.0.tgz", @@ -17023,9 +16782,9 @@ } }, "css-select": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.1.2.tgz", - "integrity": "sha512-nu5ye2Hg/4ISq4XqdLY2bEatAcLIdt3OYGFc9Tm9n7VSlFBcfRv0gBNksHRgSdUDQGtN3XrZ94ztW+NfzkFSUw==", + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.1.3.tgz", + "integrity": "sha512-gT3wBNd9Nj49rAbmtFHj1cljIAOLYSX1nZ8CB7TBO3INYckygm5B7LISU/szY//YmdiSLbJvDLOx9VnMVpMBxA==", "requires": { "boolbase": "^1.0.0", "css-what": "^5.0.0", @@ -17056,9 +16815,9 @@ } }, "css-what": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-5.0.0.tgz", - "integrity": "sha512-qxyKHQvgKwzwDWC/rGbT821eJalfupxYW2qbSJSAtdSTimsr/MlaGONoNLllaUPZWf8QnbcKM/kPVYUQuEKAFA==" + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-5.1.0.tgz", + "integrity": "sha512-arSMRWIIFY0hV8pIxZMEfmMI47Wj3R/aWpZDDxWYCPEiOMv6tfOrnpDtgxBYPEQD4V0Y/958+1TdC3iWTFcUPw==" }, "cssesc": { "version": "3.0.0", @@ -17303,12 +17062,6 @@ "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=" }, - "delegate": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/delegate/-/delegate-3.2.0.tgz", - "integrity": "sha512-IofjkYBZaZivn0V8nnsMJGBr4jVLxHDheKSW88PyxS5QC4Vo9ZbZVvhzlSxY87fVq3STR6r+4cGepyHkcWOQSw==", - "optional": true - }, "depd": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", @@ -17364,9 +17117,9 @@ "integrity": "sha1-s55/HabrCnW6nBcySzR1PEfgZU0=" }, "dns-packet": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-1.3.1.tgz", - "integrity": "sha512-0UxfQkMhYAUaZI+xrNZOz/as5KgDU0M/fQ9b6SpkyLbk3GEswDi6PADJVaYJradtRVsRIlF1zLyOodbcTCDzUg==", + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-1.3.4.tgz", + "integrity": "sha512-BQ6F4vycLXBvdrJZ6S3gZewt6rcrks9KBgM9vrhW+knGRqc8uEdT7fuCwloc7nny5xNoMJ17HGH0R/6fpo8ECA==", "requires": { "ip": "^1.1.0", "safe-buffer": "^5.0.1" @@ -18289,15 +18042,6 @@ "slash": "^2.0.0" } }, - "good-listener": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/good-listener/-/good-listener-1.2.2.tgz", - "integrity": "sha1-1TswzfkxPf+33JoNR3CWqm0UXFA=", - "optional": true, - "requires": { - "delegate": "^3.1.2" - } - }, "got": { "version": "9.6.0", "resolved": "https://registry.npmjs.org/got/-/got-9.6.0.tgz", @@ -19177,9 +18921,9 @@ "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==" }, "json-schema": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", - "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=" + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", + "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==" }, "json-schema-traverse": { "version": "0.4.1", @@ -19221,13 +18965,13 @@ } }, "jsprim": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", - "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.2.tgz", + "integrity": "sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==", "requires": { "assert-plus": "1.0.0", "extsprintf": "1.3.0", - "json-schema": "0.2.3", + "json-schema": "0.4.0", "verror": "1.10.0" } }, @@ -19926,9 +19670,9 @@ "integrity": "sha1-y480xTIT2JVyP8urkH6UIq28r7E=" }, "nth-check": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.0.0.tgz", - "integrity": "sha512-i4sc/Kj8htBrAiH1viZ0TgU8Y5XqCaV/FziYK6TBczxmeKm3AEFWqqF3195yKudrarqy7Zu80Ra5dobFjn9X/Q==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.0.1.tgz", + "integrity": "sha512-it1vE95zF6dTT9lBsYbxvqh0Soy4SPowchj0UBGj/V6cTPnXXtQOPUbhZ6CmGzAD/rW22LQK6E96pcdJXk4A4w==", "requires": { "boolbase": "^1.0.0" } @@ -20116,9 +19860,9 @@ } }, "optimize-css-assets-webpack-plugin": { - "version": "5.0.4", - "resolved": "https://registry.npmjs.org/optimize-css-assets-webpack-plugin/-/optimize-css-assets-webpack-plugin-5.0.4.tgz", - "integrity": "sha512-wqd6FdI2a5/FdoiCNNkEvLeA//lHHfG24Ln2Xm2qqdIk4aOlsR18jwpyOihqQ8849W3qu2DX8fOYxpvTMj+93A==", + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/optimize-css-assets-webpack-plugin/-/optimize-css-assets-webpack-plugin-5.0.8.tgz", + "integrity": "sha512-mgFS1JdOtEGzD8l+EuISqL57cKO+We9GcoiQEmdCWRqqck+FGNmYJtx9qfAPzEz+lRrlThWMuGDaRkI/yWNx/Q==", "requires": { "cssnano": "^4.1.10", "last-call-webpack-plugin": "^3.0.0" @@ -20290,9 +20034,9 @@ "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=" }, "path-parse": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", - "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==" + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" }, "path-to-regexp": { "version": "0.1.7", @@ -20331,6 +20075,11 @@ "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=" }, + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==" + }, "picomatch": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.0.tgz", @@ -20402,27 +20151,18 @@ "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=" }, "postcss": { - "version": "7.0.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", "requires": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" + "picocolors": "^0.2.1", + "source-map": "^0.6.1" }, "dependencies": { "source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - }, - "supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "requires": { - "has-flag": "^3.0.0" - } } } }, @@ -20970,12 +20710,9 @@ "integrity": "sha512-28iF6xPQrP8Oa6uxE6a1biz+lWeTOAPKggvjB8HAs6nVMKZwf5bG++632Dx614hIWgUPkgivRfG+a8uAXGTIbA==" }, "prismjs": { - "version": "1.23.0", - "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.23.0.tgz", - "integrity": "sha512-c29LVsqOaLbBHuIbsTxaKENh1N2EQBOHaWv7gkHN4dgRbxSREqDnDbtFJYdpPauS4YCplMSNCABQ6Eeor69bAA==", - "requires": { - "clipboard": "^2.0.0" - } + "version": "1.25.0", + "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.25.0.tgz", + "integrity": "sha512-WCjJHl1KEWbnkQom1+SzftbtXMKQoezOCYs5rECqMN+jP+apI7ftoflyqigqzopSO3hMhTEb0mFClA8lkolgEg==" }, "process": { "version": "0.11.10", @@ -21448,15 +21185,15 @@ "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=" }, "renderkid": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-2.0.5.tgz", - "integrity": "sha512-ccqoLg+HLOHq1vdfYNm4TBeaCDIi1FLt3wGojTDSvdewUv65oTmI3cnT2E4hRjl1gzKZIPK+KZrXzlUYKnR+vQ==", + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-2.0.7.tgz", + "integrity": "sha512-oCcFyxaMrKsKcTY59qnCAtmDVSLfPbrv6A3tVbPdFMMrv5jaK10V6m40cKsoPNhAqN6rmHW9sswW4o3ruSrwUQ==", "requires": { - "css-select": "^2.0.2", - "dom-converter": "^0.2", - "htmlparser2": "^3.10.1", - "lodash": "^4.17.20", - "strip-ansi": "^3.0.0" + "css-select": "^4.1.3", + "dom-converter": "^0.2.0", + "htmlparser2": "^6.1.0", + "lodash": "^4.17.21", + "strip-ansi": "^3.0.1" }, "dependencies": { "ansi-regex": { @@ -21464,105 +21201,6 @@ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" }, - "css-select": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-2.1.0.tgz", - "integrity": "sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ==", - "requires": { - "boolbase": "^1.0.0", - "css-what": "^3.2.1", - "domutils": "^1.7.0", - "nth-check": "^1.0.2" - } - }, - "css-what": { - "version": "3.4.2", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-3.4.2.tgz", - "integrity": "sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ==" - }, - "dom-serializer": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz", - "integrity": "sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==", - "requires": { - "domelementtype": "^2.0.1", - "entities": "^2.0.0" - } - }, - "domhandler": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.4.2.tgz", - "integrity": "sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==", - "requires": { - "domelementtype": "1" - }, - "dependencies": { - "domelementtype": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz", - "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==" - } - } - }, - "domutils": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz", - "integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==", - "requires": { - "dom-serializer": "0", - "domelementtype": "1" - }, - "dependencies": { - "domelementtype": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz", - "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==" - } - } - }, - "htmlparser2": { - "version": "3.10.1", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.10.1.tgz", - "integrity": "sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ==", - "requires": { - "domelementtype": "^1.3.1", - "domhandler": "^2.3.0", - "domutils": "^1.5.1", - "entities": "^1.1.1", - "inherits": "^2.0.1", - "readable-stream": "^3.1.1" - }, - "dependencies": { - "domelementtype": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz", - "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==" - }, - "entities": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz", - "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==" - } - } - }, - "nth-check": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz", - "integrity": "sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==", - "requires": { - "boolbase": "~1.0.0" - } - }, - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - }, "strip-ansi": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", @@ -21747,12 +21385,6 @@ "kind-of": "^6.0.0" } }, - "select": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/select/-/select-1.1.2.tgz", - "integrity": "sha1-DnNQrN7ICxEIUoeG7B1EGNEbOW0=", - "optional": true - }, "select-hose": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", @@ -22807,12 +22439,6 @@ "resolved": "https://registry.npmjs.org/tiny-cookie/-/tiny-cookie-2.3.2.tgz", "integrity": "sha512-qbymkVh+6+Gc/c9sqnvbG+dOHH6bschjphK3SHgIfT6h/t+63GBL37JXNoXEc6u/+BcwU6XmaWUuf19ouLVtPg==" }, - "tiny-emitter": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/tiny-emitter/-/tiny-emitter-2.1.0.tgz", - "integrity": "sha512-NB6Dk1A9xgQPMoGqC5CVXn123gWyte215ONT5Pp5a0yt4nlEoO1ZWeCwpncaekPHXO60i47ihFnZPiRPjRMq4Q==", - "optional": true - }, "to-arraybuffer": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz", @@ -23261,9 +22887,9 @@ } }, "url-parse": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.1.tgz", - "integrity": "sha512-HOfCOUJt7iSYzEx/UqgtwKRMC6EU91NFhsCHMv9oM03VJcVo2Qrp8T8kI9D7amFf1cu+/3CEhgb3rF9zL7k85Q==", + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.3.tgz", + "integrity": "sha512-IIORyIQD9rvj0A4CLWsHkBBJuNqWpFQe224b6j9t/ABmquIS0qDU2pY6kl6AuOrL5OkCXHMCFNe1jBcuAggjvQ==", "requires": { "querystringify": "^2.1.1", "requires-port": "^1.0.0" @@ -23838,11 +23464,11 @@ } }, "webpack-dev-server": { - "version": "3.11.2", - "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-3.11.2.tgz", - "integrity": "sha512-A80BkuHRQfCiNtGBS1EMf2ChTUs0x+B3wGDFmOeT4rmJOHhHTCH2naNxIHhmkr0/UillP4U3yeIyv1pNp+QDLQ==", + "version": "3.11.3", + "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-3.11.3.tgz", + "integrity": "sha512-3x31rjbEQWKMNzacUZRE6wXvUFuGpH7vr0lIEbYpMAG9BOxi0928QU1BBswOAP3kg3H1O4hiS+sq4YyAn6ANnA==", "requires": { - "ansi-html": "0.0.7", + "ansi-html-community": "0.0.8", "bonjour": "^3.5.0", "chokidar": "^2.1.8", "compression": "^1.7.4", @@ -24120,9 +23746,9 @@ } }, "ws": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.1.tgz", - "integrity": "sha512-GIyAXC2cB7LjvpgMt9EKS2ldqr0MTrORaleiOno6TweZ6r3TKtoFQWay/2PceJ3RuBasOHzXNn5Lrw1X0bEjqA==", + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.2.tgz", + "integrity": "sha512-zmhltoSR8u1cnDsD43TX59mzoMZsLKqUweyYBAIvTngR3shc0W6aOZylZmq/7hqyVxPdi+5Ud2QInblgyE72fw==", "requires": { "async-limiter": "~1.0.0" } From 01560bdd92867e3efa6f7e3e71ebf1d4c2885534 Mon Sep 17 00:00:00 2001 From: Damian Nolan Date: Tue, 14 Dec 2021 13:45:52 +0000 Subject: [PATCH 070/107] fix: correctly propagate sdk.Result events to the current ctx (#624) * adding ignored sdk.Results to correctly propagate events to the current context * adding inline comments for events subtleties --- .../controller/keeper/account.go | 7 ++++++- .../host/keeper/relay.go | 18 ++++++++++++++---- 2 files changed, 20 insertions(+), 5 deletions(-) diff --git a/modules/apps/27-interchain-accounts/controller/keeper/account.go b/modules/apps/27-interchain-accounts/controller/keeper/account.go index 835b6f40ddb..4e4527a8af6 100644 --- a/modules/apps/27-interchain-accounts/controller/keeper/account.go +++ b/modules/apps/27-interchain-accounts/controller/keeper/account.go @@ -32,9 +32,14 @@ func (k Keeper) InitInterchainAccount(ctx sdk.Context, connectionID, counterpart msg := channeltypes.NewMsgChannelOpenInit(portID, icatypes.VersionPrefix, channeltypes.ORDERED, []string{connectionID}, icatypes.PortID, icatypes.ModuleName) handler := k.msgRouter.Handler(msg) - if _, err := handler(ctx, msg); err != nil { + + res, err := handler(ctx, msg) + if err != nil { return err } + // NOTE: The sdk msg handler creates a new EventManager, so events must be correctly propagated back to the current context + ctx.EventManager().EmitEvents(res.GetEvents()) + return nil } diff --git a/modules/apps/27-interchain-accounts/host/keeper/relay.go b/modules/apps/27-interchain-accounts/host/keeper/relay.go index 8469ee5dac0..a499b6bc5f0 100644 --- a/modules/apps/27-interchain-accounts/host/keeper/relay.go +++ b/modules/apps/27-interchain-accounts/host/keeper/relay.go @@ -46,24 +46,34 @@ func (k Keeper) executeTx(ctx sdk.Context, sourcePort, destPort, destChannel str return err } - if _, err := k.executeMsg(cacheCtx, msg); err != nil { + if err := k.executeMsg(cacheCtx, msg); err != nil { return err } } + // NOTE: The context returned by CacheContext() creates a new EventManager, so events must be correctly propagated back to the current context + ctx.EventManager().EmitEvents(cacheCtx.EventManager().Events()) writeCache() return nil } // Attempts to get the message handler from the router and if found will then execute the message -func (k Keeper) executeMsg(ctx sdk.Context, msg sdk.Msg) (*sdk.Result, error) { +func (k Keeper) executeMsg(ctx sdk.Context, msg sdk.Msg) error { handler := k.msgRouter.Handler(msg) if handler == nil { - return nil, icatypes.ErrInvalidRoute + return icatypes.ErrInvalidRoute } - return handler(ctx, msg) + res, err := handler(ctx, msg) + if err != nil { + return err + } + + // NOTE: The sdk msg handler creates a new EventManager, so events must be correctly propagated back to the current context + ctx.EventManager().EmitEvents(res.GetEvents()) + + return nil } // OnRecvPacket handles a given interchain accounts packet on a destination host chain From 2995354e63a01c29bcbb38ae8270e93c8b5540e2 Mon Sep 17 00:00:00 2001 From: Damian Nolan Date: Wed, 15 Dec 2021 09:19:56 +0000 Subject: [PATCH 071/107] docs: adding interchain accounts params docs (#625) * adding interchain accounts params docs * adding ICS dash separation --- .../interchain-accounts/integration.md | 47 ++++++++++++++++++- 1 file changed, 45 insertions(+), 2 deletions(-) diff --git a/docs/app_modules/interchain-accounts/integration.md b/docs/app_modules/interchain-accounts/integration.md index c5959f2a4e4..d3d5c1e1734 100644 --- a/docs/app_modules/interchain-accounts/integration.md +++ b/docs/app_modules/interchain-accounts/integration.md @@ -124,6 +124,49 @@ app.mm.SetOrderInitGenesis( ) ``` -### Interchain Accounts on-chain parameters +## Parameters -#### Example Initialization of parameters +The Interchain Accounts module contains the following on-chain parameters, logically separated for each distinct submodule: + +### Controller Submodule Parameters + +| Key | Type | Default Value | +|------------------------|------|---------------| +| `ControllerEnabled` | bool | `true` | + +#### ControllerEnabled + +The `ControllerEnabled` parameter controls a chains ability to service ICS-27 controller specific logic. This includes the sending of Interchain Accounts packet data as well as the following ICS-26 callback handlers: +- `OnChanOpenInit` +- `OnChanOpenAck` +- `OnChanCloseConfirm` +- `OnAcknowledgementPacket` +- `OnTimeoutPacket` + +### Host Submodule Parameters + +| Key | Type | Default Value | +|------------------------|----------|---------------| +| `HostEnabled` | bool | `true` | +| `AllowMessages` | []string | `[]` | + +#### HostEnabled + +The `HostEnabled` parameter controls a chains ability to service ICS27 host specific logic. This includes the following ICS-26 callback handlers: +- `OnChanOpenTry` +- `OnChanOpenConfirm` +- `OnChanCloseConfirm` +- `OnRecvPacket` + +#### AllowMessages + +The `AllowMessages` parameter provides the ability for a chain to limit the types of messages or transactions that it chooses to facilitate by defining an allowlist using the Protobuf message TypeURL format. + +For example, a Cosmos SDK based chain that elects to provide hosted Interchain Accounts with the ability of governance voting and staking delegations will define its parameters as follows: + +``` +"params": { + "host_enabled": true, + "allow_messages": ["/cosmos.staking.v1beta1.MsgDelegate", "/cosmos.gov.v1beta1.MsgVote"] +} +``` \ No newline at end of file From c0277d2d288007e693209423be11b5f7dd87d49a Mon Sep 17 00:00:00 2001 From: Carlos Rodriguez Date: Wed, 15 Dec 2021 11:02:47 +0100 Subject: [PATCH 072/107] docs: add migrations from v1 to v2 and from v2 to v3 in docs site (#623) * docs: add migrations fro v1 to v2 and from v2 to v3 in docs site * docs: rename title of migration docs * docs: update title Co-authored-by: Carlos Rodriguez --- docs/.vuepress/config.js | 14 ++++++++++++-- .../{ibc-migration-043.md => sdk-to-v1.md} | 0 .../{ibc-migration-v100.md => v1-to-v2.md} | 2 +- docs/migrations/v2-to-v3.md | 2 +- 4 files changed, 14 insertions(+), 4 deletions(-) rename docs/migrations/{ibc-migration-043.md => sdk-to-v1.md} (100%) rename docs/migrations/{ibc-migration-v100.md => v1-to-v2.md} (98%) diff --git a/docs/.vuepress/config.js b/docs/.vuepress/config.js index 1adb370da14..e28cc78afb7 100644 --- a/docs/.vuepress/config.js +++ b/docs/.vuepress/config.js @@ -124,9 +124,19 @@ module.exports = { title: "Migrations", children: [ { - title: "v0.43 SDK to IBC-Go v1.0.0", + title: "SDK v0.43 to IBC-Go v1", directory: false, - path: "/migrations/ibc-migration-043.html" + path: "/migrations/sdk-to-v1.html" + }, + { + title: "IBC-Go v1 to v2", + directory: false, + path: "/migrations/v1-to-v2.html" + }, + { + title: "IBC-Go v2 to v3", + directory: false, + path: "/migrations/v2-to-v3.html" }, ] }, diff --git a/docs/migrations/ibc-migration-043.md b/docs/migrations/sdk-to-v1.md similarity index 100% rename from docs/migrations/ibc-migration-043.md rename to docs/migrations/sdk-to-v1.md diff --git a/docs/migrations/ibc-migration-v100.md b/docs/migrations/v1-to-v2.md similarity index 98% rename from docs/migrations/ibc-migration-v100.md rename to docs/migrations/v1-to-v2.md index ef7bd6a6914..a42da400e43 100644 --- a/docs/migrations/ibc-migration-v100.md +++ b/docs/migrations/v1-to-v2.md @@ -1,4 +1,4 @@ -# Migrating from ibc-go v1.x.x to v2.0.0 +# Migrating from ibc-go v1 to v2 This document is intended to highlight significant changes which may require more information than presented in the CHANGELOG. Any changes that must be done by a user of ibc-go should be documented here. diff --git a/docs/migrations/v2-to-v3.md b/docs/migrations/v2-to-v3.md index f3fad769d08..4ad1c4f1abb 100644 --- a/docs/migrations/v2-to-v3.md +++ b/docs/migrations/v2-to-v3.md @@ -1,4 +1,4 @@ -# Migrating from v2.0.0 to v3.0.0 +# Migrating from ibc-go v2 to v3 This document is intended to highlight significant changes which may require more information than presented in the CHANGELOG. Any changes that must be done by a user of ibc-go should be documented here. From c4fdbaef206bcf3e1816e3ab8f7f3e382781c880 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?colin=20axn=C3=A9r?= <25233464+colin-axner@users.noreply.github.com> Date: Wed, 15 Dec 2021 11:37:11 +0100 Subject: [PATCH 073/107] remove proof spec from ClientState interface (#629) * remove proof spec from ClientState interface * add changelog and migration doc note --- CHANGELOG.md | 1 + docs/migrations/v2-to-v3.md | 3 ++- modules/core/exported/client.go | 2 -- modules/light-clients/06-solomachine/types/client_state.go | 7 ------- modules/light-clients/09-localhost/types/client_state.go | 7 ------- 5 files changed, 3 insertions(+), 17 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1f83dc781f2..eb9f13fd013 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -42,6 +42,7 @@ Ref: https://keepachangelog.com/en/1.0.0/ ### API Breaking +* (core) [\#629](https://github.com/cosmos/ibc-go/pull/629) Removes the GetProofSpecs from the ClientState interface. This function was previously unused by core IBC. * (transfer) [\#517](https://github.com/cosmos/ibc-go/pull/517) Separates the ICS 26 callback functions from `AppModule` into a new type `IBCModule` for ICS 20 transfer. * (modules/core/02-client) [\#536](https://github.com/cosmos/ibc-go/pull/536) GetSelfConsensusState return type changed from bool to error. diff --git a/docs/migrations/v2-to-v3.md b/docs/migrations/v2-to-v3.md index 4ad1c4f1abb..9f0f130300d 100644 --- a/docs/migrations/v2-to-v3.md +++ b/docs/migrations/v2-to-v3.md @@ -38,4 +38,5 @@ Please review the [mock](../../testing/mock/ibc_module.go) and [transfer](../../ ## IBC Light Clients -- No relevant changes were made in this release. +The `GetProofSpecs` function has been removed from the `ClientState` interface. This function was previously unused by core IBC. Light clients which don't use this function may remove it. + diff --git a/modules/core/exported/client.go b/modules/core/exported/client.go index de4cbe48c8a..4dce203bea4 100644 --- a/modules/core/exported/client.go +++ b/modules/core/exported/client.go @@ -1,7 +1,6 @@ package exported import ( - ics23 "github.com/confio/ics23/go" "github.com/cosmos/cosmos-sdk/codec" sdk "github.com/cosmos/cosmos-sdk/types" proto "github.com/gogo/protobuf/proto" @@ -44,7 +43,6 @@ type ClientState interface { ClientType() string GetLatestHeight() Height Validate() error - GetProofSpecs() []*ics23.ProofSpec // Initialization function // Clients must validate the initial consensus state, and may store any client-specific metadata diff --git a/modules/light-clients/06-solomachine/types/client_state.go b/modules/light-clients/06-solomachine/types/client_state.go index 2ce6eee512e..c99d4f08f64 100644 --- a/modules/light-clients/06-solomachine/types/client_state.go +++ b/modules/light-clients/06-solomachine/types/client_state.go @@ -3,8 +3,6 @@ package types import ( "reflect" - ics23 "github.com/confio/ics23/go" - "github.com/cosmos/cosmos-sdk/codec" cryptotypes "github.com/cosmos/cosmos-sdk/crypto/types" sdk "github.com/cosmos/cosmos-sdk/types" @@ -52,11 +50,6 @@ func (cs ClientState) Status(_ sdk.Context, _ sdk.KVStore, _ codec.BinaryCodec) return exported.Active } -// GetProofSpecs returns nil proof specs since client state verification uses signatures. -func (cs ClientState) GetProofSpecs() []*ics23.ProofSpec { - return nil -} - // Validate performs basic validation of the client state fields. func (cs ClientState) Validate() error { if cs.Sequence == 0 { diff --git a/modules/light-clients/09-localhost/types/client_state.go b/modules/light-clients/09-localhost/types/client_state.go index ab0f7207fdf..b817f7764eb 100644 --- a/modules/light-clients/09-localhost/types/client_state.go +++ b/modules/light-clients/09-localhost/types/client_state.go @@ -6,8 +6,6 @@ import ( "reflect" "strings" - ics23 "github.com/confio/ics23/go" - "github.com/cosmos/cosmos-sdk/codec" sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" @@ -60,11 +58,6 @@ func (cs ClientState) Validate() error { return nil } -// GetProofSpecs returns nil since localhost does not have to verify proofs -func (cs ClientState) GetProofSpecs() []*ics23.ProofSpec { - return nil -} - // ZeroCustomFields returns the same client state since there are no custom fields in localhost func (cs ClientState) ZeroCustomFields() exported.ClientState { return &cs From b194949773e7e57b583e10dfb9e92c4bf738fa7c Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 15 Dec 2021 11:19:59 +0000 Subject: [PATCH 074/107] build(deps): bump github.com/spf13/viper from 1.9.0 to 1.10.0 (#628) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Bumps [github.com/spf13/viper](https://github.com/spf13/viper) from 1.9.0 to 1.10.0. - [Release notes](https://github.com/spf13/viper/releases) - [Commits](https://github.com/spf13/viper/compare/v1.9.0...v1.10.0) --- updated-dependencies: - dependency-name: github.com/spf13/viper dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: colin axnér <25233464+colin-axner@users.noreply.github.com> --- go.mod | 16 +++++----- go.sum | 92 ++++++++++++++++++++++++++++++++++++++++++++++++---------- 2 files changed, 84 insertions(+), 24 deletions(-) diff --git a/go.mod b/go.mod index f9e8a8032bb..f935d677f87 100644 --- a/go.mod +++ b/go.mod @@ -17,11 +17,11 @@ require ( github.com/regen-network/cosmos-proto v0.3.1 github.com/spf13/cast v1.4.1 github.com/spf13/cobra v1.2.1 - github.com/spf13/viper v1.9.0 + github.com/spf13/viper v1.10.0 github.com/stretchr/testify v1.7.0 github.com/tendermint/tendermint v0.34.14 github.com/tendermint/tm-db v0.6.4 - google.golang.org/genproto v0.0.0-20210828152312-66f60bf46e71 + google.golang.org/genproto v0.0.0-20211208223120-3a66f561d7aa google.golang.org/grpc v1.42.0 google.golang.org/protobuf v1.27.1 gopkg.in/yaml.v2 v2.4.0 @@ -37,7 +37,7 @@ require ( github.com/bgentry/speakeasy v0.1.0 // indirect github.com/btcsuite/btcd v0.22.0-beta // indirect github.com/cespare/xxhash v1.1.0 // indirect - github.com/cespare/xxhash/v2 v2.1.1 // indirect + github.com/cespare/xxhash/v2 v2.1.2 // indirect github.com/coinbase/rosetta-sdk-go v0.6.10 // indirect github.com/cosmos/btcutil v1.0.4 // indirect github.com/cosmos/go-bip39 v1.0.0 // indirect @@ -67,7 +67,7 @@ require ( github.com/gsterjov/go-libsecret v0.0.0-20161001094733-a6f4afe4910c // indirect github.com/gtank/merlin v0.1.1 // indirect github.com/gtank/ristretto255 v0.1.2 // indirect - github.com/hashicorp/go-immutable-radix v1.0.0 // indirect + github.com/hashicorp/go-immutable-radix v1.3.1 // indirect github.com/hashicorp/golang-lru v0.5.4 // indirect github.com/hashicorp/hcl v1.0.0 // indirect github.com/hdevalence/ed25519consensus v0.0.0-20210204194344-59a8610d2b87 // indirect @@ -84,7 +84,7 @@ require ( github.com/mimoo/StrobeGo v0.0.0-20181016162300-f8f6d4d2b643 // indirect github.com/minio/highwayhash v1.0.1 // indirect github.com/mitchellh/go-homedir v1.1.0 // indirect - github.com/mitchellh/mapstructure v1.4.2 // indirect + github.com/mitchellh/mapstructure v1.4.3 // indirect github.com/mtibben/percent v0.2.1 // indirect github.com/pelletier/go-toml v1.9.4 // indirect github.com/petermattis/goid v0.0.0-20180202154549-b0b1615b78e5 // indirect @@ -110,10 +110,10 @@ require ( go.etcd.io/bbolt v1.3.5 // indirect golang.org/x/crypto v0.0.0-20210817164053-32db794688a5 // indirect golang.org/x/net v0.0.0-20210903162142-ad29c8ab022f // indirect - golang.org/x/sys v0.0.0-20210903071746-97244b99971b // indirect + golang.org/x/sys v0.0.0-20211205182925-97ca703d548d // indirect golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1 // indirect - golang.org/x/text v0.3.6 // indirect - gopkg.in/ini.v1 v1.63.2 // indirect + golang.org/x/text v0.3.7 // indirect + gopkg.in/ini.v1 v1.66.2 // indirect gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b // indirect nhooyr.io/websocket v1.8.6 // indirect ) diff --git a/go.sum b/go.sum index 85397133e17..32c6f9e41e0 100644 --- a/go.sum +++ b/go.sum @@ -23,6 +23,10 @@ cloud.google.com/go v0.84.0/go.mod h1:RazrYuxIK6Kb7YrzzhPoLmCVzl7Sup4NrbKPg8KHSU cloud.google.com/go v0.87.0/go.mod h1:TpDYlFy7vuLzZMMZ+B6iRiELaY7z/gJPaqbMx6mlWcY= cloud.google.com/go v0.90.0/go.mod h1:kRX0mNRHe0e2rC6oNakvwQqzyDmg57xJ+SZU1eT2aDQ= cloud.google.com/go v0.93.3/go.mod h1:8utlLll2EF5XMAV15woO4lSbWQlk8rer9aLOfLh7+YI= +cloud.google.com/go v0.94.1/go.mod h1:qAlAugsXlC+JWO+Bke5vCtc9ONxjQT3drlTTnAplMW4= +cloud.google.com/go v0.97.0/go.mod h1:GF7l59pYBVlXQIBLx3a761cZ41F9bBH3JUlihCt2Udc= +cloud.google.com/go v0.98.0/go.mod h1:ua6Ush4NALrHk5QXDWnjvZHN93OuF0HfuEPq9I1X0cM= +cloud.google.com/go v0.99.0/go.mod h1:w0Xx2nLzqWJPuozYQX+hFfCSI8WioryfRDzkoI/Y2ZA= cloud.google.com/go/bigquery v1.0.1/go.mod h1:i/xbL2UlR5RvWAURpBYZTtm/cXjCha9lbfbpx4poX+o= cloud.google.com/go/bigquery v1.3.0/go.mod h1:PjpwJnslEMmckchkHFfq+HTD2DmtT67aNFKH1/VBDHE= cloud.google.com/go/bigquery v1.4.0/go.mod h1:S8dzgnTigyfTmLBfrtrhyYhwRxG72rYxvftPBK2Dvzc= @@ -32,7 +36,7 @@ cloud.google.com/go/bigquery v1.8.0/go.mod h1:J5hqkt3O0uAFnINi6JXValWIb1v0goeZM7 cloud.google.com/go/datastore v1.0.0/go.mod h1:LXYbyblFSglQ5pkeyhO+Qmw7ukd3C+pD7TKLgZqpHYE= cloud.google.com/go/datastore v1.1.0/go.mod h1:umbIZjpQpHh4hmRpGhH4tLFup+FVzqBi1b3c64qFpCk= cloud.google.com/go/firestore v1.1.0/go.mod h1:ulACoGHTpvq5r8rxGJ4ddJZBZqakUQqClKRT5SZwBmk= -cloud.google.com/go/firestore v1.6.0/go.mod h1:afJwI0vaXwAG54kI7A//lP/lSPDkQORQuMkv56TxEPU= +cloud.google.com/go/firestore v1.6.1/go.mod h1:asNXNOzBdyVQmEU+ggO8UPodTkEVFW5Qx+rwHnAz+EY= cloud.google.com/go/pubsub v1.0.1/go.mod h1:R0Gpsv3s54REJCy4fxDixWD93lHJMoZTyQ2kNxGRt3I= cloud.google.com/go/pubsub v1.1.0/go.mod h1:EwwdRX2sKPjnvnqCa270oGRyludottCI76h+R3AArQw= cloud.google.com/go/pubsub v1.2.0/go.mod h1:jhfEVHT8odbXTkndysNHCcx0awwzvfOlguIAii9o8iA= @@ -149,11 +153,13 @@ github.com/casbin/casbin/v2 v2.1.2/go.mod h1:YcPU1XXisHhLzuxH9coDNf2FbKpjGlbCg3n github.com/cenkalti/backoff v2.2.1+incompatible h1:tNowT99t7UNflLxfYYSlKYsBpXdEet03Pg2g16Swow4= github.com/cenkalti/backoff v2.2.1+incompatible/go.mod h1:90ReRw6GdpyfrHakVjL/QHaoyV4aDUVVkXQJJJ3NXXM= github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= +github.com/census-instrumentation/opencensus-proto v0.3.0/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= github.com/cespare/cp v0.1.0/go.mod h1:SOGHArjBr4JWaSDEVpWpo/hNg6RoKrls6Oh40hiwW+s= github.com/cespare/xxhash v1.1.0 h1:a6HrQnmkObjyL+Gs60czilIUGqrzKutQD6XZog3p+ko= github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc= -github.com/cespare/xxhash/v2 v2.1.1 h1:6MnRN8NT7+YBpUIWxHtefFZOKTAPgGjpQSxqLNn0+qY= github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= +github.com/cespare/xxhash/v2 v2.1.2 h1:YRXhKfTDauu4ajMg1TPgFO5jnlC2HCbmLXMcTG5cbYE= +github.com/cespare/xxhash/v2 v2.1.2/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/checkpoint-restore/go-criu/v5 v5.0.0/go.mod h1:cfwC0EG7HMUenopBsUf9d89JlCLQIfgVcNsNN0t6T2M= github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI= github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= @@ -171,7 +177,9 @@ github.com/cncf/udpa/go v0.0.0-20210930031921-04548b0d99d4/go.mod h1:6pvJx4me5XP github.com/cncf/xds/go v0.0.0-20210312221358-fbca930ec8ed/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= github.com/cncf/xds/go v0.0.0-20210805033703-aa0b78936158/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= github.com/cncf/xds/go v0.0.0-20210922020428-25de7278fc84/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= +github.com/cncf/xds/go v0.0.0-20211001041855-01bcc9b48dfe/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= github.com/cncf/xds/go v0.0.0-20211011173535-cb28da3451f1/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= +github.com/cncf/xds/go v0.0.0-20211130200136-a8f946100490/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= github.com/cockroachdb/datadriven v0.0.0-20190809214429-80d97fb3cbaa/go.mod h1:zn76sxSg3SzpJ0PPJaLDCu+Bu0Lg3sKTORVIj19EIF8= github.com/codahale/hdrhistogram v0.0.0-20161010025455-3a0bb77429bd/go.mod h1:sE/e/2PUdi/liOCUjSTXgM1o87ZssimdTWN964YiIeI= github.com/coinbase/rosetta-sdk-go v0.6.10 h1:rgHD/nHjxLh0lMEdfGDqpTtlvtSBwULqrrZ2qPdNaCM= @@ -258,7 +266,9 @@ github.com/envoyproxy/go-control-plane v0.9.9-0.20201210154907-fd9021fe5dad/go.m github.com/envoyproxy/go-control-plane v0.9.9-0.20210217033140-668b12f5399d/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk= github.com/envoyproxy/go-control-plane v0.9.9-0.20210512163311-63b5d3c536b0/go.mod h1:hliV/p42l8fGbc6Y9bQ70uLwIvmJyVE5k4iMKlh8wCQ= github.com/envoyproxy/go-control-plane v0.9.10-0.20210907150352-cf90f659a021/go.mod h1:AFq3mo9L8Lqqiid3OhADV3RfLJnjiw63cSpi+fDTRC0= +github.com/envoyproxy/go-control-plane v0.10.1/go.mod h1:AY7fTTXNdv/aJ2O5jwpxAPOWUZ7hQAEvzN5Pf27BkQQ= github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= +github.com/envoyproxy/protoc-gen-validate v0.6.2/go.mod h1:2t7qjJNvHPx8IjnBOzl9E9/baC+qXE/TeeyBRzgJDws= github.com/ethereum/go-ethereum v1.9.25/go.mod h1:vMkFiYLHI4tgPw4k2j4MHKoovchFE8plZ0M9VMk4/oM= github.com/facebookgo/ensure v0.0.0-20160127193407-b4ab57deab51 h1:0JZ+dUmQeA8IIVUMzysrX4/AKuQwWhV2dYQuPZdvdSQ= github.com/facebookgo/ensure v0.0.0-20160127193407-b4ab57deab51/go.mod h1:Yg+htXGokKKdzcwhuNDwVvN+uBxDGXJ7G/VN1d8fa64= @@ -270,6 +280,7 @@ github.com/fatih/color v1.3.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5Kwzbycv github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4= github.com/fatih/color v1.9.0/go.mod h1:eQcE1qtQxscV5RaZvpXrrb8Drkc3/DdQ+uUYCNjL+zU= github.com/fatih/color v1.10.0/go.mod h1:ELkj/draVOlAH/xkhN6mQ50Qd0MPOk5AAr3maGEBuJM= +github.com/fatih/color v1.13.0/go.mod h1:kLAiJbzzSOZDVNGyDpeOxJ47H46qBXwg5ILebYFFOfk= github.com/felixge/httpsnoop v1.0.1 h1:lvB5Jl89CsZtGIWuTcDM1E/vkVs49/Ml7JJe07l8SPQ= github.com/felixge/httpsnoop v1.0.1/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= github.com/fjl/memsize v0.0.0-20180418122429-ca190fb6ffbc/go.mod h1:VvhXpOYNQvB+uIk2RvXzuaQtkQJzzIx6lSBe1xv7hi0= @@ -331,6 +342,7 @@ github.com/golang/groupcache v0.0.0-20190129154638-5b532d6fd5ef/go.mod h1:cIg4er github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/groupcache v0.0.0-20191227052852-215e87163ea7/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= +github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= github.com/golang/mock v1.2.0/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= github.com/golang/mock v1.3.1/go.mod h1:sBzyDLLjw3U8JLTeZvSv8jJB+tU5PVekmnlKIyFUx0Y= @@ -412,6 +424,7 @@ github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+ github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg= github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk= github.com/googleapis/gax-go/v2 v2.1.0/go.mod h1:Q3nei7sK6ybPYH7twZdmQpAd1MKb7pfu6SK+H1/DsU0= +github.com/googleapis/gax-go/v2 v2.1.1/go.mod h1:hddJymUZASv3XPyGkUpKj8pPO47Rmb0eJc8R6ouapiM= github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY= github.com/gordonklaus/ineffassign v0.0.0-20200309095847-7953dde2c7bf/go.mod h1:cuNKsD1zp2v6XfE/orVX2QE1LC+i254ceGcVeDT3pTU= github.com/gorilla/context v1.1.1/go.mod h1:kBGZzfjB9CEq2AlWe17Uuf7NDRt0dE0s8S51q0aT7Yg= @@ -448,16 +461,19 @@ github.com/gtank/ristretto255 v0.1.2 h1:JEqUCPA1NvLq5DwYtuzigd7ss8fwbYay9fi4/5uM github.com/gtank/ristretto255 v0.1.2/go.mod h1:Ph5OpO6c7xKUGROZfWVLiJf9icMDwUeIvY4OmlYW69o= github.com/hashicorp/consul/api v1.1.0/go.mod h1:VmuI/Lkw1nC05EYQWNKwWGbkg+FbDBtguAZLlVdkD9Q= github.com/hashicorp/consul/api v1.3.0/go.mod h1:MmDNSzIMUjNpY/mQ398R4bk2FnqQLoPndWW5VkKPlCE= -github.com/hashicorp/consul/api v1.10.1/go.mod h1:XjsvQN+RJGWI2TWy1/kqaE16HrR2J/FWgkYjdZQsX9M= +github.com/hashicorp/consul/api v1.11.0/go.mod h1:XjsvQN+RJGWI2TWy1/kqaE16HrR2J/FWgkYjdZQsX9M= github.com/hashicorp/consul/sdk v0.1.1/go.mod h1:VKf9jXwCTEY1QZP2MOLRhb5i/I/ssyNV1vwHyQBF0x8= github.com/hashicorp/consul/sdk v0.3.0/go.mod h1:VKf9jXwCTEY1QZP2MOLRhb5i/I/ssyNV1vwHyQBF0x8= github.com/hashicorp/consul/sdk v0.8.0/go.mod h1:GBvyrGALthsZObzUGsfgHZQDXjg4lOjagTIwIR1vPms= github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= github.com/hashicorp/go-cleanhttp v0.5.0/go.mod h1:JpRdi6/HCYpAwUzNwuwqhbovhLtngrth3wmdIIUrZ80= github.com/hashicorp/go-cleanhttp v0.5.1/go.mod h1:JpRdi6/HCYpAwUzNwuwqhbovhLtngrth3wmdIIUrZ80= +github.com/hashicorp/go-cleanhttp v0.5.2/go.mod h1:kO/YDlP8L1346E6Sodw+PrpBSV4/SoxCXGY6BqNFT48= github.com/hashicorp/go-hclog v0.12.0/go.mod h1:whpDNt7SSdeAju8AWKIWsul05p54N/39EeqMAyrmvFQ= -github.com/hashicorp/go-immutable-radix v1.0.0 h1:AKDB1HM5PWEA7i4nhcpwOrO2byshxBjXVn/J/3+z5/0= +github.com/hashicorp/go-hclog v1.0.0/go.mod h1:whpDNt7SSdeAju8AWKIWsul05p54N/39EeqMAyrmvFQ= github.com/hashicorp/go-immutable-radix v1.0.0/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60= +github.com/hashicorp/go-immutable-radix v1.3.1 h1:DKHmCUm2hRBK510BaiZlwvpD40f8bJFeZnpfm2KLowc= +github.com/hashicorp/go-immutable-radix v1.3.1/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60= github.com/hashicorp/go-msgpack v0.5.3/go.mod h1:ahLV/dePpqEmjfWmKiqvPkv/twdG7iPBM1vqhUKIvfM= github.com/hashicorp/go-multierror v1.0.0/go.mod h1:dHtQlpGsu+cZNNAkkCN/P3hoUDHhCYQXV3UM06sGGrk= github.com/hashicorp/go-multierror v1.1.0/go.mod h1:spPvp8C1qA32ftKqdAHm4hHTbPw+vmowP0z+KUhOZdA= @@ -480,10 +496,13 @@ github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T github.com/hashicorp/logutils v1.0.0/go.mod h1:QIAnNjmIWmVIIkWDTG1z5v++HQmx9WQRO+LraFDTW64= github.com/hashicorp/mdns v1.0.0/go.mod h1:tL+uN++7HEJ6SQLQ2/p+z2pH24WQKWjBPkE0mNTz8vQ= github.com/hashicorp/mdns v1.0.1/go.mod h1:4gW7WsVCke5TE7EPeYliwHlRUyBtfCwuFwuMg2DmyNY= +github.com/hashicorp/mdns v1.0.4/go.mod h1:mtBihi+LeNXGtG8L9dX59gAEa12BDtBQSp4v/YAJqrc= github.com/hashicorp/memberlist v0.1.3/go.mod h1:ajVTdAv/9Im8oMAAj5G31PhhMCZJV2pPBoIllUwCN7I= github.com/hashicorp/memberlist v0.2.2/go.mod h1:MS2lj3INKhZjWNqd3N0m3J+Jxf3DAOnAH9VT3Sh9MUE= +github.com/hashicorp/memberlist v0.3.0/go.mod h1:MS2lj3INKhZjWNqd3N0m3J+Jxf3DAOnAH9VT3Sh9MUE= github.com/hashicorp/serf v0.8.2/go.mod h1:6hOLApaqBFA1NXqRQAsxw9QxuDEvNxSQRwA/JwenrHc= github.com/hashicorp/serf v0.9.5/go.mod h1:UWDWwZeL5cuWDJdl0C6wrvrUwEqtQ4ZKBKKENpqIUyk= +github.com/hashicorp/serf v0.9.6/go.mod h1:TXZNMjZQijwlDvp+r0b63xZ45H7JmCmgg4gpTwn9UV4= github.com/hdevalence/ed25519consensus v0.0.0-20210204194344-59a8610d2b87 h1:uUjLpLt6bVvZ72SQc/B4dXcPBw4Vgd7soowdRl52qEM= github.com/hdevalence/ed25519consensus v0.0.0-20210204194344-59a8610d2b87/go.mod h1:XGsKKeXxeRr95aEOgipvluMPlgjr7dGlk9ZTWOjcUcg= github.com/holiman/uint256 v1.1.1/go.mod h1:y4ga/t+u+Xwd7CpDgZESaRcWy0I7XMlTMA25ApIH5Jw= @@ -491,6 +510,7 @@ github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpO github.com/hudl/fargo v1.3.0/go.mod h1:y3CKSmjA+wD2gak7sUSXTAoopbhU08POFhmITJgmKTg= github.com/huin/goupnp v1.0.0/go.mod h1:n9v9KO1tAxYH82qOn+UTIFQDmx5n1Zxd/ClZDMX7Bnc= github.com/huin/goutil v0.0.0-20170803182201-1ca381bf3150/go.mod h1:PpLOETDnJ0o3iZrZfqZzyLl6l7F3c6L1oWn7OICBi6o= +github.com/iancoleman/strcase v0.2.0/go.mod h1:iwCmte+B7n89clKwxIoIXy/HfoL7AsD47ZCWhYzw7ho= github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= github.com/ianlancetaylor/demangle v0.0.0-20200824232613-28f6c0f3b639/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= github.com/improbable-eng/grpc-web v0.14.1 h1:NrN4PY71A6tAz2sKDvC5JCauENWp0ykG8Oq1H3cpFvw= @@ -516,8 +536,9 @@ github.com/json-iterator/go v1.1.7/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/u github.com/json-iterator/go v1.1.8/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= github.com/json-iterator/go v1.1.9/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= github.com/json-iterator/go v1.1.10/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= -github.com/json-iterator/go v1.1.11 h1:uVUAXhF2To8cbw/3xN3pxj6kk7TYKs98NIrTqPlMWAQ= github.com/json-iterator/go v1.1.11/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= +github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM= +github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU= github.com/jstemmer/go-junit-report v0.9.1/go.mod h1:Brl9GWCQeLvo8nXZwPNNblvFj/XSXhF0NWZEnDohbsk= github.com/jtolds/gls v4.20.0+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU= @@ -555,6 +576,7 @@ github.com/libp2p/go-buffer-pool v0.0.2/go.mod h1:MvaB6xw5vOrDl8rYZGLFdKAuk/hRoR github.com/lightstep/lightstep-tracer-common/golang/gogo v0.0.0-20190605223551-bc2310a04743/go.mod h1:qklhhLq1aX+mtWk9cPHPzaBjWImj5ULL6C7HFJtXQMM= github.com/lightstep/lightstep-tracer-go v0.18.1/go.mod h1:jlF1pusYV4pidLvZ+XD0UBX0ZE6WURAspgAczcDHrL4= github.com/lucasjones/reggen v0.0.0-20180717132126-cdb49ff09d77/go.mod h1:5ELEyG+X8f+meRWHuqUOewBOhvHkl7M76pdGEansxW4= +github.com/lyft/protoc-gen-star v0.5.3/go.mod h1:V0xaHgaf5oCCqmcxYcWiDfTiKsZsRc87/1qhoTACD8w= github.com/lyft/protoc-gen-validate v0.0.13/go.mod h1:XbGvPuh87YZc5TdIa2/I4pLk0QoUACkjt2znoq26NVQ= github.com/magiconair/properties v1.8.0/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ= github.com/magiconair/properties v1.8.1/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ= @@ -565,6 +587,8 @@ github.com/mattn/go-colorable v0.1.0/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaO github.com/mattn/go-colorable v0.1.4/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE= github.com/mattn/go-colorable v0.1.6/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= github.com/mattn/go-colorable v0.1.8/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= +github.com/mattn/go-colorable v0.1.9/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= +github.com/mattn/go-colorable v0.1.12/go.mod h1:u5H1YNBxpqRaxsYJYSkiCWKzEfiAb1Gb520KVy5xxl4= github.com/mattn/go-ieproxy v0.0.0-20190610004146-91bb50d98149/go.mod h1:31jz6HNzdxOmlERGGEc4v/dMssOfmp2p5bT/okiKFFc= github.com/mattn/go-ieproxy v0.0.0-20190702010315-6dee0af9227d/go.mod h1:31jz6HNzdxOmlERGGEc4v/dMssOfmp2p5bT/okiKFFc= github.com/mattn/go-isatty v0.0.3/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= @@ -583,6 +607,7 @@ github.com/matttproud/golang_protobuf_extensions v1.0.1 h1:4hp9jkHxhMHkqkrB3Ix0j github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= github.com/miekg/dns v1.0.14/go.mod h1:W1PPwlIAgtquWBMBEV9nkV9Cazfe8ScdGz/Lj7v3Nrg= github.com/miekg/dns v1.1.26/go.mod h1:bPDLeHnStXmXAq1m/Ch/hvfNHr14JKNPMBo3VZKjuso= +github.com/miekg/dns v1.1.41/go.mod h1:p6aan82bvRIyn+zDIv9xYNUpwa73JcSh9BKwknJysuI= github.com/mimoo/StrobeGo v0.0.0-20181016162300-f8f6d4d2b643 h1:hLDRPB66XQT/8+wG9WsDpiCvZf1yKO7sz7scAjSlBa0= github.com/mimoo/StrobeGo v0.0.0-20181016162300-f8f6d4d2b643/go.mod h1:43+3pMjjKimDBf5Kr4ZFNGbLql1zKkbImw+fZbw3geM= github.com/minio/highwayhash v1.0.1 h1:dZ6IIu8Z14VlC0VpfKofAhCy74wu/Qb5gcn52yWoz/0= @@ -599,15 +624,16 @@ github.com/mitchellh/mapstructure v0.0.0-20160808181253-ca63d7c062ee/go.mod h1:F github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= github.com/mitchellh/mapstructure v1.3.3/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= github.com/mitchellh/mapstructure v1.4.1/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= -github.com/mitchellh/mapstructure v1.4.2 h1:6h7AQ0yhTcIsmFmnAwQls75jp2Gzs4iB8W7pjMO+rqo= -github.com/mitchellh/mapstructure v1.4.2/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= +github.com/mitchellh/mapstructure v1.4.3 h1:OVowDSCllw/YjdLkam3/sm7wEtOy59d8ndGgCcyj8cs= +github.com/mitchellh/mapstructure v1.4.3/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= github.com/moby/sys/mountinfo v0.4.1/go.mod h1:rEr8tzG/lsIZHBtN/JjGG+LMYx9eXgW2JI+6q0qou+A= github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg= github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= -github.com/modern-go/reflect2 v1.0.1 h1:9f412s+6RmYXLWZSEzVVgPGK7C2PphHj5RJrvfx9AWI= github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= +github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= +github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= github.com/mrunalp/fileutils v0.5.0/go.mod h1:M1WthSahJixYnrXQl/DFQuteStB1weuxD2QJNHXfbSQ= github.com/mtibben/percent v0.2.1 h1:5gssi8Nqo8QU/r2pynCm+hBQHpkB/uNK7BJCFogWdzs= github.com/mtibben/percent v0.2.1/go.mod h1:KG9uO+SZkUp+VkRHsCdYQV3XSZrrSpR3O9ibNBTZrns= @@ -766,7 +792,7 @@ github.com/rs/zerolog v1.23.0/go.mod h1:6c7hFfxPOy7TacJc4Fcdi24/J0NKYGzjG8FWRI91 github.com/russross/blackfriday v1.5.2/go.mod h1:JO/DiYxRf+HjHt06OyowR9PTA263kcR/rfWxYHBV53g= github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= github.com/ryanuber/columnize v0.0.0-20160712163229-9b3edd62028f/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts= -github.com/sagikazarmark/crypt v0.1.0/go.mod h1:B/mN0msZuINBtQ1zZLEQcegFJJf9vnYIR88KRMEuODE= +github.com/sagikazarmark/crypt v0.3.0/go.mod h1:uD/D+6UF4SrIR1uGEv7bBNkNqLGqUr43MRiaGWX1Nig= github.com/samuel/go-zookeeper v0.0.0-20190923202752-2cc03de413da/go.mod h1:gi+0XIa01GRL2eRQVjQkKGqKF3SF9vZR/HnPullcV2E= github.com/sasha-s/go-deadlock v0.2.1-0.20190427202633-1595213edefa h1:0U2s5loxrTy6/VgfVoLuVLFJcURKLH49ie0zSch7gh4= github.com/sasha-s/go-deadlock v0.2.1-0.20190427202633-1595213edefa/go.mod h1:F73l+cr82YSh10GxyRI6qZiCgK64VaZjwesgfQ1/iLM= @@ -791,6 +817,7 @@ github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasO github.com/spaolacci/murmur3 v1.1.0 h1:7c1g84S4BPRrfL5Xrdp6fOJ206sU9y293DDHaoy0bLI= github.com/spaolacci/murmur3 v1.1.0/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= github.com/spf13/afero v1.1.2/go.mod h1:j4pytiNVoe2o6bmDsKpLACNPDBIoEAkihy7loJ1B0CQ= +github.com/spf13/afero v1.3.3/go.mod h1:5KUK8ByomD5Ti5Artl0RtHeI5pTF7MIDuXL3yY520V4= github.com/spf13/afero v1.6.0 h1:xoax2sJ2DT8S8xA2paPFjDCScCNeWsg75VG0DLRreiY= github.com/spf13/afero v1.6.0/go.mod h1:Ai8FlHk4v/PARR026UzYexafAt9roJ7LcLMAmO6Z93I= github.com/spf13/cast v1.3.0/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= @@ -813,8 +840,8 @@ github.com/spf13/viper v1.3.2/go.mod h1:ZiWeW+zYFKm7srdB9IoDzzZXaJaI5eL9QjNiN/DM github.com/spf13/viper v1.7.0/go.mod h1:8WkrPz2fc9jxqZNCJI/76HCieCp4Q8HaLFoCha5qpdg= github.com/spf13/viper v1.7.1/go.mod h1:8WkrPz2fc9jxqZNCJI/76HCieCp4Q8HaLFoCha5qpdg= github.com/spf13/viper v1.8.1/go.mod h1:o0Pch8wJ9BVSWGQMbra6iw0oQ5oktSIBaujf1rJH9Ns= -github.com/spf13/viper v1.9.0 h1:yR6EXjTp0y0cLN8OZg1CRZmOBdI88UcGkhgyJhu6nZk= -github.com/spf13/viper v1.9.0/go.mod h1:+i6ajR7OX2XaiBkrcZJFK21htRk7eDeLg7+O6bhUPP4= +github.com/spf13/viper v1.10.0 h1:mXH0UwHS4D2HwWZa75im4xIQynLfblmWV7qcWpfv0yk= +github.com/spf13/viper v1.10.0/go.mod h1:SoyBPwAtKDzypXNDFKN5kzH7ppppbGZtls1UpIy5AsM= github.com/status-im/keycard-go v0.0.0-20190316090335-8537d3370df4/go.mod h1:RZLeN1LMWmRsyYjvAu+I6Dm9QmlDaIIt+Y+4Kd7Tp+Q= github.com/steakknife/bloomfilter v0.0.0-20180922174646-6819c0d2a570/go.mod h1:8OR4w3TdeIHIh1g6EMY5p0gVNOovcWC+1vpc7naMuAw= github.com/steakknife/hamming v0.0.0-20180906055917-c99c65617cd3/go.mod h1:hpGUWaI9xL8pRQCTXQgocU38Qw1g0Us7n5PxxTwTCYU= @@ -886,8 +913,11 @@ go.etcd.io/bbolt v1.3.5 h1:XAzx9gjCb0Rxj7EoqcClPD1d5ZBxZJk0jbuoPHenBt0= go.etcd.io/bbolt v1.3.5/go.mod h1:G5EMThwa9y8QZGBClrRx5EY+Yw9kAhnjy3bSjsnlVTQ= go.etcd.io/etcd v0.0.0-20191023171146-3cf2f69b5738/go.mod h1:dnLIgRNXwCJa5e+c6mIZCrds/GIG4ncV9HhK5PX7jPg= go.etcd.io/etcd/api/v3 v3.5.0/go.mod h1:cbVKeC6lCfl7j/8jBhAK6aIYO9XOjdptoxU/nLQcPvs= +go.etcd.io/etcd/api/v3 v3.5.1/go.mod h1:cbVKeC6lCfl7j/8jBhAK6aIYO9XOjdptoxU/nLQcPvs= go.etcd.io/etcd/client/pkg/v3 v3.5.0/go.mod h1:IJHfcCEKxYu1Os13ZdwCwIUTUVGYTSAM3YSwc9/Ac1g= +go.etcd.io/etcd/client/pkg/v3 v3.5.1/go.mod h1:IJHfcCEKxYu1Os13ZdwCwIUTUVGYTSAM3YSwc9/Ac1g= go.etcd.io/etcd/client/v2 v2.305.0/go.mod h1:h9puh54ZTgAKtEbut2oe9P4L/oqKCVB6xsXlzd7alYQ= +go.etcd.io/etcd/client/v2 v2.305.1/go.mod h1:pMEacxZW7o8pg4CrFE7pquyCJJzZvkvdD2RibOCCCGs= go.opencensus.io v0.20.1/go.mod h1:6WKK9ahsWS3RSO+PY9ZHZUfv2irvY6gN279GOPZjmmk= go.opencensus.io v0.20.2/go.mod h1:6WKK9ahsWS3RSO+PY9ZHZUfv2irvY6gN279GOPZjmmk= go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU= @@ -970,6 +1000,7 @@ golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.4.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.4.1/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= +golang.org/x/mod v0.5.0/go.mod h1:5OXOZSfqPIIbmVBIIKWRFfZjPR0E5r58TLhUjH0a2Ro= golang.org/x/net v0.0.0-20180719180050-a680a1efc54d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= @@ -1020,9 +1051,11 @@ golang.org/x/net v0.0.0-20210119194325-5f4716e94777/go.mod h1:m0MpNAwzfU5UDzcl9v golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20210316092652-d523dce5a7f4/go.mod h1:RBQZq4jEuRlivfhVLdyRGr576XBO4/greRjx4P4O3yc= golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= +golang.org/x/net v0.0.0-20210410081132-afb366fc7cd1/go.mod h1:9tjilg8BloeKEkVJvy7fQ90B1CfIiPueXVOjqfkSzI8= golang.org/x/net v0.0.0-20210428140749-89ef3d95e781/go.mod h1:OJAsFXCWl8Ukc7SiCT/9KSuxbyM7479/AVlXFRxuMCk= golang.org/x/net v0.0.0-20210503060351-7fd8e65b6420/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20210525063256-abc453219eb5/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20210813160813-60bc85c4be6d/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20210903162142-ad29c8ab022f h1:w6wWR0H+nyVpbSAQbzVEIACVyr/h8l/BEkY6Sokc7Eg= golang.org/x/net v0.0.0-20210903162142-ad29c8ab022f/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= @@ -1041,6 +1074,8 @@ golang.org/x/oauth2 v0.0.0-20210514164344-f6687ab2804c/go.mod h1:KelEdhl1UZF7XfJ golang.org/x/oauth2 v0.0.0-20210628180205-a41e5a781914/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20210805134026-6f1e6394065a/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20210819190943-2bc19b11175f/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20211005180243-6b3c2da341f1/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20211104180415-d3ed0bb246c8/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -1121,6 +1156,7 @@ golang.org/x/sys v0.0.0-20210112080510-489259a85091/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20210119212857-b64e53b001e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210220050731-9a76102bfb43/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210303074136-134d130e1a04/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210305230114-8fe3ee5dd75b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210315160823-c6e025ad8005/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210320140829-1e4c9ba3b0c4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -1136,9 +1172,15 @@ golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20210616094352-59db8d763f22/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210806184541-e5e7981a1069/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210816183151-1e6c022a8912/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210823070655-63515b42dcdf/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210903071746-97244b99971b h1:3Dq0eVHn0uaQJmPO+/aYPI/fRMqdrVDbu7MQcku54gg= golang.org/x/sys v0.0.0-20210903071746-97244b99971b/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210908233432-aa78b53d3365/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210927094055-39ccf1dd6fa6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20211007075335-d3039528d8ac/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20211124211545-fe61309f8881/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20211205182925-97ca703d548d h1:FjkYO/PPp4Wi0EAUOVLxePm7qVW4r4ctbWpURyuOD0E= +golang.org/x/sys v0.0.0-20211205182925-97ca703d548d/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1 h1:v+OssWQX+hTHEmOBgwxdZxK4zHq3yOs8F9J7mk0PY8E= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= @@ -1149,8 +1191,9 @@ golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.4/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.3.6 h1:aRYxNxv6iGQlyVaZmk6ZgYEDa+Jg18DxebPSrd6bg1M= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= +golang.org/x/text v0.3.7 h1:olpwvP2KacW1ZWvsR7uQhoyTYvKAupfQrRGBFM352Gk= +golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= @@ -1252,7 +1295,12 @@ google.golang.org/api v0.48.0/go.mod h1:71Pr1vy+TAZRPkPs/xlCf5SsU8WjuAWv1Pfjbtuk google.golang.org/api v0.50.0/go.mod h1:4bNT5pAuq5ji4SRZm+5QIkjny9JAyVD/3gaSihNefaw= google.golang.org/api v0.51.0/go.mod h1:t4HdrdoNgyN5cbEfm7Lum0lcLDLiise1F8qDKX00sOU= google.golang.org/api v0.54.0/go.mod h1:7C4bFFOvVDGXjfDTAsgGwDgAxRDeQ4X8NvUedIt6z3k= +google.golang.org/api v0.55.0/go.mod h1:38yMfeP1kfjsl8isn0tliTjIb1rJXcQi4UXlbqivdVE= google.golang.org/api v0.56.0/go.mod h1:38yMfeP1kfjsl8isn0tliTjIb1rJXcQi4UXlbqivdVE= +google.golang.org/api v0.57.0/go.mod h1:dVPlbZyBo2/OjBpmvNdpn2GRm6rPy75jyU7bmhdrMgI= +google.golang.org/api v0.59.0/go.mod h1:sT2boj7M9YJxZzgeZqXogmhfmRWDtPzT31xkieUbuZU= +google.golang.org/api v0.61.0/go.mod h1:xQRti5UdCmoCEqFxcz93fTl338AVqDgyaDRuOZ3hg9I= +google.golang.org/api v0.62.0/go.mod h1:dKmwPCydfsad4qCH08MSdgWjfHOyfpd4VtDGgRFdavw= google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= google.golang.org/appengine v1.2.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= @@ -1318,8 +1366,19 @@ google.golang.org/genproto v0.0.0-20210728212813-7823e685a01f/go.mod h1:ob2IJxKr google.golang.org/genproto v0.0.0-20210805201207-89edb61ffb67/go.mod h1:ob2IJxKrgPT52GcgX759i1sleT07tiKowYBGbczaW48= google.golang.org/genproto v0.0.0-20210813162853-db860fec028c/go.mod h1:cFeNkxwySK631ADgubI+/XFU/xp8FD5KIVV4rj8UC5w= google.golang.org/genproto v0.0.0-20210821163610-241b8fcbd6c8/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= -google.golang.org/genproto v0.0.0-20210828152312-66f60bf46e71 h1:z+ErRPu0+KS02Td3fOAgdX+lnPDh/VyaABEJPD4JRQs= google.golang.org/genproto v0.0.0-20210828152312-66f60bf46e71/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= +google.golang.org/genproto v0.0.0-20210831024726-fe130286e0e2/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= +google.golang.org/genproto v0.0.0-20210903162649-d08c68adba83/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= +google.golang.org/genproto v0.0.0-20210909211513-a8c4777a87af/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= +google.golang.org/genproto v0.0.0-20210924002016-3dee208752a0/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= +google.golang.org/genproto v0.0.0-20211008145708-270636b82663/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= +google.golang.org/genproto v0.0.0-20211028162531-8db9c33dc351/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= +google.golang.org/genproto v0.0.0-20211118181313-81c1377c94b1/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= +google.golang.org/genproto v0.0.0-20211129164237-f09f9a12af12/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= +google.golang.org/genproto v0.0.0-20211203200212-54befc351ae9/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= +google.golang.org/genproto v0.0.0-20211206160659-862468c7d6e0/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= +google.golang.org/genproto v0.0.0-20211208223120-3a66f561d7aa h1:I0YcKz0I7OAhddo7ya8kMnvprhcWM045PmkBdMO9zN0= +google.golang.org/genproto v0.0.0-20211208223120-3a66f561d7aa/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= google.golang.org/grpc v1.17.0/go.mod h1:6QZJwpn2B+Zp71q/5VxRsJ6NXXVCE5NRUHRo+f3cWCs= google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= google.golang.org/grpc v1.19.1/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= @@ -1352,6 +1411,7 @@ google.golang.org/grpc v1.38.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQ google.golang.org/grpc v1.39.0/go.mod h1:PImNr+rS9TWYb2O4/emRugxiyHZ5JyHW5F+RPnDzfrE= google.golang.org/grpc v1.39.1/go.mod h1:PImNr+rS9TWYb2O4/emRugxiyHZ5JyHW5F+RPnDzfrE= google.golang.org/grpc v1.40.0/go.mod h1:ogyxbiOoUXAkP+4+xa6PZSE9DZgIHtSpzjDTB9KAK34= +google.golang.org/grpc v1.40.1/go.mod h1:ogyxbiOoUXAkP+4+xa6PZSE9DZgIHtSpzjDTB9KAK34= google.golang.org/grpc v1.42.0 h1:XT2/MFpuPFsEX2fWh3YQtHkZ+WYZFQRfaUgLZYj/p6A= google.golang.org/grpc v1.42.0/go.mod h1:k+4IHHFw41K8+bbowsex27ge2rCb65oeWqe4jJ590SU= google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.1.0/go.mod h1:6Kw0yEErY5E/yWrBtf03jp27GLLJujG4z/JK95pnjjw= @@ -1382,8 +1442,8 @@ gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMy gopkg.in/gcfg.v1 v1.2.3/go.mod h1:yesOnuUOFQAhST5vPY4nbZsb/huCgGGXlipJsBn0b3o= gopkg.in/ini.v1 v1.51.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= gopkg.in/ini.v1 v1.62.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= -gopkg.in/ini.v1 v1.63.2 h1:tGK/CyBg7SMzb60vP1M03vNZ3VDu3wGQJwn7Sxi9r3c= -gopkg.in/ini.v1 v1.63.2/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= +gopkg.in/ini.v1 v1.66.2 h1:XfR1dOYubytKy4Shzc2LHrrGhU0lDCfDGG1yLPmpgsI= +gopkg.in/ini.v1 v1.66.2/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= gopkg.in/natefinch/npipe.v2 v2.0.0-20160621034901-c1b8fa8bdcce/go.mod h1:5AcXVHNjg+BDxry382+8OKon8SEWiKktQR07RKPsv1c= gopkg.in/olebedev/go-duktape.v3 v3.0.0-20200619000410-60c24ae608a6/go.mod h1:uAJfkITjFhyEEuUfm7bsmCZRbW5WRq8s9EY8HZ6hCns= gopkg.in/resty.v1 v1.12.0/go.mod h1:mDo4pnntr5jdWRML875a/NmxYqAlA73dVijT2AXvQQo= From adff2ced7f8870b3f0052add1b086f3dc53f543d Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 15 Dec 2021 16:59:38 +0100 Subject: [PATCH 075/107] build(deps): bump github.com/spf13/viper from 1.10.0 to 1.10.1 (#638) Bumps [github.com/spf13/viper](https://github.com/spf13/viper) from 1.10.0 to 1.10.1. - [Release notes](https://github.com/spf13/viper/releases) - [Commits](https://github.com/spf13/viper/compare/v1.10.0...v1.10.1) --- updated-dependencies: - dependency-name: github.com/spf13/viper dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- go.mod | 6 +++--- go.sum | 23 +++++++++-------------- 2 files changed, 12 insertions(+), 17 deletions(-) diff --git a/go.mod b/go.mod index f935d677f87..cd2377b0cfd 100644 --- a/go.mod +++ b/go.mod @@ -17,12 +17,12 @@ require ( github.com/regen-network/cosmos-proto v0.3.1 github.com/spf13/cast v1.4.1 github.com/spf13/cobra v1.2.1 - github.com/spf13/viper v1.10.0 + github.com/spf13/viper v1.10.1 github.com/stretchr/testify v1.7.0 github.com/tendermint/tendermint v0.34.14 github.com/tendermint/tm-db v0.6.4 google.golang.org/genproto v0.0.0-20211208223120-3a66f561d7aa - google.golang.org/grpc v1.42.0 + google.golang.org/grpc v1.43.0 google.golang.org/protobuf v1.27.1 gopkg.in/yaml.v2 v2.4.0 ) @@ -110,7 +110,7 @@ require ( go.etcd.io/bbolt v1.3.5 // indirect golang.org/x/crypto v0.0.0-20210817164053-32db794688a5 // indirect golang.org/x/net v0.0.0-20210903162142-ad29c8ab022f // indirect - golang.org/x/sys v0.0.0-20211205182925-97ca703d548d // indirect + golang.org/x/sys v0.0.0-20211210111614-af8b64212486 // indirect golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1 // indirect golang.org/x/text v0.3.7 // indirect gopkg.in/ini.v1 v1.66.2 // indirect diff --git a/go.sum b/go.sum index 32c6f9e41e0..14366479ef6 100644 --- a/go.sum +++ b/go.sum @@ -25,7 +25,6 @@ cloud.google.com/go v0.90.0/go.mod h1:kRX0mNRHe0e2rC6oNakvwQqzyDmg57xJ+SZU1eT2aD cloud.google.com/go v0.93.3/go.mod h1:8utlLll2EF5XMAV15woO4lSbWQlk8rer9aLOfLh7+YI= cloud.google.com/go v0.94.1/go.mod h1:qAlAugsXlC+JWO+Bke5vCtc9ONxjQT3drlTTnAplMW4= cloud.google.com/go v0.97.0/go.mod h1:GF7l59pYBVlXQIBLx3a761cZ41F9bBH3JUlihCt2Udc= -cloud.google.com/go v0.98.0/go.mod h1:ua6Ush4NALrHk5QXDWnjvZHN93OuF0HfuEPq9I1X0cM= cloud.google.com/go v0.99.0/go.mod h1:w0Xx2nLzqWJPuozYQX+hFfCSI8WioryfRDzkoI/Y2ZA= cloud.google.com/go/bigquery v1.0.1/go.mod h1:i/xbL2UlR5RvWAURpBYZTtm/cXjCha9lbfbpx4poX+o= cloud.google.com/go/bigquery v1.3.0/go.mod h1:PjpwJnslEMmckchkHFfq+HTD2DmtT67aNFKH1/VBDHE= @@ -461,7 +460,7 @@ github.com/gtank/ristretto255 v0.1.2 h1:JEqUCPA1NvLq5DwYtuzigd7ss8fwbYay9fi4/5uM github.com/gtank/ristretto255 v0.1.2/go.mod h1:Ph5OpO6c7xKUGROZfWVLiJf9icMDwUeIvY4OmlYW69o= github.com/hashicorp/consul/api v1.1.0/go.mod h1:VmuI/Lkw1nC05EYQWNKwWGbkg+FbDBtguAZLlVdkD9Q= github.com/hashicorp/consul/api v1.3.0/go.mod h1:MmDNSzIMUjNpY/mQ398R4bk2FnqQLoPndWW5VkKPlCE= -github.com/hashicorp/consul/api v1.11.0/go.mod h1:XjsvQN+RJGWI2TWy1/kqaE16HrR2J/FWgkYjdZQsX9M= +github.com/hashicorp/consul/api v1.12.0/go.mod h1:6pVBMo0ebnYdt2S3H87XhekM/HHrUoTD2XXb/VrZVy0= github.com/hashicorp/consul/sdk v0.1.1/go.mod h1:VKf9jXwCTEY1QZP2MOLRhb5i/I/ssyNV1vwHyQBF0x8= github.com/hashicorp/consul/sdk v0.3.0/go.mod h1:VKf9jXwCTEY1QZP2MOLRhb5i/I/ssyNV1vwHyQBF0x8= github.com/hashicorp/consul/sdk v0.8.0/go.mod h1:GBvyrGALthsZObzUGsfgHZQDXjg4lOjagTIwIR1vPms= @@ -495,13 +494,10 @@ github.com/hashicorp/hcl v1.0.0 h1:0Anlzjpi4vEasTeNFn2mLJgTSwt0+6sfsiTG8qcWGx4= github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ= github.com/hashicorp/logutils v1.0.0/go.mod h1:QIAnNjmIWmVIIkWDTG1z5v++HQmx9WQRO+LraFDTW64= github.com/hashicorp/mdns v1.0.0/go.mod h1:tL+uN++7HEJ6SQLQ2/p+z2pH24WQKWjBPkE0mNTz8vQ= -github.com/hashicorp/mdns v1.0.1/go.mod h1:4gW7WsVCke5TE7EPeYliwHlRUyBtfCwuFwuMg2DmyNY= github.com/hashicorp/mdns v1.0.4/go.mod h1:mtBihi+LeNXGtG8L9dX59gAEa12BDtBQSp4v/YAJqrc= github.com/hashicorp/memberlist v0.1.3/go.mod h1:ajVTdAv/9Im8oMAAj5G31PhhMCZJV2pPBoIllUwCN7I= -github.com/hashicorp/memberlist v0.2.2/go.mod h1:MS2lj3INKhZjWNqd3N0m3J+Jxf3DAOnAH9VT3Sh9MUE= github.com/hashicorp/memberlist v0.3.0/go.mod h1:MS2lj3INKhZjWNqd3N0m3J+Jxf3DAOnAH9VT3Sh9MUE= github.com/hashicorp/serf v0.8.2/go.mod h1:6hOLApaqBFA1NXqRQAsxw9QxuDEvNxSQRwA/JwenrHc= -github.com/hashicorp/serf v0.9.5/go.mod h1:UWDWwZeL5cuWDJdl0C6wrvrUwEqtQ4ZKBKKENpqIUyk= github.com/hashicorp/serf v0.9.6/go.mod h1:TXZNMjZQijwlDvp+r0b63xZ45H7JmCmgg4gpTwn9UV4= github.com/hdevalence/ed25519consensus v0.0.0-20210204194344-59a8610d2b87 h1:uUjLpLt6bVvZ72SQc/B4dXcPBw4Vgd7soowdRl52qEM= github.com/hdevalence/ed25519consensus v0.0.0-20210204194344-59a8610d2b87/go.mod h1:XGsKKeXxeRr95aEOgipvluMPlgjr7dGlk9ZTWOjcUcg= @@ -792,7 +788,7 @@ github.com/rs/zerolog v1.23.0/go.mod h1:6c7hFfxPOy7TacJc4Fcdi24/J0NKYGzjG8FWRI91 github.com/russross/blackfriday v1.5.2/go.mod h1:JO/DiYxRf+HjHt06OyowR9PTA263kcR/rfWxYHBV53g= github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= github.com/ryanuber/columnize v0.0.0-20160712163229-9b3edd62028f/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts= -github.com/sagikazarmark/crypt v0.3.0/go.mod h1:uD/D+6UF4SrIR1uGEv7bBNkNqLGqUr43MRiaGWX1Nig= +github.com/sagikazarmark/crypt v0.4.0/go.mod h1:ALv2SRj7GxYV4HO9elxH9nS6M9gW+xDNxqmyJ6RfDFM= github.com/samuel/go-zookeeper v0.0.0-20190923202752-2cc03de413da/go.mod h1:gi+0XIa01GRL2eRQVjQkKGqKF3SF9vZR/HnPullcV2E= github.com/sasha-s/go-deadlock v0.2.1-0.20190427202633-1595213edefa h1:0U2s5loxrTy6/VgfVoLuVLFJcURKLH49ie0zSch7gh4= github.com/sasha-s/go-deadlock v0.2.1-0.20190427202633-1595213edefa/go.mod h1:F73l+cr82YSh10GxyRI6qZiCgK64VaZjwesgfQ1/iLM= @@ -840,8 +836,8 @@ github.com/spf13/viper v1.3.2/go.mod h1:ZiWeW+zYFKm7srdB9IoDzzZXaJaI5eL9QjNiN/DM github.com/spf13/viper v1.7.0/go.mod h1:8WkrPz2fc9jxqZNCJI/76HCieCp4Q8HaLFoCha5qpdg= github.com/spf13/viper v1.7.1/go.mod h1:8WkrPz2fc9jxqZNCJI/76HCieCp4Q8HaLFoCha5qpdg= github.com/spf13/viper v1.8.1/go.mod h1:o0Pch8wJ9BVSWGQMbra6iw0oQ5oktSIBaujf1rJH9Ns= -github.com/spf13/viper v1.10.0 h1:mXH0UwHS4D2HwWZa75im4xIQynLfblmWV7qcWpfv0yk= -github.com/spf13/viper v1.10.0/go.mod h1:SoyBPwAtKDzypXNDFKN5kzH7ppppbGZtls1UpIy5AsM= +github.com/spf13/viper v1.10.1 h1:nuJZuYpG7gTj/XqiUwg8bA0cp1+M2mC3J4g5luUYBKk= +github.com/spf13/viper v1.10.1/go.mod h1:IGlFPqhNAPKRxohIzWpI5QEy4kuI7tcl5WvR+8qy1rU= github.com/status-im/keycard-go v0.0.0-20190316090335-8537d3370df4/go.mod h1:RZLeN1LMWmRsyYjvAu+I6Dm9QmlDaIIt+Y+4Kd7Tp+Q= github.com/steakknife/bloomfilter v0.0.0-20180922174646-6819c0d2a570/go.mod h1:8OR4w3TdeIHIh1g6EMY5p0gVNOovcWC+1vpc7naMuAw= github.com/steakknife/hamming v0.0.0-20180906055917-c99c65617cd3/go.mod h1:hpGUWaI9xL8pRQCTXQgocU38Qw1g0Us7n5PxxTwTCYU= @@ -1179,8 +1175,8 @@ golang.org/x/sys v0.0.0-20210908233432-aa78b53d3365/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20210927094055-39ccf1dd6fa6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20211007075335-d3039528d8ac/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20211124211545-fe61309f8881/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20211205182925-97ca703d548d h1:FjkYO/PPp4Wi0EAUOVLxePm7qVW4r4ctbWpURyuOD0E= -golang.org/x/sys v0.0.0-20211205182925-97ca703d548d/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20211210111614-af8b64212486 h1:5hpz5aRr+W1erYCL5JRhSUBJRph7l9XkNveoExlrKYk= +golang.org/x/sys v0.0.0-20211210111614-af8b64212486/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1 h1:v+OssWQX+hTHEmOBgwxdZxK4zHq3yOs8F9J7mk0PY8E= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= @@ -1300,7 +1296,7 @@ google.golang.org/api v0.56.0/go.mod h1:38yMfeP1kfjsl8isn0tliTjIb1rJXcQi4UXlbqiv google.golang.org/api v0.57.0/go.mod h1:dVPlbZyBo2/OjBpmvNdpn2GRm6rPy75jyU7bmhdrMgI= google.golang.org/api v0.59.0/go.mod h1:sT2boj7M9YJxZzgeZqXogmhfmRWDtPzT31xkieUbuZU= google.golang.org/api v0.61.0/go.mod h1:xQRti5UdCmoCEqFxcz93fTl338AVqDgyaDRuOZ3hg9I= -google.golang.org/api v0.62.0/go.mod h1:dKmwPCydfsad4qCH08MSdgWjfHOyfpd4VtDGgRFdavw= +google.golang.org/api v0.63.0/go.mod h1:gs4ij2ffTRXwuzzgJl/56BdwJaA194ijkfn++9tDuPo= google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= google.golang.org/appengine v1.2.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= @@ -1374,8 +1370,6 @@ google.golang.org/genproto v0.0.0-20210924002016-3dee208752a0/go.mod h1:5CzLGKJ6 google.golang.org/genproto v0.0.0-20211008145708-270636b82663/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= google.golang.org/genproto v0.0.0-20211028162531-8db9c33dc351/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= google.golang.org/genproto v0.0.0-20211118181313-81c1377c94b1/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= -google.golang.org/genproto v0.0.0-20211129164237-f09f9a12af12/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= -google.golang.org/genproto v0.0.0-20211203200212-54befc351ae9/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= google.golang.org/genproto v0.0.0-20211206160659-862468c7d6e0/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= google.golang.org/genproto v0.0.0-20211208223120-3a66f561d7aa h1:I0YcKz0I7OAhddo7ya8kMnvprhcWM045PmkBdMO9zN0= google.golang.org/genproto v0.0.0-20211208223120-3a66f561d7aa/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= @@ -1412,8 +1406,9 @@ google.golang.org/grpc v1.39.0/go.mod h1:PImNr+rS9TWYb2O4/emRugxiyHZ5JyHW5F+RPnD google.golang.org/grpc v1.39.1/go.mod h1:PImNr+rS9TWYb2O4/emRugxiyHZ5JyHW5F+RPnDzfrE= google.golang.org/grpc v1.40.0/go.mod h1:ogyxbiOoUXAkP+4+xa6PZSE9DZgIHtSpzjDTB9KAK34= google.golang.org/grpc v1.40.1/go.mod h1:ogyxbiOoUXAkP+4+xa6PZSE9DZgIHtSpzjDTB9KAK34= -google.golang.org/grpc v1.42.0 h1:XT2/MFpuPFsEX2fWh3YQtHkZ+WYZFQRfaUgLZYj/p6A= google.golang.org/grpc v1.42.0/go.mod h1:k+4IHHFw41K8+bbowsex27ge2rCb65oeWqe4jJ590SU= +google.golang.org/grpc v1.43.0 h1:Eeu7bZtDZ2DpRCsLhUlcrLnvYaMK1Gz86a+hMVvELmM= +google.golang.org/grpc v1.43.0/go.mod h1:k+4IHHFw41K8+bbowsex27ge2rCb65oeWqe4jJ590SU= google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.1.0/go.mod h1:6Kw0yEErY5E/yWrBtf03jp27GLLJujG4z/JK95pnjjw= google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= From 4f4e7f0da21106999cce7cbb755e0f2b7ffcff80 Mon Sep 17 00:00:00 2001 From: Barrie Byron Date: Wed, 15 Dec 2021 11:06:03 -0500 Subject: [PATCH 076/107] docs: add clear definition of IBC at top of readme now that Vega upgrade has passed (#630) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * add clear definition of IBC at top of readme now that Vega upgrade has passed and IBC is standalone module * Update README.md remove the backbone Co-authored-by: colin axnér <25233464+colin-axner@users.noreply.github.com> --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 4f6583ef58d..8976319d0ae 100644 --- a/README.md +++ b/README.md @@ -29,7 +29,7 @@ Lint Status -Interblockchain communication protocol (IBC) implementation in Golang built as a SDK module. +The Inter-Blockchain Communication protocol (IBC) allows blockchains to talk to each other. IBC handles transport across different sovereign blockchains. This end-to-end, connection-oriented, stateful protocol provides reliable, ordered, and authenticated communication between heterogeneous blockchains. This IBC implementation in Golang is built as a Cosmos SDK module. ## Contents From 2273ef39fd461eb2c5977a8dcaa16e44a4e97251 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 16 Dec 2021 12:11:35 +0100 Subject: [PATCH 077/107] build(deps): bump github.com/spf13/cobra from 1.2.1 to 1.3.0 (#637) Bumps [github.com/spf13/cobra](https://github.com/spf13/cobra) from 1.2.1 to 1.3.0. - [Release notes](https://github.com/spf13/cobra/releases) - [Changelog](https://github.com/spf13/cobra/blob/master/CHANGELOG.md) - [Commits](https://github.com/spf13/cobra/compare/v1.2.1...v1.3.0) --- updated-dependencies: - dependency-name: github.com/spf13/cobra dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- go.mod | 2 +- go.sum | 16 +++++++++++++++- 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/go.mod b/go.mod index cd2377b0cfd..ae2d93ad884 100644 --- a/go.mod +++ b/go.mod @@ -16,7 +16,7 @@ require ( github.com/rakyll/statik v0.1.7 github.com/regen-network/cosmos-proto v0.3.1 github.com/spf13/cast v1.4.1 - github.com/spf13/cobra v1.2.1 + github.com/spf13/cobra v1.3.0 github.com/spf13/viper v1.10.1 github.com/stretchr/testify v1.7.0 github.com/tendermint/tendermint v0.34.14 diff --git a/go.sum b/go.sum index 14366479ef6..429f21379be 100644 --- a/go.sum +++ b/go.sum @@ -25,6 +25,7 @@ cloud.google.com/go v0.90.0/go.mod h1:kRX0mNRHe0e2rC6oNakvwQqzyDmg57xJ+SZU1eT2aD cloud.google.com/go v0.93.3/go.mod h1:8utlLll2EF5XMAV15woO4lSbWQlk8rer9aLOfLh7+YI= cloud.google.com/go v0.94.1/go.mod h1:qAlAugsXlC+JWO+Bke5vCtc9ONxjQT3drlTTnAplMW4= cloud.google.com/go v0.97.0/go.mod h1:GF7l59pYBVlXQIBLx3a761cZ41F9bBH3JUlihCt2Udc= +cloud.google.com/go v0.98.0/go.mod h1:ua6Ush4NALrHk5QXDWnjvZHN93OuF0HfuEPq9I1X0cM= cloud.google.com/go v0.99.0/go.mod h1:w0Xx2nLzqWJPuozYQX+hFfCSI8WioryfRDzkoI/Y2ZA= cloud.google.com/go/bigquery v1.0.1/go.mod h1:i/xbL2UlR5RvWAURpBYZTtm/cXjCha9lbfbpx4poX+o= cloud.google.com/go/bigquery v1.3.0/go.mod h1:PjpwJnslEMmckchkHFfq+HTD2DmtT67aNFKH1/VBDHE= @@ -215,6 +216,7 @@ github.com/cosmos/ledger-go v0.9.2/go.mod h1:oZJ2hHAZROdlHiwTg4t7kP+GKIIkBT+o6c9 github.com/cpuguy83/go-md2man v1.0.10/go.mod h1:SmD6nW6nTyfqj6ABTjUi3V3JVMnlJmwcJI5acqYI6dE= github.com/cpuguy83/go-md2man/v2 v2.0.0-20190314233015-f79a8a8ca69d/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= github.com/cpuguy83/go-md2man/v2 v2.0.0/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= +github.com/cpuguy83/go-md2man/v2 v2.0.1/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= github.com/creack/pty v1.1.7/go.mod h1:lj5s0c3V2DBrqTV7llrYr5NG6My20zk30Fl46Y7DoTY= github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= github.com/cyphar/filepath-securejoin v0.2.2/go.mod h1:FpkQEhXnPnOthhzymB7CGsFk2G9VLXONKD9G7QGMM+4= @@ -460,6 +462,7 @@ github.com/gtank/ristretto255 v0.1.2 h1:JEqUCPA1NvLq5DwYtuzigd7ss8fwbYay9fi4/5uM github.com/gtank/ristretto255 v0.1.2/go.mod h1:Ph5OpO6c7xKUGROZfWVLiJf9icMDwUeIvY4OmlYW69o= github.com/hashicorp/consul/api v1.1.0/go.mod h1:VmuI/Lkw1nC05EYQWNKwWGbkg+FbDBtguAZLlVdkD9Q= github.com/hashicorp/consul/api v1.3.0/go.mod h1:MmDNSzIMUjNpY/mQ398R4bk2FnqQLoPndWW5VkKPlCE= +github.com/hashicorp/consul/api v1.11.0/go.mod h1:XjsvQN+RJGWI2TWy1/kqaE16HrR2J/FWgkYjdZQsX9M= github.com/hashicorp/consul/api v1.12.0/go.mod h1:6pVBMo0ebnYdt2S3H87XhekM/HHrUoTD2XXb/VrZVy0= github.com/hashicorp/consul/sdk v0.1.1/go.mod h1:VKf9jXwCTEY1QZP2MOLRhb5i/I/ssyNV1vwHyQBF0x8= github.com/hashicorp/consul/sdk v0.3.0/go.mod h1:VKf9jXwCTEY1QZP2MOLRhb5i/I/ssyNV1vwHyQBF0x8= @@ -494,10 +497,13 @@ github.com/hashicorp/hcl v1.0.0 h1:0Anlzjpi4vEasTeNFn2mLJgTSwt0+6sfsiTG8qcWGx4= github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ= github.com/hashicorp/logutils v1.0.0/go.mod h1:QIAnNjmIWmVIIkWDTG1z5v++HQmx9WQRO+LraFDTW64= github.com/hashicorp/mdns v1.0.0/go.mod h1:tL+uN++7HEJ6SQLQ2/p+z2pH24WQKWjBPkE0mNTz8vQ= +github.com/hashicorp/mdns v1.0.1/go.mod h1:4gW7WsVCke5TE7EPeYliwHlRUyBtfCwuFwuMg2DmyNY= github.com/hashicorp/mdns v1.0.4/go.mod h1:mtBihi+LeNXGtG8L9dX59gAEa12BDtBQSp4v/YAJqrc= github.com/hashicorp/memberlist v0.1.3/go.mod h1:ajVTdAv/9Im8oMAAj5G31PhhMCZJV2pPBoIllUwCN7I= +github.com/hashicorp/memberlist v0.2.2/go.mod h1:MS2lj3INKhZjWNqd3N0m3J+Jxf3DAOnAH9VT3Sh9MUE= github.com/hashicorp/memberlist v0.3.0/go.mod h1:MS2lj3INKhZjWNqd3N0m3J+Jxf3DAOnAH9VT3Sh9MUE= github.com/hashicorp/serf v0.8.2/go.mod h1:6hOLApaqBFA1NXqRQAsxw9QxuDEvNxSQRwA/JwenrHc= +github.com/hashicorp/serf v0.9.5/go.mod h1:UWDWwZeL5cuWDJdl0C6wrvrUwEqtQ4ZKBKKENpqIUyk= github.com/hashicorp/serf v0.9.6/go.mod h1:TXZNMjZQijwlDvp+r0b63xZ45H7JmCmgg4gpTwn9UV4= github.com/hdevalence/ed25519consensus v0.0.0-20210204194344-59a8610d2b87 h1:uUjLpLt6bVvZ72SQc/B4dXcPBw4Vgd7soowdRl52qEM= github.com/hdevalence/ed25519consensus v0.0.0-20210204194344-59a8610d2b87/go.mod h1:XGsKKeXxeRr95aEOgipvluMPlgjr7dGlk9ZTWOjcUcg= @@ -787,7 +793,9 @@ github.com/rs/zerolog v1.23.0 h1:UskrK+saS9P9Y789yNNulYKdARjPZuS35B8gJF2x60g= github.com/rs/zerolog v1.23.0/go.mod h1:6c7hFfxPOy7TacJc4Fcdi24/J0NKYGzjG8FWRI916Qo= github.com/russross/blackfriday v1.5.2/go.mod h1:JO/DiYxRf+HjHt06OyowR9PTA263kcR/rfWxYHBV53g= github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= +github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= github.com/ryanuber/columnize v0.0.0-20160712163229-9b3edd62028f/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts= +github.com/sagikazarmark/crypt v0.3.0/go.mod h1:uD/D+6UF4SrIR1uGEv7bBNkNqLGqUr43MRiaGWX1Nig= github.com/sagikazarmark/crypt v0.4.0/go.mod h1:ALv2SRj7GxYV4HO9elxH9nS6M9gW+xDNxqmyJ6RfDFM= github.com/samuel/go-zookeeper v0.0.0-20190923202752-2cc03de413da/go.mod h1:gi+0XIa01GRL2eRQVjQkKGqKF3SF9vZR/HnPullcV2E= github.com/sasha-s/go-deadlock v0.2.1-0.20190427202633-1595213edefa h1:0U2s5loxrTy6/VgfVoLuVLFJcURKLH49ie0zSch7gh4= @@ -823,8 +831,9 @@ github.com/spf13/cast v1.4.1/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkU github.com/spf13/cobra v0.0.3/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3XqQ= github.com/spf13/cobra v0.0.5/go.mod h1:3K3wKZymM7VvHMDS9+Akkh4K60UwM26emMESw8tLCHU= github.com/spf13/cobra v1.1.1/go.mod h1:WnodtKOvamDL/PwE2M4iKs8aMDBZ5Q5klgD3qfVJQMI= -github.com/spf13/cobra v1.2.1 h1:+KmjbUw1hriSNMF55oPrkZcb27aECyrj8V2ytv7kWDw= github.com/spf13/cobra v1.2.1/go.mod h1:ExllRjgxM/piMAM+3tAZvg8fsklGAf3tPfi+i8t68Nk= +github.com/spf13/cobra v1.3.0 h1:R7cSvGu+Vv+qX0gW5R/85dx2kmmJT5z5NM8ifdYjdn0= +github.com/spf13/cobra v1.3.0/go.mod h1:BrRVncBjOJa/eUcVVm9CE+oC6as8k+VYr4NY7WCi9V4= github.com/spf13/jwalterweatherman v1.0.0/go.mod h1:cQK4TGJAtQXfYWX+Ddv3mKDzgVb68N+wFjFa4jdeBTo= github.com/spf13/jwalterweatherman v1.1.0 h1:ue6voC5bR5F8YxI5S67j9i582FU4Qvo2bmqnqMYADFk= github.com/spf13/jwalterweatherman v1.1.0/go.mod h1:aNWZUN0dPAAO/Ljvb5BEdw96iTZ0EXowPYD95IqWIGo= @@ -836,6 +845,7 @@ github.com/spf13/viper v1.3.2/go.mod h1:ZiWeW+zYFKm7srdB9IoDzzZXaJaI5eL9QjNiN/DM github.com/spf13/viper v1.7.0/go.mod h1:8WkrPz2fc9jxqZNCJI/76HCieCp4Q8HaLFoCha5qpdg= github.com/spf13/viper v1.7.1/go.mod h1:8WkrPz2fc9jxqZNCJI/76HCieCp4Q8HaLFoCha5qpdg= github.com/spf13/viper v1.8.1/go.mod h1:o0Pch8wJ9BVSWGQMbra6iw0oQ5oktSIBaujf1rJH9Ns= +github.com/spf13/viper v1.10.0/go.mod h1:SoyBPwAtKDzypXNDFKN5kzH7ppppbGZtls1UpIy5AsM= github.com/spf13/viper v1.10.1 h1:nuJZuYpG7gTj/XqiUwg8bA0cp1+M2mC3J4g5luUYBKk= github.com/spf13/viper v1.10.1/go.mod h1:IGlFPqhNAPKRxohIzWpI5QEy4kuI7tcl5WvR+8qy1rU= github.com/status-im/keycard-go v0.0.0-20190316090335-8537d3370df4/go.mod h1:RZLeN1LMWmRsyYjvAu+I6Dm9QmlDaIIt+Y+4Kd7Tp+Q= @@ -1175,6 +1185,7 @@ golang.org/x/sys v0.0.0-20210908233432-aa78b53d3365/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20210927094055-39ccf1dd6fa6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20211007075335-d3039528d8ac/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20211124211545-fe61309f8881/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20211205182925-97ca703d548d/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20211210111614-af8b64212486 h1:5hpz5aRr+W1erYCL5JRhSUBJRph7l9XkNveoExlrKYk= golang.org/x/sys v0.0.0-20211210111614-af8b64212486/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw= @@ -1296,6 +1307,7 @@ google.golang.org/api v0.56.0/go.mod h1:38yMfeP1kfjsl8isn0tliTjIb1rJXcQi4UXlbqiv google.golang.org/api v0.57.0/go.mod h1:dVPlbZyBo2/OjBpmvNdpn2GRm6rPy75jyU7bmhdrMgI= google.golang.org/api v0.59.0/go.mod h1:sT2boj7M9YJxZzgeZqXogmhfmRWDtPzT31xkieUbuZU= google.golang.org/api v0.61.0/go.mod h1:xQRti5UdCmoCEqFxcz93fTl338AVqDgyaDRuOZ3hg9I= +google.golang.org/api v0.62.0/go.mod h1:dKmwPCydfsad4qCH08MSdgWjfHOyfpd4VtDGgRFdavw= google.golang.org/api v0.63.0/go.mod h1:gs4ij2ffTRXwuzzgJl/56BdwJaA194ijkfn++9tDuPo= google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= google.golang.org/appengine v1.2.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= @@ -1370,6 +1382,8 @@ google.golang.org/genproto v0.0.0-20210924002016-3dee208752a0/go.mod h1:5CzLGKJ6 google.golang.org/genproto v0.0.0-20211008145708-270636b82663/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= google.golang.org/genproto v0.0.0-20211028162531-8db9c33dc351/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= google.golang.org/genproto v0.0.0-20211118181313-81c1377c94b1/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= +google.golang.org/genproto v0.0.0-20211129164237-f09f9a12af12/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= +google.golang.org/genproto v0.0.0-20211203200212-54befc351ae9/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= google.golang.org/genproto v0.0.0-20211206160659-862468c7d6e0/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= google.golang.org/genproto v0.0.0-20211208223120-3a66f561d7aa h1:I0YcKz0I7OAhddo7ya8kMnvprhcWM045PmkBdMO9zN0= google.golang.org/genproto v0.0.0-20211208223120-3a66f561d7aa/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= From 7cadfae4806bd2813e537d39b1895fbde4589b6f Mon Sep 17 00:00:00 2001 From: Carlos Rodriguez Date: Mon, 20 Dec 2021 09:30:48 +0100 Subject: [PATCH 078/107] docs: add roadmap (#558) * add roadmap * move roadmap to docs * docs: updates to roadmap * docs: more roadmap updates Co-authored-by: Carlos Rodriguez --- README.md | 4 ++ docs/.vuepress/config.js | 5 ++ docs/roadmap/roadmap.md | 133 +++++++++++++++++++++++++++++++++++++++ 3 files changed, 142 insertions(+) create mode 100644 docs/roadmap/roadmap.md diff --git a/README.md b/README.md index 8976319d0ae..e09a1c6376a 100644 --- a/README.md +++ b/README.md @@ -59,6 +59,10 @@ The Inter-Blockchain Communication protocol (IBC) allows blockchains to talk to Note: The localhost client is currently non-functional. +## Roadmap + +For an overview of upcoming changes to ibc-go take a look at the [roadmap](./docs/roadmap/roadmap.md). + ## Resources - [IBC Website](https://ibcprotocol.org/) diff --git a/docs/.vuepress/config.js b/docs/.vuepress/config.js index e28cc78afb7..45e3775923d 100644 --- a/docs/.vuepress/config.js +++ b/docs/.vuepress/config.js @@ -96,6 +96,11 @@ module.exports = { directory: false, path: "/ibc/proto-docs.html" }, + { + title: "Roadmap", + directory: false, + path: "/roadmap/roadmap.html" + }, ] }, { diff --git a/docs/roadmap/roadmap.md b/docs/roadmap/roadmap.md new file mode 100644 index 00000000000..ea0e83e8b01 --- /dev/null +++ b/docs/roadmap/roadmap.md @@ -0,0 +1,133 @@ +--- +order: 1 +--- + +# Roadmap ibc-go + +_Lastest update: Dec 16, 2021_ + +This document endeavours to inform the wider IBC community about plans and priorities for work on ibc-go byt the team at Interchain GmbH. It is intended to broadly inform all users of ibc-go, including developers and operators of IBC, relayer, chain and wallet applications. + +This roadmap should be read as a high-level guide, rather than a commitment to schedules and deliverables. The degree of specificity is inversely proportional to the timeline. We will update this document periodically to reflect the status and plans. + +The release tags and timelines are educated guesses based on the information at hand at the moment of updating this document. The `x` in the release tags is a placeholder for the final version number. + +## Q4 - 2021 + +### Interchain accounts + +- Finalize the issues raised during the internal audit. +- Prepare codebase & specification for two external audits. +- Write developer documentation. +- Integration with hermes relayer and end-2-end testing. +- Create alpha release. + +### Relayer incentivisation + +- Finalize implementation. +- Update specification and write documentation. +- Do internal audit and write issues that may arise. + +### Align implementation with ICS02 + +We will work to bring the ibc-go implementation in line with [ICS02](https://github.com/cosmos/ibc/tree/master/spec/core/ics-002-client-semantics): [#284](https://github.com/cosmos/ibc-go/issues/284), [#285](https://github.com/cosmos/ibc-go/issues/285), [#286](https://github.com/cosmos/ibc-go/issues/286), [#594](https://github.com/cosmos/ibc-go/issues/594) and [#599](https://github.com/cosmos/ibc-go/issues/599). The support for Wasm-based light clients relies on these issues as well. + +### Release schedule + +|Release|Milestone|Date| +|-------|---------|----| +|[v1.1.0](https://github.com/cosmos/ibc-go/releases/tag/v1.1.1)||Oct 04, 2021| +|[v1.2.1](https://github.com/cosmos/ibc-go/releases/tag/v1.2.1)||Oct 04, 2021| +|[v2.0.0-rc0](https://github.com/cosmos/ibc-go/releases/tag/v2.0.0-rc0)|[Link](https://github.com/cosmos/ibc-go/milestone/3)|Oct 05, 2021| +|[v1.1.2](https://github.com/cosmos/ibc-go/releases/tag/v1.1.2)||Oct 15, 2021| +|[v1.2.2](https://github.com/cosmos/ibc-go/releases/tag/v1.2.2)||Oct 15, 2021| +|[v1.1.3](https://github.com/cosmos/ibc-go/releases/tag/v1.1.3)||Nov 09, 2021| +|[v1.2.3](https://github.com/cosmos/ibc-go/releases/tag/v1.2.3)||Nov 09, 2021| +|[v2.0.0](https://github.com/cosmos/ibc-go/releases/tag/v2.0.0)|[Link](https://github.com/cosmos/ibc-go/milestone/3)|Nov 09, 2021| +|[v1.1.4](https://github.com/cosmos/ibc-go/releases/tag/v1.1.5)||Dec 06, 2021| +|[v1.2.4](https://github.com/cosmos/ibc-go/releases/tag/v1.2.4)||Dec 06, 2021| +|[v2.0.1](https://github.com/cosmos/ibc-go/releases/tag/v2.0.1)|[Link](https://github.com/cosmos/ibc-go/milestone/11)|Dec 06, 2021| +|[v1.1.5](https://github.com/cosmos/ibc-go/releases/tag/v1.1.5)||Dec 15, 2021| +|[v1.2.5](https://github.com/cosmos/ibc-go/releases/tag/v1.2.5)||Dec 15, 2021| +|[v2.0.2](https://github.com/cosmos/ibc-go/releases/tag/v2.0.2)|[Link](https://github.com/cosmos/ibc-go/milestone/20)|Dec 15, 2021| + +#### H1 December + +- v3.0.0-alpha: Alpha release of v3.0.0 including Interchain Accounts, an update of Golang from v1.15 to v1.17, and some core improvements. See [v3.0.0 milestone](https://github.com/cosmos/ibc-go/milestone/12) for more details. + +## Q1 - 2022 + +### Interchain accounts + +- Work on any issues that may come out of the two external audits. +- Create beta, release candidate and final releases. + +### Relayer incentivisation + +- Work on issues that may arise from internal audit. +- External audit (issues may arise that we need to work on before release). +- Create alpha, beta, release candidate and final release. + +### Support for Wasm-based light clients + +There is an open [PR](https://github.com/cosmos/ibc-go/pull/208) that implements support for Wasm-based light clients, but it needs to be updated after the finalization of the [ICS28](https://github.com/cosmos/ibc/tree/master/spec/client/ics-008-wasm-client) specification. The PR will also need a final review from ibc-go core team members. + +### Align implementation with ICS02 + +- Finalize work for: [#284](https://github.com/cosmos/ibc-go/issues/284), [#285](https://github.com/cosmos/ibc-go/issues/285), [#286](https://github.com/cosmos/ibc-go/issues/286), [#594](https://github.com/cosmos/ibc-go/issues/594) and [#599](https://github.com/cosmos/ibc-go/issues/599). + +### Interchain security + +- Testnet testing of [V1](https://github.com/cosmos/gaia/blob/main/docs/interchain-security.md#v1---full-validator-set). + +### Backlog issues + +- [#545](https://github.com/cosmos/ibc-go/issues/545): Remove the `GetTransferAccount` function, since we never use the ICS20 transfer module account (every escrow address is created as a regular account). +- [#559](https://github.com/cosmos/ibc-go/issues/559): Changes needed to support the migration to SMT storage. This is basically adding a new proof spec that will be used during connection handshake with a chain that has migrated to SMT to verify that the light client of the counterparty chain uses the correct proof specs to be able to verify proofs for that chain. +- And more to be added later! + +### Release schedule + +#### H1 January + +- [v3.0.0-beta](https://github.com/cosmos/ibc-go/milestone/12): Beta release of v3.0.0 including Interchain Accounts, an update of Golang from v1.15 to v1.17, and some core improvements. This is a Go-API breaking change because of [#472](https://github.com/cosmos/ibc-go/issues/472). + +#### H2 January + +- [v2.0.x](https://github.com/cosmos/ibc-go/milestone/14) +- [v3.0.0-rc0](https://github.com/cosmos/ibc-go/milestone/12): Release candidate 0 of v3.0.0 including Interchain Accounts, an update of Golang from v1.15 to v1.17, and some core improvements. This is a Go-API breaking change because of [#472](https://github.com/cosmos/ibc-go/issues/472). +- [v4.0.0-alpha](https://github.com/cosmos/ibc-go/milestone/16): Alpha release of v4.0.0 including Relayer Incentivisation and the issues to bring ibc-go implementation in line with ICS02 (which are Go-API breaking changes). This release will include fixes to issues that surfaced during internal audit. + +#### H1 February + +- [v3.0.0](https://github.com/cosmos/ibc-go/milestone/12): Final release of v3.0.0 including Interchain Accounts, an update of Golang from v1.15 to v1.17, and some core improvements. This is a Go-API breaking change because of [#472](https://github.com/cosmos/ibc-go/issues/472). + +#### H2 February + +- [v4.0.0-beta](https://github.com/cosmos/ibc-go/milestone/16): Beta release of v4.0.0 including Relayer Incentivisation and the issues to bring ibc-go implementation in line with ICS02 (which are Go-API breaking changes). This release will include fixes to issues that surfaced during external audit. + +#### H1 March + +- [v4.0.0-rc0](https://github.com/cosmos/ibc-go/milestone/16): Release candidate 0 of v4.0.0 including Relayer Incentivisation and the issues to bring ibc-go implementation in line with ICS02 (which are Go-API breaking changes). + +#### H2 March + +- [v4.0.0](https://github.com/cosmos/ibc-go/milestone/16): Final release of v4.0.0 including Relayer Incentivisation and the issues to bring ibc-go implementation in line with ICS02 (which are Go-API breaking changes). +- [v1.x.0](https://github.com/cosmos/ibc-go/milestone/17): Release in v1.x line including the update of Cosmos SDK to [v0.45](https://github.com/cosmos/cosmos-sdk/milestone/46) and Tendermint to [v0.35](https://github.com/tendermint/tendermint/releases/tag/v0.35.0). +- [v2.x.0](https://github.com/cosmos/ibc-go/milestone/18): Release in v2.x line including the update of Cosmos SDK to [v0.45](https://github.com/cosmos/cosmos-sdk/milestone/46) and Tendermint to [v0.35](https://github.com/tendermint/tendermint/releases/tag/v0.35.0). +- [v3.x.0](https://github.com/cosmos/ibc-go/milestone/19): Release in v3.x line including the update of Cosmos SDK to [v0.45](https://github.com/cosmos/cosmos-sdk/milestone/46) and Tendermint to [v0.35](https://github.com/tendermint/tendermint/releases/tag/v0.35.0). +- [v4.x.0](https://github.com/cosmos/ibc-go/milestone/22): Release in v4.x line including the update of Cosmos SDK to [v0.45](https://github.com/cosmos/cosmos-sdk/milestone/46) and Tendermint to [v0.35](https://github.com/tendermint/tendermint/releases/tag/v0.35.0). + +## Q2 - 2022 + +Scope is still TBD. + +### Release schedule + +#### H1 April + +- [v5.0.0-rc0](https://github.com/cosmos/ibc-go/milestone/21): Release candidate that includes the update of Cosmos SDK from 0.45 to [v1.0](https://github.com/cosmos/cosmos-sdk/milestone/52) and that will support the migration to SMT storage. + +#### H2 April + +- [v5.0.0](https://github.com/cosmos/ibc-go/milestone/21): Final release that includes the update of Cosmos SDK from 0.45 to [v1.0](https://github.com/cosmos/cosmos-sdk/milestone/52) and that will support the migration to SMT storage. \ No newline at end of file From b7fb146a5ce65b2bae801d908a2527fd8f9e2849 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?colin=20axn=C3=A9r?= <25233464+colin-axner@users.noreply.github.com> Date: Mon, 20 Dec 2021 10:41:35 +0100 Subject: [PATCH 079/107] remove CounterpartyHops function, add GetChannelConnection (#644) * remove CounterpartyHops function, add GetChannelConnection Removes CounterpartyHops function, 04-channel uses are replaced with direct calls to the connections counterparty connection id Adds GetChannelConnection as a helper function for getting the connection associated with a channel. Allows access to connectionID and counterparty connectionID * add changelog --- CHANGELOG.md | 2 + .../controller/keeper/handshake.go | 19 +++---- .../host/keeper/handshake.go | 19 +++---- .../types/expected_keepers.go | 2 +- modules/core/04-channel/keeper/handshake.go | 54 ++++--------------- modules/core/04-channel/keeper/keeper.go | 17 ++++++ modules/core/04-channel/keeper/timeout.go | 6 +-- 7 files changed, 46 insertions(+), 73 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index eb9f13fd013..82a0de6198f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -45,6 +45,7 @@ Ref: https://keepachangelog.com/en/1.0.0/ * (core) [\#629](https://github.com/cosmos/ibc-go/pull/629) Removes the GetProofSpecs from the ClientState interface. This function was previously unused by core IBC. * (transfer) [\#517](https://github.com/cosmos/ibc-go/pull/517) Separates the ICS 26 callback functions from `AppModule` into a new type `IBCModule` for ICS 20 transfer. * (modules/core/02-client) [\#536](https://github.com/cosmos/ibc-go/pull/536) GetSelfConsensusState return type changed from bool to error. +* (channel) [\#644](https://github.com/cosmos/ibc-go/pull/644) Removes `CounterpartyHops` function from the ChannelKeeper. ### State Machine Breaking @@ -52,6 +53,7 @@ Ref: https://keepachangelog.com/en/1.0.0/ * [\#383](https://github.com/cosmos/ibc-go/pull/383) Adds helper functions for merging and splitting middleware versions from the underlying app version. * (modules/core/05-port) [\#288](https://github.com/cosmos/ibc-go/issues/288) Making the 05-port keeper function IsBound public. The IsBound function checks if the provided portID is already binded to a module. +* (channel) [\#644](https://github.com/cosmos/ibc-go/pull/644) Adds `GetChannelConnection` to the ChannelKeeper. This function returns the connectionID and connection state associated with a channel. ### Features diff --git a/modules/apps/27-interchain-accounts/controller/keeper/handshake.go b/modules/apps/27-interchain-accounts/controller/keeper/handshake.go index c2c510e0e2c..66f0720f66c 100644 --- a/modules/apps/27-interchain-accounts/controller/keeper/handshake.go +++ b/modules/apps/27-interchain-accounts/controller/keeper/handshake.go @@ -105,24 +105,19 @@ func (k Keeper) OnChanCloseConfirm( // validateControllerPortParams asserts the provided connection sequence and counterparty connection sequence // match that of the associated connection stored in state func (k Keeper) validateControllerPortParams(ctx sdk.Context, channelID, portID string, connectionSeq, counterpartyConnectionSeq uint64) error { - channel, found := k.channelKeeper.GetChannel(ctx, portID, channelID) - if !found { - return sdkerrors.Wrapf(channeltypes.ErrChannelNotFound, "port ID %s channel ID %s", portID, channelID) - } - - counterpartyHops, found := k.channelKeeper.CounterpartyHops(ctx, channel) - if !found { - return sdkerrors.Wrap(connectiontypes.ErrConnectionNotFound, channel.ConnectionHops[0]) + connectionID, connection, err := k.channelKeeper.GetChannelConnection(ctx, portID, channelID) + if err != nil { + return err } - connSeq, err := connectiontypes.ParseConnectionSequence(channel.ConnectionHops[0]) + connSeq, err := connectiontypes.ParseConnectionSequence(connectionID) if err != nil { - return sdkerrors.Wrapf(err, "failed to parse connection sequence %s", channel.ConnectionHops[0]) + return sdkerrors.Wrapf(err, "failed to parse connection sequence %s", connectionID) } - counterpartyConnSeq, err := connectiontypes.ParseConnectionSequence(counterpartyHops[0]) + counterpartyConnSeq, err := connectiontypes.ParseConnectionSequence(connection.GetCounterparty().GetConnectionID()) if err != nil { - return sdkerrors.Wrapf(err, "failed to parse counterparty connection sequence %s", counterpartyHops[0]) + return sdkerrors.Wrapf(err, "failed to parse counterparty connection sequence %s", connection.GetCounterparty().GetConnectionID()) } if connSeq != connectionSeq { diff --git a/modules/apps/27-interchain-accounts/host/keeper/handshake.go b/modules/apps/27-interchain-accounts/host/keeper/handshake.go index a223020ee18..3c19c931122 100644 --- a/modules/apps/27-interchain-accounts/host/keeper/handshake.go +++ b/modules/apps/27-interchain-accounts/host/keeper/handshake.go @@ -105,24 +105,19 @@ func (k Keeper) OnChanCloseConfirm( // validateControllerPortParams asserts the provided connection sequence and counterparty connection sequence // match that of the associated connection stored in state func (k Keeper) validateControllerPortParams(ctx sdk.Context, channelID, portID string, connectionSeq, counterpartyConnectionSeq uint64) error { - channel, found := k.channelKeeper.GetChannel(ctx, portID, channelID) - if !found { - return sdkerrors.Wrapf(channeltypes.ErrChannelNotFound, "port ID %s channel ID %s", portID, channelID) - } - - counterpartyHops, found := k.channelKeeper.CounterpartyHops(ctx, channel) - if !found { - return sdkerrors.Wrap(connectiontypes.ErrConnectionNotFound, channel.ConnectionHops[0]) + connectionID, connection, err := k.channelKeeper.GetChannelConnection(ctx, portID, channelID) + if err != nil { + return err } - connSeq, err := connectiontypes.ParseConnectionSequence(channel.ConnectionHops[0]) + connSeq, err := connectiontypes.ParseConnectionSequence(connectionID) if err != nil { - return sdkerrors.Wrapf(err, "failed to parse connection sequence %s", channel.ConnectionHops[0]) + return sdkerrors.Wrapf(err, "failed to parse connection sequence %s", connectionID) } - counterpartyConnSeq, err := connectiontypes.ParseConnectionSequence(counterpartyHops[0]) + counterpartyConnSeq, err := connectiontypes.ParseConnectionSequence(connection.GetCounterparty().GetConnectionID()) if err != nil { - return sdkerrors.Wrapf(err, "failed to parse counterparty connection sequence %s", counterpartyHops[0]) + return sdkerrors.Wrapf(err, "failed to parse counterparty connection sequence %s", connection.GetCounterparty().GetConnectionID()) } if connSeq != connectionSeq { diff --git a/modules/apps/27-interchain-accounts/types/expected_keepers.go b/modules/apps/27-interchain-accounts/types/expected_keepers.go index 493debeec66..ba782e1d2f1 100644 --- a/modules/apps/27-interchain-accounts/types/expected_keepers.go +++ b/modules/apps/27-interchain-accounts/types/expected_keepers.go @@ -27,7 +27,7 @@ type ICS4Wrapper interface { type ChannelKeeper interface { GetChannel(ctx sdk.Context, srcPort, srcChan string) (channel channeltypes.Channel, found bool) GetNextSequenceSend(ctx sdk.Context, portID, channelID string) (uint64, bool) - CounterpartyHops(ctx sdk.Context, channel channeltypes.Channel) ([]string, bool) + GetChannelConnection(ctx sdk.Context, portID, channelID string) (string, ibcexported.ConnectionI, error) } // PortKeeper defines the expected IBC port keeper diff --git a/modules/core/04-channel/keeper/handshake.go b/modules/core/04-channel/keeper/handshake.go index 6b0b81df077..f1fa5eafcb6 100644 --- a/modules/core/04-channel/keeper/handshake.go +++ b/modules/core/04-channel/keeper/handshake.go @@ -5,6 +5,7 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" capabilitytypes "github.com/cosmos/cosmos-sdk/x/capability/types" + connectiontypes "github.com/cosmos/ibc-go/v3/modules/core/03-connection/types" "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types" porttypes "github.com/cosmos/ibc-go/v3/modules/core/05-port/types" @@ -12,27 +13,6 @@ import ( "github.com/cosmos/ibc-go/v3/modules/core/exported" ) -// CounterpartyHops returns the connection hops of the counterparty channel. -// The counterparty hops are stored in the inverse order as the channel's. -// NOTE: Since connectionHops only supports single connection channels for now, -// this function requires that connection hops only contain a single connection id -func (k Keeper) CounterpartyHops(ctx sdk.Context, ch types.Channel) ([]string, bool) { - // Return empty array if connection hops is more than one - // ConnectionHops length should be verified earlier - if len(ch.ConnectionHops) != 1 { - return []string{}, false - } - counterpartyHops := make([]string, 1) - hop := ch.ConnectionHops[0] - conn, found := k.connectionKeeper.GetConnection(ctx, hop) - if !found { - return []string{}, false - } - - counterpartyHops[0] = conn.GetCounterparty().GetConnectionID() - return counterpartyHops, true -} - // ChanOpenInit is called by a module to initiate a channel opening handshake with // a module on another chain. The counterparty channel identifier is validated to be // empty in msg validation. @@ -127,6 +107,11 @@ func (k Keeper) ChanOpenTry( channelID := previousChannelID + // connection hops only supports a single connection + if len(connectionHops) != 1 { + return "", nil, sdkerrors.Wrapf(types.ErrTooManyConnectionHops, "expected 1, got %d", len(connectionHops)) + } + // empty channel identifier indicates continuing a previous channel handshake if previousChannelID != "" { // channel identifier and connection hop length checked on msg.ValidateBasic() @@ -139,7 +124,7 @@ func (k Keeper) ChanOpenTry( if !(previousChannel.Ordering == order && previousChannel.Counterparty.PortId == counterparty.PortId && previousChannel.Counterparty.ChannelId == "" && - previousChannel.ConnectionHops[0] == connectionHops[0] && + previousChannel.ConnectionHops[0] == connectionHops[0] && // ChanOpenInit will only set a single connection hop previousChannel.Version == version) { return "", nil, sdkerrors.Wrap(types.ErrInvalidChannel, "channel fields mismatch previous channel fields") } @@ -189,12 +174,7 @@ func (k Keeper) ChanOpenTry( // NOTE: this step has been switched with the one below to reverse the connection // hops channel := types.NewChannel(types.TRYOPEN, order, counterparty, connectionHops, version) - - counterpartyHops, found := k.CounterpartyHops(ctx, channel) - if !found { - // should not reach here, connectionEnd was able to be retrieved above - panic("cannot find connection") - } + counterpartyHops := []string{connectionEnd.GetCounterparty().GetConnectionID()} // expectedCounterpaty is the counterparty of the counterparty's channel end // (i.e self) @@ -297,11 +277,7 @@ func (k Keeper) ChanOpenAck( ) } - counterpartyHops, found := k.CounterpartyHops(ctx, channel) - if !found { - // should not reach here, connectionEnd was able to be retrieved above - panic("cannot find connection") - } + counterpartyHops := []string{connectionEnd.GetCounterparty().GetConnectionID()} // counterparty of the counterparty channel end (i.e self) expectedCounterparty := types.NewCounterparty(portID, channelID) @@ -381,11 +357,7 @@ func (k Keeper) ChanOpenConfirm( ) } - counterpartyHops, found := k.CounterpartyHops(ctx, channel) - if !found { - // Should not reach here, connectionEnd was able to be retrieved above - panic("cannot find connection") - } + counterpartyHops := []string{connectionEnd.GetCounterparty().GetConnectionID()} counterparty := types.NewCounterparty(portID, channelID) expectedChannel := types.NewChannel( @@ -519,11 +491,7 @@ func (k Keeper) ChanCloseConfirm( ) } - counterpartyHops, found := k.CounterpartyHops(ctx, channel) - if !found { - // Should not reach here, connectionEnd was able to be retrieved above - panic("cannot find connection") - } + counterpartyHops := []string{connectionEnd.GetCounterparty().GetConnectionID()} counterparty := types.NewCounterparty(portID, channelID) expectedChannel := types.NewChannel( diff --git a/modules/core/04-channel/keeper/keeper.go b/modules/core/04-channel/keeper/keeper.go index 324d11e0bd2..e680b23f182 100644 --- a/modules/core/04-channel/keeper/keeper.go +++ b/modules/core/04-channel/keeper/keeper.go @@ -403,6 +403,23 @@ func (k Keeper) GetChannelClientState(ctx sdk.Context, portID, channelID string) return connection.ClientId, clientState, nil } +// GetChannelConnection returns the connection ID and state associated with the given port and channel identifier. +func (k Keeper) GetChannelConnection(ctx sdk.Context, portID, channelID string) (string, exported.ConnectionI, error) { + channel, found := k.GetChannel(ctx, portID, channelID) + if !found { + return "", nil, sdkerrors.Wrapf(types.ErrChannelNotFound, "port-id: %s, channel-id: %s", portID, channelID) + } + + connectionID := channel.ConnectionHops[0] + + connection, found := k.connectionKeeper.GetConnection(ctx, connectionID) + if !found { + return "", nil, sdkerrors.Wrapf(connectiontypes.ErrConnectionNotFound, "connection-id: %s", connectionID) + } + + return connectionID, connection, nil +} + // LookupModuleByChannel will return the IBCModule along with the capability associated with a given channel defined by its portID and channelID func (k Keeper) LookupModuleByChannel(ctx sdk.Context, portID, channelID string) (string, *capabilitytypes.Capability, error) { modules, cap, err := k.scopedKeeper.LookupModules(ctx, host.ChannelCapabilityPath(portID, channelID)) diff --git a/modules/core/04-channel/keeper/timeout.go b/modules/core/04-channel/keeper/timeout.go index f7f4ab4b96c..ae7039ef0b2 100644 --- a/modules/core/04-channel/keeper/timeout.go +++ b/modules/core/04-channel/keeper/timeout.go @@ -227,11 +227,7 @@ func (k Keeper) TimeoutOnClose( return sdkerrors.Wrapf(types.ErrInvalidPacket, "packet commitment bytes are not equal: got (%v), expected (%v)", commitment, packetCommitment) } - counterpartyHops, found := k.CounterpartyHops(ctx, channel) - if !found { - // Should not reach here, connectionEnd was able to be retrieved above - panic("cannot find connection") - } + counterpartyHops := []string{connectionEnd.GetCounterparty().GetConnectionID()} counterparty := types.NewCounterparty(packet.GetSourcePort(), packet.GetSourceChannel()) expectedChannel := types.NewChannel( From a8ebc3f8a2675321903403f861eb4814e1e77f69 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?colin=20axn=C3=A9r?= <25233464+colin-axner@users.noreply.github.com> Date: Mon, 20 Dec 2021 10:56:25 +0100 Subject: [PATCH 080/107] docs: developing ica auth module (#633) * add ica auth development docs * fix code formatting * fix spacing * add link * Apply suggestions from code review Co-authored-by: Damian Nolan Co-authored-by: Carlos Rodriguez * fix alignment * address remaining review suggestions * link to ICS30 * Update docs/app_modules/interchain-accounts/ica_auth.md Co-authored-by: Carlos Rodriguez * fix misalignment * remove capitalization of authentication module Co-authored-by: Damian Nolan Co-authored-by: Carlos Rodriguez --- .../interchain-accounts/ica_auth.md | 221 ++++++++++++++++++ 1 file changed, 221 insertions(+) create mode 100644 docs/app_modules/interchain-accounts/ica_auth.md diff --git a/docs/app_modules/interchain-accounts/ica_auth.md b/docs/app_modules/interchain-accounts/ica_auth.md new file mode 100644 index 00000000000..ca7163e6566 --- /dev/null +++ b/docs/app_modules/interchain-accounts/ica_auth.md @@ -0,0 +1,221 @@ + + +# Building an ICA authentication module + +The controller module is used for account registration and packet sending. +It executes only logic required of all controllers of interchain accounts. +The type of authentication used to manage the interchain accounts remains unspecified. +There may exist many different types of authentication which are desirable for different use cases. +Thus the purpose of the authentication module is to wrap the controller module with custom authentication logic. + +In ibc-go, authentication modules are connected to the controller chain via a middleware stack. +The controller module is implemented as [middleware](https://github.com/cosmos/ibc/tree/master/spec/app/ics-030-middleware) and the authentication module is connected to the controller module as the base application of the middleware stack. +To implement an authentication module, the `IBCModule` interface must be fulfilled. +By implementing the controller module as middleware, any amount of authentication modules can be created and connected to the controller module without writing redundant code. + +The authentication module must: +- Authenticate interchain account owners +- Track the associated interchain account address for an owner +- Claim the channel capability in `OnChanOpenInit` +- Send packets on behalf of an owner (after authentication) + +### IBCModule implementation + +The following `IBCModule` callbacks must be implemented with appropriate custom logic: + +```go +// OnChanOpenInit implements the IBCModule interface +func (im IBCModule) OnChanOpenInit( + ctx sdk.Context, + order channeltypes.Order, + connectionHops []string, + portID string, + channelID string, + chanCap *capabilitytypes.Capability, + counterparty channeltypes.Counterparty, + version string, +) error { + // the authentication module *must* claim the channel capability on OnChanOpenInit + if err := im.keeper.ClaimCapability(ctx, chanCap, host.ChannelCapabilityPath(portID, channelID)); err != nil { + return err + } + + // perform custom logic + + return nil +} + +// OnChanOpenAck implements the IBCModule interface +func (im IBCModule) OnChanOpenAck( + ctx sdk.Context, + portID, + channelID string, + counterpartyVersion string, +) error { + // perform custom logic + + return nil +} + +// OnChanCloseConfirm implements the IBCModule interface +func (im IBCModule) OnChanCloseConfirm( + ctx sdk.Context, + portID, + channelID string, +) error { + // perform custom logic + + return nil +} + +// OnAcknowledgementPacket implements the IBCModule interface +func (im IBCModule) OnAcknowledgementPacket( + ctx sdk.Context, + packet channeltypes.Packet, + acknowledgement []byte, + relayer sdk.AccAddress, +) error { + // perform custom logic + + return nil +} + +// OnTimeoutPacket implements the IBCModule interface. +func (im IBCModule) OnTimeoutPacket( + ctx sdk.Context, + packet channeltypes.Packet, + relayer sdk.AccAddress, +) error { + // perform custom logic + + return nil +} +``` + +**Note**: The channel capability must be claimed by the authentication module in `OnChanOpenInit` otherwise the authentication module will not be able to send packets on the channel created for the associated interchain account. + +The following functions must be defined to fulfill the `IBCModule` interface, but they will never be called by the controller module so they may error or panic. + +```go +// OnChanOpenTry implements the IBCModule interface +func (im IBCModule) OnChanOpenTry( + ctx sdk.Context, + order channeltypes.Order, + connectionHops []string, + portID, + channelID string, + chanCap *capabilitytypes.Capability, + counterparty channeltypes.Counterparty, + version, + counterpartyVersion string, +) error { + panic("UNIMPLEMENTED") +} + +// OnChanOpenConfirm implements the IBCModule interface +func (im IBCModule) OnChanOpenConfirm( + ctx sdk.Context, + portID, + channelID string, +) error { + panic("UNIMPLEMENTED") +} + +// OnChanCloseInit implements the IBCModule interface +func (im IBCModule) OnChanCloseInit( + ctx sdk.Context, + portID, + channelID string, +) error { + panic("UNIMPLEMENTED") +} + +// OnRecvPacket implements the IBCModule interface. A successful acknowledgement +// is returned if the packet data is succesfully decoded and the receive application +// logic returns without error. +func (im IBCModule) OnRecvPacket( + ctx sdk.Context, + packet channeltypes.Packet, + relayer sdk.AccAddress, +) ibcexported.Acknowledgement { + panic("UNIMPLEMENTED") +} + +// NegotiateAppVersion implements the IBCModule interface +func (im IBCModule) NegotiateAppVersion( + ctx sdk.Context, + order channeltypes.Order, + connectionID string, + portID string, + counterparty channeltypes.Counterparty, + proposedVersion string, +) (string, error) { + panic("UNIMPLEMENTED") +} +``` + +## `InitInterchainAccount` + +The authentication module can begin registering interchain accounts by calling `InitInterchainAccount`: + +```go +if err := keeper.icaControllerKeeper.InitInterchainAccount(ctx, connectionID, counterpartyConnectionID, owner.String()); err != nil { + return err +} + +return nil +``` + +## `TrySendTx` + +The authentication module can attempt to send a packet by calling `TrySendTx`: +```go + +// Authenticate owner +// perform custom logic + +// Lookup portID based on interchain account owner address +portID, err := icatypes.GeneratePortID(owner.String(), connectionID, counterpartyConnectionID) +if err != nil { + return err +} + +channelID, found := keeper.icaControllerKeeper.GetActiveChannelID(ctx, portID) +if !found { + return sdkerrors.Wrapf(icatypes.ErrActiveChannelNotFound, "failed to retrieve active channel for port %s", portId) +} + +// Obtain the channel capability. +// The channel capability should have been claimed by the authentication module in OnChanOpenInit +chanCap, found := keeper.scopedKeeper.GetCapability(ctx, host.ChannelCapabilityPath(portID, channelID)) +if !found { + return sdkerrors.Wrap(channeltypes.ErrChannelCapabilityNotFound, "module does not own channel capability") +} + +// Obtain data to be sent to the host chain. +// In this example, the owner of the interchain account would like to send a bank MsgSend to the host chain. +// The appropriate serialization function should be called. The host chain must be able to deserialize the transaction. +// If the host chain is using the ibc-go host module, `SerializeCosmosTx` should be used. +msg := &banktypes.MsgSend{FromAddress: fromAddr, ToAddress: toAddr, Amount: amt} +data, err := icatypes.SerializeCosmosTx(keeper.cdc, []sdk.Msg{msg}) +if err != nil { + return err +} + +// Construct packet data +packetData := icatypes.InterchainAccountPacketData{ + Type: icatypes.EXECUTE_TX, + Data: data, +} + +_, err = keeper.icaControllerKeeper.TrySendTx(ctx, chanCap, p, packetData) +``` + +The data within an `InterchainAccountPacketData` must be serialized using a format supported by the host chain. +If the host chain is using the ibc-go host chain submodule, `SerializeCosmosTx` should be used. If the `InterchainAccountPacketData.Data` is serialized using a format not support by the host chain, the packet will not be successfully received. + +### Integration into `app.go` file + +To integrate the authentication module into your chain, please follow the steps outlined above in [app.go integration](./integration.md#example-integration). From e3036e36200cb69664bc7f51d066ec1d7763e920 Mon Sep 17 00:00:00 2001 From: Carlos Rodriguez Date: Mon, 20 Dec 2021 12:35:45 +0100 Subject: [PATCH 081/107] update changelog (#645) * update changelog * cosmetic update of changelog Co-authored-by: Carlos Rodriguez --- CHANGELOG.md | 33 +++++++++++++++++++++++++++++++-- 1 file changed, 31 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 82a0de6198f..6e22659c6fc 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -42,9 +42,9 @@ Ref: https://keepachangelog.com/en/1.0.0/ ### API Breaking -* (core) [\#629](https://github.com/cosmos/ibc-go/pull/629) Removes the GetProofSpecs from the ClientState interface. This function was previously unused by core IBC. +* (core) [\#629](https://github.com/cosmos/ibc-go/pull/629) Removes the `GetProofSpecs` from the ClientState interface. This function was previously unused by core IBC. * (transfer) [\#517](https://github.com/cosmos/ibc-go/pull/517) Separates the ICS 26 callback functions from `AppModule` into a new type `IBCModule` for ICS 20 transfer. -* (modules/core/02-client) [\#536](https://github.com/cosmos/ibc-go/pull/536) GetSelfConsensusState return type changed from bool to error. +* (modules/core/02-client) [\#536](https://github.com/cosmos/ibc-go/pull/536) `GetSelfConsensusState` return type changed from bool to error. * (channel) [\#644](https://github.com/cosmos/ibc-go/pull/644) Removes `CounterpartyHops` function from the ChannelKeeper. ### State Machine Breaking @@ -61,6 +61,15 @@ Ref: https://keepachangelog.com/en/1.0.0/ * [\#380](https://github.com/cosmos/ibc-go/pull/380) Adding the Interchain Accounts module v1 ### Bug Fixes + +## [v2.0.2](https://github.com/cosmos/ibc-go/releases/tag/v2.0.2) - 2021-12-15 + +### Dependencies + +* [\#589](https://github.com/cosmos/ibc-go/pull/589) Bump SDK version to v0.44.5 + +### Bug Fixes + * (modules/core) [\#603](https://github.com/cosmos/ibc-go/pull/603) Fix module name emitted as part of `OnChanOpenInit` event. Replacing `connection` module name with `channel`. ## [v2.0.1](https://github.com/cosmos/ibc-go/releases/tag/v2.0.1) - 2021-12-05 @@ -94,6 +103,16 @@ Ref: https://keepachangelog.com/en/1.0.0/ * [\#384](https://github.com/cosmos/ibc-go/pull/384) Added `NegotiateAppVersion` method to `IBCModule` interface supported by a gRPC query service in `05-port`. This provides routing of requests to the desired application module callback, which in turn performs application version negotiation. +## [v1.2.5](https://github.com/cosmos/ibc-go/releases/tag/v1.2.5) - 2021-12-15 + +### Dependencies + +* [\#589](https://github.com/cosmos/ibc-go/pull/589) Bump SDK version to v0.44.5 + +### Bug Fixes + +* (modules/core) [\#603](https://github.com/cosmos/ibc-go/pull/603) Fix module name emitted as part of `OnChanOpenInit` event. Replacing `connection` module name with `channel`. + ## [v1.2.4](https://github.com/cosmos/ibc-go/releases/tag/v1.2.4) - 2021-12-05 ### Dependencies @@ -141,6 +160,16 @@ Ref: https://keepachangelog.com/en/1.0.0/ * [\#386](https://github.com/cosmos/ibc-go/pull/386) Bump [tendermint](https://github.com/tendermint/tendermint) from v0.34.12 to v0.34.13. +## [v1.1.5](https://github.com/cosmos/ibc-go/releases/tag/v1.1.5) - 2021-12-15 + +### Dependencies + +* [\#589](https://github.com/cosmos/ibc-go/pull/589) Bump SDK version to v0.44.5 + +### Bug Fixes + +* (modules/core) [\#603](https://github.com/cosmos/ibc-go/pull/603) Fix module name emitted as part of `OnChanOpenInit` event. Replacing `connection` module name with `channel`. + ## [v1.1.4](https://github.com/cosmos/ibc-go/releases/tag/v1.1.4) - 2021-12-05 ### Dependencies From 8c2c0a5fe415a1309b6f73c30819b57c626600c1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?colin=20axn=C3=A9r?= <25233464+colin-axner@users.noreply.github.com> Date: Tue, 21 Dec 2021 15:29:13 +0100 Subject: [PATCH 082/107] reorganize channel handshake handler (#647) * reorganize channel handshake handler split out channel state changes into its own function. * readjust 27-interchain-accounts to not rely on state being set before the application callback * add changelog and migration doc entry * Update modules/core/04-channel/keeper/handshake.go --- CHANGELOG.md | 1 + docs/migrations/v2-to-v3.md | 8 ++ .../controller/keeper/handshake.go | 7 +- .../controller/keeper/handshake_test.go | 7 - .../host/keeper/handshake.go | 7 +- .../host/keeper/handshake_test.go | 7 - .../types/expected_keepers.go | 2 +- modules/core/04-channel/keeper/handshake.go | 124 +++++++++++++++--- modules/core/04-channel/keeper/keeper.go | 10 ++ modules/core/keeper/msg_server.go | 85 ++++++------ 10 files changed, 175 insertions(+), 83 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 6e22659c6fc..435e0e7330f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -54,6 +54,7 @@ Ref: https://keepachangelog.com/en/1.0.0/ * [\#383](https://github.com/cosmos/ibc-go/pull/383) Adds helper functions for merging and splitting middleware versions from the underlying app version. * (modules/core/05-port) [\#288](https://github.com/cosmos/ibc-go/issues/288) Making the 05-port keeper function IsBound public. The IsBound function checks if the provided portID is already binded to a module. * (channel) [\#644](https://github.com/cosmos/ibc-go/pull/644) Adds `GetChannelConnection` to the ChannelKeeper. This function returns the connectionID and connection state associated with a channel. +* (channel) [\647](https://github.com/cosmos/ibc-go/pull/647) Reorganizes channel handshake handling to set channel state after IBC application callbacks. ### Features diff --git a/docs/migrations/v2-to-v3.md b/docs/migrations/v2-to-v3.md index 9f0f130300d..06a1cb938da 100644 --- a/docs/migrations/v2-to-v3.md +++ b/docs/migrations/v2-to-v3.md @@ -22,6 +22,14 @@ ICS27 Interchain Accounts has been added as a supported IBC application of ibc-g ## IBC Apps +### Channel state will not be set before application callback + +The channel handshake logic has been reorganized within core IBC. +Channel state will not be set in state after the application callback is performed. +Applications must rely only on the passed in channel parameters instead of querying the channel keeper for channel state. + +### IBC application callbacks moved from `AppModule` to `IBCModule` + Previously, IBC module callbacks were apart of the `AppModule` type. The recommended approach is to create an `IBCModule` type and move the IBC module callbacks from `AppModule` to `IBCModule` in a separate file `ibc_module.go`. diff --git a/modules/apps/27-interchain-accounts/controller/keeper/handshake.go b/modules/apps/27-interchain-accounts/controller/keeper/handshake.go index 66f0720f66c..ea0b907569a 100644 --- a/modules/apps/27-interchain-accounts/controller/keeper/handshake.go +++ b/modules/apps/27-interchain-accounts/controller/keeper/handshake.go @@ -42,7 +42,7 @@ func (k Keeper) OnChanOpenInit( return sdkerrors.Wrapf(err, "expected format %s, got %s", icatypes.ControllerPortFormat, portID) } - if err := k.validateControllerPortParams(ctx, channelID, portID, connSequence, counterpartyConnSequence); err != nil { + if err := k.validateControllerPortParams(ctx, connectionHops, connSequence, counterpartyConnSequence); err != nil { return sdkerrors.Wrapf(err, "failed to validate controller port %s", portID) } @@ -104,8 +104,9 @@ func (k Keeper) OnChanCloseConfirm( // validateControllerPortParams asserts the provided connection sequence and counterparty connection sequence // match that of the associated connection stored in state -func (k Keeper) validateControllerPortParams(ctx sdk.Context, channelID, portID string, connectionSeq, counterpartyConnectionSeq uint64) error { - connectionID, connection, err := k.channelKeeper.GetChannelConnection(ctx, portID, channelID) +func (k Keeper) validateControllerPortParams(ctx sdk.Context, connectionHops []string, connectionSeq, counterpartyConnectionSeq uint64) error { + connectionID := connectionHops[0] + connection, err := k.channelKeeper.GetConnection(ctx, connectionID) if err != nil { return err } diff --git a/modules/apps/27-interchain-accounts/controller/keeper/handshake_test.go b/modules/apps/27-interchain-accounts/controller/keeper/handshake_test.go index c121447cf3c..3df200e51a3 100644 --- a/modules/apps/27-interchain-accounts/controller/keeper/handshake_test.go +++ b/modules/apps/27-interchain-accounts/controller/keeper/handshake_test.go @@ -59,13 +59,6 @@ func (suite *KeeperTestSuite) TestOnChanOpenInit() { }, false, }, - { - "channel not found", - func() { - path.EndpointA.ChannelID = "invalid-channel-id" - }, - false, - }, { "connection not found", func() { diff --git a/modules/apps/27-interchain-accounts/host/keeper/handshake.go b/modules/apps/27-interchain-accounts/host/keeper/handshake.go index 3c19c931122..0b06ad0042e 100644 --- a/modules/apps/27-interchain-accounts/host/keeper/handshake.go +++ b/modules/apps/27-interchain-accounts/host/keeper/handshake.go @@ -43,7 +43,7 @@ func (k Keeper) OnChanOpenTry( return sdkerrors.Wrapf(err, "expected format %s, got %s", icatypes.ControllerPortFormat, counterparty.PortId) } - if err := k.validateControllerPortParams(ctx, channelID, portID, connSequence, counterpartyConnSequence); err != nil { + if err := k.validateControllerPortParams(ctx, connectionHops, connSequence, counterpartyConnSequence); err != nil { return sdkerrors.Wrapf(err, "failed to validate controller port %s", counterparty.PortId) } @@ -104,8 +104,9 @@ func (k Keeper) OnChanCloseConfirm( // validateControllerPortParams asserts the provided connection sequence and counterparty connection sequence // match that of the associated connection stored in state -func (k Keeper) validateControllerPortParams(ctx sdk.Context, channelID, portID string, connectionSeq, counterpartyConnectionSeq uint64) error { - connectionID, connection, err := k.channelKeeper.GetChannelConnection(ctx, portID, channelID) +func (k Keeper) validateControllerPortParams(ctx sdk.Context, connectionHops []string, connectionSeq, counterpartyConnectionSeq uint64) error { + connectionID := connectionHops[0] + connection, err := k.channelKeeper.GetConnection(ctx, connectionID) if err != nil { return err } diff --git a/modules/apps/27-interchain-accounts/host/keeper/handshake_test.go b/modules/apps/27-interchain-accounts/host/keeper/handshake_test.go index 23b7b88b58f..03346efa1a1 100644 --- a/modules/apps/27-interchain-accounts/host/keeper/handshake_test.go +++ b/modules/apps/27-interchain-accounts/host/keeper/handshake_test.go @@ -51,13 +51,6 @@ func (suite *KeeperTestSuite) TestOnChanOpenTry() { }, false, }, - { - "channel not found", - func() { - path.EndpointB.ChannelID = "invalid-channel-id" - }, - false, - }, { "connection not found", func() { diff --git a/modules/apps/27-interchain-accounts/types/expected_keepers.go b/modules/apps/27-interchain-accounts/types/expected_keepers.go index ba782e1d2f1..4c6a1708e43 100644 --- a/modules/apps/27-interchain-accounts/types/expected_keepers.go +++ b/modules/apps/27-interchain-accounts/types/expected_keepers.go @@ -27,7 +27,7 @@ type ICS4Wrapper interface { type ChannelKeeper interface { GetChannel(ctx sdk.Context, srcPort, srcChan string) (channel channeltypes.Channel, found bool) GetNextSequenceSend(ctx sdk.Context, portID, channelID string) (uint64, bool) - GetChannelConnection(ctx sdk.Context, portID, channelID string) (string, ibcexported.ConnectionI, error) + GetConnection(ctx sdk.Context, connectionID string) (ibcexported.ConnectionI, error) } // PortKeeper defines the expected IBC port keeper diff --git a/modules/core/04-channel/keeper/handshake.go b/modules/core/04-channel/keeper/handshake.go index f1fa5eafcb6..e35ae4bd851 100644 --- a/modules/core/04-channel/keeper/handshake.go +++ b/modules/core/04-channel/keeper/handshake.go @@ -1,6 +1,8 @@ package keeper import ( + "fmt" + "github.com/cosmos/cosmos-sdk/telemetry" sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" @@ -53,14 +55,30 @@ func (k Keeper) ChanOpenInit( } channelID := k.GenerateChannelIdentifier(ctx) - channel := types.NewChannel(types.INIT, order, counterparty, connectionHops, version) - k.SetChannel(ctx, portID, channelID, channel) capKey, err := k.scopedKeeper.NewCapability(ctx, host.ChannelCapabilityPath(portID, channelID)) if err != nil { return "", nil, sdkerrors.Wrapf(err, "could not create channel capability for port ID %s and channel ID %s", portID, channelID) } + return channelID, capKey, nil +} + +// WriteOpenInitChannel writes a channel which has successfully passed the OpenInit handshake step. +// The channel is set in state and all the associated Send and Recv sequences are set to 1. +// An event is emitted for the handshake step. +func (k Keeper) WriteOpenInitChannel( + ctx sdk.Context, + portID, + channelID string, + order types.Order, + connectionHops []string, + counterparty types.Counterparty, + version string, +) { + channel := types.NewChannel(types.INIT, order, counterparty, connectionHops, version) + k.SetChannel(ctx, portID, channelID, channel) + k.SetNextSequenceSend(ctx, portID, channelID, 1) k.SetNextSequenceRecv(ctx, portID, channelID, 1) k.SetNextSequenceAck(ctx, portID, channelID, 1) @@ -82,7 +100,12 @@ func (k Keeper) ChanOpenInit( ), }) - return channelID, capKey, nil + ctx.EventManager().EmitEvents(sdk.Events{ + sdk.NewEvent( + sdk.EventTypeMessage, + sdk.NewAttribute(sdk.AttributeKeyModule, types.AttributeValueCategory), + ), + }) } // ChanOpenTry is called by a module to accept the first step of a channel opening @@ -171,16 +194,13 @@ func (k Keeper) ChanOpenTry( ) } - // NOTE: this step has been switched with the one below to reverse the connection - // hops - channel := types.NewChannel(types.TRYOPEN, order, counterparty, connectionHops, version) counterpartyHops := []string{connectionEnd.GetCounterparty().GetConnectionID()} // expectedCounterpaty is the counterparty of the counterparty's channel end // (i.e self) expectedCounterparty := types.NewCounterparty(portID, "") expectedChannel := types.NewChannel( - types.INIT, channel.Ordering, expectedCounterparty, + types.INIT, order, expectedCounterparty, counterpartyHops, counterpartyVersion, ) @@ -202,9 +222,6 @@ func (k Keeper) ChanOpenTry( return "", nil, sdkerrors.Wrapf(err, "could not create channel capability for port ID %s and channel ID %s", portID, channelID) } - k.SetNextSequenceSend(ctx, portID, channelID, 1) - k.SetNextSequenceRecv(ctx, portID, channelID, 1) - k.SetNextSequenceAck(ctx, portID, channelID, 1) } else { // capability initialized in ChanOpenInit capKey, found = k.scopedKeeper.GetCapability(ctx, host.ChannelCapabilityPath(portID, channelID)) @@ -215,6 +232,30 @@ func (k Keeper) ChanOpenTry( } } + return channelID, capKey, nil +} + +// WriteOpenTryChannel writes a channel which has successfully passed the OpenTry handshake step. +// The channel is set in state. If a previous channel state did not exist, all the Send and Recv +// sequences are set to 1. An event is emitted for the handshake step. +func (k Keeper) WriteOpenTryChannel( + ctx sdk.Context, + portID, + channelID string, + order types.Order, + connectionHops []string, + counterparty types.Counterparty, + version string, +) { + previousChannel, previousChannelFound := k.GetChannel(ctx, portID, channelID) + if !previousChannelFound { + k.SetNextSequenceSend(ctx, portID, channelID, 1) + k.SetNextSequenceRecv(ctx, portID, channelID, 1) + k.SetNextSequenceAck(ctx, portID, channelID, 1) + } + + channel := types.NewChannel(types.TRYOPEN, order, counterparty, connectionHops, version) + k.SetChannel(ctx, portID, channelID, channel) k.Logger(ctx).Info("channel state updated", "port-id", portID, "channel-id", channelID, "previous-state", previousChannel.State.String(), "new-state", "TRYOPEN") @@ -233,8 +274,12 @@ func (k Keeper) ChanOpenTry( sdk.NewAttribute(types.AttributeKeyConnectionID, channel.ConnectionHops[0]), ), }) - - return channelID, capKey, nil + ctx.EventManager().EmitEvents(sdk.Events{ + sdk.NewEvent( + sdk.EventTypeMessage, + sdk.NewAttribute(sdk.AttributeKeyModule, types.AttributeValueCategory), + ), + }) } // ChanOpenAck is called by the handshake-originating module to acknowledge the @@ -294,17 +339,34 @@ func (k Keeper) ChanOpenAck( return err } - k.Logger(ctx).Info("channel state updated", "port-id", portID, "channel-id", channelID, "previous-state", channel.State.String(), "new-state", "OPEN") + return nil +} - defer func() { - telemetry.IncrCounter(1, "ibc", "channel", "open-ack") - }() +// WriteOpenAckChannel writes an updated channel state for the successful OpenAck handshake step. +// An event is emitted for the handshake step. +func (k Keeper) WriteOpenAckChannel( + ctx sdk.Context, + portID, + channelID, + counterpartyVersion, + counterpartyChannelID string, +) { + channel, found := k.GetChannel(ctx, portID, channelID) + if !found { + panic(fmt.Sprintf("could not find existing channel when updating channel state in successful ChanOpenAck step, channelID: %s, portID: %s", channelID, portID)) + } channel.State = types.OPEN channel.Version = counterpartyVersion channel.Counterparty.ChannelId = counterpartyChannelID k.SetChannel(ctx, portID, channelID, channel) + k.Logger(ctx).Info("channel state updated", "port-id", portID, "channel-id", channelID, "previous-state", channel.State.String(), "new-state", "OPEN") + + defer func() { + telemetry.IncrCounter(1, "ibc", "channel", "open-ack") + }() + ctx.EventManager().EmitEvents(sdk.Events{ sdk.NewEvent( types.EventTypeChannelOpenAck, @@ -315,8 +377,13 @@ func (k Keeper) ChanOpenAck( sdk.NewAttribute(types.AttributeKeyConnectionID, channel.ConnectionHops[0]), ), }) + ctx.EventManager().EmitEvents(sdk.Events{ + sdk.NewEvent( + sdk.EventTypeMessage, + sdk.NewAttribute(sdk.AttributeKeyModule, types.AttributeValueCategory), + ), + }) - return nil } // ChanOpenConfirm is called by the counterparty module to close their end of the @@ -373,6 +440,21 @@ func (k Keeper) ChanOpenConfirm( return err } + return nil +} + +// WriteOpenConfirmChannel writes an updated channel state for the successful OpenConfirm handshake step. +// An event is emitted for the handshake step. +func (k Keeper) WriteOpenConfirmChannel( + ctx sdk.Context, + portID, + channelID string, +) { + channel, found := k.GetChannel(ctx, portID, channelID) + if !found { + panic(fmt.Sprintf("could not find existing channel when updating channel state in successful ChanOpenConfirm step, channelID: %s, portID: %s", channelID, portID)) + } + channel.State = types.OPEN k.SetChannel(ctx, portID, channelID, channel) k.Logger(ctx).Info("channel state updated", "port-id", portID, "channel-id", channelID, "previous-state", "TRYOPEN", "new-state", "OPEN") @@ -391,8 +473,12 @@ func (k Keeper) ChanOpenConfirm( sdk.NewAttribute(types.AttributeKeyConnectionID, channel.ConnectionHops[0]), ), }) - - return nil + ctx.EventManager().EmitEvents(sdk.Events{ + sdk.NewEvent( + sdk.EventTypeMessage, + sdk.NewAttribute(sdk.AttributeKeyModule, types.AttributeValueCategory), + ), + }) } // Closing Handshake diff --git a/modules/core/04-channel/keeper/keeper.go b/modules/core/04-channel/keeper/keeper.go index e680b23f182..67396423d48 100644 --- a/modules/core/04-channel/keeper/keeper.go +++ b/modules/core/04-channel/keeper/keeper.go @@ -403,6 +403,16 @@ func (k Keeper) GetChannelClientState(ctx sdk.Context, portID, channelID string) return connection.ClientId, clientState, nil } +// GetConnection wraps the conenction keeper's GetConnection function. +func (k Keeper) GetConnection(ctx sdk.Context, connectionID string) (exported.ConnectionI, error) { + connection, found := k.connectionKeeper.GetConnection(ctx, connectionID) + if !found { + return nil, sdkerrors.Wrapf(connectiontypes.ErrConnectionNotFound, "connection-id: %s", connectionID) + } + + return connection, nil +} + // GetChannelConnection returns the connection ID and state associated with the given port and channel identifier. func (k Keeper) GetChannelConnection(ctx sdk.Context, portID, channelID string) (string, exported.ConnectionI, error) { channel, found := k.GetChannel(ctx, portID, channelID) diff --git a/modules/core/keeper/msg_server.go b/modules/core/keeper/msg_server.go index e2c92fdeb1d..039167da7a0 100644 --- a/modules/core/keeper/msg_server.go +++ b/modules/core/keeper/msg_server.go @@ -255,6 +255,8 @@ func (k Keeper) ConnectionOpenConfirm(goCtx context.Context, msg *connectiontype } // ChannelOpenInit defines a rpc handler method for MsgChannelOpenInit. +// ChannelOpenInit will perform 04-channel checks, route to the application +// callback, and write an OpenInit channel into state upon successful exection. func (k Keeper) ChannelOpenInit(goCtx context.Context, msg *channeltypes.MsgChannelOpenInit) (*channeltypes.MsgChannelOpenInitResponse, error) { ctx := sdk.UnwrapSDKContext(goCtx) @@ -264,6 +266,13 @@ func (k Keeper) ChannelOpenInit(goCtx context.Context, msg *channeltypes.MsgChan return nil, sdkerrors.Wrap(err, "could not retrieve module from port-id") } + // Retrieve application callbacks from router + cbs, ok := k.Router.GetRoute(module) + if !ok { + return nil, sdkerrors.Wrapf(porttypes.ErrInvalidRoute, "route not found to module: %s", module) + } + + // Perform 04-channel verification channelID, cap, err := k.ChannelKeeper.ChanOpenInit( ctx, msg.Channel.Ordering, msg.Channel.ConnectionHops, msg.PortId, portCap, msg.Channel.Counterparty, msg.Channel.Version, @@ -272,35 +281,36 @@ func (k Keeper) ChannelOpenInit(goCtx context.Context, msg *channeltypes.MsgChan return nil, sdkerrors.Wrap(err, "channel handshake open init failed") } - // Retrieve callbacks from router - cbs, ok := k.Router.GetRoute(module) - if !ok { - return nil, sdkerrors.Wrapf(porttypes.ErrInvalidRoute, "route not found to module: %s", module) - } - + // Perform application logic callback if err = cbs.OnChanOpenInit(ctx, msg.Channel.Ordering, msg.Channel.ConnectionHops, msg.PortId, channelID, cap, msg.Channel.Counterparty, msg.Channel.Version); err != nil { return nil, sdkerrors.Wrap(err, "channel open init callback failed") } - ctx.EventManager().EmitEvents(sdk.Events{ - sdk.NewEvent( - sdk.EventTypeMessage, - sdk.NewAttribute(sdk.AttributeKeyModule, channeltypes.AttributeValueCategory), - ), - }) + // Write channel into state + k.ChannelKeeper.WriteOpenInitChannel(ctx, msg.PortId, channelID, msg.Channel.Ordering, msg.Channel.ConnectionHops, msg.Channel.Counterparty, msg.Channel.Version) return &channeltypes.MsgChannelOpenInitResponse{}, nil } // ChannelOpenTry defines a rpc handler method for MsgChannelOpenTry. +// ChannelOpenTry will perform 04-channel checks, route to the application +// callback, and write an OpenTry channel into state upon successful exection. func (k Keeper) ChannelOpenTry(goCtx context.Context, msg *channeltypes.MsgChannelOpenTry) (*channeltypes.MsgChannelOpenTryResponse, error) { ctx := sdk.UnwrapSDKContext(goCtx) + // Lookup module by port capability module, portCap, err := k.PortKeeper.LookupModuleByPort(ctx, msg.PortId) if err != nil { return nil, sdkerrors.Wrap(err, "could not retrieve module from port-id") } + // Retrieve application callbacks from router + cbs, ok := k.Router.GetRoute(module) + if !ok { + return nil, sdkerrors.Wrapf(porttypes.ErrInvalidRoute, "route not found to module: %s", module) + } + + // Perform 04-channel verification channelID, cap, err := k.ChannelKeeper.ChanOpenTry(ctx, msg.Channel.Ordering, msg.Channel.ConnectionHops, msg.PortId, msg.PreviousChannelId, portCap, msg.Channel.Counterparty, msg.Channel.Version, msg.CounterpartyVersion, msg.ProofInit, msg.ProofHeight, ) @@ -308,27 +318,20 @@ func (k Keeper) ChannelOpenTry(goCtx context.Context, msg *channeltypes.MsgChann return nil, sdkerrors.Wrap(err, "channel handshake open try failed") } - // Retrieve callbacks from router - cbs, ok := k.Router.GetRoute(module) - if !ok { - return nil, sdkerrors.Wrapf(porttypes.ErrInvalidRoute, "route not found to module: %s", module) - } - + // Perform application logic callback if err = cbs.OnChanOpenTry(ctx, msg.Channel.Ordering, msg.Channel.ConnectionHops, msg.PortId, channelID, cap, msg.Channel.Counterparty, msg.Channel.Version, msg.CounterpartyVersion); err != nil { return nil, sdkerrors.Wrap(err, "channel open try callback failed") } - ctx.EventManager().EmitEvents(sdk.Events{ - sdk.NewEvent( - sdk.EventTypeMessage, - sdk.NewAttribute(sdk.AttributeKeyModule, channeltypes.AttributeValueCategory), - ), - }) + // Write channel into state + k.ChannelKeeper.WriteOpenTryChannel(ctx, msg.PortId, channelID, msg.Channel.Ordering, msg.Channel.ConnectionHops, msg.Channel.Counterparty, msg.Channel.Version) return &channeltypes.MsgChannelOpenTryResponse{}, nil } // ChannelOpenAck defines a rpc handler method for MsgChannelOpenAck. +// ChannelOpenAck will perform 04-channel checks, route to the application +// callback, and write an OpenAck channel into state upon successful exection. func (k Keeper) ChannelOpenAck(goCtx context.Context, msg *channeltypes.MsgChannelOpenAck) (*channeltypes.MsgChannelOpenAckResponse, error) { ctx := sdk.UnwrapSDKContext(goCtx) @@ -338,34 +341,33 @@ func (k Keeper) ChannelOpenAck(goCtx context.Context, msg *channeltypes.MsgChann return nil, sdkerrors.Wrap(err, "could not retrieve module from port-id") } - // Retrieve callbacks from router + // Retrieve application callbacks from router cbs, ok := k.Router.GetRoute(module) if !ok { return nil, sdkerrors.Wrapf(porttypes.ErrInvalidRoute, "route not found to module: %s", module) } - err = k.ChannelKeeper.ChanOpenAck( + // Perform 04-channel verification + if err = k.ChannelKeeper.ChanOpenAck( ctx, msg.PortId, msg.ChannelId, cap, msg.CounterpartyVersion, msg.CounterpartyChannelId, msg.ProofTry, msg.ProofHeight, - ) - if err != nil { + ); err != nil { return nil, sdkerrors.Wrap(err, "channel handshake open ack failed") } + // Perform application logic callback if err = cbs.OnChanOpenAck(ctx, msg.PortId, msg.ChannelId, msg.CounterpartyVersion); err != nil { return nil, sdkerrors.Wrap(err, "channel open ack callback failed") } - ctx.EventManager().EmitEvents(sdk.Events{ - sdk.NewEvent( - sdk.EventTypeMessage, - sdk.NewAttribute(sdk.AttributeKeyModule, channeltypes.AttributeValueCategory), - ), - }) + // Write channel into state + k.ChannelKeeper.WriteOpenAckChannel(ctx, msg.PortId, msg.ChannelId, msg.CounterpartyVersion, msg.CounterpartyChannelId) return &channeltypes.MsgChannelOpenAckResponse{}, nil } // ChannelOpenConfirm defines a rpc handler method for MsgChannelOpenConfirm. +// ChannelOpenConfirm will perform 04-channel checks, route to the application +// callback, and write an OpenConfirm channel into state upon successful exection. func (k Keeper) ChannelOpenConfirm(goCtx context.Context, msg *channeltypes.MsgChannelOpenConfirm) (*channeltypes.MsgChannelOpenConfirmResponse, error) { ctx := sdk.UnwrapSDKContext(goCtx) @@ -375,27 +377,24 @@ func (k Keeper) ChannelOpenConfirm(goCtx context.Context, msg *channeltypes.MsgC return nil, sdkerrors.Wrap(err, "could not retrieve module from port-id") } - // Retrieve callbacks from router + // Retrieve application callbacks from router cbs, ok := k.Router.GetRoute(module) if !ok { return nil, sdkerrors.Wrapf(porttypes.ErrInvalidRoute, "route not found to module: %s", module) } - err = k.ChannelKeeper.ChanOpenConfirm(ctx, msg.PortId, msg.ChannelId, cap, msg.ProofAck, msg.ProofHeight) - if err != nil { + // Perform 04-channel verification + if err = k.ChannelKeeper.ChanOpenConfirm(ctx, msg.PortId, msg.ChannelId, cap, msg.ProofAck, msg.ProofHeight); err != nil { return nil, sdkerrors.Wrap(err, "channel handshake open confirm failed") } + // Perform application logic callback if err = cbs.OnChanOpenConfirm(ctx, msg.PortId, msg.ChannelId); err != nil { return nil, sdkerrors.Wrap(err, "channel open confirm callback failed") } - ctx.EventManager().EmitEvents(sdk.Events{ - sdk.NewEvent( - sdk.EventTypeMessage, - sdk.NewAttribute(sdk.AttributeKeyModule, channeltypes.AttributeValueCategory), - ), - }) + // Write channel into state + k.ChannelKeeper.WriteOpenConfirmChannel(ctx, msg.PortId, msg.ChannelId) return &channeltypes.MsgChannelOpenConfirmResponse{}, nil } From c06067377a448c6ff6006c36ed53c8a84916d0ca Mon Sep 17 00:00:00 2001 From: Sean King Date: Tue, 21 Dec 2021 15:31:42 +0100 Subject: [PATCH 083/107] docs: ICA Overview (#626) * docs: ica overview * fix: ordering * add spacing * fix: spacing * fix: remove bulletpoints * fix: wording --- .../interchain-accounts/overview.md | 27 +++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/docs/app_modules/interchain-accounts/overview.md b/docs/app_modules/interchain-accounts/overview.md index 9f8983c55bb..bc8522c726e 100644 --- a/docs/app_modules/interchain-accounts/overview.md +++ b/docs/app_modules/interchain-accounts/overview.md @@ -2,4 +2,31 @@ order: 1 --> +# Overview + +Learn about what the Interchain Accounts module is, and how to build custom modules that utilize Interchain Accounts functionality {synopsis} + + +# What is the Interchain Accounts module? + +Interchain Accounts is the Cosmos SDK implementation of the ICS-27 protocol, which enables cross-chain account management built upon IBC. Chains using the Interchain Accounts module can programmatically create accounts on other chains and control these accounts via IBC transactions. + +Interchain Accounts exposes a simple-to-use API which means IBC application developers do not require an in-depth knowledge of the underlying low-level details of IBC or the ICS-27 protocol. + +Developers looking to build upon Interchain Accounts must write custom logic in their own IBC application module, called authentication modules. + +- How is an interchain account different than a regular account? + +Regular accounts use a private key to sign transactions on-chain. Interchain Accounts are instead controlled programmatically by separate chains via IBC transactions. Interchain Accounts are implemented as sub-accounts of the interchain accounts module account. + +# Concepts + +*Host Chain*: The chain where the interchain account is registered. The host chain listens for IBC packets from a controller chain which should contain instructions (e.g. cosmos SDK messages) for which the interchain account will execute. + +*Controller Chain*: The chain registering and controlling an account on a host chain. The controller chain sends IBC packets to the host chain to control the account. A controller chain must have at least one interchain accounts authentication module in order to act as a controller chain. + +*Authentication Module*: A custom IBC application module on the controller chain that uses the Interchain Accounts module API to build custom logic for the creation & management of interchain accounts. For a controller chain to utilize the interchain accounts module functionality, an authentication module is required. + +*Interchain Account*: An account on a host chain. An interchain account has all the capabilities of a normal account. However, rather than signing transactions with a private key, a controller chain's authentication module will send IBC packets to the host chain which signals what transactions the interchain account should execute. + From 92f8bb3f98db33eb8f15036feace58431a228a84 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?colin=20axn=C3=A9r?= <25233464+colin-axner@users.noreply.github.com> Date: Wed, 22 Dec 2021 12:46:14 +0100 Subject: [PATCH 084/107] update go mod for security vulnerabilities (#655) * update go mod for security vulnerabilities * update package-lock.json --- docs/package-lock.json | 4296 +++++++++++++++++++++++----------------- go.mod | 3 + go.sum | 12 +- 3 files changed, 2477 insertions(+), 1834 deletions(-) diff --git a/docs/package-lock.json b/docs/package-lock.json index b921c516323..40035a7e73e 100644 --- a/docs/package-lock.json +++ b/docs/package-lock.json @@ -5,6 +5,7 @@ "requires": true, "packages": { "": { + "name": "docs", "version": "1.0.0", "license": "ISC", "dependencies": { @@ -130,32 +131,38 @@ } }, "node_modules/@babel/code-frame": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.13.tgz", - "integrity": "sha512-HV1Cm0Q3ZrpCR93tkWOYiuYIgLxZXZFVG2VgK+MBWjUqZTundupbfx2aXarXuw5Ko5aMcjtJgbSs4vUGBS5v6g==", + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.16.0.tgz", + "integrity": "sha512-IF4EOMEV+bfYwOmNxGzSnjR2EmQod7f1UXOpZM3l4i4o4QNwzjtJAu/HxdjHq0aYBvdqMuQEY1eg0nqW9ZPORA==", "dependencies": { - "@babel/highlight": "^7.12.13" + "@babel/highlight": "^7.16.0" + }, + "engines": { + "node": ">=6.9.0" } }, "node_modules/@babel/compat-data": { - "version": "7.13.15", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.13.15.tgz", - "integrity": "sha512-ltnibHKR1VnrU4ymHyQ/CXtNXI6yZC0oJThyW78Hft8XndANwi+9H+UIklBDraIjFEJzw8wmcM427oDd9KS5wA==" + "version": "7.16.4", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.16.4.tgz", + "integrity": "sha512-1o/jo7D+kC9ZjHX5v+EHrdjl3PhxMrLSOTGsOdHJ+KL8HCaEK6ehrVL2RS6oHDZp+L7xLirLrPmQtEng769J/Q==", + "engines": { + "node": ">=6.9.0" + } }, "node_modules/@babel/core": { - "version": "7.13.16", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.13.16.tgz", - "integrity": "sha512-sXHpixBiWWFti0AV2Zq7avpTasr6sIAu7Y396c608541qAU2ui4a193m0KSQmfPSKFZLnQ3cvlKDOm3XkuXm3Q==", - "dependencies": { - "@babel/code-frame": "^7.12.13", - "@babel/generator": "^7.13.16", - "@babel/helper-compilation-targets": "^7.13.16", - "@babel/helper-module-transforms": "^7.13.14", - "@babel/helpers": "^7.13.16", - "@babel/parser": "^7.13.16", - "@babel/template": "^7.12.13", - "@babel/traverse": "^7.13.15", - "@babel/types": "^7.13.16", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.16.5.tgz", + "integrity": "sha512-wUcenlLzuWMZ9Zt8S0KmFwGlH6QKRh3vsm/dhDA3CHkiTA45YuG1XkHRcNRl73EFPXDp/d5kVOU0/y7x2w6OaQ==", + "dependencies": { + "@babel/code-frame": "^7.16.0", + "@babel/generator": "^7.16.5", + "@babel/helper-compilation-targets": "^7.16.3", + "@babel/helper-module-transforms": "^7.16.5", + "@babel/helpers": "^7.16.5", + "@babel/parser": "^7.16.5", + "@babel/template": "^7.16.0", + "@babel/traverse": "^7.16.5", + "@babel/types": "^7.16.0", "convert-source-map": "^1.7.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", @@ -172,9 +179,9 @@ } }, "node_modules/@babel/core/node_modules/debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", + "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", "dependencies": { "ms": "2.1.2" }, @@ -215,13 +222,16 @@ } }, "node_modules/@babel/generator": { - "version": "7.13.16", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.13.16.tgz", - "integrity": "sha512-grBBR75UnKOcUWMp8WoDxNsWCFl//XCK6HWTrBQKTr5SV9f5g0pNOjdyzi/DTBv12S9GnYPInIXQBTky7OXEMg==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.16.5.tgz", + "integrity": "sha512-kIvCdjZqcdKqoDbVVdt5R99icaRtrtYhYK/xux5qiWCBmfdvEYMFZ68QCrpE5cbFM1JsuArUNs1ZkuKtTtUcZA==", "dependencies": { - "@babel/types": "^7.13.16", + "@babel/types": "^7.16.0", "jsesc": "^2.5.1", "source-map": "^0.5.0" + }, + "engines": { + "node": ">=6.9.0" } }, "node_modules/@babel/generator/node_modules/source-map": { @@ -233,67 +243,84 @@ } }, "node_modules/@babel/helper-annotate-as-pure": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.12.13.tgz", - "integrity": "sha512-7YXfX5wQ5aYM/BOlbSccHDbuXXFPxeoUmfWtz8le2yTkTZc+BxsiEnENFoi2SlmA8ewDkG2LgIMIVzzn2h8kfw==", + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.16.0.tgz", + "integrity": "sha512-ItmYF9vR4zA8cByDocY05o0LGUkp1zhbTQOH1NFyl5xXEqlTJQCEJjieriw+aFpxo16swMxUnUiKS7a/r4vtHg==", "dependencies": { - "@babel/types": "^7.12.13" + "@babel/types": "^7.16.0" + }, + "engines": { + "node": ">=6.9.0" } }, "node_modules/@babel/helper-builder-binary-assignment-operator-visitor": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.12.13.tgz", - "integrity": "sha512-CZOv9tGphhDRlVjVkAgm8Nhklm9RzSmWpX2my+t7Ua/KT616pEzXsQCjinzvkRvHWJ9itO4f296efroX23XCMA==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.16.5.tgz", + "integrity": "sha512-3JEA9G5dmmnIWdzaT9d0NmFRgYnWUThLsDaL7982H0XqqWr56lRrsmwheXFMjR+TMl7QMBb6mzy9kvgr1lRLUA==", "dependencies": { - "@babel/helper-explode-assignable-expression": "^7.12.13", - "@babel/types": "^7.12.13" + "@babel/helper-explode-assignable-expression": "^7.16.0", + "@babel/types": "^7.16.0" + }, + "engines": { + "node": ">=6.9.0" } }, "node_modules/@babel/helper-compilation-targets": { - "version": "7.13.16", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.13.16.tgz", - "integrity": "sha512-3gmkYIrpqsLlieFwjkGgLaSHmhnvlAYzZLlYVjlW+QwI+1zE17kGxuJGmIqDQdYp56XdmGeD+Bswx0UTyG18xA==", + "version": "7.16.3", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.16.3.tgz", + "integrity": "sha512-vKsoSQAyBmxS35JUOOt+07cLc6Nk/2ljLIHwmq2/NM6hdioUaqEXq/S+nXvbvXbZkNDlWOymPanJGOc4CBjSJA==", "dependencies": { - "@babel/compat-data": "^7.13.15", - "@babel/helper-validator-option": "^7.12.17", - "browserslist": "^4.14.5", + "@babel/compat-data": "^7.16.0", + "@babel/helper-validator-option": "^7.14.5", + "browserslist": "^4.17.5", "semver": "^6.3.0" }, + "engines": { + "node": ">=6.9.0" + }, "peerDependencies": { "@babel/core": "^7.0.0" } }, "node_modules/@babel/helper-create-class-features-plugin": { - "version": "7.13.11", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.13.11.tgz", - "integrity": "sha512-ays0I7XYq9xbjCSvT+EvysLgfc3tOkwCULHjrnscGT3A9qD4sk3wXnJ3of0MAWsWGjdinFvajHU2smYuqXKMrw==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.16.5.tgz", + "integrity": "sha512-NEohnYA7mkB8L5JhU7BLwcBdU3j83IziR9aseMueWGeAjblbul3zzb8UvJ3a1zuBiqCMObzCJHFqKIQE6hTVmg==", "dependencies": { - "@babel/helper-function-name": "^7.12.13", - "@babel/helper-member-expression-to-functions": "^7.13.0", - "@babel/helper-optimise-call-expression": "^7.12.13", - "@babel/helper-replace-supers": "^7.13.0", - "@babel/helper-split-export-declaration": "^7.12.13" + "@babel/helper-annotate-as-pure": "^7.16.0", + "@babel/helper-environment-visitor": "^7.16.5", + "@babel/helper-function-name": "^7.16.0", + "@babel/helper-member-expression-to-functions": "^7.16.5", + "@babel/helper-optimise-call-expression": "^7.16.0", + "@babel/helper-replace-supers": "^7.16.5", + "@babel/helper-split-export-declaration": "^7.16.0" + }, + "engines": { + "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0" } }, "node_modules/@babel/helper-create-regexp-features-plugin": { - "version": "7.12.17", - "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.12.17.tgz", - "integrity": "sha512-p2VGmBu9oefLZ2nQpgnEnG0ZlRPvL8gAGvPUMQwUdaE8k49rOMuZpOwdQoy5qJf6K8jL3bcAMhVUlHAjIgJHUg==", + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.16.0.tgz", + "integrity": "sha512-3DyG0zAFAZKcOp7aVr33ddwkxJ0Z0Jr5V99y3I690eYLpukJsJvAbzTy1ewoCqsML8SbIrjH14Jc/nSQ4TvNPA==", "dependencies": { - "@babel/helper-annotate-as-pure": "^7.12.13", + "@babel/helper-annotate-as-pure": "^7.16.0", "regexpu-core": "^4.7.1" }, + "engines": { + "node": ">=6.9.0" + }, "peerDependencies": { "@babel/core": "^7.0.0" } }, "node_modules/@babel/helper-define-polyfill-provider": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.2.0.tgz", - "integrity": "sha512-JT8tHuFjKBo8NnaUbblz7mIu1nnvUDiHVjXXkulZULyidvo/7P6TY7+YqpV37IfF+KUFxmlK04elKtGKXaiVgw==", + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.0.tgz", + "integrity": "sha512-7hfT8lUljl/tM3h+izTX/pO3W3frz2ok6Pk+gzys8iJqDfZrZy2pXjRTZAvG2YmfHun1X4q8/UZRLatMfqc5Tg==", "dependencies": { "@babel/helper-compilation-targets": "^7.13.0", "@babel/helper-module-imports": "^7.12.13", @@ -309,9 +336,9 @@ } }, "node_modules/@babel/helper-define-polyfill-provider/node_modules/debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", + "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", "dependencies": { "ms": "2.1.2" }, @@ -329,175 +356,243 @@ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" }, + "node_modules/@babel/helper-environment-visitor": { + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.16.5.tgz", + "integrity": "sha512-ODQyc5AnxmZWm/R2W7fzhamOk1ey8gSguo5SGvF0zcB3uUzRpTRmM/jmLSm9bDMyPlvbyJ+PwPEK0BWIoZ9wjg==", + "dependencies": { + "@babel/types": "^7.16.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, "node_modules/@babel/helper-explode-assignable-expression": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.13.0.tgz", - "integrity": "sha512-qS0peLTDP8kOisG1blKbaoBg/o9OSa1qoumMjTK5pM+KDTtpxpsiubnCGP34vK8BXGcb2M9eigwgvoJryrzwWA==", + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.16.0.tgz", + "integrity": "sha512-Hk2SLxC9ZbcOhLpg/yMznzJ11W++lg5GMbxt1ev6TXUiJB0N42KPC+7w8a+eWGuqDnUYuwStJoZHM7RgmIOaGQ==", "dependencies": { - "@babel/types": "^7.13.0" + "@babel/types": "^7.16.0" + }, + "engines": { + "node": ">=6.9.0" } }, "node_modules/@babel/helper-function-name": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.12.13.tgz", - "integrity": "sha512-TZvmPn0UOqmvi5G4vvw0qZTpVptGkB1GL61R6lKvrSdIxGm5Pky7Q3fpKiIkQCAtRCBUwB0PaThlx9vebCDSwA==", + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.16.0.tgz", + "integrity": "sha512-BZh4mEk1xi2h4HFjWUXRQX5AEx4rvaZxHgax9gcjdLWdkjsY7MKt5p0otjsg5noXw+pB+clMCjw+aEVYADMjog==", "dependencies": { - "@babel/helper-get-function-arity": "^7.12.13", - "@babel/template": "^7.12.13", - "@babel/types": "^7.12.13" + "@babel/helper-get-function-arity": "^7.16.0", + "@babel/template": "^7.16.0", + "@babel/types": "^7.16.0" + }, + "engines": { + "node": ">=6.9.0" } }, "node_modules/@babel/helper-get-function-arity": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.12.13.tgz", - "integrity": "sha512-DjEVzQNz5LICkzN0REdpD5prGoidvbdYk1BVgRUOINaWJP2t6avB27X1guXK1kXNrX0WMfsrm1A/ZBthYuIMQg==", + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.16.0.tgz", + "integrity": "sha512-ASCquNcywC1NkYh/z7Cgp3w31YW8aojjYIlNg4VeJiHkqyP4AzIvr4qx7pYDb4/s8YcsZWqqOSxgkvjUz1kpDQ==", "dependencies": { - "@babel/types": "^7.12.13" + "@babel/types": "^7.16.0" + }, + "engines": { + "node": ">=6.9.0" } }, "node_modules/@babel/helper-hoist-variables": { - "version": "7.13.16", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.13.16.tgz", - "integrity": "sha512-1eMtTrXtrwscjcAeO4BVK+vvkxaLJSPFz1w1KLawz6HLNi9bPFGBNwwDyVfiu1Tv/vRRFYfoGaKhmAQPGPn5Wg==", + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.16.0.tgz", + "integrity": "sha512-1AZlpazjUR0EQZQv3sgRNfM9mEVWPK3M6vlalczA+EECcPz3XPh6VplbErL5UoMpChhSck5wAJHthlj1bYpcmg==", "dependencies": { - "@babel/traverse": "^7.13.15", - "@babel/types": "^7.13.16" + "@babel/types": "^7.16.0" + }, + "engines": { + "node": ">=6.9.0" } }, "node_modules/@babel/helper-member-expression-to-functions": { - "version": "7.13.12", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.13.12.tgz", - "integrity": "sha512-48ql1CLL59aKbU94Y88Xgb2VFy7a95ykGRbJJaaVv+LX5U8wFpLfiGXJJGUozsmA1oEh/o5Bp60Voq7ACyA/Sw==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.16.5.tgz", + "integrity": "sha512-7fecSXq7ZrLE+TWshbGT+HyCLkxloWNhTbU2QM1NTI/tDqyf0oZiMcEfYtDuUDCo528EOlt39G1rftea4bRZIw==", "dependencies": { - "@babel/types": "^7.13.12" + "@babel/types": "^7.16.0" + }, + "engines": { + "node": ">=6.9.0" } }, "node_modules/@babel/helper-module-imports": { - "version": "7.13.12", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.13.12.tgz", - "integrity": "sha512-4cVvR2/1B693IuOvSI20xqqa/+bl7lqAMR59R4iu39R9aOX8/JoYY1sFaNvUMyMBGnHdwvJgUrzNLoUZxXypxA==", + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.16.0.tgz", + "integrity": "sha512-kkH7sWzKPq0xt3H1n+ghb4xEMP8k0U7XV3kkB+ZGy69kDk2ySFW1qPi06sjKzFY3t1j6XbJSqr4mF9L7CYVyhg==", "dependencies": { - "@babel/types": "^7.13.12" + "@babel/types": "^7.16.0" + }, + "engines": { + "node": ">=6.9.0" } }, "node_modules/@babel/helper-module-transforms": { - "version": "7.13.14", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.13.14.tgz", - "integrity": "sha512-QuU/OJ0iAOSIatyVZmfqB0lbkVP0kDRiKj34xy+QNsnVZi/PA6BoSoreeqnxxa9EHFAIL0R9XOaAR/G9WlIy5g==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.16.5.tgz", + "integrity": "sha512-CkvMxgV4ZyyioElFwcuWnDCcNIeyqTkCm9BxXZi73RR1ozqlpboqsbGUNvRTflgZtFbbJ1v5Emvm+lkjMYY/LQ==", "dependencies": { - "@babel/helper-module-imports": "^7.13.12", - "@babel/helper-replace-supers": "^7.13.12", - "@babel/helper-simple-access": "^7.13.12", - "@babel/helper-split-export-declaration": "^7.12.13", - "@babel/helper-validator-identifier": "^7.12.11", - "@babel/template": "^7.12.13", - "@babel/traverse": "^7.13.13", - "@babel/types": "^7.13.14" + "@babel/helper-environment-visitor": "^7.16.5", + "@babel/helper-module-imports": "^7.16.0", + "@babel/helper-simple-access": "^7.16.0", + "@babel/helper-split-export-declaration": "^7.16.0", + "@babel/helper-validator-identifier": "^7.15.7", + "@babel/template": "^7.16.0", + "@babel/traverse": "^7.16.5", + "@babel/types": "^7.16.0" + }, + "engines": { + "node": ">=6.9.0" } }, "node_modules/@babel/helper-optimise-call-expression": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.12.13.tgz", - "integrity": "sha512-BdWQhoVJkp6nVjB7nkFWcn43dkprYauqtk++Py2eaf/GRDFm5BxRqEIZCiHlZUGAVmtwKcsVL1dC68WmzeFmiA==", + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.16.0.tgz", + "integrity": "sha512-SuI467Gi2V8fkofm2JPnZzB/SUuXoJA5zXe/xzyPP2M04686RzFKFHPK6HDVN6JvWBIEW8tt9hPR7fXdn2Lgpw==", "dependencies": { - "@babel/types": "^7.12.13" + "@babel/types": "^7.16.0" + }, + "engines": { + "node": ">=6.9.0" } }, "node_modules/@babel/helper-plugin-utils": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.13.0.tgz", - "integrity": "sha512-ZPafIPSwzUlAoWT8DKs1W2VyF2gOWthGd5NGFMsBcMMol+ZhK+EQY/e6V96poa6PA/Bh+C9plWN0hXO1uB8AfQ==" + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.16.5.tgz", + "integrity": "sha512-59KHWHXxVA9K4HNF4sbHCf+eJeFe0Te/ZFGqBT4OjXhrwvA04sGfaEGsVTdsjoszq0YTP49RC9UKe5g8uN2RwQ==", + "engines": { + "node": ">=6.9.0" + } }, "node_modules/@babel/helper-remap-async-to-generator": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.13.0.tgz", - "integrity": "sha512-pUQpFBE9JvC9lrQbpX0TmeNIy5s7GnZjna2lhhcHC7DzgBs6fWn722Y5cfwgrtrqc7NAJwMvOa0mKhq6XaE4jg==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.16.5.tgz", + "integrity": "sha512-X+aAJldyxrOmN9v3FKp+Hu1NO69VWgYgDGq6YDykwRPzxs5f2N+X988CBXS7EQahDU+Vpet5QYMqLk+nsp+Qxw==", "dependencies": { - "@babel/helper-annotate-as-pure": "^7.12.13", - "@babel/helper-wrap-function": "^7.13.0", - "@babel/types": "^7.13.0" + "@babel/helper-annotate-as-pure": "^7.16.0", + "@babel/helper-wrap-function": "^7.16.5", + "@babel/types": "^7.16.0" + }, + "engines": { + "node": ">=6.9.0" } }, "node_modules/@babel/helper-replace-supers": { - "version": "7.13.12", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.13.12.tgz", - "integrity": "sha512-Gz1eiX+4yDO8mT+heB94aLVNCL+rbuT2xy4YfyNqu8F+OI6vMvJK891qGBTqL9Uc8wxEvRW92Id6G7sDen3fFw==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.16.5.tgz", + "integrity": "sha512-ao3seGVa/FZCMCCNDuBcqnBFSbdr8N2EW35mzojx3TwfIbdPmNK+JV6+2d5bR0Z71W5ocLnQp9en/cTF7pBJiQ==", "dependencies": { - "@babel/helper-member-expression-to-functions": "^7.13.12", - "@babel/helper-optimise-call-expression": "^7.12.13", - "@babel/traverse": "^7.13.0", - "@babel/types": "^7.13.12" + "@babel/helper-environment-visitor": "^7.16.5", + "@babel/helper-member-expression-to-functions": "^7.16.5", + "@babel/helper-optimise-call-expression": "^7.16.0", + "@babel/traverse": "^7.16.5", + "@babel/types": "^7.16.0" + }, + "engines": { + "node": ">=6.9.0" } }, "node_modules/@babel/helper-simple-access": { - "version": "7.13.12", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.13.12.tgz", - "integrity": "sha512-7FEjbrx5SL9cWvXioDbnlYTppcZGuCY6ow3/D5vMggb2Ywgu4dMrpTJX0JdQAIcRRUElOIxF3yEooa9gUb9ZbA==", + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.16.0.tgz", + "integrity": "sha512-o1rjBT/gppAqKsYfUdfHq5Rk03lMQrkPHG1OWzHWpLgVXRH4HnMM9Et9CVdIqwkCQlobnGHEJMsgWP/jE1zUiw==", "dependencies": { - "@babel/types": "^7.13.12" + "@babel/types": "^7.16.0" + }, + "engines": { + "node": ">=6.9.0" } }, "node_modules/@babel/helper-skip-transparent-expression-wrappers": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.12.1.tgz", - "integrity": "sha512-Mf5AUuhG1/OCChOJ/HcADmvcHM42WJockombn8ATJG3OnyiSxBK/Mm5x78BQWvmtXZKHgbjdGL2kin/HOLlZGA==", + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.16.0.tgz", + "integrity": "sha512-+il1gTy0oHwUsBQZyJvukbB4vPMdcYBrFHa0Uc4AizLxbq6BOYC51Rv4tWocX9BLBDLZ4kc6qUFpQ6HRgL+3zw==", "dependencies": { - "@babel/types": "^7.12.1" + "@babel/types": "^7.16.0" + }, + "engines": { + "node": ">=6.9.0" } }, "node_modules/@babel/helper-split-export-declaration": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.12.13.tgz", - "integrity": "sha512-tCJDltF83htUtXx5NLcaDqRmknv652ZWCHyoTETf1CXYJdPC7nohZohjUgieXhv0hTJdRf2FjDueFehdNucpzg==", + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.16.0.tgz", + "integrity": "sha512-0YMMRpuDFNGTHNRiiqJX19GjNXA4H0E8jZ2ibccfSxaCogbm3am5WN/2nQNj0YnQwGWM1J06GOcQ2qnh3+0paw==", "dependencies": { - "@babel/types": "^7.12.13" + "@babel/types": "^7.16.0" + }, + "engines": { + "node": ">=6.9.0" } }, "node_modules/@babel/helper-validator-identifier": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz", - "integrity": "sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==" + "version": "7.15.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.15.7.tgz", + "integrity": "sha512-K4JvCtQqad9OY2+yTU8w+E82ywk/fe+ELNlt1G8z3bVGlZfn/hOcQQsUhGhW/N+tb3fxK800wLtKOE/aM0m72w==", + "engines": { + "node": ">=6.9.0" + } }, "node_modules/@babel/helper-validator-option": { - "version": "7.12.17", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.12.17.tgz", - "integrity": "sha512-TopkMDmLzq8ngChwRlyjR6raKD6gMSae4JdYDB8bByKreQgG0RBTuKe9LRxW3wFtUnjxOPRKBDwEH6Mg5KeDfw==" + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.14.5.tgz", + "integrity": "sha512-OX8D5eeX4XwcroVW45NMvoYaIuFI+GQpA2a8Gi+X/U/cDUIRsV37qQfF905F0htTRCREQIB4KqPeaveRJUl3Ow==", + "engines": { + "node": ">=6.9.0" + } }, "node_modules/@babel/helper-wrap-function": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.13.0.tgz", - "integrity": "sha512-1UX9F7K3BS42fI6qd2A4BjKzgGjToscyZTdp1DjknHLCIvpgne6918io+aL5LXFcER/8QWiwpoY902pVEqgTXA==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.16.5.tgz", + "integrity": "sha512-2J2pmLBqUqVdJw78U0KPNdeE2qeuIyKoG4mKV7wAq3mc4jJG282UgjZw4ZYDnqiWQuS3Y3IYdF/AQ6CpyBV3VA==", "dependencies": { - "@babel/helper-function-name": "^7.12.13", - "@babel/template": "^7.12.13", - "@babel/traverse": "^7.13.0", - "@babel/types": "^7.13.0" + "@babel/helper-function-name": "^7.16.0", + "@babel/template": "^7.16.0", + "@babel/traverse": "^7.16.5", + "@babel/types": "^7.16.0" + }, + "engines": { + "node": ">=6.9.0" } }, "node_modules/@babel/helpers": { - "version": "7.13.17", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.13.17.tgz", - "integrity": "sha512-Eal4Gce4kGijo1/TGJdqp3WuhllaMLSrW6XcL0ulyUAQOuxHcCafZE8KHg9857gcTehsm/v7RcOx2+jp0Ryjsg==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.16.5.tgz", + "integrity": "sha512-TLgi6Lh71vvMZGEkFuIxzaPsyeYCHQ5jJOOX1f0xXn0uciFuE8cEk0wyBquMcCxBXZ5BJhE2aUB7pnWTD150Tw==", "dependencies": { - "@babel/template": "^7.12.13", - "@babel/traverse": "^7.13.17", - "@babel/types": "^7.13.17" + "@babel/template": "^7.16.0", + "@babel/traverse": "^7.16.5", + "@babel/types": "^7.16.0" + }, + "engines": { + "node": ">=6.9.0" } }, "node_modules/@babel/highlight": { - "version": "7.13.10", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.13.10.tgz", - "integrity": "sha512-5aPpe5XQPzflQrFwL1/QoeHkP2MsA4JCntcXHRhEsdsfPVkvPi2w7Qix4iV7t5S/oC9OodGrggd8aco1g3SZFg==", + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.16.0.tgz", + "integrity": "sha512-t8MH41kUQylBtu2+4IQA3atqevA2lRgqA2wyVB/YiWmsDSuylZZuXOUy9ric30hfzauEFfdsuk/eXTRrGrfd0g==", "dependencies": { - "@babel/helper-validator-identifier": "^7.12.11", + "@babel/helper-validator-identifier": "^7.15.7", "chalk": "^2.0.0", "js-tokens": "^4.0.0" + }, + "engines": { + "node": ">=6.9.0" } }, "node_modules/@babel/parser": { - "version": "7.13.16", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.13.16.tgz", - "integrity": "sha512-6bAg36mCwuqLO0hbR+z7PHuqWiCeP7Dzg73OpQwsAB1Eb8HnGEz5xYBzCfbu+YjoaJsJs+qheDxVAuqbt3ILEw==", + "version": "7.16.6", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.16.6.tgz", + "integrity": "sha512-Gr86ujcNuPDnNOY8mi383Hvi8IYrJVJYuf3XcuBM/Dgd+bINn/7tHqsj+tKkoreMbmGsFLsltI/JJd8fOFWGDQ==", "bin": { "parser": "bin/babel-parser.js" }, @@ -505,188 +600,277 @@ "node": ">=6.0.0" } }, + "node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { + "version": "7.16.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.16.2.tgz", + "integrity": "sha512-h37CvpLSf8gb2lIJ2CgC3t+EjFbi0t8qS7LCS1xcJIlEXE4czlofwaW7W1HA8zpgOCzI9C1nmoqNR1zWkk0pQg==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { - "version": "7.13.12", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.13.12.tgz", - "integrity": "sha512-d0u3zWKcoZf379fOeJdr1a5WPDny4aOFZ6hlfKivgK0LY7ZxNfoaHL2fWwdGtHyVvra38FC+HVYkO+byfSA8AQ==", + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.16.0.tgz", + "integrity": "sha512-4tcFwwicpWTrpl9qjf7UsoosaArgImF85AxqCRZlgc3IQDvkUHjJpruXAL58Wmj+T6fypWTC/BakfEkwIL/pwA==", "dependencies": { - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/helper-skip-transparent-expression-wrappers": "^7.12.1", - "@babel/plugin-proposal-optional-chaining": "^7.13.12" + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.16.0", + "@babel/plugin-proposal-optional-chaining": "^7.16.0" + }, + "engines": { + "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.13.0" } }, "node_modules/@babel/plugin-proposal-async-generator-functions": { - "version": "7.13.15", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.13.15.tgz", - "integrity": "sha512-VapibkWzFeoa6ubXy/NgV5U2U4MVnUlvnx6wo1XhlsaTrLYWE0UFpDQsVrmn22q5CzeloqJ8gEMHSKxuee6ZdA==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.16.5.tgz", + "integrity": "sha512-C/FX+3HNLV6sz7AqbTQqEo1L9/kfrKjxcVtgyBCmvIgOjvuBVUWooDoi7trsLxOzCEo5FccjRvKHkfDsJFZlfA==", "dependencies": { - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/helper-remap-async-to-generator": "^7.13.0", + "@babel/helper-plugin-utils": "^7.16.5", + "@babel/helper-remap-async-to-generator": "^7.16.5", "@babel/plugin-syntax-async-generators": "^7.8.4" }, + "engines": { + "node": ">=6.9.0" + }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-proposal-class-properties": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.13.0.tgz", - "integrity": "sha512-KnTDjFNC1g+45ka0myZNvSBFLhNCLN+GeGYLDEA8Oq7MZ6yMgfLoIRh86GRT0FjtJhZw8JyUskP9uvj5pHM9Zg==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.16.5.tgz", + "integrity": "sha512-pJD3HjgRv83s5dv1sTnDbZOaTjghKEz8KUn1Kbh2eAIRhGuyQ1XSeI4xVXU3UlIEVA3DAyIdxqT1eRn7Wcn55A==", "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.13.0", - "@babel/helper-plugin-utils": "^7.13.0" + "@babel/helper-create-class-features-plugin": "^7.16.5", + "@babel/helper-plugin-utils": "^7.16.5" + }, + "engines": { + "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, + "node_modules/@babel/plugin-proposal-class-static-block": { + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.16.5.tgz", + "integrity": "sha512-EEFzuLZcm/rNJ8Q5krK+FRKdVkd6FjfzT9tuSZql9sQn64K0hHA2KLJ0DqVot9/iV6+SsuadC5yI39zWnm+nmQ==", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.16.5", + "@babel/helper-plugin-utils": "^7.16.5", + "@babel/plugin-syntax-class-static-block": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.12.0" + } + }, "node_modules/@babel/plugin-proposal-decorators": { - "version": "7.13.15", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.13.15.tgz", - "integrity": "sha512-ibAMAqUm97yzi+LPgdr5Nqb9CMkeieGHvwPg1ywSGjZrZHQEGqE01HmOio8kxRpA/+VtOHouIVy2FMpBbtltjA==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.16.5.tgz", + "integrity": "sha512-XAiZll5oCdp2Dd2RbXA3LVPlFyIRhhcQy+G34p9ePpl6mjFkbqHAYHovyw2j5mqUrlBf0/+MtOIJ3JGYtz8qaw==", "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.13.11", - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/plugin-syntax-decorators": "^7.12.13" + "@babel/helper-create-class-features-plugin": "^7.16.5", + "@babel/helper-plugin-utils": "^7.16.5", + "@babel/plugin-syntax-decorators": "^7.16.5" + }, + "engines": { + "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-proposal-dynamic-import": { - "version": "7.13.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.13.8.tgz", - "integrity": "sha512-ONWKj0H6+wIRCkZi9zSbZtE/r73uOhMVHh256ys0UzfM7I3d4n+spZNWjOnJv2gzopumP2Wxi186vI8N0Y2JyQ==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.16.5.tgz", + "integrity": "sha512-P05/SJZTTvHz79LNYTF8ff5xXge0kk5sIIWAypcWgX4BTRUgyHc8wRxJ/Hk+mU0KXldgOOslKaeqnhthcDJCJQ==", "dependencies": { - "@babel/helper-plugin-utils": "^7.13.0", + "@babel/helper-plugin-utils": "^7.16.5", "@babel/plugin-syntax-dynamic-import": "^7.8.3" }, + "engines": { + "node": ">=6.9.0" + }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-proposal-export-namespace-from": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.12.13.tgz", - "integrity": "sha512-INAgtFo4OnLN3Y/j0VwAgw3HDXcDtX+C/erMvWzuV9v71r7urb6iyMXu7eM9IgLr1ElLlOkaHjJ0SbCmdOQ3Iw==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.16.5.tgz", + "integrity": "sha512-i+sltzEShH1vsVydvNaTRsgvq2vZsfyrd7K7vPLUU/KgS0D5yZMe6uipM0+izminnkKrEfdUnz7CxMRb6oHZWw==", "dependencies": { - "@babel/helper-plugin-utils": "^7.12.13", + "@babel/helper-plugin-utils": "^7.16.5", "@babel/plugin-syntax-export-namespace-from": "^7.8.3" }, + "engines": { + "node": ">=6.9.0" + }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-proposal-json-strings": { - "version": "7.13.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.13.8.tgz", - "integrity": "sha512-w4zOPKUFPX1mgvTmL/fcEqy34hrQ1CRcGxdphBc6snDnnqJ47EZDIyop6IwXzAC8G916hsIuXB2ZMBCExC5k7Q==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.16.5.tgz", + "integrity": "sha512-QQJueTFa0y9E4qHANqIvMsuxM/qcLQmKttBACtPCQzGUEizsXDACGonlPiSwynHfOa3vNw0FPMVvQzbuXwh4SQ==", "dependencies": { - "@babel/helper-plugin-utils": "^7.13.0", + "@babel/helper-plugin-utils": "^7.16.5", "@babel/plugin-syntax-json-strings": "^7.8.3" }, + "engines": { + "node": ">=6.9.0" + }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-proposal-logical-assignment-operators": { - "version": "7.13.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.13.8.tgz", - "integrity": "sha512-aul6znYB4N4HGweImqKn59Su9RS8lbUIqxtXTOcAGtNIDczoEFv+l1EhmX8rUBp3G1jMjKJm8m0jXVp63ZpS4A==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.16.5.tgz", + "integrity": "sha512-xqibl7ISO2vjuQM+MzR3rkd0zfNWltk7n9QhaD8ghMmMceVguYrNDt7MikRyj4J4v3QehpnrU8RYLnC7z/gZLA==", "dependencies": { - "@babel/helper-plugin-utils": "^7.13.0", + "@babel/helper-plugin-utils": "^7.16.5", "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" }, + "engines": { + "node": ">=6.9.0" + }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-proposal-nullish-coalescing-operator": { - "version": "7.13.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.13.8.tgz", - "integrity": "sha512-iePlDPBn//UhxExyS9KyeYU7RM9WScAG+D3Hhno0PLJebAEpDZMocbDe64eqynhNAnwz/vZoL/q/QB2T1OH39A==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.16.5.tgz", + "integrity": "sha512-YwMsTp/oOviSBhrjwi0vzCUycseCYwoXnLiXIL3YNjHSMBHicGTz7GjVU/IGgz4DtOEXBdCNG72pvCX22ehfqg==", "dependencies": { - "@babel/helper-plugin-utils": "^7.13.0", + "@babel/helper-plugin-utils": "^7.16.5", "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" }, + "engines": { + "node": ">=6.9.0" + }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-proposal-numeric-separator": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.12.13.tgz", - "integrity": "sha512-O1jFia9R8BUCl3ZGB7eitaAPu62TXJRHn7rh+ojNERCFyqRwJMTmhz+tJ+k0CwI6CLjX/ee4qW74FSqlq9I35w==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.16.5.tgz", + "integrity": "sha512-DvB9l/TcsCRvsIV9v4jxR/jVP45cslTVC0PMVHvaJhhNuhn2Y1SOhCSFlPK777qLB5wb8rVDaNoqMTyOqtY5Iw==", "dependencies": { - "@babel/helper-plugin-utils": "^7.12.13", + "@babel/helper-plugin-utils": "^7.16.5", "@babel/plugin-syntax-numeric-separator": "^7.10.4" }, + "engines": { + "node": ">=6.9.0" + }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-proposal-object-rest-spread": { - "version": "7.13.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.13.8.tgz", - "integrity": "sha512-DhB2EuB1Ih7S3/IRX5AFVgZ16k3EzfRbq97CxAVI1KSYcW+lexV8VZb7G7L8zuPVSdQMRn0kiBpf/Yzu9ZKH0g==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.16.5.tgz", + "integrity": "sha512-UEd6KpChoyPhCoE840KRHOlGhEZFutdPDMGj+0I56yuTTOaT51GzmnEl/0uT41fB/vD2nT+Pci2KjezyE3HmUw==", "dependencies": { - "@babel/compat-data": "^7.13.8", - "@babel/helper-compilation-targets": "^7.13.8", - "@babel/helper-plugin-utils": "^7.13.0", + "@babel/compat-data": "^7.16.4", + "@babel/helper-compilation-targets": "^7.16.3", + "@babel/helper-plugin-utils": "^7.16.5", "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-transform-parameters": "^7.13.0" + "@babel/plugin-transform-parameters": "^7.16.5" + }, + "engines": { + "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-proposal-optional-catch-binding": { - "version": "7.13.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.13.8.tgz", - "integrity": "sha512-0wS/4DUF1CuTmGo+NiaHfHcVSeSLj5S3e6RivPTg/2k3wOv3jO35tZ6/ZWsQhQMvdgI7CwphjQa/ccarLymHVA==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.16.5.tgz", + "integrity": "sha512-ihCMxY1Iljmx4bWy/PIMJGXN4NS4oUj1MKynwO07kiKms23pNvIn1DMB92DNB2R0EA882sw0VXIelYGdtF7xEQ==", "dependencies": { - "@babel/helper-plugin-utils": "^7.13.0", + "@babel/helper-plugin-utils": "^7.16.5", "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" }, + "engines": { + "node": ">=6.9.0" + }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-proposal-optional-chaining": { - "version": "7.13.12", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.13.12.tgz", - "integrity": "sha512-fcEdKOkIB7Tf4IxrgEVeFC4zeJSTr78no9wTdBuZZbqF64kzllU0ybo2zrzm7gUQfxGhBgq4E39oRs8Zx/RMYQ==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.16.5.tgz", + "integrity": "sha512-kzdHgnaXRonttiTfKYnSVafbWngPPr2qKw9BWYBESl91W54e+9R5pP70LtWxV56g0f05f/SQrwHYkfvbwcdQ/A==", "dependencies": { - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/helper-skip-transparent-expression-wrappers": "^7.12.1", + "@babel/helper-plugin-utils": "^7.16.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.16.0", "@babel/plugin-syntax-optional-chaining": "^7.8.3" }, + "engines": { + "node": ">=6.9.0" + }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-proposal-private-methods": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.13.0.tgz", - "integrity": "sha512-MXyyKQd9inhx1kDYPkFRVOBXQ20ES8Pto3T7UZ92xj2mY0EVD8oAVzeyYuVfy/mxAdTSIayOvg+aVzcHV2bn6Q==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.16.5.tgz", + "integrity": "sha512-+yFMO4BGT3sgzXo+lrq7orX5mAZt57DwUK6seqII6AcJnJOIhBJ8pzKH47/ql/d426uQ7YhN8DpUFirQzqYSUA==", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.16.5", + "@babel/helper-plugin-utils": "^7.16.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-private-property-in-object": { + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.16.5.tgz", + "integrity": "sha512-+YGh5Wbw0NH3y/E5YMu6ci5qTDmAEVNoZ3I54aB6nVEOZ5BQ7QJlwKq5pYVucQilMByGn/bvX0af+uNaPRCabA==", "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.13.0", - "@babel/helper-plugin-utils": "^7.13.0" + "@babel/helper-annotate-as-pure": "^7.16.0", + "@babel/helper-create-class-features-plugin": "^7.16.5", + "@babel/helper-plugin-utils": "^7.16.5", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-proposal-unicode-property-regex": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.12.13.tgz", - "integrity": "sha512-XyJmZidNfofEkqFV5VC/bLabGmO5QzenPO/YOfGuEbgU+2sSwMmio3YLb4WtBgcmmdwZHyVyv8on77IUjQ5Gvg==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.16.5.tgz", + "integrity": "sha512-s5sKtlKQyFSatt781HQwv1hoM5BQ9qRH30r+dK56OLDsHmV74mzwJNX7R1yMuE7VZKG5O6q/gmOGSAO6ikTudg==", "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.12.13", - "@babel/helper-plugin-utils": "^7.12.13" + "@babel/helper-create-regexp-features-plugin": "^7.16.0", + "@babel/helper-plugin-utils": "^7.16.5" }, "engines": { "node": ">=4" @@ -717,12 +901,29 @@ "@babel/core": "^7.0.0-0" } }, + "node_modules/@babel/plugin-syntax-class-static-block": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", + "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, "node_modules/@babel/plugin-syntax-decorators": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.12.13.tgz", - "integrity": "sha512-Rw6aIXGuqDLr6/LoBBYE57nKOzQpz/aDkKlMqEwH+Vp0MXbG6H/TfRjaY343LKxzAKAMXIHsQ8JzaZKuDZ9MwA==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.16.5.tgz", + "integrity": "sha512-3CbYTXfflvyy8O819uhZcZSMedZG4J8yS/NLTc/8T24M9ke1GssTGvg8VZu3Yn2LU5IyQSv1CmPq0a9JWHXJwg==", "dependencies": { - "@babel/helper-plugin-utils": "^7.12.13" + "@babel/helper-plugin-utils": "^7.16.5" + }, + "engines": { + "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" @@ -762,11 +963,14 @@ } }, "node_modules/@babel/plugin-syntax-jsx": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.12.13.tgz", - "integrity": "sha512-d4HM23Q1K7oq/SLNmG6mRt85l2csmQ0cHRaxRXjKW0YFdEXqlZ5kzFQKH5Uc3rDJECgu+yCRgPkG04Mm98R/1g==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.16.5.tgz", + "integrity": "sha512-42OGssv9NPk4QHKVgIHlzeLgPOW5rGgfV5jzG90AhcXXIv6hu/eqj63w4VgvRxdvZY3AlYeDgPiSJ3BqAd1Y6Q==", "dependencies": { - "@babel/helper-plugin-utils": "^7.12.13" + "@babel/helper-plugin-utils": "^7.16.5" + }, + "engines": { + "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" @@ -838,434 +1042,555 @@ "@babel/core": "^7.0.0-0" } }, + "node_modules/@babel/plugin-syntax-private-property-in-object": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", + "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, "node_modules/@babel/plugin-syntax-top-level-await": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.12.13.tgz", - "integrity": "sha512-A81F9pDwyS7yM//KwbCSDqy3Uj4NMIurtplxphWxoYtNPov7cJsDkAFNNyVlIZ3jwGycVsurZ+LtOA8gZ376iQ==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", + "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", "dependencies": { - "@babel/helper-plugin-utils": "^7.12.13" + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-arrow-functions": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.13.0.tgz", - "integrity": "sha512-96lgJagobeVmazXFaDrbmCLQxBysKu7U6Do3mLsx27gf5Dk85ezysrs2BZUpXD703U/Su1xTBDxxar2oa4jAGg==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.16.5.tgz", + "integrity": "sha512-8bTHiiZyMOyfZFULjsCnYOWG059FVMes0iljEHSfARhNgFfpsqE92OrCffv3veSw9rwMkYcFe9bj0ZoXU2IGtQ==", "dependencies": { - "@babel/helper-plugin-utils": "^7.13.0" + "@babel/helper-plugin-utils": "^7.16.5" + }, + "engines": { + "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-async-to-generator": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.13.0.tgz", - "integrity": "sha512-3j6E004Dx0K3eGmhxVJxwwI89CTJrce7lg3UrtFuDAVQ/2+SJ/h/aSFOeE6/n0WB1GsOffsJp6MnPQNQ8nmwhg==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.16.5.tgz", + "integrity": "sha512-TMXgfioJnkXU+XRoj7P2ED7rUm5jbnDWwlCuFVTpQboMfbSya5WrmubNBAMlk7KXvywpo8rd8WuYZkis1o2H8w==", "dependencies": { - "@babel/helper-module-imports": "^7.12.13", - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/helper-remap-async-to-generator": "^7.13.0" + "@babel/helper-module-imports": "^7.16.0", + "@babel/helper-plugin-utils": "^7.16.5", + "@babel/helper-remap-async-to-generator": "^7.16.5" + }, + "engines": { + "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-block-scoped-functions": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.12.13.tgz", - "integrity": "sha512-zNyFqbc3kI/fVpqwfqkg6RvBgFpC4J18aKKMmv7KdQ/1GgREapSJAykLMVNwfRGO3BtHj3YQZl8kxCXPcVMVeg==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.16.5.tgz", + "integrity": "sha512-BxmIyKLjUGksJ99+hJyL/HIxLIGnLKtw772zYDER7UuycDZ+Xvzs98ZQw6NGgM2ss4/hlFAaGiZmMNKvValEjw==", "dependencies": { - "@babel/helper-plugin-utils": "^7.12.13" + "@babel/helper-plugin-utils": "^7.16.5" + }, + "engines": { + "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-block-scoping": { - "version": "7.13.16", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.13.16.tgz", - "integrity": "sha512-ad3PHUxGnfWF4Efd3qFuznEtZKoBp0spS+DgqzVzRPV7urEBvPLue3y2j80w4Jf2YLzZHj8TOv/Lmvdmh3b2xg==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.16.5.tgz", + "integrity": "sha512-JxjSPNZSiOtmxjX7PBRBeRJTUKTyJ607YUYeT0QJCNdsedOe+/rXITjP08eG8xUpsLfPirgzdCFN+h0w6RI+pQ==", "dependencies": { - "@babel/helper-plugin-utils": "^7.13.0" + "@babel/helper-plugin-utils": "^7.16.5" + }, + "engines": { + "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-classes": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.13.0.tgz", - "integrity": "sha512-9BtHCPUARyVH1oXGcSJD3YpsqRLROJx5ZNP6tN5vnk17N0SVf9WCtf8Nuh1CFmgByKKAIMstitKduoCmsaDK5g==", - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.12.13", - "@babel/helper-function-name": "^7.12.13", - "@babel/helper-optimise-call-expression": "^7.12.13", - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/helper-replace-supers": "^7.13.0", - "@babel/helper-split-export-declaration": "^7.12.13", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.16.5.tgz", + "integrity": "sha512-DzJ1vYf/7TaCYy57J3SJ9rV+JEuvmlnvvyvYKFbk5u46oQbBvuB9/0w+YsVsxkOv8zVWKpDmUoj4T5ILHoXevA==", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.16.0", + "@babel/helper-environment-visitor": "^7.16.5", + "@babel/helper-function-name": "^7.16.0", + "@babel/helper-optimise-call-expression": "^7.16.0", + "@babel/helper-plugin-utils": "^7.16.5", + "@babel/helper-replace-supers": "^7.16.5", + "@babel/helper-split-export-declaration": "^7.16.0", "globals": "^11.1.0" }, + "engines": { + "node": ">=6.9.0" + }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-computed-properties": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.13.0.tgz", - "integrity": "sha512-RRqTYTeZkZAz8WbieLTvKUEUxZlUTdmL5KGMyZj7FnMfLNKV4+r5549aORG/mgojRmFlQMJDUupwAMiF2Q7OUg==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.16.5.tgz", + "integrity": "sha512-n1+O7xtU5lSLraRzX88CNcpl7vtGdPakKzww74bVwpAIRgz9JVLJJpOLb0uYqcOaXVM0TL6X0RVeIJGD2CnCkg==", "dependencies": { - "@babel/helper-plugin-utils": "^7.13.0" + "@babel/helper-plugin-utils": "^7.16.5" + }, + "engines": { + "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-destructuring": { - "version": "7.13.17", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.13.17.tgz", - "integrity": "sha512-UAUqiLv+uRLO+xuBKKMEpC+t7YRNVRqBsWWq1yKXbBZBje/t3IXCiSinZhjn/DC3qzBfICeYd2EFGEbHsh5RLA==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.16.5.tgz", + "integrity": "sha512-GuRVAsjq+c9YPK6NeTkRLWyQskDC099XkBSVO+6QzbnOnH2d/4mBVXYStaPrZD3dFRfg00I6BFJ9Atsjfs8mlg==", "dependencies": { - "@babel/helper-plugin-utils": "^7.13.0" + "@babel/helper-plugin-utils": "^7.16.5" + }, + "engines": { + "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-dotall-regex": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.12.13.tgz", - "integrity": "sha512-foDrozE65ZFdUC2OfgeOCrEPTxdB3yjqxpXh8CH+ipd9CHd4s/iq81kcUpyH8ACGNEPdFqbtzfgzbT/ZGlbDeQ==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.16.5.tgz", + "integrity": "sha512-iQiEMt8Q4/5aRGHpGVK2Zc7a6mx7qEAO7qehgSug3SDImnuMzgmm/wtJALXaz25zUj1PmnNHtShjFgk4PDx4nw==", "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.12.13", - "@babel/helper-plugin-utils": "^7.12.13" + "@babel/helper-create-regexp-features-plugin": "^7.16.0", + "@babel/helper-plugin-utils": "^7.16.5" + }, + "engines": { + "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-duplicate-keys": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.12.13.tgz", - "integrity": "sha512-NfADJiiHdhLBW3pulJlJI2NB0t4cci4WTZ8FtdIuNc2+8pslXdPtRRAEWqUY+m9kNOk2eRYbTAOipAxlrOcwwQ==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.16.5.tgz", + "integrity": "sha512-81tijpDg2a6I1Yhj4aWY1l3O1J4Cg/Pd7LfvuaH2VVInAkXtzibz9+zSPdUM1WvuUi128ksstAP0hM5w48vQgg==", "dependencies": { - "@babel/helper-plugin-utils": "^7.12.13" + "@babel/helper-plugin-utils": "^7.16.5" + }, + "engines": { + "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-exponentiation-operator": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.12.13.tgz", - "integrity": "sha512-fbUelkM1apvqez/yYx1/oICVnGo2KM5s63mhGylrmXUxK/IAXSIf87QIxVfZldWf4QsOafY6vV3bX8aMHSvNrA==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.16.5.tgz", + "integrity": "sha512-12rba2HwemQPa7BLIKCzm1pT2/RuQHtSFHdNl41cFiC6oi4tcrp7gjB07pxQvFpcADojQywSjblQth6gJyE6CA==", "dependencies": { - "@babel/helper-builder-binary-assignment-operator-visitor": "^7.12.13", - "@babel/helper-plugin-utils": "^7.12.13" + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.16.5", + "@babel/helper-plugin-utils": "^7.16.5" + }, + "engines": { + "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-for-of": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.13.0.tgz", - "integrity": "sha512-IHKT00mwUVYE0zzbkDgNRP6SRzvfGCYsOxIRz8KsiaaHCcT9BWIkO+H9QRJseHBLOGBZkHUdHiqj6r0POsdytg==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.16.5.tgz", + "integrity": "sha512-+DpCAJFPAvViR17PIMi9x2AE34dll5wNlXO43wagAX2YcRGgEVHCNFC4azG85b4YyyFarvkc/iD5NPrz4Oneqw==", "dependencies": { - "@babel/helper-plugin-utils": "^7.13.0" + "@babel/helper-plugin-utils": "^7.16.5" + }, + "engines": { + "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-function-name": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.12.13.tgz", - "integrity": "sha512-6K7gZycG0cmIwwF7uMK/ZqeCikCGVBdyP2J5SKNCXO5EOHcqi+z7Jwf8AmyDNcBgxET8DrEtCt/mPKPyAzXyqQ==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.16.5.tgz", + "integrity": "sha512-Fuec/KPSpVLbGo6z1RPw4EE1X+z9gZk1uQmnYy7v4xr4TO9p41v1AoUuXEtyqAI7H+xNJYSICzRqZBhDEkd3kQ==", "dependencies": { - "@babel/helper-function-name": "^7.12.13", - "@babel/helper-plugin-utils": "^7.12.13" + "@babel/helper-function-name": "^7.16.0", + "@babel/helper-plugin-utils": "^7.16.5" + }, + "engines": { + "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-literals": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.12.13.tgz", - "integrity": "sha512-FW+WPjSR7hiUxMcKqyNjP05tQ2kmBCdpEpZHY1ARm96tGQCCBvXKnpjILtDplUnJ/eHZ0lALLM+d2lMFSpYJrQ==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.16.5.tgz", + "integrity": "sha512-B1j9C/IfvshnPcklsc93AVLTrNVa69iSqztylZH6qnmiAsDDOmmjEYqOm3Ts2lGSgTSywnBNiqC949VdD0/gfw==", "dependencies": { - "@babel/helper-plugin-utils": "^7.12.13" + "@babel/helper-plugin-utils": "^7.16.5" + }, + "engines": { + "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-member-expression-literals": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.12.13.tgz", - "integrity": "sha512-kxLkOsg8yir4YeEPHLuO2tXP9R/gTjpuTOjshqSpELUN3ZAg2jfDnKUvzzJxObun38sw3wm4Uu69sX/zA7iRvg==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.16.5.tgz", + "integrity": "sha512-d57i3vPHWgIde/9Y8W/xSFUndhvhZN5Wu2TjRrN1MVz5KzdUihKnfDVlfP1U7mS5DNj/WHHhaE4/tTi4hIyHwQ==", "dependencies": { - "@babel/helper-plugin-utils": "^7.12.13" + "@babel/helper-plugin-utils": "^7.16.5" + }, + "engines": { + "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-modules-amd": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.13.0.tgz", - "integrity": "sha512-EKy/E2NHhY/6Vw5d1k3rgoobftcNUmp9fGjb9XZwQLtTctsRBOTRO7RHHxfIky1ogMN5BxN7p9uMA3SzPfotMQ==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.16.5.tgz", + "integrity": "sha512-oHI15S/hdJuSCfnwIz+4lm6wu/wBn7oJ8+QrkzPPwSFGXk8kgdI/AIKcbR/XnD1nQVMg/i6eNaXpszbGuwYDRQ==", "dependencies": { - "@babel/helper-module-transforms": "^7.13.0", - "@babel/helper-plugin-utils": "^7.13.0", + "@babel/helper-module-transforms": "^7.16.5", + "@babel/helper-plugin-utils": "^7.16.5", "babel-plugin-dynamic-import-node": "^2.3.3" }, + "engines": { + "node": ">=6.9.0" + }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-modules-commonjs": { - "version": "7.13.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.13.8.tgz", - "integrity": "sha512-9QiOx4MEGglfYZ4XOnU79OHr6vIWUakIj9b4mioN8eQIoEh+pf5p/zEB36JpDFWA12nNMiRf7bfoRvl9Rn79Bw==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.16.5.tgz", + "integrity": "sha512-ABhUkxvoQyqhCWyb8xXtfwqNMJD7tx+irIRnUh6lmyFud7Jln1WzONXKlax1fg/ey178EXbs4bSGNd6PngO+SQ==", "dependencies": { - "@babel/helper-module-transforms": "^7.13.0", - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/helper-simple-access": "^7.12.13", + "@babel/helper-module-transforms": "^7.16.5", + "@babel/helper-plugin-utils": "^7.16.5", + "@babel/helper-simple-access": "^7.16.0", "babel-plugin-dynamic-import-node": "^2.3.3" }, + "engines": { + "node": ">=6.9.0" + }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-modules-systemjs": { - "version": "7.13.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.13.8.tgz", - "integrity": "sha512-hwqctPYjhM6cWvVIlOIe27jCIBgHCsdH2xCJVAYQm7V5yTMoilbVMi9f6wKg0rpQAOn6ZG4AOyvCqFF/hUh6+A==", - "dependencies": { - "@babel/helper-hoist-variables": "^7.13.0", - "@babel/helper-module-transforms": "^7.13.0", - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/helper-validator-identifier": "^7.12.11", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.16.5.tgz", + "integrity": "sha512-53gmLdScNN28XpjEVIm7LbWnD/b/TpbwKbLk6KV4KqC9WyU6rq1jnNmVG6UgAdQZVVGZVoik3DqHNxk4/EvrjA==", + "dependencies": { + "@babel/helper-hoist-variables": "^7.16.0", + "@babel/helper-module-transforms": "^7.16.5", + "@babel/helper-plugin-utils": "^7.16.5", + "@babel/helper-validator-identifier": "^7.15.7", "babel-plugin-dynamic-import-node": "^2.3.3" }, + "engines": { + "node": ">=6.9.0" + }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-modules-umd": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.13.0.tgz", - "integrity": "sha512-D/ILzAh6uyvkWjKKyFE/W0FzWwasv6vPTSqPcjxFqn6QpX3u8DjRVliq4F2BamO2Wee/om06Vyy+vPkNrd4wxw==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.16.5.tgz", + "integrity": "sha512-qTFnpxHMoenNHkS3VoWRdwrcJ3FhX567GvDA3hRZKF0Dj8Fmg0UzySZp3AP2mShl/bzcywb/UWAMQIjA1bhXvw==", "dependencies": { - "@babel/helper-module-transforms": "^7.13.0", - "@babel/helper-plugin-utils": "^7.13.0" + "@babel/helper-module-transforms": "^7.16.5", + "@babel/helper-plugin-utils": "^7.16.5" + }, + "engines": { + "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.12.13.tgz", - "integrity": "sha512-Xsm8P2hr5hAxyYblrfACXpQKdQbx4m2df9/ZZSQ8MAhsadw06+jW7s9zsSw6he+mJZXRlVMyEnVktJo4zjk1WA==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.16.5.tgz", + "integrity": "sha512-/wqGDgvFUeKELW6ex6QB7dLVRkd5ehjw34tpXu1nhKC0sFfmaLabIswnpf8JgDyV2NeDmZiwoOb0rAmxciNfjA==", "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.12.13" + "@babel/helper-create-regexp-features-plugin": "^7.16.0" + }, + "engines": { + "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0" } }, "node_modules/@babel/plugin-transform-new-target": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.12.13.tgz", - "integrity": "sha512-/KY2hbLxrG5GTQ9zzZSc3xWiOy379pIETEhbtzwZcw9rvuaVV4Fqy7BYGYOWZnaoXIQYbbJ0ziXLa/sKcGCYEQ==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.16.5.tgz", + "integrity": "sha512-ZaIrnXF08ZC8jnKR4/5g7YakGVL6go6V9ql6Jl3ecO8PQaQqFE74CuM384kezju7Z9nGCCA20BqZaR1tJ/WvHg==", "dependencies": { - "@babel/helper-plugin-utils": "^7.12.13" + "@babel/helper-plugin-utils": "^7.16.5" + }, + "engines": { + "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-object-super": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.12.13.tgz", - "integrity": "sha512-JzYIcj3XtYspZDV8j9ulnoMPZZnF/Cj0LUxPOjR89BdBVx+zYJI9MdMIlUZjbXDX+6YVeS6I3e8op+qQ3BYBoQ==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.16.5.tgz", + "integrity": "sha512-tded+yZEXuxt9Jdtkc1RraW1zMF/GalVxaVVxh41IYwirdRgyAxxxCKZ9XB7LxZqmsjfjALxupNE1MIz9KH+Zg==", "dependencies": { - "@babel/helper-plugin-utils": "^7.12.13", - "@babel/helper-replace-supers": "^7.12.13" + "@babel/helper-plugin-utils": "^7.16.5", + "@babel/helper-replace-supers": "^7.16.5" + }, + "engines": { + "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-parameters": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.13.0.tgz", - "integrity": "sha512-Jt8k/h/mIwE2JFEOb3lURoY5C85ETcYPnbuAJ96zRBzh1XHtQZfs62ChZ6EP22QlC8c7Xqr9q+e1SU5qttwwjw==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.16.5.tgz", + "integrity": "sha512-B3O6AL5oPop1jAVg8CV+haeUte9oFuY85zu0jwnRNZZi3tVAbJriu5tag/oaO2kGaQM/7q7aGPBlTI5/sr9enA==", "dependencies": { - "@babel/helper-plugin-utils": "^7.13.0" + "@babel/helper-plugin-utils": "^7.16.5" + }, + "engines": { + "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-property-literals": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.12.13.tgz", - "integrity": "sha512-nqVigwVan+lR+g8Fj8Exl0UQX2kymtjcWfMOYM1vTYEKujeyv2SkMgazf2qNcK7l4SDiKyTA/nHCPqL4e2zo1A==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.16.5.tgz", + "integrity": "sha512-+IRcVW71VdF9pEH/2R/Apab4a19LVvdVsr/gEeotH00vSDVlKD+XgfSIw+cgGWsjDB/ziqGv/pGoQZBIiQVXHg==", "dependencies": { - "@babel/helper-plugin-utils": "^7.12.13" + "@babel/helper-plugin-utils": "^7.16.5" + }, + "engines": { + "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-regenerator": { - "version": "7.13.15", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.13.15.tgz", - "integrity": "sha512-Bk9cOLSz8DiurcMETZ8E2YtIVJbFCPGW28DJWUakmyVWtQSm6Wsf0p4B4BfEr/eL2Nkhe/CICiUiMOCi1TPhuQ==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.16.5.tgz", + "integrity": "sha512-2z+it2eVWU8TtQQRauvGUqZwLy4+7rTfo6wO4npr+fvvN1SW30ZF3O/ZRCNmTuu4F5MIP8OJhXAhRV5QMJOuYg==", "dependencies": { "regenerator-transform": "^0.14.2" }, + "engines": { + "node": ">=6.9.0" + }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-reserved-words": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.12.13.tgz", - "integrity": "sha512-xhUPzDXxZN1QfiOy/I5tyye+TRz6lA7z6xaT4CLOjPRMVg1ldRf0LHw0TDBpYL4vG78556WuHdyO9oi5UmzZBg==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.16.5.tgz", + "integrity": "sha512-aIB16u8lNcf7drkhXJRoggOxSTUAuihTSTfAcpynowGJOZiGf+Yvi7RuTwFzVYSYPmWyARsPqUGoZWWWxLiknw==", "dependencies": { - "@babel/helper-plugin-utils": "^7.12.13" + "@babel/helper-plugin-utils": "^7.16.5" + }, + "engines": { + "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-runtime": { - "version": "7.13.15", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.13.15.tgz", - "integrity": "sha512-d+ezl76gx6Jal08XngJUkXM4lFXK/5Ikl9Mh4HKDxSfGJXmZ9xG64XT2oivBzfxb/eQ62VfvoMkaCZUKJMVrBA==", - "dependencies": { - "@babel/helper-module-imports": "^7.13.12", - "@babel/helper-plugin-utils": "^7.13.0", - "babel-plugin-polyfill-corejs2": "^0.2.0", - "babel-plugin-polyfill-corejs3": "^0.2.0", - "babel-plugin-polyfill-regenerator": "^0.2.0", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.16.5.tgz", + "integrity": "sha512-gxpfS8XQWDbQ8oP5NcmpXxtEgCJkbO+W9VhZlOhr0xPyVaRjAQPOv7ZDj9fg0d5s9+NiVvMCE6gbkEkcsxwGRw==", + "dependencies": { + "@babel/helper-module-imports": "^7.16.0", + "@babel/helper-plugin-utils": "^7.16.5", + "babel-plugin-polyfill-corejs2": "^0.3.0", + "babel-plugin-polyfill-corejs3": "^0.4.0", + "babel-plugin-polyfill-regenerator": "^0.3.0", "semver": "^6.3.0" }, + "engines": { + "node": ">=6.9.0" + }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-shorthand-properties": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.12.13.tgz", - "integrity": "sha512-xpL49pqPnLtf0tVluuqvzWIgLEhuPpZzvs2yabUHSKRNlN7ScYU7aMlmavOeyXJZKgZKQRBlh8rHbKiJDraTSw==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.16.5.tgz", + "integrity": "sha512-ZbuWVcY+MAXJuuW7qDoCwoxDUNClfZxoo7/4swVbOW1s/qYLOMHlm9YRWMsxMFuLs44eXsv4op1vAaBaBaDMVg==", "dependencies": { - "@babel/helper-plugin-utils": "^7.12.13" + "@babel/helper-plugin-utils": "^7.16.5" + }, + "engines": { + "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-spread": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.13.0.tgz", - "integrity": "sha512-V6vkiXijjzYeFmQTr3dBxPtZYLPcUfY34DebOU27jIl2M/Y8Egm52Hw82CSjjPqd54GTlJs5x+CR7HeNr24ckg==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.16.5.tgz", + "integrity": "sha512-5d6l/cnG7Lw4tGHEoga4xSkYp1euP7LAtrah1h1PgJ3JY7yNsjybsxQAnVK4JbtReZ/8z6ASVmd3QhYYKLaKZw==", "dependencies": { - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/helper-skip-transparent-expression-wrappers": "^7.12.1" + "@babel/helper-plugin-utils": "^7.16.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.16.0" + }, + "engines": { + "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-sticky-regex": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.12.13.tgz", - "integrity": "sha512-Jc3JSaaWT8+fr7GRvQP02fKDsYk4K/lYwWq38r/UGfaxo89ajud321NH28KRQ7xy1Ybc0VUE5Pz8psjNNDUglg==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.16.5.tgz", + "integrity": "sha512-usYsuO1ID2LXxzuUxifgWtJemP7wL2uZtyrTVM4PKqsmJycdS4U4mGovL5xXkfUheds10Dd2PjoQLXw6zCsCbg==", "dependencies": { - "@babel/helper-plugin-utils": "^7.12.13" + "@babel/helper-plugin-utils": "^7.16.5" + }, + "engines": { + "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-template-literals": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.13.0.tgz", - "integrity": "sha512-d67umW6nlfmr1iehCcBv69eSUSySk1EsIS8aTDX4Xo9qajAh6mYtcl4kJrBkGXuxZPEgVr7RVfAvNW6YQkd4Mw==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.16.5.tgz", + "integrity": "sha512-gnyKy9RyFhkovex4BjKWL3BVYzUDG6zC0gba7VMLbQoDuqMfJ1SDXs8k/XK41Mmt1Hyp4qNAvGFb9hKzdCqBRQ==", "dependencies": { - "@babel/helper-plugin-utils": "^7.13.0" + "@babel/helper-plugin-utils": "^7.16.5" + }, + "engines": { + "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-typeof-symbol": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.12.13.tgz", - "integrity": "sha512-eKv/LmUJpMnu4npgfvs3LiHhJua5fo/CysENxa45YCQXZwKnGCQKAg87bvoqSW1fFT+HA32l03Qxsm8ouTY3ZQ==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.16.5.tgz", + "integrity": "sha512-ldxCkW180qbrvyCVDzAUZqB0TAeF8W/vGJoRcaf75awm6By+PxfJKvuqVAnq8N9wz5Xa6mSpM19OfVKKVmGHSQ==", "dependencies": { - "@babel/helper-plugin-utils": "^7.12.13" + "@babel/helper-plugin-utils": "^7.16.5" + }, + "engines": { + "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-unicode-escapes": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.12.13.tgz", - "integrity": "sha512-0bHEkdwJ/sN/ikBHfSmOXPypN/beiGqjo+o4/5K+vxEFNPRPdImhviPakMKG4x96l85emoa0Z6cDflsdBusZbw==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.16.5.tgz", + "integrity": "sha512-shiCBHTIIChGLdyojsKQjoAyB8MBwat25lKM7MJjbe1hE0bgIppD+LX9afr41lLHOhqceqeWl4FkLp+Bgn9o1Q==", "dependencies": { - "@babel/helper-plugin-utils": "^7.12.13" + "@babel/helper-plugin-utils": "^7.16.5" + }, + "engines": { + "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-unicode-regex": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.12.13.tgz", - "integrity": "sha512-mDRzSNY7/zopwisPZ5kM9XKCfhchqIYwAKRERtEnhYscZB79VRekuRSoYbN0+KVe3y8+q1h6A4svXtP7N+UoCA==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.16.5.tgz", + "integrity": "sha512-GTJ4IW012tiPEMMubd7sD07iU9O/LOo8Q/oU4xNhcaq0Xn8+6TcUQaHtC8YxySo1T+ErQ8RaWogIEeFhKGNPzw==", "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.12.13", - "@babel/helper-plugin-utils": "^7.12.13" + "@babel/helper-create-regexp-features-plugin": "^7.16.0", + "@babel/helper-plugin-utils": "^7.16.5" + }, + "engines": { + "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/preset-env": { - "version": "7.13.15", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.13.15.tgz", - "integrity": "sha512-D4JAPMXcxk69PKe81jRJ21/fP/uYdcTZ3hJDF5QX2HSI9bBxxYw/dumdR6dGumhjxlprHPE4XWoPaqzZUVy2MA==", - "dependencies": { - "@babel/compat-data": "^7.13.15", - "@babel/helper-compilation-targets": "^7.13.13", - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/helper-validator-option": "^7.12.17", - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.13.12", - "@babel/plugin-proposal-async-generator-functions": "^7.13.15", - "@babel/plugin-proposal-class-properties": "^7.13.0", - "@babel/plugin-proposal-dynamic-import": "^7.13.8", - "@babel/plugin-proposal-export-namespace-from": "^7.12.13", - "@babel/plugin-proposal-json-strings": "^7.13.8", - "@babel/plugin-proposal-logical-assignment-operators": "^7.13.8", - "@babel/plugin-proposal-nullish-coalescing-operator": "^7.13.8", - "@babel/plugin-proposal-numeric-separator": "^7.12.13", - "@babel/plugin-proposal-object-rest-spread": "^7.13.8", - "@babel/plugin-proposal-optional-catch-binding": "^7.13.8", - "@babel/plugin-proposal-optional-chaining": "^7.13.12", - "@babel/plugin-proposal-private-methods": "^7.13.0", - "@babel/plugin-proposal-unicode-property-regex": "^7.12.13", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.16.5.tgz", + "integrity": "sha512-MiJJW5pwsktG61NDxpZ4oJ1CKxM1ncam9bzRtx9g40/WkLRkxFP6mhpkYV0/DxcciqoiHicx291+eUQrXb/SfQ==", + "dependencies": { + "@babel/compat-data": "^7.16.4", + "@babel/helper-compilation-targets": "^7.16.3", + "@babel/helper-plugin-utils": "^7.16.5", + "@babel/helper-validator-option": "^7.14.5", + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.16.2", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.16.0", + "@babel/plugin-proposal-async-generator-functions": "^7.16.5", + "@babel/plugin-proposal-class-properties": "^7.16.5", + "@babel/plugin-proposal-class-static-block": "^7.16.5", + "@babel/plugin-proposal-dynamic-import": "^7.16.5", + "@babel/plugin-proposal-export-namespace-from": "^7.16.5", + "@babel/plugin-proposal-json-strings": "^7.16.5", + "@babel/plugin-proposal-logical-assignment-operators": "^7.16.5", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.16.5", + "@babel/plugin-proposal-numeric-separator": "^7.16.5", + "@babel/plugin-proposal-object-rest-spread": "^7.16.5", + "@babel/plugin-proposal-optional-catch-binding": "^7.16.5", + "@babel/plugin-proposal-optional-chaining": "^7.16.5", + "@babel/plugin-proposal-private-methods": "^7.16.5", + "@babel/plugin-proposal-private-property-in-object": "^7.16.5", + "@babel/plugin-proposal-unicode-property-regex": "^7.16.5", "@babel/plugin-syntax-async-generators": "^7.8.4", "@babel/plugin-syntax-class-properties": "^7.12.13", + "@babel/plugin-syntax-class-static-block": "^7.14.5", "@babel/plugin-syntax-dynamic-import": "^7.8.3", "@babel/plugin-syntax-export-namespace-from": "^7.8.3", "@babel/plugin-syntax-json-strings": "^7.8.3", @@ -1275,55 +1600,59 @@ "@babel/plugin-syntax-object-rest-spread": "^7.8.3", "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", "@babel/plugin-syntax-optional-chaining": "^7.8.3", - "@babel/plugin-syntax-top-level-await": "^7.12.13", - "@babel/plugin-transform-arrow-functions": "^7.13.0", - "@babel/plugin-transform-async-to-generator": "^7.13.0", - "@babel/plugin-transform-block-scoped-functions": "^7.12.13", - "@babel/plugin-transform-block-scoping": "^7.12.13", - "@babel/plugin-transform-classes": "^7.13.0", - "@babel/plugin-transform-computed-properties": "^7.13.0", - "@babel/plugin-transform-destructuring": "^7.13.0", - "@babel/plugin-transform-dotall-regex": "^7.12.13", - "@babel/plugin-transform-duplicate-keys": "^7.12.13", - "@babel/plugin-transform-exponentiation-operator": "^7.12.13", - "@babel/plugin-transform-for-of": "^7.13.0", - "@babel/plugin-transform-function-name": "^7.12.13", - "@babel/plugin-transform-literals": "^7.12.13", - "@babel/plugin-transform-member-expression-literals": "^7.12.13", - "@babel/plugin-transform-modules-amd": "^7.13.0", - "@babel/plugin-transform-modules-commonjs": "^7.13.8", - "@babel/plugin-transform-modules-systemjs": "^7.13.8", - "@babel/plugin-transform-modules-umd": "^7.13.0", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.12.13", - "@babel/plugin-transform-new-target": "^7.12.13", - "@babel/plugin-transform-object-super": "^7.12.13", - "@babel/plugin-transform-parameters": "^7.13.0", - "@babel/plugin-transform-property-literals": "^7.12.13", - "@babel/plugin-transform-regenerator": "^7.13.15", - "@babel/plugin-transform-reserved-words": "^7.12.13", - "@babel/plugin-transform-shorthand-properties": "^7.12.13", - "@babel/plugin-transform-spread": "^7.13.0", - "@babel/plugin-transform-sticky-regex": "^7.12.13", - "@babel/plugin-transform-template-literals": "^7.13.0", - "@babel/plugin-transform-typeof-symbol": "^7.12.13", - "@babel/plugin-transform-unicode-escapes": "^7.12.13", - "@babel/plugin-transform-unicode-regex": "^7.12.13", - "@babel/preset-modules": "^0.1.4", - "@babel/types": "^7.13.14", - "babel-plugin-polyfill-corejs2": "^0.2.0", - "babel-plugin-polyfill-corejs3": "^0.2.0", - "babel-plugin-polyfill-regenerator": "^0.2.0", - "core-js-compat": "^3.9.0", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5", + "@babel/plugin-syntax-top-level-await": "^7.14.5", + "@babel/plugin-transform-arrow-functions": "^7.16.5", + "@babel/plugin-transform-async-to-generator": "^7.16.5", + "@babel/plugin-transform-block-scoped-functions": "^7.16.5", + "@babel/plugin-transform-block-scoping": "^7.16.5", + "@babel/plugin-transform-classes": "^7.16.5", + "@babel/plugin-transform-computed-properties": "^7.16.5", + "@babel/plugin-transform-destructuring": "^7.16.5", + "@babel/plugin-transform-dotall-regex": "^7.16.5", + "@babel/plugin-transform-duplicate-keys": "^7.16.5", + "@babel/plugin-transform-exponentiation-operator": "^7.16.5", + "@babel/plugin-transform-for-of": "^7.16.5", + "@babel/plugin-transform-function-name": "^7.16.5", + "@babel/plugin-transform-literals": "^7.16.5", + "@babel/plugin-transform-member-expression-literals": "^7.16.5", + "@babel/plugin-transform-modules-amd": "^7.16.5", + "@babel/plugin-transform-modules-commonjs": "^7.16.5", + "@babel/plugin-transform-modules-systemjs": "^7.16.5", + "@babel/plugin-transform-modules-umd": "^7.16.5", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.16.5", + "@babel/plugin-transform-new-target": "^7.16.5", + "@babel/plugin-transform-object-super": "^7.16.5", + "@babel/plugin-transform-parameters": "^7.16.5", + "@babel/plugin-transform-property-literals": "^7.16.5", + "@babel/plugin-transform-regenerator": "^7.16.5", + "@babel/plugin-transform-reserved-words": "^7.16.5", + "@babel/plugin-transform-shorthand-properties": "^7.16.5", + "@babel/plugin-transform-spread": "^7.16.5", + "@babel/plugin-transform-sticky-regex": "^7.16.5", + "@babel/plugin-transform-template-literals": "^7.16.5", + "@babel/plugin-transform-typeof-symbol": "^7.16.5", + "@babel/plugin-transform-unicode-escapes": "^7.16.5", + "@babel/plugin-transform-unicode-regex": "^7.16.5", + "@babel/preset-modules": "^0.1.5", + "@babel/types": "^7.16.0", + "babel-plugin-polyfill-corejs2": "^0.3.0", + "babel-plugin-polyfill-corejs3": "^0.4.0", + "babel-plugin-polyfill-regenerator": "^0.3.0", + "core-js-compat": "^3.19.1", "semver": "^6.3.0" }, + "engines": { + "node": ">=6.9.0" + }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/preset-modules": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.4.tgz", - "integrity": "sha512-J36NhwnfdzpmH41M1DrnkkgAqhZaqr/NBdPfQ677mLzlaXo+oDiv1deyCDtgAhz8p328otdob0Du7+xgHGZbKg==", + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.5.tgz", + "integrity": "sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==", "dependencies": { "@babel/helper-plugin-utils": "^7.0.0", "@babel/plugin-proposal-unicode-property-regex": "^7.4.4", @@ -1336,42 +1665,53 @@ } }, "node_modules/@babel/runtime": { - "version": "7.13.17", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.13.17.tgz", - "integrity": "sha512-NCdgJEelPTSh+FEFylhnP1ylq848l1z9t9N0j1Lfbcw0+KXGjsTvUmkxy+voLLXB5SOKMbLLx4jxYliGrYQseA==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.16.5.tgz", + "integrity": "sha512-TXWihFIS3Pyv5hzR7j6ihmeLkZfrXGxAr5UfSl8CHf+6q/wpiYDkUau0czckpYG8QmnCIuPpdLtuA9VmuGGyMA==", "dependencies": { "regenerator-runtime": "^0.13.4" + }, + "engines": { + "node": ">=6.9.0" } }, "node_modules/@babel/template": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.12.13.tgz", - "integrity": "sha512-/7xxiGA57xMo/P2GVvdEumr8ONhFOhfgq2ihK3h1e6THqzTAkHbkXgB0xI9yeTfIUoH3+oAeHhqm/I43OTbbjA==", + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.16.0.tgz", + "integrity": "sha512-MnZdpFD/ZdYhXwiunMqqgyZyucaYsbL0IrjoGjaVhGilz+x8YB++kRfygSOIj1yOtWKPlx7NBp+9I1RQSgsd5A==", "dependencies": { - "@babel/code-frame": "^7.12.13", - "@babel/parser": "^7.12.13", - "@babel/types": "^7.12.13" + "@babel/code-frame": "^7.16.0", + "@babel/parser": "^7.16.0", + "@babel/types": "^7.16.0" + }, + "engines": { + "node": ">=6.9.0" } }, "node_modules/@babel/traverse": { - "version": "7.13.17", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.13.17.tgz", - "integrity": "sha512-BMnZn0R+X6ayqm3C3To7o1j7Q020gWdqdyP50KEoVqaCO2c/Im7sYZSmVgvefp8TTMQ+9CtwuBp0Z1CZ8V3Pvg==", - "dependencies": { - "@babel/code-frame": "^7.12.13", - "@babel/generator": "^7.13.16", - "@babel/helper-function-name": "^7.12.13", - "@babel/helper-split-export-declaration": "^7.12.13", - "@babel/parser": "^7.13.16", - "@babel/types": "^7.13.17", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.16.5.tgz", + "integrity": "sha512-FOCODAzqUMROikDYLYxl4nmwiLlu85rNqBML/A5hKRVXG2LV8d0iMqgPzdYTcIpjZEBB7D6UDU9vxRZiriASdQ==", + "dependencies": { + "@babel/code-frame": "^7.16.0", + "@babel/generator": "^7.16.5", + "@babel/helper-environment-visitor": "^7.16.5", + "@babel/helper-function-name": "^7.16.0", + "@babel/helper-hoist-variables": "^7.16.0", + "@babel/helper-split-export-declaration": "^7.16.0", + "@babel/parser": "^7.16.5", + "@babel/types": "^7.16.0", "debug": "^4.1.0", "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" } }, "node_modules/@babel/traverse/node_modules/debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", + "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", "dependencies": { "ms": "2.1.2" }, @@ -1390,12 +1730,15 @@ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" }, "node_modules/@babel/types": { - "version": "7.13.17", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.13.17.tgz", - "integrity": "sha512-RawydLgxbOPDlTLJNtoIypwdmAy//uQIzlKt2+iBiJaRlVuI6QLUxVAyWGNfOzp8Yu4L4lLIacoCyTNtpb4wiA==", + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.16.0.tgz", + "integrity": "sha512-PJgg/k3SdLsGb3hhisFvtLOw5ts113klrpLuIPtCJIU+BB24fqq6lf8RWqKJEjzqXR9AEH1rIb5XTqwBHB+kQg==", "dependencies": { - "@babel/helper-validator-identifier": "^7.12.11", + "@babel/helper-validator-identifier": "^7.15.7", "to-fast-properties": "^2.0.0" + }, + "engines": { + "node": ">=6.9.0" } }, "node_modules/@cosmos-ui/vue": { @@ -1513,33 +1856,33 @@ } }, "node_modules/@types/glob": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.1.3.tgz", - "integrity": "sha512-SEYeGAIQIQX8NN6LDKprLjbrd5dARM5EXsd8GI/A5l0apYI1fGMWgPHSe4ZKL4eozlAyI+doUE9XbYS4xCkQ1w==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.2.0.tgz", + "integrity": "sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==", "dependencies": { "@types/minimatch": "*", "@types/node": "*" } }, "node_modules/@types/json-schema": { - "version": "7.0.7", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.7.tgz", - "integrity": "sha512-cxWFQVseBm6O9Gbw1IWb8r6OS4OhSt3hPZLkFApLjM8TEXROBuQGLAH2i2gZpcXdLBIrpXuTDhH7Vbm1iXmNGA==" + "version": "7.0.9", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.9.tgz", + "integrity": "sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ==" }, "node_modules/@types/minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-1z8k4wzFnNjVK/tlxvrWuK5WMt6mydWWP7+zvH5eFep4oj+UkrfiJTRtjCeBXNpwaA/FYqqtb4/QS4ianFpIRA==" + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.5.tgz", + "integrity": "sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==" }, "node_modules/@types/node": { - "version": "15.0.1", - "resolved": "https://registry.npmjs.org/@types/node/-/node-15.0.1.tgz", - "integrity": "sha512-TMkXt0Ck1y0KKsGr9gJtWGjttxlZnnvDtphxUOSd0bfaR6Q1jle+sPvrzNR1urqYTWMinoKvjKfXUGsumaO1PA==" + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.2.tgz", + "integrity": "sha512-JepeIUPFDARgIs0zD/SKPgFsJEAF0X5/qO80llx59gOxFTboS9Amv3S+QfB7lqBId5sFXJ99BN0J6zFRvL9dDA==" }, "node_modules/@types/q": { - "version": "1.5.4", - "resolved": "https://registry.npmjs.org/@types/q/-/q-1.5.4.tgz", - "integrity": "sha512-1HcDas8SEj4z1Wc696tH56G8OlRaH/sqZOynNNB+HF0WOeXPaxTtbYzJY2oEfiUxjSKjhCKr+MvR7dCHcEelug==" + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/@types/q/-/q-1.5.5.tgz", + "integrity": "sha512-L28j2FcJfSZOnL1WBjDYp2vUHCeIFlyYI/53EwD/rKUBQ7MtUUfbQWiyKJGpcnv4/WgrhWsFKrcPstcAt/J0tQ==" }, "node_modules/@vue/babel-helper-vue-jsx-merge-props": { "version": "1.2.1", @@ -1552,9 +1895,9 @@ "integrity": "sha512-hz4R8tS5jMn8lDq6iD+yWL6XNB699pGIVLk7WSJnn1dbpjaazsjZQkieJoRX6gW5zpYSCFqQ7jUquPNY65tQYA==" }, "node_modules/@vue/babel-plugin-jsx": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/@vue/babel-plugin-jsx/-/babel-plugin-jsx-1.0.5.tgz", - "integrity": "sha512-Jtipy7oI0am5e1q5Ahunm/cCcCh5ssf5VkMQsLR383S3un5Qh7NBfxgSK9kmWf4IXJEhDeYp9kHv8G/EnMai9A==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@vue/babel-plugin-jsx/-/babel-plugin-jsx-1.1.1.tgz", + "integrity": "sha512-j2uVfZjnB5+zkcbc/zsOc0fSNGCMMjaEXP52wdwdIfn0qjFfEYpYZBFKFg+HHnQeJCVrjOeO0YxgaL7DMrym9w==", "dependencies": { "@babel/helper-module-imports": "^7.0.0", "@babel/plugin-syntax-jsx": "^7.0.0", @@ -1592,9 +1935,9 @@ } }, "node_modules/@vue/babel-preset-app": { - "version": "4.5.12", - "resolved": "https://registry.npmjs.org/@vue/babel-preset-app/-/babel-preset-app-4.5.12.tgz", - "integrity": "sha512-8q67ORQ9O0Ms0nlqsXTVhaBefRBaLrzPxOewAZhdcO7onHwcO5/wRdWtHhZgfpCZlhY7NogkU16z3WnorSSkEA==", + "version": "4.5.15", + "resolved": "https://registry.npmjs.org/@vue/babel-preset-app/-/babel-preset-app-4.5.15.tgz", + "integrity": "sha512-J+YttzvwRfV1BPczf8r3qCevznYk+jh531agVF+5EYlHF4Sgh/cGXTz9qkkiux3LQgvhEGXgmCteg1n38WuuKg==", "dependencies": { "@babel/core": "^7.11.0", "@babel/helper-compilation-targets": "^7.9.6", @@ -1743,21 +2086,21 @@ } }, "node_modules/@vue/component-compiler-utils": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/@vue/component-compiler-utils/-/component-compiler-utils-3.2.0.tgz", - "integrity": "sha512-lejBLa7xAMsfiZfNp7Kv51zOzifnb29FwdnMLa96z26kXErPFioSf9BMcePVIQ6/Gc6/mC0UrPpxAWIHyae0vw==", + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@vue/component-compiler-utils/-/component-compiler-utils-3.3.0.tgz", + "integrity": "sha512-97sfH2mYNU+2PzGrmK2haqffDpVASuib9/w2/noxiFi31Z54hW+q3izKQXXQZSNhtiUpAI36uSuYepeBe4wpHQ==", "dependencies": { "consolidate": "^0.15.1", "hash-sum": "^1.0.2", "lru-cache": "^4.1.2", "merge-source-map": "^1.1.0", - "postcss": "^7.0.14", + "postcss": "^7.0.36", "postcss-selector-parser": "^6.0.2", "source-map": "~0.6.1", "vue-template-es2015-compiler": "^1.9.0" }, "optionalDependencies": { - "prettier": "^1.18.2" + "prettier": "^1.18.2 || ^2.0.0" } }, "node_modules/@vue/component-compiler-utils/node_modules/lru-cache": { @@ -1783,17 +2126,17 @@ "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=" }, "node_modules/@vuepress/core": { - "version": "1.8.2", - "resolved": "https://registry.npmjs.org/@vuepress/core/-/core-1.8.2.tgz", - "integrity": "sha512-lh9BLC06k9s0wxTuWtCkiNj49fkbW87enp0XSrFZHEoyDGSGndQjZmMMErcHc5Hx7nrW1nzc33sPH1NNtJl0hw==", + "version": "1.8.3", + "resolved": "https://registry.npmjs.org/@vuepress/core/-/core-1.8.3.tgz", + "integrity": "sha512-VY5yfePXt5nf0/wf6RLPXheRrSwXBizW4aYFHE6L59gzwFAJc01iYJ6eW+LDiyX6lb45pWuyZHMdNsMzBgs9xA==", "dependencies": { "@babel/core": "^7.8.4", "@vue/babel-preset-app": "^4.1.2", - "@vuepress/markdown": "1.8.2", - "@vuepress/markdown-loader": "1.8.2", - "@vuepress/plugin-last-updated": "1.8.2", - "@vuepress/plugin-register-components": "1.8.2", - "@vuepress/shared-utils": "1.8.2", + "@vuepress/markdown": "1.8.3", + "@vuepress/markdown-loader": "1.8.3", + "@vuepress/plugin-last-updated": "1.8.3", + "@vuepress/plugin-register-components": "1.8.3", + "@vuepress/shared-utils": "1.8.3", "autoprefixer": "^9.5.1", "babel-loader": "^8.0.4", "cache-loader": "^3.0.0", @@ -1831,11 +2174,11 @@ } }, "node_modules/@vuepress/markdown": { - "version": "1.8.2", - "resolved": "https://registry.npmjs.org/@vuepress/markdown/-/markdown-1.8.2.tgz", - "integrity": "sha512-zznBHVqW+iBkznF/BO/GY9RFu53khyl0Ey0PnGqvwCJpRLNan6y5EXgYumtjw2GSYn5nDTTALYxtyNBdz64PKg==", + "version": "1.8.3", + "resolved": "https://registry.npmjs.org/@vuepress/markdown/-/markdown-1.8.3.tgz", + "integrity": "sha512-gYfMulsHbCS5o/YBoMd6uZDlbiABewxAQq7J71REz7xpWbk1XjPzxYD40VT4xrEYllc/HdQQe49C+34eKHPhMw==", "dependencies": { - "@vuepress/shared-utils": "1.8.2", + "@vuepress/shared-utils": "1.8.3", "markdown-it": "^8.4.1", "markdown-it-anchor": "^5.0.2", "markdown-it-chain": "^1.3.0", @@ -1845,11 +2188,11 @@ } }, "node_modules/@vuepress/markdown-loader": { - "version": "1.8.2", - "resolved": "https://registry.npmjs.org/@vuepress/markdown-loader/-/markdown-loader-1.8.2.tgz", - "integrity": "sha512-mWzFXikCUcAN/chpKkqZpRYKdo0312hMv8cBea2hvrJYV6y4ODB066XKvXN8JwOcxuCjxWYJkhWGr+pXq1oTtw==", + "version": "1.8.3", + "resolved": "https://registry.npmjs.org/@vuepress/markdown-loader/-/markdown-loader-1.8.3.tgz", + "integrity": "sha512-QO3uUszxX63T+iXe7dB/rSDTpcZXrstyBIuI5NtWut/34Qsr/LZvMhrawwLBCtLjkQU1FJ/mlFXkXN8gebHx0g==", "dependencies": { - "@vuepress/markdown": "1.8.2", + "@vuepress/markdown": "1.8.3", "loader-utils": "^1.1.0", "lru-cache": "^5.1.1" } @@ -1883,9 +2226,9 @@ } }, "node_modules/@vuepress/plugin-active-header-links": { - "version": "1.8.2", - "resolved": "https://registry.npmjs.org/@vuepress/plugin-active-header-links/-/plugin-active-header-links-1.8.2.tgz", - "integrity": "sha512-JmXAQg8D7J8mcKe2Ue3BZ9dOCzJMJXP4Cnkkc/IrqfDg0ET0l96gYWZohCqlvRIWt4f0VPiFAO4FLYrW+hko+g==", + "version": "1.8.3", + "resolved": "https://registry.npmjs.org/@vuepress/plugin-active-header-links/-/plugin-active-header-links-1.8.3.tgz", + "integrity": "sha512-KNgo0IHUvzoJDAn0xw1HAIUnmnCYhoFCWS9fkgKhfJAKcdaSEZk+BHQKfZrKx1BINktTFNdBBGZmxANQdHlUFQ==", "dependencies": { "lodash.debounce": "^4.0.8" } @@ -1896,38 +2239,38 @@ "integrity": "sha512-27fQzRMsqGYpMf+ruyhsdfLv/n6z6b6LutFLE/pH66Itlh6ox9ew31x0pqYBbWIC/a4lBfXYUwFvi+DEvlb1EQ==" }, "node_modules/@vuepress/plugin-last-updated": { - "version": "1.8.2", - "resolved": "https://registry.npmjs.org/@vuepress/plugin-last-updated/-/plugin-last-updated-1.8.2.tgz", - "integrity": "sha512-pYIRZi52huO9b6HY3JQNPKNERCLzMHejjBRt9ekdnJ1xhLs4MmRvt37BoXjI/qzvXkYtr7nmGgnKThNBVRTZuA==", + "version": "1.8.3", + "resolved": "https://registry.npmjs.org/@vuepress/plugin-last-updated/-/plugin-last-updated-1.8.3.tgz", + "integrity": "sha512-anqktVt3RYyPVC+GxA0gBLWJZKQTXUcH5M+fFiO+tQvSizuhkzY/0i70Ss6znxv8ov5xwVn/C/gBGt21/9Qzvw==", "dependencies": { "cross-spawn": "^6.0.5" } }, "node_modules/@vuepress/plugin-nprogress": { - "version": "1.8.2", - "resolved": "https://registry.npmjs.org/@vuepress/plugin-nprogress/-/plugin-nprogress-1.8.2.tgz", - "integrity": "sha512-3TOBee2NM3WLr1tdjDTGfrAMggjN+OlEPyKyv8FqThsVkDYhw48O3HwqlThp9KX7UbL3ExxIFBwWRFLC+kYrdw==", + "version": "1.8.3", + "resolved": "https://registry.npmjs.org/@vuepress/plugin-nprogress/-/plugin-nprogress-1.8.3.tgz", + "integrity": "sha512-BSMDcON1sIib/JoQh+W4t7WGQeMIFKakZ931IGSeVhLwCmEUd4sgC1dSPFYWXGSxCoattcrFLwqP9gJ9vabJpw==", "dependencies": { "nprogress": "^0.2.0" } }, "node_modules/@vuepress/plugin-register-components": { - "version": "1.8.2", - "resolved": "https://registry.npmjs.org/@vuepress/plugin-register-components/-/plugin-register-components-1.8.2.tgz", - "integrity": "sha512-6SUq3nHFMEh9qKFnjA8QnrNxj0kLs7+Gspq1OBU8vtu0NQmSvLFZVaMV7pzT/9zN2nO5Pld5qhsUJv1g71MrEA==", + "version": "1.8.3", + "resolved": "https://registry.npmjs.org/@vuepress/plugin-register-components/-/plugin-register-components-1.8.3.tgz", + "integrity": "sha512-wp0nI4Eoysb8aHYonyezGV+Jlc2D6B2iEQ7bhSh+UBlBa5K2u9Q1i39He+W4bFwCO7KorfAqvHjRIzHnW095XA==", "dependencies": { - "@vuepress/shared-utils": "1.8.2" + "@vuepress/shared-utils": "1.8.3" } }, "node_modules/@vuepress/plugin-search": { - "version": "1.8.2", - "resolved": "https://registry.npmjs.org/@vuepress/plugin-search/-/plugin-search-1.8.2.tgz", - "integrity": "sha512-JrSJr9o0Kar14lVtZ4wfw39pplxvvMh8vDBD9oW09a+6Zi/4bySPGdcdaqdqGW+OHSiZNvG+6uyfKSBBBqF6PA==" + "version": "1.8.3", + "resolved": "https://registry.npmjs.org/@vuepress/plugin-search/-/plugin-search-1.8.3.tgz", + "integrity": "sha512-2ogShgbB5DaqUz6oYjjHHtczNTbOTSkh/9ve1bfYc6f0NasKauQeWUOCOE4lN9RAaP4hapTZ96g2G42VRlVmTg==" }, "node_modules/@vuepress/shared-utils": { - "version": "1.8.2", - "resolved": "https://registry.npmjs.org/@vuepress/shared-utils/-/shared-utils-1.8.2.tgz", - "integrity": "sha512-6kGubc7iBDWruEBUU7yR+sQ++SOhMuvKWvWeTZJKRZedthycdzYz7QVpua0FaZSAJm5/dIt8ymU4WQvxTtZgTQ==", + "version": "1.8.3", + "resolved": "https://registry.npmjs.org/@vuepress/shared-utils/-/shared-utils-1.8.3.tgz", + "integrity": "sha512-OQ3MY920UZrQ8/NXlOf7kovNiXUJ5OHDKBuP+mqTrADNmuYeHNM667d2EyRniG5UFsAgdTCpGaidu1GlaCX8kw==", "dependencies": { "chalk": "^2.3.2", "escape-html": "^1.0.3", @@ -1941,13 +2284,13 @@ } }, "node_modules/@vuepress/theme-default": { - "version": "1.8.2", - "resolved": "https://registry.npmjs.org/@vuepress/theme-default/-/theme-default-1.8.2.tgz", - "integrity": "sha512-rE7M1rs3n2xp4a/GrweO8EGwqFn3EA5gnFWdVmVIHyr7C1nix+EqjpPQF1SVWNnIrDdQuCw38PqS+oND1K2vYw==", + "version": "1.8.3", + "resolved": "https://registry.npmjs.org/@vuepress/theme-default/-/theme-default-1.8.3.tgz", + "integrity": "sha512-thMZ2+og9HWq4+F0xaHfGJvrtakIsmF51br1oOrlrZTb4aJIvBP2v3B26+r/sF9gx0BpPYyuQZ4H3xUthMCeNA==", "dependencies": { - "@vuepress/plugin-active-header-links": "1.8.2", - "@vuepress/plugin-nprogress": "1.8.2", - "@vuepress/plugin-search": "1.8.2", + "@vuepress/plugin-active-header-links": "1.8.3", + "@vuepress/plugin-nprogress": "1.8.3", + "@vuepress/plugin-search": "1.8.3", "docsearch.js": "^2.5.2", "lodash": "^4.17.15", "stylus": "^0.54.8", @@ -2382,9 +2725,9 @@ "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=" }, "node_modules/asn1": { - "version": "0.2.4", - "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", - "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz", + "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==", "dependencies": { "safer-buffer": "~2.1.0" } @@ -2491,15 +2834,15 @@ } }, "node_modules/autoprefixer": { - "version": "9.8.6", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.8.6.tgz", - "integrity": "sha512-XrvP4VVHdRBCdX1S3WXVD8+RyG9qeb1D5Sn1DeLiG2xfSpzellk5k54xbUERJ3M5DggQxes39UGOTP8CFrEGbg==", + "version": "9.8.8", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.8.8.tgz", + "integrity": "sha512-eM9d/swFopRt5gdJ7jrpCwgvEMIayITpojhkkSMRsFHYuH5bkSQ4p/9qTEHtmNudUZh22Tehu7I6CxAW0IXTKA==", "dependencies": { "browserslist": "^4.12.0", "caniuse-lite": "^1.0.30001109", - "colorette": "^1.2.1", "normalize-range": "^0.1.2", "num2fraction": "^1.2.2", + "picocolors": "^0.2.1", "postcss": "^7.0.32", "postcss-value-parser": "^4.1.0" }, @@ -2533,9 +2876,9 @@ } }, "node_modules/babel-loader": { - "version": "8.2.2", - "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.2.2.tgz", - "integrity": "sha512-JvTd0/D889PQBtUXJ2PXaKU/pjZDMtHA9V2ecm+eNRmmBCMR09a+fmpGTNwnJtFmFl5Ei7Vy47LjBb+L0wQ99g==", + "version": "8.2.3", + "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.2.3.tgz", + "integrity": "sha512-n4Zeta8NC3QAsuyiizu0GkmRcQ6clkV9WFUnUf1iXP//IeSKbWjofW3UHyZVwlOB4y039YQKefawyTn64Zwbuw==", "dependencies": { "find-cache-dir": "^3.3.1", "loader-utils": "^1.4.0", @@ -2559,12 +2902,12 @@ } }, "node_modules/babel-plugin-polyfill-corejs2": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.2.0.tgz", - "integrity": "sha512-9bNwiR0dS881c5SHnzCmmGlMkJLl0OUZvxrxHo9w/iNoRuqaPjqlvBf4HrovXtQs/au5yKkpcdgfT1cC5PAZwg==", + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.0.tgz", + "integrity": "sha512-wMDoBJ6uG4u4PNFh72Ty6t3EgfA91puCuAwKIazbQlci+ENb/UU9A3xG5lutjUIiXCIn1CY5L15r9LimiJyrSA==", "dependencies": { "@babel/compat-data": "^7.13.11", - "@babel/helper-define-polyfill-provider": "^0.2.0", + "@babel/helper-define-polyfill-provider": "^0.3.0", "semver": "^6.1.1" }, "peerDependencies": { @@ -2572,23 +2915,23 @@ } }, "node_modules/babel-plugin-polyfill-corejs3": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.2.0.tgz", - "integrity": "sha512-zZyi7p3BCUyzNxLx8KV61zTINkkV65zVkDAFNZmrTCRVhjo1jAS+YLvDJ9Jgd/w2tsAviCwFHReYfxO3Iql8Yg==", + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.4.0.tgz", + "integrity": "sha512-YxFreYwUfglYKdLUGvIF2nJEsGwj+RhWSX/ije3D2vQPOXuyMLMtg/cCGMDpOA7Nd+MwlNdnGODbd2EwUZPlsw==", "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.2.0", - "core-js-compat": "^3.9.1" + "@babel/helper-define-polyfill-provider": "^0.3.0", + "core-js-compat": "^3.18.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/babel-plugin-polyfill-regenerator": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.2.0.tgz", - "integrity": "sha512-J7vKbCuD2Xi/eEHxquHN14bXAW9CXtecwuLrOIDJtcZzTaPzV1VdEfoUf9AzcRBMolKUQKM9/GVojeh0hFiqMg==", + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.3.0.tgz", + "integrity": "sha512-dhAPTDLGoMW5/84wkgwiLRwMnio2i1fUe53EuvtKMv0pn2p3S8OCoV1xAzfJPl0KOX7IB89s2ib85vbYiea3jg==", "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.2.0" + "@babel/helper-define-polyfill-provider": "^0.3.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" @@ -2706,39 +3049,42 @@ "integrity": "sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw==" }, "node_modules/body-parser": { - "version": "1.19.0", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz", - "integrity": "sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==", + "version": "1.19.1", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.1.tgz", + "integrity": "sha512-8ljfQi5eBk8EJfECMrgqNGWPEY5jWP+1IzkzkGdFFEwFQZZyaZ21UqdaHktgiMlH0xLHqIFtE/u2OYE5dOtViA==", "dependencies": { - "bytes": "3.1.0", + "bytes": "3.1.1", "content-type": "~1.0.4", "debug": "2.6.9", "depd": "~1.1.2", - "http-errors": "1.7.2", + "http-errors": "1.8.1", "iconv-lite": "0.4.24", "on-finished": "~2.3.0", - "qs": "6.7.0", - "raw-body": "2.4.0", - "type-is": "~1.6.17" + "qs": "6.9.6", + "raw-body": "2.4.2", + "type-is": "~1.6.18" }, "engines": { "node": ">= 0.8" } }, "node_modules/body-parser/node_modules/bytes": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", - "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.1.tgz", + "integrity": "sha512-dWe4nWO/ruEOY7HkUJ5gFt1DCFV9zPRoJr8pV0/ASQermOZjtq8jMjOprC0Kd10GLN+l7xaUPvxzJFWtxGu8Fg==", "engines": { "node": ">= 0.8" } }, "node_modules/body-parser/node_modules/qs": { - "version": "6.7.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", - "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==", + "version": "6.9.6", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.9.6.tgz", + "integrity": "sha512-TIRk4aqYLNoJUbd+g2lEdz5kLWIuTMRagAXxl78Q0RiVjAOugHmeKNGdd3cwo/ktpf9aL9epCfFqWDEKysUlLQ==", "engines": { "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, "node_modules/bonjour": { @@ -2983,15 +3329,15 @@ } }, "node_modules/browserslist": { - "version": "4.16.5", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.16.5.tgz", - "integrity": "sha512-C2HAjrM1AI/djrpAUU/tr4pml1DqLIzJKSLDBXBrNErl9ZCCTXdhwxdJjYc16953+mBWf7Lw+uUJgpgb8cN71A==", + "version": "4.19.1", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.19.1.tgz", + "integrity": "sha512-u2tbbG5PdKRTUoctO3NBD8FQ5HdPh1ZXPHzp1rwaa5jTc+RV9/+RlWiAIKmjRPQF+xbGM9Kklj5bZQFa2s/38A==", "dependencies": { - "caniuse-lite": "^1.0.30001214", - "colorette": "^1.2.2", - "electron-to-chromium": "^1.3.719", + "caniuse-lite": "^1.0.30001286", + "electron-to-chromium": "^1.4.17", "escalade": "^3.1.1", - "node-releases": "^1.1.71" + "node-releases": "^2.0.1", + "picocolors": "^1.0.0" }, "bin": { "browserslist": "cli.js" @@ -3004,6 +3350,11 @@ "url": "https://opencollective.com/browserslist" } }, + "node_modules/browserslist/node_modules/picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" + }, "node_modules/buffer": { "version": "4.9.2", "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz", @@ -3015,9 +3366,9 @@ } }, "node_modules/buffer-from": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", - "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==" + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" }, "node_modules/buffer-indexof": { "version": "1.1.1", @@ -3340,9 +3691,9 @@ } }, "node_modules/camelcase": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.2.0.tgz", - "integrity": "sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg==", + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.2.1.tgz", + "integrity": "sha512-tVI4q5jjFV5CavAU8DXfza/TJcZutVKo/5Foskmsqcm0MsL91moHvwiGNnqaa2o6PF/7yT5ikDRcVcl8Rj6LCA==", "engines": { "node": ">=10" }, @@ -3362,9 +3713,13 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001219", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001219.tgz", - "integrity": "sha512-c0yixVG4v9KBc/tQ2rlbB3A/bgBFRvl8h8M4IeUbqCca4gsiCfvtaheUssbnux/Mb66Vjz7x8yYjDgYcNQOhyQ==" + "version": "1.0.30001292", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001292.tgz", + "integrity": "sha512-jnT4Tq0Q4ma+6nncYQVe7d73kmDmE9C3OGTx3MvW7lBM/eY1S1DZTMBON7dqV481RhNiS5OxD7k9JQvmDOTirw==", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + } }, "node_modules/caseless": { "version": "0.12.0", @@ -3445,6 +3800,10 @@ "fsevents": "^1.2.7" } }, + "node_modules/chokidar2": { + "resolved": "node_modules/webpack/node_modules/watchpack/chokidar2", + "link": true + }, "node_modules/chownr": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", @@ -3563,9 +3922,9 @@ } }, "node_modules/clean-css": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.2.3.tgz", - "integrity": "sha512-VcMWDN54ZN/DS+g58HYL5/n4Zrqe8vHJpGA8KdgUXFU4fuP/aHNw8eld9SyEIyabIMJX/0RaY/fplOo5hYLSFA==", + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.2.4.tgz", + "integrity": "sha512-EJUDT7nDVFDvaQgAo2G/PJvxmp1o/c6iXLbswsBbUFXi1Nr+AjA2cKmfbKDMjMvzEe75g3P6JkaDDAKk96A85A==", "dependencies": { "source-map": "~0.6.0" }, @@ -3700,12 +4059,12 @@ } }, "node_modules/color": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/color/-/color-3.1.3.tgz", - "integrity": "sha512-xgXAcTHa2HeFCGLE9Xs/R82hujGtu9Jd9x4NW3T34+OMs7VoPsjwzRczKHvTAHeJwWFwX5j15+MgAppE8ztObQ==", + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/color/-/color-3.2.1.tgz", + "integrity": "sha512-aBl7dZI9ENN6fUGC7mWpMTPNHmWUSNan9tuWN6ahh5ZLNk9baLJOnSMlrQkHcrfFgz2/RigjUVAjdx36VcemKA==", "dependencies": { - "color-convert": "^1.9.1", - "color-string": "^1.5.4" + "color-convert": "^1.9.3", + "color-string": "^1.6.0" } }, "node_modules/color-convert": { @@ -3722,19 +4081,14 @@ "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" }, "node_modules/color-string": { - "version": "1.5.5", - "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.5.5.tgz", - "integrity": "sha512-jgIoum0OfQfq9Whcfc2z/VhCNcmQjWbey6qBX0vqt7YICflUmBCh9E9CiQD5GSJ+Uehixm3NUwHVhqUAWRivZg==", + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.9.0.tgz", + "integrity": "sha512-9Mrz2AQLefkH1UvASKj6v6hj/7eWgjnT/cVsR8CumieLoT+g900exWeNogqtweI8dxloXN9BDQTYro1oWu/5CQ==", "dependencies": { "color-name": "^1.0.0", "simple-swizzle": "^0.2.2" } }, - "node_modules/colorette": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.2.2.tgz", - "integrity": "sha512-MKGMzyfeuutC/ZJ1cba9NqcNpfeqMUcYmyF1ZFY6/Cn7CNSAKx6a+s48sqLqyAiZuaP2TcqMhoo+dlwFnVxT9w==" - }, "node_modules/combined-stream": { "version": "1.0.8", "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", @@ -3868,16 +4222,35 @@ "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=" }, "node_modules/content-disposition": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz", - "integrity": "sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==", + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", + "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", "dependencies": { - "safe-buffer": "5.1.2" + "safe-buffer": "5.2.1" }, "engines": { "node": ">= 0.6" } }, + "node_modules/content-disposition/node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, "node_modules/content-type": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", @@ -3887,17 +4260,17 @@ } }, "node_modules/convert-source-map": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz", - "integrity": "sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==", + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz", + "integrity": "sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==", "dependencies": { "safe-buffer": "~5.1.1" } }, "node_modules/cookie": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz", - "integrity": "sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==", + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.1.tgz", + "integrity": "sha512-ZwrFkGJxUR3EIoXtO+yVE69Eb7KlixbaeAWfBQB9vVsNn/o+Yw69gBWSSDK825hQNdN+wF8zELf3dFNl/kxkUA==", "engines": { "node": ">= 0.6" } @@ -4105,9 +4478,9 @@ } }, "node_modules/core-js": { - "version": "3.11.1", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.11.1.tgz", - "integrity": "sha512-k93Isqg7e4txZWMGNYwevZL9MiogLk8pd1PtwrmFmi8IBq4GXqUaVW/a33Llt6amSI36uSjd0GWwc9pTT9ALlQ==", + "version": "3.20.0", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.20.0.tgz", + "integrity": "sha512-KjbKU7UEfg4YPpskMtMXPhUKn7m/1OdTHTVjy09ScR2LVaoUXe8Jh0UdvN2EKUR6iKTJph52SJP95mAB0MnVLQ==", "hasInstallScript": true, "funding": { "type": "opencollective", @@ -4115,11 +4488,11 @@ } }, "node_modules/core-js-compat": { - "version": "3.11.1", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.11.1.tgz", - "integrity": "sha512-aZ0e4tmlG/aOBHj92/TuOuZwp6jFvn1WNabU5VOVixzhu5t5Ao+JZkQOPlgNXu6ynwLrwJxklT4Gw1G1VGEh+g==", + "version": "3.20.0", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.20.0.tgz", + "integrity": "sha512-relrah5h+sslXssTTOkvqcC/6RURifB0W5yhYBdBkaPYa5/2KBMiog3XiD+s3TwEHWxInWVv4Jx2/Lw0vng+IQ==", "dependencies": { - "browserslist": "^4.16.5", + "browserslist": "^4.19.1", "semver": "7.0.0" }, "funding": { @@ -4136,9 +4509,9 @@ } }, "node_modules/core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" }, "node_modules/cosmiconfig": { "version": "5.2.1", @@ -4728,9 +5101,9 @@ "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=" }, "node_modules/detect-node": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.0.5.tgz", - "integrity": "sha512-qi86tE6hRcFHy8jI1m2VG+LaPUR1LhqDa5G8tVjuUXmOrpuAgqsA1pN0+ldgr3aKUH+QLI9hCY/OcRYisERejw==" + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz", + "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==" }, "node_modules/diffie-hellman": { "version": "5.0.3", @@ -4960,9 +5333,9 @@ "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=" }, "node_modules/electron-to-chromium": { - "version": "1.3.723", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.723.tgz", - "integrity": "sha512-L+WXyXI7c7+G1V8ANzRsPI5giiimLAUDC6Zs1ojHHPhYXb3k/iTABFmWjivEtsWrRQymjnO66/rO2ZTABGdmWg==" + "version": "1.4.26", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.26.tgz", + "integrity": "sha512-cA1YwlRzO6TGp7yd3+KAqh9Tt6Z4CuuKqsAJP6uF/H5MQryjAGDhMhnY5cEXo8MaRCczpzSBhMPdqRIodkbZYw==" }, "node_modules/elliptic": { "version": "6.5.4", @@ -5088,26 +5461,30 @@ } }, "node_modules/es-abstract": { - "version": "1.18.0", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0.tgz", - "integrity": "sha512-LJzK7MrQa8TS0ja2w3YNLzUgJCGPdPOV1yVvezjNnS89D+VR08+Szt2mz3YB2Dck/+w5tfIq/RoUAFqJJGM2yw==", + "version": "1.19.1", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.19.1.tgz", + "integrity": "sha512-2vJ6tjA/UfqLm2MPs7jxVybLoB8i1t1Jd9R3kISld20sIxPcTbLuggQOUxeWeAvIUkduv/CfMjuh4WmiXr2v9w==", "dependencies": { "call-bind": "^1.0.2", "es-to-primitive": "^1.2.1", "function-bind": "^1.1.1", "get-intrinsic": "^1.1.1", + "get-symbol-description": "^1.0.0", "has": "^1.0.3", "has-symbols": "^1.0.2", - "is-callable": "^1.2.3", + "internal-slot": "^1.0.3", + "is-callable": "^1.2.4", "is-negative-zero": "^2.0.1", - "is-regex": "^1.1.2", - "is-string": "^1.0.5", - "object-inspect": "^1.9.0", + "is-regex": "^1.1.4", + "is-shared-array-buffer": "^1.0.1", + "is-string": "^1.0.7", + "is-weakref": "^1.0.1", + "object-inspect": "^1.11.0", "object-keys": "^1.1.1", "object.assign": "^4.1.2", "string.prototype.trimend": "^1.0.4", "string.prototype.trimstart": "^1.0.4", - "unbox-primitive": "^1.0.0" + "unbox-primitive": "^1.0.1" }, "engines": { "node": ">= 0.4" @@ -5210,9 +5587,9 @@ } }, "node_modules/esrecurse/node_modules/estraverse": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", - "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", "engines": { "node": ">=4.0" } @@ -5385,16 +5762,16 @@ } }, "node_modules/express": { - "version": "4.17.1", - "resolved": "https://registry.npmjs.org/express/-/express-4.17.1.tgz", - "integrity": "sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==", + "version": "4.17.2", + "resolved": "https://registry.npmjs.org/express/-/express-4.17.2.tgz", + "integrity": "sha512-oxlxJxcQlYwqPWKVJJtvQiwHgosH/LrLSPA+H4UxpyvSS6jC5aH+5MoHFM+KABgTOt0APue4w66Ha8jCUo9QGg==", "dependencies": { "accepts": "~1.3.7", "array-flatten": "1.1.1", - "body-parser": "1.19.0", - "content-disposition": "0.5.3", + "body-parser": "1.19.1", + "content-disposition": "0.5.4", "content-type": "~1.0.4", - "cookie": "0.4.0", + "cookie": "0.4.1", "cookie-signature": "1.0.6", "debug": "2.6.9", "depd": "~1.1.2", @@ -5408,13 +5785,13 @@ "on-finished": "~2.3.0", "parseurl": "~1.3.3", "path-to-regexp": "0.1.7", - "proxy-addr": "~2.0.5", - "qs": "6.7.0", + "proxy-addr": "~2.0.7", + "qs": "6.9.6", "range-parser": "~1.2.1", - "safe-buffer": "5.1.2", - "send": "0.17.1", - "serve-static": "1.14.1", - "setprototypeof": "1.1.1", + "safe-buffer": "5.2.1", + "send": "0.17.2", + "serve-static": "1.14.2", + "setprototypeof": "1.2.0", "statuses": "~1.5.0", "type-is": "~1.6.18", "utils-merge": "1.0.1", @@ -5430,13 +5807,35 @@ "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=" }, "node_modules/express/node_modules/qs": { - "version": "6.7.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", - "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==", + "version": "6.9.6", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.9.6.tgz", + "integrity": "sha512-TIRk4aqYLNoJUbd+g2lEdz5kLWIuTMRagAXxl78Q0RiVjAOugHmeKNGdd3cwo/ktpf9aL9epCfFqWDEKysUlLQ==", "engines": { "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/express/node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, "node_modules/extend": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", @@ -5517,9 +5916,9 @@ "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" }, "node_modules/faye-websocket": { - "version": "0.11.3", - "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.3.tgz", - "integrity": "sha512-D2y4bovYpzziGgbHYtGCMjlJM36vAl/y+xUyn1C+FVx8szd1E+86KwVw6XvYSzOP8iMpm1X0I4xJD+QtUb36OA==", + "version": "0.11.4", + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz", + "integrity": "sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==", "dependencies": { "websocket-driver": ">=0.5.1" }, @@ -5612,9 +6011,9 @@ } }, "node_modules/find-cache-dir": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.1.tgz", - "integrity": "sha512-t2GDMt3oGC/v+BMwzmllWDuJF/xcDtE5j/fCGbqDD7OLuJkj0cfh1YSA5VKPvwMeLFLNDBkwOKZ2X85jGLVftQ==", + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz", + "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", "dependencies": { "commondir": "^1.0.1", "make-dir": "^3.0.2", @@ -5702,9 +6101,9 @@ } }, "node_modules/forwarded": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz", - "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=", + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", "engines": { "node": ">= 0.6" } @@ -5837,6 +6236,21 @@ "node": ">=6" } }, + "node_modules/get-symbol-description": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", + "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/get-value": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", @@ -6069,6 +6483,20 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/has-tostringtag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", + "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", + "dependencies": { + "has-symbols": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/has-value": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", @@ -6309,29 +6737,24 @@ "integrity": "sha1-+nFolEq5pRnTN8sL7HKE3D5yPYc=" }, "node_modules/http-errors": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz", - "integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==", + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.8.1.tgz", + "integrity": "sha512-Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g==", "dependencies": { "depd": "~1.1.2", - "inherits": "2.0.3", - "setprototypeof": "1.1.1", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", "statuses": ">= 1.5.0 < 2", - "toidentifier": "1.0.0" + "toidentifier": "1.0.1" }, "engines": { "node": ">= 0.6" } }, - "node_modules/http-errors/node_modules/inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" - }, "node_modules/http-parser-js": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.3.tgz", - "integrity": "sha512-t7hjvef/5HEK7RWTdUzVUhl8zkEu+LlaE0IYzdMuvbSDipxBRpOn4Uhw8ZyECEa808iVT8XCjzo6xmYt4CiLZg==" + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.5.tgz", + "integrity": "sha512-x+JVEkO2PoM8qqpbPbOL3cqHPwerep7OwzK7Ay+sMQjKzaKCqWvjoXm5tqMP9tXWWTnTzAjIhXg+J99XYuPhPA==" }, "node_modules/http-proxy": { "version": "1.18.1", @@ -6602,6 +7025,19 @@ "node": ">=6" } }, + "node_modules/internal-slot": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.3.tgz", + "integrity": "sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA==", + "dependencies": { + "get-intrinsic": "^1.1.0", + "has": "^1.0.3", + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/ip": { "version": "1.1.5", "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz", @@ -6643,11 +7079,12 @@ } }, "node_modules/is-arguments": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.0.tgz", - "integrity": "sha512-1Ij4lOMPl/xB5kBDn7I+b2ttPMKa8szhEIrXDuXQD/oe3HJLTLhqhgGspwgyGd6MOywBUqVvYicF72lkgDnIHg==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", + "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", "dependencies": { - "call-bind": "^1.0.0" + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" }, "engines": { "node": ">= 0.4" @@ -6662,9 +7099,12 @@ "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=" }, "node_modules/is-bigint": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.1.tgz", - "integrity": "sha512-J0ELF4yHFxHy0cmSxZuheDOz2luOdVvqjwmEcj8H/L1JHeuEDSDbeRP+Dk9kFVk5RTFzbucJ2Kb9F7ixY2QaCg==", + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", + "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", + "dependencies": { + "has-bigints": "^1.0.1" + }, "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -6681,11 +7121,12 @@ } }, "node_modules/is-boolean-object": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.0.tgz", - "integrity": "sha512-a7Uprx8UtD+HWdyYwnD1+ExtTgqQtD2k/1yJgtXP6wnMm8byhkoTZRl+95LLThpzNZJ5aEvi46cdH+ayMFRwmA==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", + "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", "dependencies": { - "call-bind": "^1.0.0" + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" }, "engines": { "node": ">= 0.4" @@ -6700,9 +7141,9 @@ "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" }, "node_modules/is-callable": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.3.tgz", - "integrity": "sha512-J1DcMe8UYTBSrKezuIUTUwjXsho29693unXM2YhJUTR2txK/eG47bvNa/wipPFmZFgr/N6f1GA66dv0mEyTIyQ==", + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.4.tgz", + "integrity": "sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w==", "engines": { "node": ">= 0.4" }, @@ -6757,9 +7198,12 @@ } }, "node_modules/is-date-object": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.2.tgz", - "integrity": "sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g==", + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", + "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", + "dependencies": { + "has-tostringtag": "^1.0.0" + }, "engines": { "node": ">= 0.4" }, @@ -6822,9 +7266,9 @@ } }, "node_modules/is-glob": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", - "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", "dependencies": { "is-extglob": "^2.1.1" }, @@ -6848,9 +7292,9 @@ } }, "node_modules/is-negative-zero": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.1.tgz", - "integrity": "sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", + "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==", "engines": { "node": ">= 0.4" }, @@ -6878,9 +7322,12 @@ } }, "node_modules/is-number-object": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.4.tgz", - "integrity": "sha512-zohwelOAur+5uXtk8O3GPQ1eAcu4ZX3UwxQhUlfFFMNpUd83gXgjbhJh6HmB6LUNV/ieOLQuDwJO3dWJosUeMw==", + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.6.tgz", + "integrity": "sha512-bEVOqiRcvo3zO1+G2lVMy+gkkEm9Yh7cDMRusKKu5ZJKPUYSJwICTKZrNKHA2EbSP0Tu0+6B/emsYNHZyn6K8g==", + "dependencies": { + "has-tostringtag": "^1.0.0" + }, "engines": { "node": ">= 0.4" }, @@ -6970,12 +7417,12 @@ "integrity": "sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ==" }, "node_modules/is-regex": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.2.tgz", - "integrity": "sha512-axvdhb5pdhEVThqJzYXwMlVuZwC+FF2DpcOhTS+y/8jVq4trxyPgfcwIxIKiyeuLlSQYKkmUaPQJ8ZE4yNKXDg==", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", + "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", "dependencies": { "call-bind": "^1.0.2", - "has-symbols": "^1.0.1" + "has-tostringtag": "^1.0.0" }, "engines": { "node": ">= 0.4" @@ -6989,6 +7436,14 @@ "resolved": "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.1.0.tgz", "integrity": "sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg==" }, + "node_modules/is-shared-array-buffer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.1.tgz", + "integrity": "sha512-IU0NmyknYZN0rChcKhRO1X8LYz5Isj/Fsqh8NJOSf+N/hCOTwy29F32Ik7a+QszE63IdvmwdTPDd6cZ5pg4cwA==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/is-stream": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", @@ -6998,9 +7453,12 @@ } }, "node_modules/is-string": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.5.tgz", - "integrity": "sha512-buY6VNRjhQMiF1qWDouloZlQbRhDPCebwxSjxMjxgemYT46YMd2NR0/H+fBhEfWX4A/w9TBJ+ol+okqJKFE6vQ==", + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", + "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", + "dependencies": { + "has-tostringtag": "^1.0.0" + }, "engines": { "node": ">= 0.4" }, @@ -7009,11 +7467,11 @@ } }, "node_modules/is-symbol": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.3.tgz", - "integrity": "sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ==", + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", + "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", "dependencies": { - "has-symbols": "^1.0.1" + "has-symbols": "^1.0.2" }, "engines": { "node": ">= 0.4" @@ -7027,6 +7485,17 @@ "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=" }, + "node_modules/is-weakref": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", + "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", + "dependencies": { + "call-bind": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/is-windows": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", @@ -7353,9 +7822,9 @@ "integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=" }, "node_modules/loglevel": { - "version": "1.7.1", - "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.7.1.tgz", - "integrity": "sha512-Hesni4s5UkWkwCGJMQGAh71PaLUmKFM60dHvq0zi/vDhhrzuk+4GgNbTXJ12YYQJn6ZKBDNIjYcuQGKudvqrIw==", + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.8.0.tgz", + "integrity": "sha512-G6A/nJLRgWOuuwdNuA6koovfEV1YpqqAG4pRUlFaz3jj2QNZ8M4vBqnVA+HBTmU/AMNUtlOsMmSpF6NyOjztbA==", "engines": { "node": ">= 0.6.0" }, @@ -7641,9 +8110,9 @@ "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" }, "node_modules/mime": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/mime/-/mime-2.5.2.tgz", - "integrity": "sha512-tqkh47FzKeCPD2PUiPB6pkbMzsCasjxAfC62/Wap5qrUWcb+sFasXUC5I3gYM5iBM8v/Qpn4UK0x+j0iHyFPDg==", + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz", + "integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==", "bin": { "mime": "cli.js" }, @@ -7652,19 +8121,19 @@ } }, "node_modules/mime-db": { - "version": "1.47.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.47.0.tgz", - "integrity": "sha512-QBmA/G2y+IfeS4oktet3qRZ+P5kPhCKRXxXnQEudYqUaEioAU1/Lq2us3D/t1Jfo4hE9REQPrbB7K5sOczJVIw==", + "version": "1.51.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.51.0.tgz", + "integrity": "sha512-5y8A56jg7XVQx2mbv1lu49NR4dokRnhZYTtL+KGfaa27uq4pSTXkwQkFJl4pkRMyNFz/EtYDSkiiEHx3F7UN6g==", "engines": { "node": ">= 0.6" } }, "node_modules/mime-types": { - "version": "2.1.30", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.30.tgz", - "integrity": "sha512-crmjA4bLtR8m9qLpHvgxSChT+XoSlZi8J4n/aIdn3z92e/U47Z0V/yl+Wh9W046GgFVAmoNR/fmdbZYcSSIUeg==", + "version": "2.1.34", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.34.tgz", + "integrity": "sha512-6cP692WwGIs9XXdOO4++N+7qjqv0rqxxVvJ3VHPh/Sc9mVZcQP+ZGhkKiTvWMQRr2tbHkJP/Yn7Y0npb3ZBs4A==", "dependencies": { - "mime-db": "1.47.0" + "mime-db": "1.51.0" }, "engines": { "node": ">= 0.6" @@ -7843,9 +8312,9 @@ "integrity": "sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE=" }, "node_modules/nan": { - "version": "2.14.2", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.2.tgz", - "integrity": "sha512-M2ufzIiINKCuDfBSAUr1vWQ+vuVcA9kqx8JJUsbQi6yf1uGRyb7HfpdfUr5qLXf3B/t8dPvcjhKMmlfnP47EzQ==", + "version": "2.15.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.15.0.tgz", + "integrity": "sha512-8ZtvEnA2c5aYCZYd1cvgdnU6cqwixRoYg70xPLWUws5ORTa/lnw+u4amixRS/Ac5U5mQVgp9pnlSUnbNWFaWZQ==", "optional": true }, "node_modules/nanomatch": { @@ -7962,9 +8431,9 @@ "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=" }, "node_modules/node-releases": { - "version": "1.1.71", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.71.tgz", - "integrity": "sha512-zR6HoT6LrLCRBwukmrVbHv0EpEQjksO6GmFcZQQuCAy139BEsoVKPYnf3jongYW83fAa1torLGYwxxky/p28sg==" + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.1.tgz", + "integrity": "sha512-CqyzN6z7Q6aMeF/ktcMVTzhAHCEpf8SOarwpzpf8pNBY2k5/oM34UHldUwp8VKI7uxct2HxSRdJjBaZeESzcxA==" }, "node_modules/nopt": { "version": "1.0.10", @@ -8136,9 +8605,9 @@ } }, "node_modules/object-inspect": { - "version": "1.10.2", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.10.2.tgz", - "integrity": "sha512-gz58rdPpadwztRrPjZE9DZLOABUpTGdcANUgOwBFO1C+HZZhePoP83M65WGDmbpwFYJSWqavbl4SgDn4k8RYTA==", + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.0.tgz", + "integrity": "sha512-Ho2z80bVIvJloH+YzRmpZVQe87+qASmBUKZDWgx9cu+KDrX2ZDH/3tMy+gXbZETVGs2M8YdxObOh7XAtim9Y0g==", "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -8195,13 +8664,13 @@ } }, "node_modules/object.getownpropertydescriptors": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.2.tgz", - "integrity": "sha512-WtxeKSzfBjlzL+F9b7M7hewDzMwy+C8NRssHd1YrNlzHzIDrXcXiNOMrezdAEM4UXixgV+vvnyBeN7Rygl2ttQ==", + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.3.tgz", + "integrity": "sha512-VdDoCwvJI4QdC6ndjpqFmoL3/+HxffFBbcJzKi5hwLLqqx3mdbedRpfZDdK0SrOSauj8X4GzBvnDZl4vTN7dOw==", "dependencies": { "call-bind": "^1.0.2", "define-properties": "^1.1.3", - "es-abstract": "^1.18.0-next.2" + "es-abstract": "^1.19.1" }, "engines": { "node": ">= 0.8" @@ -8222,14 +8691,13 @@ } }, "node_modules/object.values": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.3.tgz", - "integrity": "sha512-nkF6PfDB9alkOUxpf1HNm/QlkeW3SReqL5WXeBLpEJJnlPSvRaDQpW3gQTksTN3fgJX4hL42RzKyOin6ff3tyw==", + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.5.tgz", + "integrity": "sha512-QUZRW0ilQ3PnPpbNtgdNV1PDbEqLIiSFB3l+EnGtBQ/8SUTLj1PZwtQHABZtLgwpJZTSZhuGLOGk57Drx2IvYg==", "dependencies": { "call-bind": "^1.0.2", "define-properties": "^1.1.3", - "es-abstract": "^1.18.0-next.2", - "has": "^1.0.3" + "es-abstract": "^1.19.1" }, "engines": { "node": ">= 0.4" @@ -9220,9 +9688,9 @@ } }, "node_modules/postcss-selector-parser": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.5.tgz", - "integrity": "sha512-aFYPoYmXbZ1V6HZaSvat08M97A8HqO6Pjz+PiNpw/DhuRrC72XWAdp3hL6wusDCN31sSmcZyMGa2hZEuX+Xfhg==", + "version": "6.0.8", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.8.tgz", + "integrity": "sha512-D5PG53d209Z1Uhcc0qAZ5U3t5HagH3cxu+WLZ22jt3gLUpXM4eXXfiO14jiDWST3NNooX/E8wISfOhZ9eIjGTQ==", "dependencies": { "cssesc": "^3.0.0", "util-deprecate": "^1.0.2" @@ -9263,9 +9731,9 @@ } }, "node_modules/postcss-value-parser": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz", - "integrity": "sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ==" + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==" }, "node_modules/postcss/node_modules/source-map": { "version": "0.6.1", @@ -9284,15 +9752,15 @@ } }, "node_modules/prettier": { - "version": "1.19.1", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-1.19.1.tgz", - "integrity": "sha512-s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew==", + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.5.1.tgz", + "integrity": "sha512-vBZcPRUR5MZJwoyi3ZoyQlc1rXeEck8KgeC9AwwOn+exuxLxq5toTRDTSaVrXHxelDMHy9zlicw8u66yxoSUFg==", "optional": true, "bin": { "prettier": "bin-prettier.js" }, "engines": { - "node": ">=4" + "node": ">=10.13.0" } }, "node_modules/pretty-error": { @@ -9344,11 +9812,11 @@ "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=" }, "node_modules/proxy-addr": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.6.tgz", - "integrity": "sha512-dh/frvCBVmSsDYzw6n926jv974gddhkFPfiN8hPOi30Wax25QZyZEGveluCgliBnqmuM+UJmBErbAUFIoDbjOw==", + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", + "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", "dependencies": { - "forwarded": "~0.1.2", + "forwarded": "0.2.0", "ipaddr.js": "1.9.1" }, "engines": { @@ -9635,12 +10103,12 @@ } }, "node_modules/raw-body": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.0.tgz", - "integrity": "sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==", + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.2.tgz", + "integrity": "sha512-RPMAFUJP19WIet/99ngh6Iv8fzAbqum4Li7AD6DtGaW2RpMB/11xDoalPiJMTbu6I3hkbMVkATvZrqb9EEqeeQ==", "dependencies": { - "bytes": "3.1.0", - "http-errors": "1.7.2", + "bytes": "3.1.1", + "http-errors": "1.8.1", "iconv-lite": "0.4.24", "unpipe": "1.0.0" }, @@ -9649,9 +10117,9 @@ } }, "node_modules/raw-body/node_modules/bytes": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", - "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.1.tgz", + "integrity": "sha512-dWe4nWO/ruEOY7HkUJ5gFt1DCFV9zPRoJr8pV0/ASQermOZjtq8jMjOprC0Kd10GLN+l7xaUPvxzJFWtxGu8Fg==", "engines": { "node": ">= 0.8" } @@ -9711,20 +10179,20 @@ "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==" }, "node_modules/regenerate-unicode-properties": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-8.2.0.tgz", - "integrity": "sha512-F9DjY1vKLo/tPePDycuH3dn9H1OTPIkVD9Kz4LODu+F2C75mgjAJ7x/gwy6ZcSNRAAkhNlJSOHRe8k3p+K9WhA==", + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-9.0.0.tgz", + "integrity": "sha512-3E12UeNSPfjrgwjkR81m5J7Aw/T55Tu7nUyZVQYCKEOs+2dkxEY+DpPtZzO4YruuiPb7NkYLVcyJC4+zCbk5pA==", "dependencies": { - "regenerate": "^1.4.0" + "regenerate": "^1.4.2" }, "engines": { "node": ">=4" } }, "node_modules/regenerator-runtime": { - "version": "0.13.7", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.7.tgz", - "integrity": "sha512-a54FxoJDIr27pgf7IgeQGxmqUNYrcV338lf/6gH456HZ/PhX+5BcwHXG9ajESmwe6WRO0tAzRUrRmNONWgkrew==" + "version": "0.13.9", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz", + "integrity": "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==" }, "node_modules/regenerator-transform": { "version": "0.14.5", @@ -9785,16 +10253,16 @@ } }, "node_modules/regexpu-core": { - "version": "4.7.1", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.7.1.tgz", - "integrity": "sha512-ywH2VUraA44DZQuRKzARmw6S66mr48pQVva4LBeRhcOltJ6hExvWly5ZjFLYo67xbIxb6W1q4bAGtgfEl20zfQ==", + "version": "4.8.0", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.8.0.tgz", + "integrity": "sha512-1F6bYsoYiz6is+oz70NWur2Vlh9KWtswuRuzJOfeYUrfPX2o8n74AnUVaOGDbUqVGO9fNHu48/pjJO4sNVwsOg==", "dependencies": { - "regenerate": "^1.4.0", - "regenerate-unicode-properties": "^8.2.0", - "regjsgen": "^0.5.1", - "regjsparser": "^0.6.4", - "unicode-match-property-ecmascript": "^1.0.4", - "unicode-match-property-value-ecmascript": "^1.2.0" + "regenerate": "^1.4.2", + "regenerate-unicode-properties": "^9.0.0", + "regjsgen": "^0.5.2", + "regjsparser": "^0.7.0", + "unicode-match-property-ecmascript": "^2.0.0", + "unicode-match-property-value-ecmascript": "^2.0.0" }, "engines": { "node": ">=4" @@ -9828,9 +10296,9 @@ "integrity": "sha512-OFFT3MfrH90xIW8OOSyUrk6QHD5E9JOTeGodiJeBS3J6IwlgzJMNE/1bZklWz5oTg+9dCMyEetclvCVXOPoN3A==" }, "node_modules/regjsparser": { - "version": "0.6.9", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.9.tgz", - "integrity": "sha512-ZqbNRz1SNjLAiYuwY0zoXW8Ne675IX5q+YHioAGbCw4X96Mjl2+dcX9B2ciaeyYjViDAfvIjFpQjJgLttTEERQ==", + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.7.0.tgz", + "integrity": "sha512-A4pcaORqmNMDVwUjWoTzuhwMGpP+NykpfqAsEgI1FSH/EzC7lrN5TMd+kN8YCovX+jMpu8eaqXgXPCa0g8FQNQ==", "dependencies": { "jsesc": "~0.5.0" }, @@ -10112,9 +10580,9 @@ "integrity": "sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo=" }, "node_modules/selfsigned": { - "version": "1.10.8", - "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-1.10.8.tgz", - "integrity": "sha512-2P4PtieJeEwVgTU9QEcwIRDQ/mXJLX8/+I3ur+Pg16nS8oNbrGxEso9NyYWy8NAmXiNl4dlAp5MwoNeCWzON4w==", + "version": "1.10.11", + "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-1.10.11.tgz", + "integrity": "sha512-aVmbPOfViZqOZPgRBT0+3u4yZFHpmnIghLMlAcb5/xhp5ZtB/RVnKhz5vl2M32CLXAqR4kha9zfhNg0Lf/sxKA==", "dependencies": { "node-forge": "^0.10.0" } @@ -10139,9 +10607,9 @@ } }, "node_modules/send": { - "version": "0.17.1", - "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz", - "integrity": "sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==", + "version": "0.17.2", + "resolved": "https://registry.npmjs.org/send/-/send-0.17.2.tgz", + "integrity": "sha512-UJYB6wFSJE3G00nEivR5rgWp8c2xXvJ3OPWPhmuteU0IKj8nKbG3DrjiOmLwpnHGYWAVwA69zmTm++YG0Hmwww==", "dependencies": { "debug": "2.6.9", "depd": "~1.1.2", @@ -10150,9 +10618,9 @@ "escape-html": "~1.0.3", "etag": "~1.8.1", "fresh": "0.5.2", - "http-errors": "~1.7.2", + "http-errors": "1.8.1", "mime": "1.6.0", - "ms": "2.1.1", + "ms": "2.1.3", "on-finished": "~2.3.0", "range-parser": "~1.2.1", "statuses": "~1.5.0" @@ -10173,9 +10641,9 @@ } }, "node_modules/send/node_modules/ms": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", - "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==" + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" }, "node_modules/serialize-javascript": { "version": "4.0.0", @@ -10227,14 +10695,14 @@ "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==" }, "node_modules/serve-static": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz", - "integrity": "sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==", + "version": "1.14.2", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.2.tgz", + "integrity": "sha512-+TMNA9AFxUEGuC0z2mevogSnn9MXKb4fa7ngeRMJaaGv8vTwnIEkKi+QGvPt33HSnf8pRS+WGM0EbMtCJLKMBQ==", "dependencies": { "encodeurl": "~1.0.2", "escape-html": "~1.0.3", "parseurl": "~1.3.3", - "send": "0.17.1" + "send": "0.17.2" }, "engines": { "node": ">= 0.8.0" @@ -10265,9 +10733,9 @@ "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=" }, "node_modules/setprototypeof": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", - "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==" + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" }, "node_modules/sha.js": { "version": "2.4.11", @@ -10300,6 +10768,19 @@ "node": ">=0.10.0" } }, + "node_modules/side-channel": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "dependencies": { + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/signal-exit": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", @@ -10495,26 +10976,26 @@ } }, "node_modules/sockjs": { - "version": "0.3.21", - "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.21.tgz", - "integrity": "sha512-DhbPFGpxjc6Z3I+uX07Id5ZO2XwYsWOrYjaSeieES78cq+JaJvVe5q/m1uvjIQhXinhIeCFRH6JgXe+mvVMyXw==", + "version": "0.3.24", + "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz", + "integrity": "sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==", "dependencies": { "faye-websocket": "^0.11.3", - "uuid": "^3.4.0", + "uuid": "^8.3.2", "websocket-driver": "^0.7.4" } }, "node_modules/sockjs-client": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.5.1.tgz", - "integrity": "sha512-VnVAb663fosipI/m6pqRXakEOw7nvd7TUgdr3PlR/8V2I95QIdwT8L4nMxhyU8SmDBHYXU1TOElaKOmKLfYzeQ==", + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.5.2.tgz", + "integrity": "sha512-ZzRxPBISQE7RpzlH4tKJMQbHM9pabHluk0WBaxAQ+wm/UieeBVBou0p4wVnSQGN9QmpAZygQ0cDIypWuqOFmFQ==", "dependencies": { "debug": "^3.2.6", "eventsource": "^1.0.7", "faye-websocket": "^0.11.3", "inherits": "^2.0.4", "json3": "^3.3.3", - "url-parse": "^1.5.1" + "url-parse": "^1.5.3" } }, "node_modules/sockjs-client/node_modules/debug": { @@ -10530,6 +11011,14 @@ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" }, + "node_modules/sockjs/node_modules/uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "bin": { + "uuid": "dist/bin/uuid" + } + }, "node_modules/sort-keys": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-2.0.0.tgz", @@ -10567,9 +11056,9 @@ } }, "node_modules/source-map-support": { - "version": "0.5.19", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz", - "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==", + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", "dependencies": { "buffer-from": "^1.0.0", "source-map": "^0.6.0" @@ -10617,9 +11106,9 @@ } }, "node_modules/spdy-transport/node_modules/debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", + "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", "dependencies": { "ms": "2.1.2" }, @@ -10651,9 +11140,9 @@ } }, "node_modules/spdy/node_modules/debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", + "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", "dependencies": { "ms": "2.1.2" }, @@ -10863,17 +11352,17 @@ } }, "node_modules/std-env": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/std-env/-/std-env-2.3.0.tgz", - "integrity": "sha512-4qT5B45+Kjef2Z6pE0BkskzsH0GO7GrND0wGlTM1ioUe3v0dGYx9ZJH0Aro/YyA8fqQ5EyIKDRjZojJYMFTflw==", + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/std-env/-/std-env-2.3.1.tgz", + "integrity": "sha512-eOsoKTWnr6C8aWrqJJ2KAReXoa7Vn5Ywyw6uCXgA/xDhxPoaIsBa5aNJmISY04dLwXPBnDHW4diGM7Sn5K4R/g==", "dependencies": { - "ci-info": "^3.0.0" + "ci-info": "^3.1.1" } }, "node_modules/std-env/node_modules/ci-info": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.1.1.tgz", - "integrity": "sha512-kdRWLBIJwdsYJWYJFtAFFYxybguqeF91qpZaggjG5Nf8QKdizFG2hjqvaTXbxFIcYbSaD74KpAXv6BSm17DHEQ==" + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.3.0.tgz", + "integrity": "sha512-riT/3vI5YpVH6/qomlDnJow6TBee2PBKSEpx3O32EGPYbWGIRsIlGRms3Sm74wYE1JMo8RnO04Hb12+v1J5ICw==" }, "node_modules/stream-browserify": { "version": "2.0.2", @@ -11086,6 +11575,7 @@ "version": "1.3.2", "resolved": "https://registry.npmjs.org/svgo/-/svgo-1.3.2.tgz", "integrity": "sha512-yhy/sQYxR5BkC98CY7o31VGsg014AKLEPxdfhora76l36hD9Rdy5NZA/Ocn6yayNPgSamYdtX2rFJdcv07AYVw==", + "deprecated": "This SVGO version is no longer supported. Upgrade to v2.x.x.", "dependencies": { "chalk": "^2.4.1", "coa": "^2.0.2", @@ -11487,9 +11977,9 @@ } }, "node_modules/toidentifier": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz", - "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", "engines": { "node": ">=0.6" } @@ -11631,37 +12121,37 @@ } }, "node_modules/unicode-canonical-property-names-ecmascript": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz", - "integrity": "sha512-jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", + "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==", "engines": { "node": ">=4" } }, "node_modules/unicode-match-property-ecmascript": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz", - "integrity": "sha512-L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG/5X3MjS+k/Y9Xw4SFCY9IkR0rg==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", + "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", "dependencies": { - "unicode-canonical-property-names-ecmascript": "^1.0.4", - "unicode-property-aliases-ecmascript": "^1.0.4" + "unicode-canonical-property-names-ecmascript": "^2.0.0", + "unicode-property-aliases-ecmascript": "^2.0.0" }, "engines": { "node": ">=4" } }, "node_modules/unicode-match-property-value-ecmascript": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.2.0.tgz", - "integrity": "sha512-wjuQHGQVofmSJv1uVISKLE5zO2rNGzM/KCYZch/QQvez7C1hUhBIuZ701fYXExuufJFMPhv2SyL8CyoIfMLbIQ==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.0.0.tgz", + "integrity": "sha512-7Yhkc0Ye+t4PNYzOGKedDhXbYIBe1XEQYQxOPyhcXNMJ0WCABqqj6ckydd6pWRZTHV4GuCPKdBAUiMc60tsKVw==", "engines": { "node": ">=4" } }, "node_modules/unicode-property-aliases-ecmascript": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.1.0.tgz", - "integrity": "sha512-PqSoPh/pWetQ2phoj5RLiaqIk4kCNwoV3CI+LfGmWLKI3rE3kl1h59XpX2BjgDrmbxD9ARtQobPGU1SguCYuQg==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.0.0.tgz", + "integrity": "sha512-5Zfuy9q/DFr4tfO7ZPeVXb1aPoeQSdeFMLpYuFebehDAhbuevLs5yxSZmIFN1tP5F9Wl4IpJrYojg85/zgyZHQ==", "engines": { "node": ">=4" } @@ -11964,6 +12454,7 @@ "version": "0.2.0", "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=", + "deprecated": "The querystring API is considered Legacy. new code should use the URLSearchParams API instead.", "engines": { "node": ">=0.4.x" } @@ -12025,6 +12516,7 @@ "version": "3.4.0", "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", + "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.", "bin": { "uuid": "bin/uuid" } @@ -12064,6 +12556,11 @@ "extsprintf": "^1.2.0" } }, + "node_modules/verror/node_modules/core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" + }, "node_modules/vm-browserify": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz", @@ -12088,9 +12585,9 @@ "integrity": "sha512-BXq3jwIagosjgNVae6tkHzzIk6a8MHFtzAdwhnV5VlvPTFxDCvIttgSiHWjdGoTJvXtmRu5HacExfdarRcFhog==" }, "node_modules/vue-loader": { - "version": "15.9.6", - "resolved": "https://registry.npmjs.org/vue-loader/-/vue-loader-15.9.6.tgz", - "integrity": "sha512-j0cqiLzwbeImIC6nVIby2o/ABAWhlppyL/m5oJ67R5MloP0hj/DtFgb0Zmq3J9CG7AJ+AXIvHVnJAPBvrLyuDg==", + "version": "15.9.8", + "resolved": "https://registry.npmjs.org/vue-loader/-/vue-loader-15.9.8.tgz", + "integrity": "sha512-GwSkxPrihfLR69/dSV3+5CdMQ0D+jXg8Ma1S4nQXKJAznYFX14vHdc/NetQc34Dw+rBbIJyP7JOuVb9Fhprvog==", "dependencies": { "@vue/component-compiler-utils": "^3.1.0", "hash-sum": "^1.0.2", @@ -12112,14 +12609,14 @@ } }, "node_modules/vue-router": { - "version": "3.5.1", - "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-3.5.1.tgz", - "integrity": "sha512-RRQNLT8Mzr8z7eL4p7BtKvRaTSGdCbTy2+Mm5HTJvLGYSSeG9gDzNasJPP/yOYKLy+/cLG/ftrqq5fvkFwBJEw==" + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-3.5.3.tgz", + "integrity": "sha512-FUlILrW3DGitS2h+Xaw8aRNvGTwtuaxrRkNSHWTizOfLUie7wuYwezeZ50iflRn8YPV5kxmU2LQuu3nM/b3Zsg==" }, "node_modules/vue-server-renderer": { - "version": "2.6.12", - "resolved": "https://registry.npmjs.org/vue-server-renderer/-/vue-server-renderer-2.6.12.tgz", - "integrity": "sha512-3LODaOsnQx7iMFTBLjki8xSyOxhCtbZ+nQie0wWY4iOVeEtTg1a3YQAjd82WvKxrWHHTshjvLb7OXMc2/dYuxw==", + "version": "2.6.14", + "resolved": "https://registry.npmjs.org/vue-server-renderer/-/vue-server-renderer-2.6.14.tgz", + "integrity": "sha512-HifYRa/LW7cKywg9gd4ZtvtRuBlstQBao5ZCWlg40fyB4OPoGfEXAzxb0emSLv4pBDOHYx0UjpqvxpiQFEuoLA==", "dependencies": { "chalk": "^1.1.3", "hash-sum": "^1.0.2", @@ -12207,9 +12704,9 @@ } }, "node_modules/vue-template-compiler": { - "version": "2.6.12", - "resolved": "https://registry.npmjs.org/vue-template-compiler/-/vue-template-compiler-2.6.12.tgz", - "integrity": "sha512-OzzZ52zS41YUbkCBfdXShQTe69j1gQDZ9HIX8miuC9C3rBCk9wIRjLiZZLrmX9V+Ftq/YEyv1JaVr5Y/hNtByg==", + "version": "2.6.14", + "resolved": "https://registry.npmjs.org/vue-template-compiler/-/vue-template-compiler-2.6.14.tgz", + "integrity": "sha512-ODQS1SyMbjKoO1JBJZojSw6FE4qnh9rIpUZn2EUT86FKizx9uH5z6uXiIrm4/Nb/gwxTi/o17ZDEGWAXHvtC7g==", "dependencies": { "de-indent": "^1.0.2", "he": "^1.1.0" @@ -12221,13 +12718,13 @@ "integrity": "sha512-4gDntzrifFnCEvyoO8PqyJDmguXgVPxKiIxrBKjIowvL9l+N66196+72XVYR8BBf1Uv1Fgt3bGevJ+sEmxfZzw==" }, "node_modules/vuepress": { - "version": "1.8.2", - "resolved": "https://registry.npmjs.org/vuepress/-/vuepress-1.8.2.tgz", - "integrity": "sha512-BU1lUDwsA3ghf7a9ga4dsf0iTc++Z/l7BR1kUagHWVBHw7HNRgRDfAZBDDQXhllMILVToIxaTifpne9mSi94OA==", + "version": "1.8.3", + "resolved": "https://registry.npmjs.org/vuepress/-/vuepress-1.8.3.tgz", + "integrity": "sha512-1iro+COj3lAXiIS0B3HApYzFZxE6GHmXjxoYrZJvFds3W3gcynxw/umM5hxA+goyx8n/OtsuHN60/qstz9gDVQ==", "hasInstallScript": true, "dependencies": { - "@vuepress/core": "1.8.2", - "@vuepress/theme-default": "1.8.2", + "@vuepress/core": "1.8.3", + "@vuepress/theme-default": "1.8.3", "cac": "^6.5.6", "envinfo": "^7.2.0", "opencollective-postinstall": "^2.0.2", @@ -12305,11 +12802,10 @@ } }, "node_modules/vuepress-plugin-container": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/vuepress-plugin-container/-/vuepress-plugin-container-2.1.5.tgz", - "integrity": "sha512-TQrDX/v+WHOihj3jpilVnjXu9RcTm6m8tzljNJwYhxnJUW0WWQ0hFLcDTqTBwgKIFdEiSxVOmYE+bJX/sq46MA==", + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/vuepress-plugin-container/-/vuepress-plugin-container-2.1.4.tgz", + "integrity": "sha512-l+EkeL+rC6DJch1wAZUFIkNDaz2TNOg4NQTHa3yMAsYkC+QaSRubGdN6YwOSmfjxVmM9s9D3gwBWw0O7OBhqRg==", "dependencies": { - "@vuepress/shared-utils": "^1.2.0", "markdown-it-container": "^2.0.0" } }, @@ -12385,15 +12881,6 @@ "node": ">=10.13.0" } }, - "node_modules/watchpack-chokidar2": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/watchpack-chokidar2/-/watchpack-chokidar2-2.0.1.tgz", - "integrity": "sha512-nCFfBIPKr5Sh61s4LPpy1Wtfi0HE8isJ3d2Yb5/Ppw2P2B/3eVSEBjKfN0fmHJSK14+31KwMKmcrzs2GM4P0Ww==", - "optional": true, - "dependencies": { - "chokidar": "^2.1.8" - } - }, "node_modules/watchpack/node_modules/glob-to-regexp": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", @@ -12414,9 +12901,9 @@ "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==" }, "node_modules/webpack": { - "version": "4.46.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.46.0.tgz", - "integrity": "sha512-6jJuJjg8znb/xRItk7bkT0+Q7AHCYjjFnvKIWQPkNIOyRqoCGvkOs0ipeQzrqz4l5FtN5ZI/ukEHroeX/o1/5Q==", + "version": "4.43.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.43.0.tgz", + "integrity": "sha512-GW1LjnPipFW2Y78OOab8NJlCflB7EFskMih2AHdvjbpKMeDJqEgSx24cXXXiPS65+WSwVyxtDsJH6jGX2czy+g==", "dependencies": { "@webassemblyjs/ast": "1.9.0", "@webassemblyjs/helper-module-context": "1.9.0", @@ -12426,7 +12913,7 @@ "ajv": "^6.10.2", "ajv-keywords": "^3.4.1", "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^4.5.0", + "enhanced-resolve": "^4.1.0", "eslint-scope": "^4.0.3", "json-parse-better-errors": "^1.0.2", "loader-runner": "^2.4.0", @@ -12439,7 +12926,7 @@ "schema-utils": "^1.0.0", "tapable": "^1.1.3", "terser-webpack-plugin": "^1.4.3", - "watchpack": "^1.7.4", + "watchpack": "^1.6.1", "webpack-sources": "^1.4.1" }, "bin": { @@ -12451,14 +12938,6 @@ "funding": { "type": "opencollective", "url": "https://opencollective.com/webpack" - }, - "peerDependenciesMeta": { - "webpack-cli": { - "optional": true - }, - "webpack-command": { - "optional": true - } } }, "node_modules/webpack-chain": { @@ -12565,9 +13044,9 @@ } }, "node_modules/webpack-dev-server/node_modules/debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", + "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", "dependencies": { "ms": "2.1.2" }, @@ -12838,16 +13317,26 @@ } }, "node_modules/webpack/node_modules/watchpack": { - "version": "1.7.5", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.7.5.tgz", - "integrity": "sha512-9P3MWk6SrKjHsGkLT2KHXdQ/9SNkyoJbabxnKOoJepsvJjJG8uYTR3yTPxPQvNDI3w4Nz1xnE0TLHK4RIVe/MQ==", + "version": "1.7.1", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.7.1.tgz", + "integrity": "sha512-1OeW6LucExk7h6lBuCr1isK5261Tf0PHNRG9tZjg2WKUsSkPwvyv37d7mgAUk1rZjxxaL/6WttSGMUY2hn/20g==", "dependencies": { "graceful-fs": "^4.1.2", "neo-async": "^2.5.0" }, "optionalDependencies": { - "chokidar": "^3.4.1", - "watchpack-chokidar2": "^2.0.1" + "chokidar": "^3.4.0", + "chokidar2": "file:./chokidar2" + } + }, + "node_modules/webpack/node_modules/watchpack/chokidar2": { + "version": "2.0.0", + "optional": true, + "dependencies": { + "chokidar": "^2.1.8" + }, + "engines": { + "node": "<8.10.0" } }, "node_modules/webpackbar": { @@ -13331,32 +13820,32 @@ } }, "@babel/code-frame": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.13.tgz", - "integrity": "sha512-HV1Cm0Q3ZrpCR93tkWOYiuYIgLxZXZFVG2VgK+MBWjUqZTundupbfx2aXarXuw5Ko5aMcjtJgbSs4vUGBS5v6g==", + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.16.0.tgz", + "integrity": "sha512-IF4EOMEV+bfYwOmNxGzSnjR2EmQod7f1UXOpZM3l4i4o4QNwzjtJAu/HxdjHq0aYBvdqMuQEY1eg0nqW9ZPORA==", "requires": { - "@babel/highlight": "^7.12.13" + "@babel/highlight": "^7.16.0" } }, "@babel/compat-data": { - "version": "7.13.15", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.13.15.tgz", - "integrity": "sha512-ltnibHKR1VnrU4ymHyQ/CXtNXI6yZC0oJThyW78Hft8XndANwi+9H+UIklBDraIjFEJzw8wmcM427oDd9KS5wA==" + "version": "7.16.4", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.16.4.tgz", + "integrity": "sha512-1o/jo7D+kC9ZjHX5v+EHrdjl3PhxMrLSOTGsOdHJ+KL8HCaEK6ehrVL2RS6oHDZp+L7xLirLrPmQtEng769J/Q==" }, "@babel/core": { - "version": "7.13.16", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.13.16.tgz", - "integrity": "sha512-sXHpixBiWWFti0AV2Zq7avpTasr6sIAu7Y396c608541qAU2ui4a193m0KSQmfPSKFZLnQ3cvlKDOm3XkuXm3Q==", - "requires": { - "@babel/code-frame": "^7.12.13", - "@babel/generator": "^7.13.16", - "@babel/helper-compilation-targets": "^7.13.16", - "@babel/helper-module-transforms": "^7.13.14", - "@babel/helpers": "^7.13.16", - "@babel/parser": "^7.13.16", - "@babel/template": "^7.12.13", - "@babel/traverse": "^7.13.15", - "@babel/types": "^7.13.16", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.16.5.tgz", + "integrity": "sha512-wUcenlLzuWMZ9Zt8S0KmFwGlH6QKRh3vsm/dhDA3CHkiTA45YuG1XkHRcNRl73EFPXDp/d5kVOU0/y7x2w6OaQ==", + "requires": { + "@babel/code-frame": "^7.16.0", + "@babel/generator": "^7.16.5", + "@babel/helper-compilation-targets": "^7.16.3", + "@babel/helper-module-transforms": "^7.16.5", + "@babel/helpers": "^7.16.5", + "@babel/parser": "^7.16.5", + "@babel/template": "^7.16.0", + "@babel/traverse": "^7.16.5", + "@babel/types": "^7.16.0", "convert-source-map": "^1.7.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", @@ -13366,9 +13855,9 @@ }, "dependencies": { "debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", + "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", "requires": { "ms": "2.1.2" } @@ -13394,11 +13883,11 @@ } }, "@babel/generator": { - "version": "7.13.16", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.13.16.tgz", - "integrity": "sha512-grBBR75UnKOcUWMp8WoDxNsWCFl//XCK6HWTrBQKTr5SV9f5g0pNOjdyzi/DTBv12S9GnYPInIXQBTky7OXEMg==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.16.5.tgz", + "integrity": "sha512-kIvCdjZqcdKqoDbVVdt5R99icaRtrtYhYK/xux5qiWCBmfdvEYMFZ68QCrpE5cbFM1JsuArUNs1ZkuKtTtUcZA==", "requires": { - "@babel/types": "^7.13.16", + "@babel/types": "^7.16.0", "jsesc": "^2.5.1", "source-map": "^0.5.0" }, @@ -13411,58 +13900,60 @@ } }, "@babel/helper-annotate-as-pure": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.12.13.tgz", - "integrity": "sha512-7YXfX5wQ5aYM/BOlbSccHDbuXXFPxeoUmfWtz8le2yTkTZc+BxsiEnENFoi2SlmA8ewDkG2LgIMIVzzn2h8kfw==", + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.16.0.tgz", + "integrity": "sha512-ItmYF9vR4zA8cByDocY05o0LGUkp1zhbTQOH1NFyl5xXEqlTJQCEJjieriw+aFpxo16swMxUnUiKS7a/r4vtHg==", "requires": { - "@babel/types": "^7.12.13" + "@babel/types": "^7.16.0" } }, "@babel/helper-builder-binary-assignment-operator-visitor": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.12.13.tgz", - "integrity": "sha512-CZOv9tGphhDRlVjVkAgm8Nhklm9RzSmWpX2my+t7Ua/KT616pEzXsQCjinzvkRvHWJ9itO4f296efroX23XCMA==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.16.5.tgz", + "integrity": "sha512-3JEA9G5dmmnIWdzaT9d0NmFRgYnWUThLsDaL7982H0XqqWr56lRrsmwheXFMjR+TMl7QMBb6mzy9kvgr1lRLUA==", "requires": { - "@babel/helper-explode-assignable-expression": "^7.12.13", - "@babel/types": "^7.12.13" + "@babel/helper-explode-assignable-expression": "^7.16.0", + "@babel/types": "^7.16.0" } }, "@babel/helper-compilation-targets": { - "version": "7.13.16", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.13.16.tgz", - "integrity": "sha512-3gmkYIrpqsLlieFwjkGgLaSHmhnvlAYzZLlYVjlW+QwI+1zE17kGxuJGmIqDQdYp56XdmGeD+Bswx0UTyG18xA==", + "version": "7.16.3", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.16.3.tgz", + "integrity": "sha512-vKsoSQAyBmxS35JUOOt+07cLc6Nk/2ljLIHwmq2/NM6hdioUaqEXq/S+nXvbvXbZkNDlWOymPanJGOc4CBjSJA==", "requires": { - "@babel/compat-data": "^7.13.15", - "@babel/helper-validator-option": "^7.12.17", - "browserslist": "^4.14.5", + "@babel/compat-data": "^7.16.0", + "@babel/helper-validator-option": "^7.14.5", + "browserslist": "^4.17.5", "semver": "^6.3.0" } }, "@babel/helper-create-class-features-plugin": { - "version": "7.13.11", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.13.11.tgz", - "integrity": "sha512-ays0I7XYq9xbjCSvT+EvysLgfc3tOkwCULHjrnscGT3A9qD4sk3wXnJ3of0MAWsWGjdinFvajHU2smYuqXKMrw==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.16.5.tgz", + "integrity": "sha512-NEohnYA7mkB8L5JhU7BLwcBdU3j83IziR9aseMueWGeAjblbul3zzb8UvJ3a1zuBiqCMObzCJHFqKIQE6hTVmg==", "requires": { - "@babel/helper-function-name": "^7.12.13", - "@babel/helper-member-expression-to-functions": "^7.13.0", - "@babel/helper-optimise-call-expression": "^7.12.13", - "@babel/helper-replace-supers": "^7.13.0", - "@babel/helper-split-export-declaration": "^7.12.13" + "@babel/helper-annotate-as-pure": "^7.16.0", + "@babel/helper-environment-visitor": "^7.16.5", + "@babel/helper-function-name": "^7.16.0", + "@babel/helper-member-expression-to-functions": "^7.16.5", + "@babel/helper-optimise-call-expression": "^7.16.0", + "@babel/helper-replace-supers": "^7.16.5", + "@babel/helper-split-export-declaration": "^7.16.0" } }, "@babel/helper-create-regexp-features-plugin": { - "version": "7.12.17", - "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.12.17.tgz", - "integrity": "sha512-p2VGmBu9oefLZ2nQpgnEnG0ZlRPvL8gAGvPUMQwUdaE8k49rOMuZpOwdQoy5qJf6K8jL3bcAMhVUlHAjIgJHUg==", + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.16.0.tgz", + "integrity": "sha512-3DyG0zAFAZKcOp7aVr33ddwkxJ0Z0Jr5V99y3I690eYLpukJsJvAbzTy1ewoCqsML8SbIrjH14Jc/nSQ4TvNPA==", "requires": { - "@babel/helper-annotate-as-pure": "^7.12.13", + "@babel/helper-annotate-as-pure": "^7.16.0", "regexpu-core": "^4.7.1" } }, "@babel/helper-define-polyfill-provider": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.2.0.tgz", - "integrity": "sha512-JT8tHuFjKBo8NnaUbblz7mIu1nnvUDiHVjXXkulZULyidvo/7P6TY7+YqpV37IfF+KUFxmlK04elKtGKXaiVgw==", + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.0.tgz", + "integrity": "sha512-7hfT8lUljl/tM3h+izTX/pO3W3frz2ok6Pk+gzys8iJqDfZrZy2pXjRTZAvG2YmfHun1X4q8/UZRLatMfqc5Tg==", "requires": { "@babel/helper-compilation-targets": "^7.13.0", "@babel/helper-module-imports": "^7.12.13", @@ -13475,9 +13966,9 @@ }, "dependencies": { "debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", + "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", "requires": { "ms": "2.1.2" } @@ -13489,316 +13980,353 @@ } } }, + "@babel/helper-environment-visitor": { + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.16.5.tgz", + "integrity": "sha512-ODQyc5AnxmZWm/R2W7fzhamOk1ey8gSguo5SGvF0zcB3uUzRpTRmM/jmLSm9bDMyPlvbyJ+PwPEK0BWIoZ9wjg==", + "requires": { + "@babel/types": "^7.16.0" + } + }, "@babel/helper-explode-assignable-expression": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.13.0.tgz", - "integrity": "sha512-qS0peLTDP8kOisG1blKbaoBg/o9OSa1qoumMjTK5pM+KDTtpxpsiubnCGP34vK8BXGcb2M9eigwgvoJryrzwWA==", + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.16.0.tgz", + "integrity": "sha512-Hk2SLxC9ZbcOhLpg/yMznzJ11W++lg5GMbxt1ev6TXUiJB0N42KPC+7w8a+eWGuqDnUYuwStJoZHM7RgmIOaGQ==", "requires": { - "@babel/types": "^7.13.0" + "@babel/types": "^7.16.0" } }, "@babel/helper-function-name": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.12.13.tgz", - "integrity": "sha512-TZvmPn0UOqmvi5G4vvw0qZTpVptGkB1GL61R6lKvrSdIxGm5Pky7Q3fpKiIkQCAtRCBUwB0PaThlx9vebCDSwA==", + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.16.0.tgz", + "integrity": "sha512-BZh4mEk1xi2h4HFjWUXRQX5AEx4rvaZxHgax9gcjdLWdkjsY7MKt5p0otjsg5noXw+pB+clMCjw+aEVYADMjog==", "requires": { - "@babel/helper-get-function-arity": "^7.12.13", - "@babel/template": "^7.12.13", - "@babel/types": "^7.12.13" + "@babel/helper-get-function-arity": "^7.16.0", + "@babel/template": "^7.16.0", + "@babel/types": "^7.16.0" } }, "@babel/helper-get-function-arity": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.12.13.tgz", - "integrity": "sha512-DjEVzQNz5LICkzN0REdpD5prGoidvbdYk1BVgRUOINaWJP2t6avB27X1guXK1kXNrX0WMfsrm1A/ZBthYuIMQg==", + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.16.0.tgz", + "integrity": "sha512-ASCquNcywC1NkYh/z7Cgp3w31YW8aojjYIlNg4VeJiHkqyP4AzIvr4qx7pYDb4/s8YcsZWqqOSxgkvjUz1kpDQ==", "requires": { - "@babel/types": "^7.12.13" + "@babel/types": "^7.16.0" } }, "@babel/helper-hoist-variables": { - "version": "7.13.16", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.13.16.tgz", - "integrity": "sha512-1eMtTrXtrwscjcAeO4BVK+vvkxaLJSPFz1w1KLawz6HLNi9bPFGBNwwDyVfiu1Tv/vRRFYfoGaKhmAQPGPn5Wg==", + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.16.0.tgz", + "integrity": "sha512-1AZlpazjUR0EQZQv3sgRNfM9mEVWPK3M6vlalczA+EECcPz3XPh6VplbErL5UoMpChhSck5wAJHthlj1bYpcmg==", "requires": { - "@babel/traverse": "^7.13.15", - "@babel/types": "^7.13.16" + "@babel/types": "^7.16.0" } }, "@babel/helper-member-expression-to-functions": { - "version": "7.13.12", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.13.12.tgz", - "integrity": "sha512-48ql1CLL59aKbU94Y88Xgb2VFy7a95ykGRbJJaaVv+LX5U8wFpLfiGXJJGUozsmA1oEh/o5Bp60Voq7ACyA/Sw==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.16.5.tgz", + "integrity": "sha512-7fecSXq7ZrLE+TWshbGT+HyCLkxloWNhTbU2QM1NTI/tDqyf0oZiMcEfYtDuUDCo528EOlt39G1rftea4bRZIw==", "requires": { - "@babel/types": "^7.13.12" + "@babel/types": "^7.16.0" } }, "@babel/helper-module-imports": { - "version": "7.13.12", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.13.12.tgz", - "integrity": "sha512-4cVvR2/1B693IuOvSI20xqqa/+bl7lqAMR59R4iu39R9aOX8/JoYY1sFaNvUMyMBGnHdwvJgUrzNLoUZxXypxA==", + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.16.0.tgz", + "integrity": "sha512-kkH7sWzKPq0xt3H1n+ghb4xEMP8k0U7XV3kkB+ZGy69kDk2ySFW1qPi06sjKzFY3t1j6XbJSqr4mF9L7CYVyhg==", "requires": { - "@babel/types": "^7.13.12" + "@babel/types": "^7.16.0" } }, "@babel/helper-module-transforms": { - "version": "7.13.14", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.13.14.tgz", - "integrity": "sha512-QuU/OJ0iAOSIatyVZmfqB0lbkVP0kDRiKj34xy+QNsnVZi/PA6BoSoreeqnxxa9EHFAIL0R9XOaAR/G9WlIy5g==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.16.5.tgz", + "integrity": "sha512-CkvMxgV4ZyyioElFwcuWnDCcNIeyqTkCm9BxXZi73RR1ozqlpboqsbGUNvRTflgZtFbbJ1v5Emvm+lkjMYY/LQ==", "requires": { - "@babel/helper-module-imports": "^7.13.12", - "@babel/helper-replace-supers": "^7.13.12", - "@babel/helper-simple-access": "^7.13.12", - "@babel/helper-split-export-declaration": "^7.12.13", - "@babel/helper-validator-identifier": "^7.12.11", - "@babel/template": "^7.12.13", - "@babel/traverse": "^7.13.13", - "@babel/types": "^7.13.14" + "@babel/helper-environment-visitor": "^7.16.5", + "@babel/helper-module-imports": "^7.16.0", + "@babel/helper-simple-access": "^7.16.0", + "@babel/helper-split-export-declaration": "^7.16.0", + "@babel/helper-validator-identifier": "^7.15.7", + "@babel/template": "^7.16.0", + "@babel/traverse": "^7.16.5", + "@babel/types": "^7.16.0" } }, "@babel/helper-optimise-call-expression": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.12.13.tgz", - "integrity": "sha512-BdWQhoVJkp6nVjB7nkFWcn43dkprYauqtk++Py2eaf/GRDFm5BxRqEIZCiHlZUGAVmtwKcsVL1dC68WmzeFmiA==", + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.16.0.tgz", + "integrity": "sha512-SuI467Gi2V8fkofm2JPnZzB/SUuXoJA5zXe/xzyPP2M04686RzFKFHPK6HDVN6JvWBIEW8tt9hPR7fXdn2Lgpw==", "requires": { - "@babel/types": "^7.12.13" + "@babel/types": "^7.16.0" } }, "@babel/helper-plugin-utils": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.13.0.tgz", - "integrity": "sha512-ZPafIPSwzUlAoWT8DKs1W2VyF2gOWthGd5NGFMsBcMMol+ZhK+EQY/e6V96poa6PA/Bh+C9plWN0hXO1uB8AfQ==" + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.16.5.tgz", + "integrity": "sha512-59KHWHXxVA9K4HNF4sbHCf+eJeFe0Te/ZFGqBT4OjXhrwvA04sGfaEGsVTdsjoszq0YTP49RC9UKe5g8uN2RwQ==" }, "@babel/helper-remap-async-to-generator": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.13.0.tgz", - "integrity": "sha512-pUQpFBE9JvC9lrQbpX0TmeNIy5s7GnZjna2lhhcHC7DzgBs6fWn722Y5cfwgrtrqc7NAJwMvOa0mKhq6XaE4jg==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.16.5.tgz", + "integrity": "sha512-X+aAJldyxrOmN9v3FKp+Hu1NO69VWgYgDGq6YDykwRPzxs5f2N+X988CBXS7EQahDU+Vpet5QYMqLk+nsp+Qxw==", "requires": { - "@babel/helper-annotate-as-pure": "^7.12.13", - "@babel/helper-wrap-function": "^7.13.0", - "@babel/types": "^7.13.0" + "@babel/helper-annotate-as-pure": "^7.16.0", + "@babel/helper-wrap-function": "^7.16.5", + "@babel/types": "^7.16.0" } }, "@babel/helper-replace-supers": { - "version": "7.13.12", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.13.12.tgz", - "integrity": "sha512-Gz1eiX+4yDO8mT+heB94aLVNCL+rbuT2xy4YfyNqu8F+OI6vMvJK891qGBTqL9Uc8wxEvRW92Id6G7sDen3fFw==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.16.5.tgz", + "integrity": "sha512-ao3seGVa/FZCMCCNDuBcqnBFSbdr8N2EW35mzojx3TwfIbdPmNK+JV6+2d5bR0Z71W5ocLnQp9en/cTF7pBJiQ==", "requires": { - "@babel/helper-member-expression-to-functions": "^7.13.12", - "@babel/helper-optimise-call-expression": "^7.12.13", - "@babel/traverse": "^7.13.0", - "@babel/types": "^7.13.12" + "@babel/helper-environment-visitor": "^7.16.5", + "@babel/helper-member-expression-to-functions": "^7.16.5", + "@babel/helper-optimise-call-expression": "^7.16.0", + "@babel/traverse": "^7.16.5", + "@babel/types": "^7.16.0" } }, "@babel/helper-simple-access": { - "version": "7.13.12", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.13.12.tgz", - "integrity": "sha512-7FEjbrx5SL9cWvXioDbnlYTppcZGuCY6ow3/D5vMggb2Ywgu4dMrpTJX0JdQAIcRRUElOIxF3yEooa9gUb9ZbA==", + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.16.0.tgz", + "integrity": "sha512-o1rjBT/gppAqKsYfUdfHq5Rk03lMQrkPHG1OWzHWpLgVXRH4HnMM9Et9CVdIqwkCQlobnGHEJMsgWP/jE1zUiw==", "requires": { - "@babel/types": "^7.13.12" + "@babel/types": "^7.16.0" } }, "@babel/helper-skip-transparent-expression-wrappers": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.12.1.tgz", - "integrity": "sha512-Mf5AUuhG1/OCChOJ/HcADmvcHM42WJockombn8ATJG3OnyiSxBK/Mm5x78BQWvmtXZKHgbjdGL2kin/HOLlZGA==", + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.16.0.tgz", + "integrity": "sha512-+il1gTy0oHwUsBQZyJvukbB4vPMdcYBrFHa0Uc4AizLxbq6BOYC51Rv4tWocX9BLBDLZ4kc6qUFpQ6HRgL+3zw==", "requires": { - "@babel/types": "^7.12.1" + "@babel/types": "^7.16.0" } }, "@babel/helper-split-export-declaration": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.12.13.tgz", - "integrity": "sha512-tCJDltF83htUtXx5NLcaDqRmknv652ZWCHyoTETf1CXYJdPC7nohZohjUgieXhv0hTJdRf2FjDueFehdNucpzg==", + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.16.0.tgz", + "integrity": "sha512-0YMMRpuDFNGTHNRiiqJX19GjNXA4H0E8jZ2ibccfSxaCogbm3am5WN/2nQNj0YnQwGWM1J06GOcQ2qnh3+0paw==", "requires": { - "@babel/types": "^7.12.13" + "@babel/types": "^7.16.0" } }, "@babel/helper-validator-identifier": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz", - "integrity": "sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==" + "version": "7.15.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.15.7.tgz", + "integrity": "sha512-K4JvCtQqad9OY2+yTU8w+E82ywk/fe+ELNlt1G8z3bVGlZfn/hOcQQsUhGhW/N+tb3fxK800wLtKOE/aM0m72w==" }, "@babel/helper-validator-option": { - "version": "7.12.17", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.12.17.tgz", - "integrity": "sha512-TopkMDmLzq8ngChwRlyjR6raKD6gMSae4JdYDB8bByKreQgG0RBTuKe9LRxW3wFtUnjxOPRKBDwEH6Mg5KeDfw==" + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.14.5.tgz", + "integrity": "sha512-OX8D5eeX4XwcroVW45NMvoYaIuFI+GQpA2a8Gi+X/U/cDUIRsV37qQfF905F0htTRCREQIB4KqPeaveRJUl3Ow==" }, "@babel/helper-wrap-function": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.13.0.tgz", - "integrity": "sha512-1UX9F7K3BS42fI6qd2A4BjKzgGjToscyZTdp1DjknHLCIvpgne6918io+aL5LXFcER/8QWiwpoY902pVEqgTXA==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.16.5.tgz", + "integrity": "sha512-2J2pmLBqUqVdJw78U0KPNdeE2qeuIyKoG4mKV7wAq3mc4jJG282UgjZw4ZYDnqiWQuS3Y3IYdF/AQ6CpyBV3VA==", "requires": { - "@babel/helper-function-name": "^7.12.13", - "@babel/template": "^7.12.13", - "@babel/traverse": "^7.13.0", - "@babel/types": "^7.13.0" + "@babel/helper-function-name": "^7.16.0", + "@babel/template": "^7.16.0", + "@babel/traverse": "^7.16.5", + "@babel/types": "^7.16.0" } }, "@babel/helpers": { - "version": "7.13.17", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.13.17.tgz", - "integrity": "sha512-Eal4Gce4kGijo1/TGJdqp3WuhllaMLSrW6XcL0ulyUAQOuxHcCafZE8KHg9857gcTehsm/v7RcOx2+jp0Ryjsg==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.16.5.tgz", + "integrity": "sha512-TLgi6Lh71vvMZGEkFuIxzaPsyeYCHQ5jJOOX1f0xXn0uciFuE8cEk0wyBquMcCxBXZ5BJhE2aUB7pnWTD150Tw==", "requires": { - "@babel/template": "^7.12.13", - "@babel/traverse": "^7.13.17", - "@babel/types": "^7.13.17" + "@babel/template": "^7.16.0", + "@babel/traverse": "^7.16.5", + "@babel/types": "^7.16.0" } }, "@babel/highlight": { - "version": "7.13.10", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.13.10.tgz", - "integrity": "sha512-5aPpe5XQPzflQrFwL1/QoeHkP2MsA4JCntcXHRhEsdsfPVkvPi2w7Qix4iV7t5S/oC9OodGrggd8aco1g3SZFg==", + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.16.0.tgz", + "integrity": "sha512-t8MH41kUQylBtu2+4IQA3atqevA2lRgqA2wyVB/YiWmsDSuylZZuXOUy9ric30hfzauEFfdsuk/eXTRrGrfd0g==", "requires": { - "@babel/helper-validator-identifier": "^7.12.11", + "@babel/helper-validator-identifier": "^7.15.7", "chalk": "^2.0.0", "js-tokens": "^4.0.0" } }, "@babel/parser": { - "version": "7.13.16", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.13.16.tgz", - "integrity": "sha512-6bAg36mCwuqLO0hbR+z7PHuqWiCeP7Dzg73OpQwsAB1Eb8HnGEz5xYBzCfbu+YjoaJsJs+qheDxVAuqbt3ILEw==" + "version": "7.16.6", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.16.6.tgz", + "integrity": "sha512-Gr86ujcNuPDnNOY8mi383Hvi8IYrJVJYuf3XcuBM/Dgd+bINn/7tHqsj+tKkoreMbmGsFLsltI/JJd8fOFWGDQ==" + }, + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { + "version": "7.16.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.16.2.tgz", + "integrity": "sha512-h37CvpLSf8gb2lIJ2CgC3t+EjFbi0t8qS7LCS1xcJIlEXE4czlofwaW7W1HA8zpgOCzI9C1nmoqNR1zWkk0pQg==", + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } }, "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { - "version": "7.13.12", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.13.12.tgz", - "integrity": "sha512-d0u3zWKcoZf379fOeJdr1a5WPDny4aOFZ6hlfKivgK0LY7ZxNfoaHL2fWwdGtHyVvra38FC+HVYkO+byfSA8AQ==", + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.16.0.tgz", + "integrity": "sha512-4tcFwwicpWTrpl9qjf7UsoosaArgImF85AxqCRZlgc3IQDvkUHjJpruXAL58Wmj+T6fypWTC/BakfEkwIL/pwA==", "requires": { - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/helper-skip-transparent-expression-wrappers": "^7.12.1", - "@babel/plugin-proposal-optional-chaining": "^7.13.12" + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.16.0", + "@babel/plugin-proposal-optional-chaining": "^7.16.0" } }, "@babel/plugin-proposal-async-generator-functions": { - "version": "7.13.15", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.13.15.tgz", - "integrity": "sha512-VapibkWzFeoa6ubXy/NgV5U2U4MVnUlvnx6wo1XhlsaTrLYWE0UFpDQsVrmn22q5CzeloqJ8gEMHSKxuee6ZdA==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.16.5.tgz", + "integrity": "sha512-C/FX+3HNLV6sz7AqbTQqEo1L9/kfrKjxcVtgyBCmvIgOjvuBVUWooDoi7trsLxOzCEo5FccjRvKHkfDsJFZlfA==", "requires": { - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/helper-remap-async-to-generator": "^7.13.0", + "@babel/helper-plugin-utils": "^7.16.5", + "@babel/helper-remap-async-to-generator": "^7.16.5", "@babel/plugin-syntax-async-generators": "^7.8.4" } }, "@babel/plugin-proposal-class-properties": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.13.0.tgz", - "integrity": "sha512-KnTDjFNC1g+45ka0myZNvSBFLhNCLN+GeGYLDEA8Oq7MZ6yMgfLoIRh86GRT0FjtJhZw8JyUskP9uvj5pHM9Zg==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.16.5.tgz", + "integrity": "sha512-pJD3HjgRv83s5dv1sTnDbZOaTjghKEz8KUn1Kbh2eAIRhGuyQ1XSeI4xVXU3UlIEVA3DAyIdxqT1eRn7Wcn55A==", + "requires": { + "@babel/helper-create-class-features-plugin": "^7.16.5", + "@babel/helper-plugin-utils": "^7.16.5" + } + }, + "@babel/plugin-proposal-class-static-block": { + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.16.5.tgz", + "integrity": "sha512-EEFzuLZcm/rNJ8Q5krK+FRKdVkd6FjfzT9tuSZql9sQn64K0hHA2KLJ0DqVot9/iV6+SsuadC5yI39zWnm+nmQ==", "requires": { - "@babel/helper-create-class-features-plugin": "^7.13.0", - "@babel/helper-plugin-utils": "^7.13.0" + "@babel/helper-create-class-features-plugin": "^7.16.5", + "@babel/helper-plugin-utils": "^7.16.5", + "@babel/plugin-syntax-class-static-block": "^7.14.5" } }, "@babel/plugin-proposal-decorators": { - "version": "7.13.15", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.13.15.tgz", - "integrity": "sha512-ibAMAqUm97yzi+LPgdr5Nqb9CMkeieGHvwPg1ywSGjZrZHQEGqE01HmOio8kxRpA/+VtOHouIVy2FMpBbtltjA==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.16.5.tgz", + "integrity": "sha512-XAiZll5oCdp2Dd2RbXA3LVPlFyIRhhcQy+G34p9ePpl6mjFkbqHAYHovyw2j5mqUrlBf0/+MtOIJ3JGYtz8qaw==", "requires": { - "@babel/helper-create-class-features-plugin": "^7.13.11", - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/plugin-syntax-decorators": "^7.12.13" + "@babel/helper-create-class-features-plugin": "^7.16.5", + "@babel/helper-plugin-utils": "^7.16.5", + "@babel/plugin-syntax-decorators": "^7.16.5" } }, "@babel/plugin-proposal-dynamic-import": { - "version": "7.13.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.13.8.tgz", - "integrity": "sha512-ONWKj0H6+wIRCkZi9zSbZtE/r73uOhMVHh256ys0UzfM7I3d4n+spZNWjOnJv2gzopumP2Wxi186vI8N0Y2JyQ==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.16.5.tgz", + "integrity": "sha512-P05/SJZTTvHz79LNYTF8ff5xXge0kk5sIIWAypcWgX4BTRUgyHc8wRxJ/Hk+mU0KXldgOOslKaeqnhthcDJCJQ==", "requires": { - "@babel/helper-plugin-utils": "^7.13.0", + "@babel/helper-plugin-utils": "^7.16.5", "@babel/plugin-syntax-dynamic-import": "^7.8.3" } }, "@babel/plugin-proposal-export-namespace-from": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.12.13.tgz", - "integrity": "sha512-INAgtFo4OnLN3Y/j0VwAgw3HDXcDtX+C/erMvWzuV9v71r7urb6iyMXu7eM9IgLr1ElLlOkaHjJ0SbCmdOQ3Iw==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.16.5.tgz", + "integrity": "sha512-i+sltzEShH1vsVydvNaTRsgvq2vZsfyrd7K7vPLUU/KgS0D5yZMe6uipM0+izminnkKrEfdUnz7CxMRb6oHZWw==", "requires": { - "@babel/helper-plugin-utils": "^7.12.13", + "@babel/helper-plugin-utils": "^7.16.5", "@babel/plugin-syntax-export-namespace-from": "^7.8.3" } }, "@babel/plugin-proposal-json-strings": { - "version": "7.13.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.13.8.tgz", - "integrity": "sha512-w4zOPKUFPX1mgvTmL/fcEqy34hrQ1CRcGxdphBc6snDnnqJ47EZDIyop6IwXzAC8G916hsIuXB2ZMBCExC5k7Q==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.16.5.tgz", + "integrity": "sha512-QQJueTFa0y9E4qHANqIvMsuxM/qcLQmKttBACtPCQzGUEizsXDACGonlPiSwynHfOa3vNw0FPMVvQzbuXwh4SQ==", "requires": { - "@babel/helper-plugin-utils": "^7.13.0", + "@babel/helper-plugin-utils": "^7.16.5", "@babel/plugin-syntax-json-strings": "^7.8.3" } }, "@babel/plugin-proposal-logical-assignment-operators": { - "version": "7.13.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.13.8.tgz", - "integrity": "sha512-aul6znYB4N4HGweImqKn59Su9RS8lbUIqxtXTOcAGtNIDczoEFv+l1EhmX8rUBp3G1jMjKJm8m0jXVp63ZpS4A==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.16.5.tgz", + "integrity": "sha512-xqibl7ISO2vjuQM+MzR3rkd0zfNWltk7n9QhaD8ghMmMceVguYrNDt7MikRyj4J4v3QehpnrU8RYLnC7z/gZLA==", "requires": { - "@babel/helper-plugin-utils": "^7.13.0", + "@babel/helper-plugin-utils": "^7.16.5", "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" } }, "@babel/plugin-proposal-nullish-coalescing-operator": { - "version": "7.13.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.13.8.tgz", - "integrity": "sha512-iePlDPBn//UhxExyS9KyeYU7RM9WScAG+D3Hhno0PLJebAEpDZMocbDe64eqynhNAnwz/vZoL/q/QB2T1OH39A==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.16.5.tgz", + "integrity": "sha512-YwMsTp/oOviSBhrjwi0vzCUycseCYwoXnLiXIL3YNjHSMBHicGTz7GjVU/IGgz4DtOEXBdCNG72pvCX22ehfqg==", "requires": { - "@babel/helper-plugin-utils": "^7.13.0", + "@babel/helper-plugin-utils": "^7.16.5", "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" } }, "@babel/plugin-proposal-numeric-separator": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.12.13.tgz", - "integrity": "sha512-O1jFia9R8BUCl3ZGB7eitaAPu62TXJRHn7rh+ojNERCFyqRwJMTmhz+tJ+k0CwI6CLjX/ee4qW74FSqlq9I35w==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.16.5.tgz", + "integrity": "sha512-DvB9l/TcsCRvsIV9v4jxR/jVP45cslTVC0PMVHvaJhhNuhn2Y1SOhCSFlPK777qLB5wb8rVDaNoqMTyOqtY5Iw==", "requires": { - "@babel/helper-plugin-utils": "^7.12.13", + "@babel/helper-plugin-utils": "^7.16.5", "@babel/plugin-syntax-numeric-separator": "^7.10.4" } }, "@babel/plugin-proposal-object-rest-spread": { - "version": "7.13.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.13.8.tgz", - "integrity": "sha512-DhB2EuB1Ih7S3/IRX5AFVgZ16k3EzfRbq97CxAVI1KSYcW+lexV8VZb7G7L8zuPVSdQMRn0kiBpf/Yzu9ZKH0g==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.16.5.tgz", + "integrity": "sha512-UEd6KpChoyPhCoE840KRHOlGhEZFutdPDMGj+0I56yuTTOaT51GzmnEl/0uT41fB/vD2nT+Pci2KjezyE3HmUw==", "requires": { - "@babel/compat-data": "^7.13.8", - "@babel/helper-compilation-targets": "^7.13.8", - "@babel/helper-plugin-utils": "^7.13.0", + "@babel/compat-data": "^7.16.4", + "@babel/helper-compilation-targets": "^7.16.3", + "@babel/helper-plugin-utils": "^7.16.5", "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-transform-parameters": "^7.13.0" + "@babel/plugin-transform-parameters": "^7.16.5" } }, "@babel/plugin-proposal-optional-catch-binding": { - "version": "7.13.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.13.8.tgz", - "integrity": "sha512-0wS/4DUF1CuTmGo+NiaHfHcVSeSLj5S3e6RivPTg/2k3wOv3jO35tZ6/ZWsQhQMvdgI7CwphjQa/ccarLymHVA==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.16.5.tgz", + "integrity": "sha512-ihCMxY1Iljmx4bWy/PIMJGXN4NS4oUj1MKynwO07kiKms23pNvIn1DMB92DNB2R0EA882sw0VXIelYGdtF7xEQ==", "requires": { - "@babel/helper-plugin-utils": "^7.13.0", + "@babel/helper-plugin-utils": "^7.16.5", "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" } }, "@babel/plugin-proposal-optional-chaining": { - "version": "7.13.12", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.13.12.tgz", - "integrity": "sha512-fcEdKOkIB7Tf4IxrgEVeFC4zeJSTr78no9wTdBuZZbqF64kzllU0ybo2zrzm7gUQfxGhBgq4E39oRs8Zx/RMYQ==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.16.5.tgz", + "integrity": "sha512-kzdHgnaXRonttiTfKYnSVafbWngPPr2qKw9BWYBESl91W54e+9R5pP70LtWxV56g0f05f/SQrwHYkfvbwcdQ/A==", "requires": { - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/helper-skip-transparent-expression-wrappers": "^7.12.1", + "@babel/helper-plugin-utils": "^7.16.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.16.0", "@babel/plugin-syntax-optional-chaining": "^7.8.3" } }, "@babel/plugin-proposal-private-methods": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.13.0.tgz", - "integrity": "sha512-MXyyKQd9inhx1kDYPkFRVOBXQ20ES8Pto3T7UZ92xj2mY0EVD8oAVzeyYuVfy/mxAdTSIayOvg+aVzcHV2bn6Q==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.16.5.tgz", + "integrity": "sha512-+yFMO4BGT3sgzXo+lrq7orX5mAZt57DwUK6seqII6AcJnJOIhBJ8pzKH47/ql/d426uQ7YhN8DpUFirQzqYSUA==", "requires": { - "@babel/helper-create-class-features-plugin": "^7.13.0", - "@babel/helper-plugin-utils": "^7.13.0" + "@babel/helper-create-class-features-plugin": "^7.16.5", + "@babel/helper-plugin-utils": "^7.16.5" + } + }, + "@babel/plugin-proposal-private-property-in-object": { + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.16.5.tgz", + "integrity": "sha512-+YGh5Wbw0NH3y/E5YMu6ci5qTDmAEVNoZ3I54aB6nVEOZ5BQ7QJlwKq5pYVucQilMByGn/bvX0af+uNaPRCabA==", + "requires": { + "@babel/helper-annotate-as-pure": "^7.16.0", + "@babel/helper-create-class-features-plugin": "^7.16.5", + "@babel/helper-plugin-utils": "^7.16.5", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5" } }, "@babel/plugin-proposal-unicode-property-regex": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.12.13.tgz", - "integrity": "sha512-XyJmZidNfofEkqFV5VC/bLabGmO5QzenPO/YOfGuEbgU+2sSwMmio3YLb4WtBgcmmdwZHyVyv8on77IUjQ5Gvg==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.16.5.tgz", + "integrity": "sha512-s5sKtlKQyFSatt781HQwv1hoM5BQ9qRH30r+dK56OLDsHmV74mzwJNX7R1yMuE7VZKG5O6q/gmOGSAO6ikTudg==", "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.12.13", - "@babel/helper-plugin-utils": "^7.12.13" + "@babel/helper-create-regexp-features-plugin": "^7.16.0", + "@babel/helper-plugin-utils": "^7.16.5" } }, "@babel/plugin-syntax-async-generators": { @@ -13817,12 +14345,20 @@ "@babel/helper-plugin-utils": "^7.12.13" } }, + "@babel/plugin-syntax-class-static-block": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", + "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, "@babel/plugin-syntax-decorators": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.12.13.tgz", - "integrity": "sha512-Rw6aIXGuqDLr6/LoBBYE57nKOzQpz/aDkKlMqEwH+Vp0MXbG6H/TfRjaY343LKxzAKAMXIHsQ8JzaZKuDZ9MwA==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.16.5.tgz", + "integrity": "sha512-3CbYTXfflvyy8O819uhZcZSMedZG4J8yS/NLTc/8T24M9ke1GssTGvg8VZu3Yn2LU5IyQSv1CmPq0a9JWHXJwg==", "requires": { - "@babel/helper-plugin-utils": "^7.12.13" + "@babel/helper-plugin-utils": "^7.16.5" } }, "@babel/plugin-syntax-dynamic-import": { @@ -13850,11 +14386,11 @@ } }, "@babel/plugin-syntax-jsx": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.12.13.tgz", - "integrity": "sha512-d4HM23Q1K7oq/SLNmG6mRt85l2csmQ0cHRaxRXjKW0YFdEXqlZ5kzFQKH5Uc3rDJECgu+yCRgPkG04Mm98R/1g==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.16.5.tgz", + "integrity": "sha512-42OGssv9NPk4QHKVgIHlzeLgPOW5rGgfV5jzG90AhcXXIv6hu/eqj63w4VgvRxdvZY3AlYeDgPiSJ3BqAd1Y6Q==", "requires": { - "@babel/helper-plugin-utils": "^7.12.13" + "@babel/helper-plugin-utils": "^7.16.5" } }, "@babel/plugin-syntax-logical-assignment-operators": { @@ -13905,332 +14441,345 @@ "@babel/helper-plugin-utils": "^7.8.0" } }, + "@babel/plugin-syntax-private-property-in-object": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", + "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, "@babel/plugin-syntax-top-level-await": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.12.13.tgz", - "integrity": "sha512-A81F9pDwyS7yM//KwbCSDqy3Uj4NMIurtplxphWxoYtNPov7cJsDkAFNNyVlIZ3jwGycVsurZ+LtOA8gZ376iQ==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", + "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", "requires": { - "@babel/helper-plugin-utils": "^7.12.13" + "@babel/helper-plugin-utils": "^7.14.5" } }, "@babel/plugin-transform-arrow-functions": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.13.0.tgz", - "integrity": "sha512-96lgJagobeVmazXFaDrbmCLQxBysKu7U6Do3mLsx27gf5Dk85ezysrs2BZUpXD703U/Su1xTBDxxar2oa4jAGg==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.16.5.tgz", + "integrity": "sha512-8bTHiiZyMOyfZFULjsCnYOWG059FVMes0iljEHSfARhNgFfpsqE92OrCffv3veSw9rwMkYcFe9bj0ZoXU2IGtQ==", "requires": { - "@babel/helper-plugin-utils": "^7.13.0" + "@babel/helper-plugin-utils": "^7.16.5" } }, "@babel/plugin-transform-async-to-generator": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.13.0.tgz", - "integrity": "sha512-3j6E004Dx0K3eGmhxVJxwwI89CTJrce7lg3UrtFuDAVQ/2+SJ/h/aSFOeE6/n0WB1GsOffsJp6MnPQNQ8nmwhg==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.16.5.tgz", + "integrity": "sha512-TMXgfioJnkXU+XRoj7P2ED7rUm5jbnDWwlCuFVTpQboMfbSya5WrmubNBAMlk7KXvywpo8rd8WuYZkis1o2H8w==", "requires": { - "@babel/helper-module-imports": "^7.12.13", - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/helper-remap-async-to-generator": "^7.13.0" + "@babel/helper-module-imports": "^7.16.0", + "@babel/helper-plugin-utils": "^7.16.5", + "@babel/helper-remap-async-to-generator": "^7.16.5" } }, "@babel/plugin-transform-block-scoped-functions": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.12.13.tgz", - "integrity": "sha512-zNyFqbc3kI/fVpqwfqkg6RvBgFpC4J18aKKMmv7KdQ/1GgREapSJAykLMVNwfRGO3BtHj3YQZl8kxCXPcVMVeg==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.16.5.tgz", + "integrity": "sha512-BxmIyKLjUGksJ99+hJyL/HIxLIGnLKtw772zYDER7UuycDZ+Xvzs98ZQw6NGgM2ss4/hlFAaGiZmMNKvValEjw==", "requires": { - "@babel/helper-plugin-utils": "^7.12.13" + "@babel/helper-plugin-utils": "^7.16.5" } }, "@babel/plugin-transform-block-scoping": { - "version": "7.13.16", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.13.16.tgz", - "integrity": "sha512-ad3PHUxGnfWF4Efd3qFuznEtZKoBp0spS+DgqzVzRPV7urEBvPLue3y2j80w4Jf2YLzZHj8TOv/Lmvdmh3b2xg==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.16.5.tgz", + "integrity": "sha512-JxjSPNZSiOtmxjX7PBRBeRJTUKTyJ607YUYeT0QJCNdsedOe+/rXITjP08eG8xUpsLfPirgzdCFN+h0w6RI+pQ==", "requires": { - "@babel/helper-plugin-utils": "^7.13.0" + "@babel/helper-plugin-utils": "^7.16.5" } }, "@babel/plugin-transform-classes": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.13.0.tgz", - "integrity": "sha512-9BtHCPUARyVH1oXGcSJD3YpsqRLROJx5ZNP6tN5vnk17N0SVf9WCtf8Nuh1CFmgByKKAIMstitKduoCmsaDK5g==", - "requires": { - "@babel/helper-annotate-as-pure": "^7.12.13", - "@babel/helper-function-name": "^7.12.13", - "@babel/helper-optimise-call-expression": "^7.12.13", - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/helper-replace-supers": "^7.13.0", - "@babel/helper-split-export-declaration": "^7.12.13", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.16.5.tgz", + "integrity": "sha512-DzJ1vYf/7TaCYy57J3SJ9rV+JEuvmlnvvyvYKFbk5u46oQbBvuB9/0w+YsVsxkOv8zVWKpDmUoj4T5ILHoXevA==", + "requires": { + "@babel/helper-annotate-as-pure": "^7.16.0", + "@babel/helper-environment-visitor": "^7.16.5", + "@babel/helper-function-name": "^7.16.0", + "@babel/helper-optimise-call-expression": "^7.16.0", + "@babel/helper-plugin-utils": "^7.16.5", + "@babel/helper-replace-supers": "^7.16.5", + "@babel/helper-split-export-declaration": "^7.16.0", "globals": "^11.1.0" } }, "@babel/plugin-transform-computed-properties": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.13.0.tgz", - "integrity": "sha512-RRqTYTeZkZAz8WbieLTvKUEUxZlUTdmL5KGMyZj7FnMfLNKV4+r5549aORG/mgojRmFlQMJDUupwAMiF2Q7OUg==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.16.5.tgz", + "integrity": "sha512-n1+O7xtU5lSLraRzX88CNcpl7vtGdPakKzww74bVwpAIRgz9JVLJJpOLb0uYqcOaXVM0TL6X0RVeIJGD2CnCkg==", "requires": { - "@babel/helper-plugin-utils": "^7.13.0" + "@babel/helper-plugin-utils": "^7.16.5" } }, "@babel/plugin-transform-destructuring": { - "version": "7.13.17", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.13.17.tgz", - "integrity": "sha512-UAUqiLv+uRLO+xuBKKMEpC+t7YRNVRqBsWWq1yKXbBZBje/t3IXCiSinZhjn/DC3qzBfICeYd2EFGEbHsh5RLA==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.16.5.tgz", + "integrity": "sha512-GuRVAsjq+c9YPK6NeTkRLWyQskDC099XkBSVO+6QzbnOnH2d/4mBVXYStaPrZD3dFRfg00I6BFJ9Atsjfs8mlg==", "requires": { - "@babel/helper-plugin-utils": "^7.13.0" + "@babel/helper-plugin-utils": "^7.16.5" } }, "@babel/plugin-transform-dotall-regex": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.12.13.tgz", - "integrity": "sha512-foDrozE65ZFdUC2OfgeOCrEPTxdB3yjqxpXh8CH+ipd9CHd4s/iq81kcUpyH8ACGNEPdFqbtzfgzbT/ZGlbDeQ==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.16.5.tgz", + "integrity": "sha512-iQiEMt8Q4/5aRGHpGVK2Zc7a6mx7qEAO7qehgSug3SDImnuMzgmm/wtJALXaz25zUj1PmnNHtShjFgk4PDx4nw==", "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.12.13", - "@babel/helper-plugin-utils": "^7.12.13" + "@babel/helper-create-regexp-features-plugin": "^7.16.0", + "@babel/helper-plugin-utils": "^7.16.5" } }, "@babel/plugin-transform-duplicate-keys": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.12.13.tgz", - "integrity": "sha512-NfADJiiHdhLBW3pulJlJI2NB0t4cci4WTZ8FtdIuNc2+8pslXdPtRRAEWqUY+m9kNOk2eRYbTAOipAxlrOcwwQ==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.16.5.tgz", + "integrity": "sha512-81tijpDg2a6I1Yhj4aWY1l3O1J4Cg/Pd7LfvuaH2VVInAkXtzibz9+zSPdUM1WvuUi128ksstAP0hM5w48vQgg==", "requires": { - "@babel/helper-plugin-utils": "^7.12.13" + "@babel/helper-plugin-utils": "^7.16.5" } }, "@babel/plugin-transform-exponentiation-operator": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.12.13.tgz", - "integrity": "sha512-fbUelkM1apvqez/yYx1/oICVnGo2KM5s63mhGylrmXUxK/IAXSIf87QIxVfZldWf4QsOafY6vV3bX8aMHSvNrA==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.16.5.tgz", + "integrity": "sha512-12rba2HwemQPa7BLIKCzm1pT2/RuQHtSFHdNl41cFiC6oi4tcrp7gjB07pxQvFpcADojQywSjblQth6gJyE6CA==", "requires": { - "@babel/helper-builder-binary-assignment-operator-visitor": "^7.12.13", - "@babel/helper-plugin-utils": "^7.12.13" + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.16.5", + "@babel/helper-plugin-utils": "^7.16.5" } }, "@babel/plugin-transform-for-of": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.13.0.tgz", - "integrity": "sha512-IHKT00mwUVYE0zzbkDgNRP6SRzvfGCYsOxIRz8KsiaaHCcT9BWIkO+H9QRJseHBLOGBZkHUdHiqj6r0POsdytg==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.16.5.tgz", + "integrity": "sha512-+DpCAJFPAvViR17PIMi9x2AE34dll5wNlXO43wagAX2YcRGgEVHCNFC4azG85b4YyyFarvkc/iD5NPrz4Oneqw==", "requires": { - "@babel/helper-plugin-utils": "^7.13.0" + "@babel/helper-plugin-utils": "^7.16.5" } }, "@babel/plugin-transform-function-name": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.12.13.tgz", - "integrity": "sha512-6K7gZycG0cmIwwF7uMK/ZqeCikCGVBdyP2J5SKNCXO5EOHcqi+z7Jwf8AmyDNcBgxET8DrEtCt/mPKPyAzXyqQ==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.16.5.tgz", + "integrity": "sha512-Fuec/KPSpVLbGo6z1RPw4EE1X+z9gZk1uQmnYy7v4xr4TO9p41v1AoUuXEtyqAI7H+xNJYSICzRqZBhDEkd3kQ==", "requires": { - "@babel/helper-function-name": "^7.12.13", - "@babel/helper-plugin-utils": "^7.12.13" + "@babel/helper-function-name": "^7.16.0", + "@babel/helper-plugin-utils": "^7.16.5" } }, "@babel/plugin-transform-literals": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.12.13.tgz", - "integrity": "sha512-FW+WPjSR7hiUxMcKqyNjP05tQ2kmBCdpEpZHY1ARm96tGQCCBvXKnpjILtDplUnJ/eHZ0lALLM+d2lMFSpYJrQ==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.16.5.tgz", + "integrity": "sha512-B1j9C/IfvshnPcklsc93AVLTrNVa69iSqztylZH6qnmiAsDDOmmjEYqOm3Ts2lGSgTSywnBNiqC949VdD0/gfw==", "requires": { - "@babel/helper-plugin-utils": "^7.12.13" + "@babel/helper-plugin-utils": "^7.16.5" } }, "@babel/plugin-transform-member-expression-literals": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.12.13.tgz", - "integrity": "sha512-kxLkOsg8yir4YeEPHLuO2tXP9R/gTjpuTOjshqSpELUN3ZAg2jfDnKUvzzJxObun38sw3wm4Uu69sX/zA7iRvg==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.16.5.tgz", + "integrity": "sha512-d57i3vPHWgIde/9Y8W/xSFUndhvhZN5Wu2TjRrN1MVz5KzdUihKnfDVlfP1U7mS5DNj/WHHhaE4/tTi4hIyHwQ==", "requires": { - "@babel/helper-plugin-utils": "^7.12.13" + "@babel/helper-plugin-utils": "^7.16.5" } }, "@babel/plugin-transform-modules-amd": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.13.0.tgz", - "integrity": "sha512-EKy/E2NHhY/6Vw5d1k3rgoobftcNUmp9fGjb9XZwQLtTctsRBOTRO7RHHxfIky1ogMN5BxN7p9uMA3SzPfotMQ==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.16.5.tgz", + "integrity": "sha512-oHI15S/hdJuSCfnwIz+4lm6wu/wBn7oJ8+QrkzPPwSFGXk8kgdI/AIKcbR/XnD1nQVMg/i6eNaXpszbGuwYDRQ==", "requires": { - "@babel/helper-module-transforms": "^7.13.0", - "@babel/helper-plugin-utils": "^7.13.0", + "@babel/helper-module-transforms": "^7.16.5", + "@babel/helper-plugin-utils": "^7.16.5", "babel-plugin-dynamic-import-node": "^2.3.3" } }, "@babel/plugin-transform-modules-commonjs": { - "version": "7.13.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.13.8.tgz", - "integrity": "sha512-9QiOx4MEGglfYZ4XOnU79OHr6vIWUakIj9b4mioN8eQIoEh+pf5p/zEB36JpDFWA12nNMiRf7bfoRvl9Rn79Bw==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.16.5.tgz", + "integrity": "sha512-ABhUkxvoQyqhCWyb8xXtfwqNMJD7tx+irIRnUh6lmyFud7Jln1WzONXKlax1fg/ey178EXbs4bSGNd6PngO+SQ==", "requires": { - "@babel/helper-module-transforms": "^7.13.0", - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/helper-simple-access": "^7.12.13", + "@babel/helper-module-transforms": "^7.16.5", + "@babel/helper-plugin-utils": "^7.16.5", + "@babel/helper-simple-access": "^7.16.0", "babel-plugin-dynamic-import-node": "^2.3.3" } }, "@babel/plugin-transform-modules-systemjs": { - "version": "7.13.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.13.8.tgz", - "integrity": "sha512-hwqctPYjhM6cWvVIlOIe27jCIBgHCsdH2xCJVAYQm7V5yTMoilbVMi9f6wKg0rpQAOn6ZG4AOyvCqFF/hUh6+A==", - "requires": { - "@babel/helper-hoist-variables": "^7.13.0", - "@babel/helper-module-transforms": "^7.13.0", - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/helper-validator-identifier": "^7.12.11", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.16.5.tgz", + "integrity": "sha512-53gmLdScNN28XpjEVIm7LbWnD/b/TpbwKbLk6KV4KqC9WyU6rq1jnNmVG6UgAdQZVVGZVoik3DqHNxk4/EvrjA==", + "requires": { + "@babel/helper-hoist-variables": "^7.16.0", + "@babel/helper-module-transforms": "^7.16.5", + "@babel/helper-plugin-utils": "^7.16.5", + "@babel/helper-validator-identifier": "^7.15.7", "babel-plugin-dynamic-import-node": "^2.3.3" } }, "@babel/plugin-transform-modules-umd": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.13.0.tgz", - "integrity": "sha512-D/ILzAh6uyvkWjKKyFE/W0FzWwasv6vPTSqPcjxFqn6QpX3u8DjRVliq4F2BamO2Wee/om06Vyy+vPkNrd4wxw==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.16.5.tgz", + "integrity": "sha512-qTFnpxHMoenNHkS3VoWRdwrcJ3FhX567GvDA3hRZKF0Dj8Fmg0UzySZp3AP2mShl/bzcywb/UWAMQIjA1bhXvw==", "requires": { - "@babel/helper-module-transforms": "^7.13.0", - "@babel/helper-plugin-utils": "^7.13.0" + "@babel/helper-module-transforms": "^7.16.5", + "@babel/helper-plugin-utils": "^7.16.5" } }, "@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.12.13.tgz", - "integrity": "sha512-Xsm8P2hr5hAxyYblrfACXpQKdQbx4m2df9/ZZSQ8MAhsadw06+jW7s9zsSw6he+mJZXRlVMyEnVktJo4zjk1WA==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.16.5.tgz", + "integrity": "sha512-/wqGDgvFUeKELW6ex6QB7dLVRkd5ehjw34tpXu1nhKC0sFfmaLabIswnpf8JgDyV2NeDmZiwoOb0rAmxciNfjA==", "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.12.13" + "@babel/helper-create-regexp-features-plugin": "^7.16.0" } }, "@babel/plugin-transform-new-target": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.12.13.tgz", - "integrity": "sha512-/KY2hbLxrG5GTQ9zzZSc3xWiOy379pIETEhbtzwZcw9rvuaVV4Fqy7BYGYOWZnaoXIQYbbJ0ziXLa/sKcGCYEQ==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.16.5.tgz", + "integrity": "sha512-ZaIrnXF08ZC8jnKR4/5g7YakGVL6go6V9ql6Jl3ecO8PQaQqFE74CuM384kezju7Z9nGCCA20BqZaR1tJ/WvHg==", "requires": { - "@babel/helper-plugin-utils": "^7.12.13" + "@babel/helper-plugin-utils": "^7.16.5" } }, "@babel/plugin-transform-object-super": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.12.13.tgz", - "integrity": "sha512-JzYIcj3XtYspZDV8j9ulnoMPZZnF/Cj0LUxPOjR89BdBVx+zYJI9MdMIlUZjbXDX+6YVeS6I3e8op+qQ3BYBoQ==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.16.5.tgz", + "integrity": "sha512-tded+yZEXuxt9Jdtkc1RraW1zMF/GalVxaVVxh41IYwirdRgyAxxxCKZ9XB7LxZqmsjfjALxupNE1MIz9KH+Zg==", "requires": { - "@babel/helper-plugin-utils": "^7.12.13", - "@babel/helper-replace-supers": "^7.12.13" + "@babel/helper-plugin-utils": "^7.16.5", + "@babel/helper-replace-supers": "^7.16.5" } }, "@babel/plugin-transform-parameters": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.13.0.tgz", - "integrity": "sha512-Jt8k/h/mIwE2JFEOb3lURoY5C85ETcYPnbuAJ96zRBzh1XHtQZfs62ChZ6EP22QlC8c7Xqr9q+e1SU5qttwwjw==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.16.5.tgz", + "integrity": "sha512-B3O6AL5oPop1jAVg8CV+haeUte9oFuY85zu0jwnRNZZi3tVAbJriu5tag/oaO2kGaQM/7q7aGPBlTI5/sr9enA==", "requires": { - "@babel/helper-plugin-utils": "^7.13.0" + "@babel/helper-plugin-utils": "^7.16.5" } }, "@babel/plugin-transform-property-literals": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.12.13.tgz", - "integrity": "sha512-nqVigwVan+lR+g8Fj8Exl0UQX2kymtjcWfMOYM1vTYEKujeyv2SkMgazf2qNcK7l4SDiKyTA/nHCPqL4e2zo1A==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.16.5.tgz", + "integrity": "sha512-+IRcVW71VdF9pEH/2R/Apab4a19LVvdVsr/gEeotH00vSDVlKD+XgfSIw+cgGWsjDB/ziqGv/pGoQZBIiQVXHg==", "requires": { - "@babel/helper-plugin-utils": "^7.12.13" + "@babel/helper-plugin-utils": "^7.16.5" } }, "@babel/plugin-transform-regenerator": { - "version": "7.13.15", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.13.15.tgz", - "integrity": "sha512-Bk9cOLSz8DiurcMETZ8E2YtIVJbFCPGW28DJWUakmyVWtQSm6Wsf0p4B4BfEr/eL2Nkhe/CICiUiMOCi1TPhuQ==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.16.5.tgz", + "integrity": "sha512-2z+it2eVWU8TtQQRauvGUqZwLy4+7rTfo6wO4npr+fvvN1SW30ZF3O/ZRCNmTuu4F5MIP8OJhXAhRV5QMJOuYg==", "requires": { "regenerator-transform": "^0.14.2" } }, "@babel/plugin-transform-reserved-words": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.12.13.tgz", - "integrity": "sha512-xhUPzDXxZN1QfiOy/I5tyye+TRz6lA7z6xaT4CLOjPRMVg1ldRf0LHw0TDBpYL4vG78556WuHdyO9oi5UmzZBg==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.16.5.tgz", + "integrity": "sha512-aIB16u8lNcf7drkhXJRoggOxSTUAuihTSTfAcpynowGJOZiGf+Yvi7RuTwFzVYSYPmWyARsPqUGoZWWWxLiknw==", "requires": { - "@babel/helper-plugin-utils": "^7.12.13" + "@babel/helper-plugin-utils": "^7.16.5" } }, "@babel/plugin-transform-runtime": { - "version": "7.13.15", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.13.15.tgz", - "integrity": "sha512-d+ezl76gx6Jal08XngJUkXM4lFXK/5Ikl9Mh4HKDxSfGJXmZ9xG64XT2oivBzfxb/eQ62VfvoMkaCZUKJMVrBA==", - "requires": { - "@babel/helper-module-imports": "^7.13.12", - "@babel/helper-plugin-utils": "^7.13.0", - "babel-plugin-polyfill-corejs2": "^0.2.0", - "babel-plugin-polyfill-corejs3": "^0.2.0", - "babel-plugin-polyfill-regenerator": "^0.2.0", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.16.5.tgz", + "integrity": "sha512-gxpfS8XQWDbQ8oP5NcmpXxtEgCJkbO+W9VhZlOhr0xPyVaRjAQPOv7ZDj9fg0d5s9+NiVvMCE6gbkEkcsxwGRw==", + "requires": { + "@babel/helper-module-imports": "^7.16.0", + "@babel/helper-plugin-utils": "^7.16.5", + "babel-plugin-polyfill-corejs2": "^0.3.0", + "babel-plugin-polyfill-corejs3": "^0.4.0", + "babel-plugin-polyfill-regenerator": "^0.3.0", "semver": "^6.3.0" } }, "@babel/plugin-transform-shorthand-properties": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.12.13.tgz", - "integrity": "sha512-xpL49pqPnLtf0tVluuqvzWIgLEhuPpZzvs2yabUHSKRNlN7ScYU7aMlmavOeyXJZKgZKQRBlh8rHbKiJDraTSw==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.16.5.tgz", + "integrity": "sha512-ZbuWVcY+MAXJuuW7qDoCwoxDUNClfZxoo7/4swVbOW1s/qYLOMHlm9YRWMsxMFuLs44eXsv4op1vAaBaBaDMVg==", "requires": { - "@babel/helper-plugin-utils": "^7.12.13" + "@babel/helper-plugin-utils": "^7.16.5" } }, "@babel/plugin-transform-spread": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.13.0.tgz", - "integrity": "sha512-V6vkiXijjzYeFmQTr3dBxPtZYLPcUfY34DebOU27jIl2M/Y8Egm52Hw82CSjjPqd54GTlJs5x+CR7HeNr24ckg==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.16.5.tgz", + "integrity": "sha512-5d6l/cnG7Lw4tGHEoga4xSkYp1euP7LAtrah1h1PgJ3JY7yNsjybsxQAnVK4JbtReZ/8z6ASVmd3QhYYKLaKZw==", "requires": { - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/helper-skip-transparent-expression-wrappers": "^7.12.1" + "@babel/helper-plugin-utils": "^7.16.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.16.0" } }, "@babel/plugin-transform-sticky-regex": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.12.13.tgz", - "integrity": "sha512-Jc3JSaaWT8+fr7GRvQP02fKDsYk4K/lYwWq38r/UGfaxo89ajud321NH28KRQ7xy1Ybc0VUE5Pz8psjNNDUglg==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.16.5.tgz", + "integrity": "sha512-usYsuO1ID2LXxzuUxifgWtJemP7wL2uZtyrTVM4PKqsmJycdS4U4mGovL5xXkfUheds10Dd2PjoQLXw6zCsCbg==", "requires": { - "@babel/helper-plugin-utils": "^7.12.13" + "@babel/helper-plugin-utils": "^7.16.5" } }, "@babel/plugin-transform-template-literals": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.13.0.tgz", - "integrity": "sha512-d67umW6nlfmr1iehCcBv69eSUSySk1EsIS8aTDX4Xo9qajAh6mYtcl4kJrBkGXuxZPEgVr7RVfAvNW6YQkd4Mw==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.16.5.tgz", + "integrity": "sha512-gnyKy9RyFhkovex4BjKWL3BVYzUDG6zC0gba7VMLbQoDuqMfJ1SDXs8k/XK41Mmt1Hyp4qNAvGFb9hKzdCqBRQ==", "requires": { - "@babel/helper-plugin-utils": "^7.13.0" + "@babel/helper-plugin-utils": "^7.16.5" } }, "@babel/plugin-transform-typeof-symbol": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.12.13.tgz", - "integrity": "sha512-eKv/LmUJpMnu4npgfvs3LiHhJua5fo/CysENxa45YCQXZwKnGCQKAg87bvoqSW1fFT+HA32l03Qxsm8ouTY3ZQ==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.16.5.tgz", + "integrity": "sha512-ldxCkW180qbrvyCVDzAUZqB0TAeF8W/vGJoRcaf75awm6By+PxfJKvuqVAnq8N9wz5Xa6mSpM19OfVKKVmGHSQ==", "requires": { - "@babel/helper-plugin-utils": "^7.12.13" + "@babel/helper-plugin-utils": "^7.16.5" } }, "@babel/plugin-transform-unicode-escapes": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.12.13.tgz", - "integrity": "sha512-0bHEkdwJ/sN/ikBHfSmOXPypN/beiGqjo+o4/5K+vxEFNPRPdImhviPakMKG4x96l85emoa0Z6cDflsdBusZbw==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.16.5.tgz", + "integrity": "sha512-shiCBHTIIChGLdyojsKQjoAyB8MBwat25lKM7MJjbe1hE0bgIppD+LX9afr41lLHOhqceqeWl4FkLp+Bgn9o1Q==", "requires": { - "@babel/helper-plugin-utils": "^7.12.13" + "@babel/helper-plugin-utils": "^7.16.5" } }, "@babel/plugin-transform-unicode-regex": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.12.13.tgz", - "integrity": "sha512-mDRzSNY7/zopwisPZ5kM9XKCfhchqIYwAKRERtEnhYscZB79VRekuRSoYbN0+KVe3y8+q1h6A4svXtP7N+UoCA==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.16.5.tgz", + "integrity": "sha512-GTJ4IW012tiPEMMubd7sD07iU9O/LOo8Q/oU4xNhcaq0Xn8+6TcUQaHtC8YxySo1T+ErQ8RaWogIEeFhKGNPzw==", "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.12.13", - "@babel/helper-plugin-utils": "^7.12.13" + "@babel/helper-create-regexp-features-plugin": "^7.16.0", + "@babel/helper-plugin-utils": "^7.16.5" } }, "@babel/preset-env": { - "version": "7.13.15", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.13.15.tgz", - "integrity": "sha512-D4JAPMXcxk69PKe81jRJ21/fP/uYdcTZ3hJDF5QX2HSI9bBxxYw/dumdR6dGumhjxlprHPE4XWoPaqzZUVy2MA==", - "requires": { - "@babel/compat-data": "^7.13.15", - "@babel/helper-compilation-targets": "^7.13.13", - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/helper-validator-option": "^7.12.17", - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.13.12", - "@babel/plugin-proposal-async-generator-functions": "^7.13.15", - "@babel/plugin-proposal-class-properties": "^7.13.0", - "@babel/plugin-proposal-dynamic-import": "^7.13.8", - "@babel/plugin-proposal-export-namespace-from": "^7.12.13", - "@babel/plugin-proposal-json-strings": "^7.13.8", - "@babel/plugin-proposal-logical-assignment-operators": "^7.13.8", - "@babel/plugin-proposal-nullish-coalescing-operator": "^7.13.8", - "@babel/plugin-proposal-numeric-separator": "^7.12.13", - "@babel/plugin-proposal-object-rest-spread": "^7.13.8", - "@babel/plugin-proposal-optional-catch-binding": "^7.13.8", - "@babel/plugin-proposal-optional-chaining": "^7.13.12", - "@babel/plugin-proposal-private-methods": "^7.13.0", - "@babel/plugin-proposal-unicode-property-regex": "^7.12.13", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.16.5.tgz", + "integrity": "sha512-MiJJW5pwsktG61NDxpZ4oJ1CKxM1ncam9bzRtx9g40/WkLRkxFP6mhpkYV0/DxcciqoiHicx291+eUQrXb/SfQ==", + "requires": { + "@babel/compat-data": "^7.16.4", + "@babel/helper-compilation-targets": "^7.16.3", + "@babel/helper-plugin-utils": "^7.16.5", + "@babel/helper-validator-option": "^7.14.5", + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.16.2", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.16.0", + "@babel/plugin-proposal-async-generator-functions": "^7.16.5", + "@babel/plugin-proposal-class-properties": "^7.16.5", + "@babel/plugin-proposal-class-static-block": "^7.16.5", + "@babel/plugin-proposal-dynamic-import": "^7.16.5", + "@babel/plugin-proposal-export-namespace-from": "^7.16.5", + "@babel/plugin-proposal-json-strings": "^7.16.5", + "@babel/plugin-proposal-logical-assignment-operators": "^7.16.5", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.16.5", + "@babel/plugin-proposal-numeric-separator": "^7.16.5", + "@babel/plugin-proposal-object-rest-spread": "^7.16.5", + "@babel/plugin-proposal-optional-catch-binding": "^7.16.5", + "@babel/plugin-proposal-optional-chaining": "^7.16.5", + "@babel/plugin-proposal-private-methods": "^7.16.5", + "@babel/plugin-proposal-private-property-in-object": "^7.16.5", + "@babel/plugin-proposal-unicode-property-regex": "^7.16.5", "@babel/plugin-syntax-async-generators": "^7.8.4", "@babel/plugin-syntax-class-properties": "^7.12.13", + "@babel/plugin-syntax-class-static-block": "^7.14.5", "@babel/plugin-syntax-dynamic-import": "^7.8.3", "@babel/plugin-syntax-export-namespace-from": "^7.8.3", "@babel/plugin-syntax-json-strings": "^7.8.3", @@ -14240,52 +14789,53 @@ "@babel/plugin-syntax-object-rest-spread": "^7.8.3", "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", "@babel/plugin-syntax-optional-chaining": "^7.8.3", - "@babel/plugin-syntax-top-level-await": "^7.12.13", - "@babel/plugin-transform-arrow-functions": "^7.13.0", - "@babel/plugin-transform-async-to-generator": "^7.13.0", - "@babel/plugin-transform-block-scoped-functions": "^7.12.13", - "@babel/plugin-transform-block-scoping": "^7.12.13", - "@babel/plugin-transform-classes": "^7.13.0", - "@babel/plugin-transform-computed-properties": "^7.13.0", - "@babel/plugin-transform-destructuring": "^7.13.0", - "@babel/plugin-transform-dotall-regex": "^7.12.13", - "@babel/plugin-transform-duplicate-keys": "^7.12.13", - "@babel/plugin-transform-exponentiation-operator": "^7.12.13", - "@babel/plugin-transform-for-of": "^7.13.0", - "@babel/plugin-transform-function-name": "^7.12.13", - "@babel/plugin-transform-literals": "^7.12.13", - "@babel/plugin-transform-member-expression-literals": "^7.12.13", - "@babel/plugin-transform-modules-amd": "^7.13.0", - "@babel/plugin-transform-modules-commonjs": "^7.13.8", - "@babel/plugin-transform-modules-systemjs": "^7.13.8", - "@babel/plugin-transform-modules-umd": "^7.13.0", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.12.13", - "@babel/plugin-transform-new-target": "^7.12.13", - "@babel/plugin-transform-object-super": "^7.12.13", - "@babel/plugin-transform-parameters": "^7.13.0", - "@babel/plugin-transform-property-literals": "^7.12.13", - "@babel/plugin-transform-regenerator": "^7.13.15", - "@babel/plugin-transform-reserved-words": "^7.12.13", - "@babel/plugin-transform-shorthand-properties": "^7.12.13", - "@babel/plugin-transform-spread": "^7.13.0", - "@babel/plugin-transform-sticky-regex": "^7.12.13", - "@babel/plugin-transform-template-literals": "^7.13.0", - "@babel/plugin-transform-typeof-symbol": "^7.12.13", - "@babel/plugin-transform-unicode-escapes": "^7.12.13", - "@babel/plugin-transform-unicode-regex": "^7.12.13", - "@babel/preset-modules": "^0.1.4", - "@babel/types": "^7.13.14", - "babel-plugin-polyfill-corejs2": "^0.2.0", - "babel-plugin-polyfill-corejs3": "^0.2.0", - "babel-plugin-polyfill-regenerator": "^0.2.0", - "core-js-compat": "^3.9.0", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5", + "@babel/plugin-syntax-top-level-await": "^7.14.5", + "@babel/plugin-transform-arrow-functions": "^7.16.5", + "@babel/plugin-transform-async-to-generator": "^7.16.5", + "@babel/plugin-transform-block-scoped-functions": "^7.16.5", + "@babel/plugin-transform-block-scoping": "^7.16.5", + "@babel/plugin-transform-classes": "^7.16.5", + "@babel/plugin-transform-computed-properties": "^7.16.5", + "@babel/plugin-transform-destructuring": "^7.16.5", + "@babel/plugin-transform-dotall-regex": "^7.16.5", + "@babel/plugin-transform-duplicate-keys": "^7.16.5", + "@babel/plugin-transform-exponentiation-operator": "^7.16.5", + "@babel/plugin-transform-for-of": "^7.16.5", + "@babel/plugin-transform-function-name": "^7.16.5", + "@babel/plugin-transform-literals": "^7.16.5", + "@babel/plugin-transform-member-expression-literals": "^7.16.5", + "@babel/plugin-transform-modules-amd": "^7.16.5", + "@babel/plugin-transform-modules-commonjs": "^7.16.5", + "@babel/plugin-transform-modules-systemjs": "^7.16.5", + "@babel/plugin-transform-modules-umd": "^7.16.5", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.16.5", + "@babel/plugin-transform-new-target": "^7.16.5", + "@babel/plugin-transform-object-super": "^7.16.5", + "@babel/plugin-transform-parameters": "^7.16.5", + "@babel/plugin-transform-property-literals": "^7.16.5", + "@babel/plugin-transform-regenerator": "^7.16.5", + "@babel/plugin-transform-reserved-words": "^7.16.5", + "@babel/plugin-transform-shorthand-properties": "^7.16.5", + "@babel/plugin-transform-spread": "^7.16.5", + "@babel/plugin-transform-sticky-regex": "^7.16.5", + "@babel/plugin-transform-template-literals": "^7.16.5", + "@babel/plugin-transform-typeof-symbol": "^7.16.5", + "@babel/plugin-transform-unicode-escapes": "^7.16.5", + "@babel/plugin-transform-unicode-regex": "^7.16.5", + "@babel/preset-modules": "^0.1.5", + "@babel/types": "^7.16.0", + "babel-plugin-polyfill-corejs2": "^0.3.0", + "babel-plugin-polyfill-corejs3": "^0.4.0", + "babel-plugin-polyfill-regenerator": "^0.3.0", + "core-js-compat": "^3.19.1", "semver": "^6.3.0" } }, "@babel/preset-modules": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.4.tgz", - "integrity": "sha512-J36NhwnfdzpmH41M1DrnkkgAqhZaqr/NBdPfQ677mLzlaXo+oDiv1deyCDtgAhz8p328otdob0Du7+xgHGZbKg==", + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.5.tgz", + "integrity": "sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==", "requires": { "@babel/helper-plugin-utils": "^7.0.0", "@babel/plugin-proposal-unicode-property-regex": "^7.4.4", @@ -14295,42 +14845,44 @@ } }, "@babel/runtime": { - "version": "7.13.17", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.13.17.tgz", - "integrity": "sha512-NCdgJEelPTSh+FEFylhnP1ylq848l1z9t9N0j1Lfbcw0+KXGjsTvUmkxy+voLLXB5SOKMbLLx4jxYliGrYQseA==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.16.5.tgz", + "integrity": "sha512-TXWihFIS3Pyv5hzR7j6ihmeLkZfrXGxAr5UfSl8CHf+6q/wpiYDkUau0czckpYG8QmnCIuPpdLtuA9VmuGGyMA==", "requires": { "regenerator-runtime": "^0.13.4" } }, "@babel/template": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.12.13.tgz", - "integrity": "sha512-/7xxiGA57xMo/P2GVvdEumr8ONhFOhfgq2ihK3h1e6THqzTAkHbkXgB0xI9yeTfIUoH3+oAeHhqm/I43OTbbjA==", + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.16.0.tgz", + "integrity": "sha512-MnZdpFD/ZdYhXwiunMqqgyZyucaYsbL0IrjoGjaVhGilz+x8YB++kRfygSOIj1yOtWKPlx7NBp+9I1RQSgsd5A==", "requires": { - "@babel/code-frame": "^7.12.13", - "@babel/parser": "^7.12.13", - "@babel/types": "^7.12.13" + "@babel/code-frame": "^7.16.0", + "@babel/parser": "^7.16.0", + "@babel/types": "^7.16.0" } }, "@babel/traverse": { - "version": "7.13.17", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.13.17.tgz", - "integrity": "sha512-BMnZn0R+X6ayqm3C3To7o1j7Q020gWdqdyP50KEoVqaCO2c/Im7sYZSmVgvefp8TTMQ+9CtwuBp0Z1CZ8V3Pvg==", - "requires": { - "@babel/code-frame": "^7.12.13", - "@babel/generator": "^7.13.16", - "@babel/helper-function-name": "^7.12.13", - "@babel/helper-split-export-declaration": "^7.12.13", - "@babel/parser": "^7.13.16", - "@babel/types": "^7.13.17", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.16.5.tgz", + "integrity": "sha512-FOCODAzqUMROikDYLYxl4nmwiLlu85rNqBML/A5hKRVXG2LV8d0iMqgPzdYTcIpjZEBB7D6UDU9vxRZiriASdQ==", + "requires": { + "@babel/code-frame": "^7.16.0", + "@babel/generator": "^7.16.5", + "@babel/helper-environment-visitor": "^7.16.5", + "@babel/helper-function-name": "^7.16.0", + "@babel/helper-hoist-variables": "^7.16.0", + "@babel/helper-split-export-declaration": "^7.16.0", + "@babel/parser": "^7.16.5", + "@babel/types": "^7.16.0", "debug": "^4.1.0", "globals": "^11.1.0" }, "dependencies": { "debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", + "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", "requires": { "ms": "2.1.2" } @@ -14343,11 +14895,11 @@ } }, "@babel/types": { - "version": "7.13.17", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.13.17.tgz", - "integrity": "sha512-RawydLgxbOPDlTLJNtoIypwdmAy//uQIzlKt2+iBiJaRlVuI6QLUxVAyWGNfOzp8Yu4L4lLIacoCyTNtpb4wiA==", + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.16.0.tgz", + "integrity": "sha512-PJgg/k3SdLsGb3hhisFvtLOw5ts113klrpLuIPtCJIU+BB24fqq6lf8RWqKJEjzqXR9AEH1rIb5XTqwBHB+kQg==", "requires": { - "@babel/helper-validator-identifier": "^7.12.11", + "@babel/helper-validator-identifier": "^7.15.7", "to-fast-properties": "^2.0.0" } }, @@ -14449,33 +15001,33 @@ } }, "@types/glob": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.1.3.tgz", - "integrity": "sha512-SEYeGAIQIQX8NN6LDKprLjbrd5dARM5EXsd8GI/A5l0apYI1fGMWgPHSe4ZKL4eozlAyI+doUE9XbYS4xCkQ1w==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.2.0.tgz", + "integrity": "sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==", "requires": { "@types/minimatch": "*", "@types/node": "*" } }, "@types/json-schema": { - "version": "7.0.7", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.7.tgz", - "integrity": "sha512-cxWFQVseBm6O9Gbw1IWb8r6OS4OhSt3hPZLkFApLjM8TEXROBuQGLAH2i2gZpcXdLBIrpXuTDhH7Vbm1iXmNGA==" + "version": "7.0.9", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.9.tgz", + "integrity": "sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ==" }, "@types/minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-1z8k4wzFnNjVK/tlxvrWuK5WMt6mydWWP7+zvH5eFep4oj+UkrfiJTRtjCeBXNpwaA/FYqqtb4/QS4ianFpIRA==" + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.5.tgz", + "integrity": "sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==" }, "@types/node": { - "version": "15.0.1", - "resolved": "https://registry.npmjs.org/@types/node/-/node-15.0.1.tgz", - "integrity": "sha512-TMkXt0Ck1y0KKsGr9gJtWGjttxlZnnvDtphxUOSd0bfaR6Q1jle+sPvrzNR1urqYTWMinoKvjKfXUGsumaO1PA==" + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.2.tgz", + "integrity": "sha512-JepeIUPFDARgIs0zD/SKPgFsJEAF0X5/qO80llx59gOxFTboS9Amv3S+QfB7lqBId5sFXJ99BN0J6zFRvL9dDA==" }, "@types/q": { - "version": "1.5.4", - "resolved": "https://registry.npmjs.org/@types/q/-/q-1.5.4.tgz", - "integrity": "sha512-1HcDas8SEj4z1Wc696tH56G8OlRaH/sqZOynNNB+HF0WOeXPaxTtbYzJY2oEfiUxjSKjhCKr+MvR7dCHcEelug==" + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/@types/q/-/q-1.5.5.tgz", + "integrity": "sha512-L28j2FcJfSZOnL1WBjDYp2vUHCeIFlyYI/53EwD/rKUBQ7MtUUfbQWiyKJGpcnv4/WgrhWsFKrcPstcAt/J0tQ==" }, "@vue/babel-helper-vue-jsx-merge-props": { "version": "1.2.1", @@ -14488,9 +15040,9 @@ "integrity": "sha512-hz4R8tS5jMn8lDq6iD+yWL6XNB699pGIVLk7WSJnn1dbpjaazsjZQkieJoRX6gW5zpYSCFqQ7jUquPNY65tQYA==" }, "@vue/babel-plugin-jsx": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/@vue/babel-plugin-jsx/-/babel-plugin-jsx-1.0.5.tgz", - "integrity": "sha512-Jtipy7oI0am5e1q5Ahunm/cCcCh5ssf5VkMQsLR383S3un5Qh7NBfxgSK9kmWf4IXJEhDeYp9kHv8G/EnMai9A==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@vue/babel-plugin-jsx/-/babel-plugin-jsx-1.1.1.tgz", + "integrity": "sha512-j2uVfZjnB5+zkcbc/zsOc0fSNGCMMjaEXP52wdwdIfn0qjFfEYpYZBFKFg+HHnQeJCVrjOeO0YxgaL7DMrym9w==", "requires": { "@babel/helper-module-imports": "^7.0.0", "@babel/plugin-syntax-jsx": "^7.0.0", @@ -14524,9 +15076,9 @@ } }, "@vue/babel-preset-app": { - "version": "4.5.12", - "resolved": "https://registry.npmjs.org/@vue/babel-preset-app/-/babel-preset-app-4.5.12.tgz", - "integrity": "sha512-8q67ORQ9O0Ms0nlqsXTVhaBefRBaLrzPxOewAZhdcO7onHwcO5/wRdWtHhZgfpCZlhY7NogkU16z3WnorSSkEA==", + "version": "4.5.15", + "resolved": "https://registry.npmjs.org/@vue/babel-preset-app/-/babel-preset-app-4.5.15.tgz", + "integrity": "sha512-J+YttzvwRfV1BPczf8r3qCevznYk+jh531agVF+5EYlHF4Sgh/cGXTz9qkkiux3LQgvhEGXgmCteg1n38WuuKg==", "requires": { "@babel/core": "^7.11.0", "@babel/helper-compilation-targets": "^7.9.6", @@ -14636,17 +15188,17 @@ } }, "@vue/component-compiler-utils": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/@vue/component-compiler-utils/-/component-compiler-utils-3.2.0.tgz", - "integrity": "sha512-lejBLa7xAMsfiZfNp7Kv51zOzifnb29FwdnMLa96z26kXErPFioSf9BMcePVIQ6/Gc6/mC0UrPpxAWIHyae0vw==", + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@vue/component-compiler-utils/-/component-compiler-utils-3.3.0.tgz", + "integrity": "sha512-97sfH2mYNU+2PzGrmK2haqffDpVASuib9/w2/noxiFi31Z54hW+q3izKQXXQZSNhtiUpAI36uSuYepeBe4wpHQ==", "requires": { "consolidate": "^0.15.1", "hash-sum": "^1.0.2", "lru-cache": "^4.1.2", "merge-source-map": "^1.1.0", - "postcss": "^7.0.14", + "postcss": "^7.0.36", "postcss-selector-parser": "^6.0.2", - "prettier": "^1.18.2", + "prettier": "^1.18.2 || ^2.0.0", "source-map": "~0.6.1", "vue-template-es2015-compiler": "^1.9.0" }, @@ -14673,17 +15225,17 @@ } }, "@vuepress/core": { - "version": "1.8.2", - "resolved": "https://registry.npmjs.org/@vuepress/core/-/core-1.8.2.tgz", - "integrity": "sha512-lh9BLC06k9s0wxTuWtCkiNj49fkbW87enp0XSrFZHEoyDGSGndQjZmMMErcHc5Hx7nrW1nzc33sPH1NNtJl0hw==", + "version": "1.8.3", + "resolved": "https://registry.npmjs.org/@vuepress/core/-/core-1.8.3.tgz", + "integrity": "sha512-VY5yfePXt5nf0/wf6RLPXheRrSwXBizW4aYFHE6L59gzwFAJc01iYJ6eW+LDiyX6lb45pWuyZHMdNsMzBgs9xA==", "requires": { "@babel/core": "^7.8.4", "@vue/babel-preset-app": "^4.1.2", - "@vuepress/markdown": "1.8.2", - "@vuepress/markdown-loader": "1.8.2", - "@vuepress/plugin-last-updated": "1.8.2", - "@vuepress/plugin-register-components": "1.8.2", - "@vuepress/shared-utils": "1.8.2", + "@vuepress/markdown": "1.8.3", + "@vuepress/markdown-loader": "1.8.3", + "@vuepress/plugin-last-updated": "1.8.3", + "@vuepress/plugin-register-components": "1.8.3", + "@vuepress/shared-utils": "1.8.3", "autoprefixer": "^9.5.1", "babel-loader": "^8.0.4", "cache-loader": "^3.0.0", @@ -14718,11 +15270,11 @@ } }, "@vuepress/markdown": { - "version": "1.8.2", - "resolved": "https://registry.npmjs.org/@vuepress/markdown/-/markdown-1.8.2.tgz", - "integrity": "sha512-zznBHVqW+iBkznF/BO/GY9RFu53khyl0Ey0PnGqvwCJpRLNan6y5EXgYumtjw2GSYn5nDTTALYxtyNBdz64PKg==", + "version": "1.8.3", + "resolved": "https://registry.npmjs.org/@vuepress/markdown/-/markdown-1.8.3.tgz", + "integrity": "sha512-gYfMulsHbCS5o/YBoMd6uZDlbiABewxAQq7J71REz7xpWbk1XjPzxYD40VT4xrEYllc/HdQQe49C+34eKHPhMw==", "requires": { - "@vuepress/shared-utils": "1.8.2", + "@vuepress/shared-utils": "1.8.3", "markdown-it": "^8.4.1", "markdown-it-anchor": "^5.0.2", "markdown-it-chain": "^1.3.0", @@ -14759,19 +15311,19 @@ } }, "@vuepress/markdown-loader": { - "version": "1.8.2", - "resolved": "https://registry.npmjs.org/@vuepress/markdown-loader/-/markdown-loader-1.8.2.tgz", - "integrity": "sha512-mWzFXikCUcAN/chpKkqZpRYKdo0312hMv8cBea2hvrJYV6y4ODB066XKvXN8JwOcxuCjxWYJkhWGr+pXq1oTtw==", + "version": "1.8.3", + "resolved": "https://registry.npmjs.org/@vuepress/markdown-loader/-/markdown-loader-1.8.3.tgz", + "integrity": "sha512-QO3uUszxX63T+iXe7dB/rSDTpcZXrstyBIuI5NtWut/34Qsr/LZvMhrawwLBCtLjkQU1FJ/mlFXkXN8gebHx0g==", "requires": { - "@vuepress/markdown": "1.8.2", + "@vuepress/markdown": "1.8.3", "loader-utils": "^1.1.0", "lru-cache": "^5.1.1" } }, "@vuepress/plugin-active-header-links": { - "version": "1.8.2", - "resolved": "https://registry.npmjs.org/@vuepress/plugin-active-header-links/-/plugin-active-header-links-1.8.2.tgz", - "integrity": "sha512-JmXAQg8D7J8mcKe2Ue3BZ9dOCzJMJXP4Cnkkc/IrqfDg0ET0l96gYWZohCqlvRIWt4f0VPiFAO4FLYrW+hko+g==", + "version": "1.8.3", + "resolved": "https://registry.npmjs.org/@vuepress/plugin-active-header-links/-/plugin-active-header-links-1.8.3.tgz", + "integrity": "sha512-KNgo0IHUvzoJDAn0xw1HAIUnmnCYhoFCWS9fkgKhfJAKcdaSEZk+BHQKfZrKx1BINktTFNdBBGZmxANQdHlUFQ==", "requires": { "lodash.debounce": "^4.0.8" } @@ -14782,38 +15334,38 @@ "integrity": "sha512-27fQzRMsqGYpMf+ruyhsdfLv/n6z6b6LutFLE/pH66Itlh6ox9ew31x0pqYBbWIC/a4lBfXYUwFvi+DEvlb1EQ==" }, "@vuepress/plugin-last-updated": { - "version": "1.8.2", - "resolved": "https://registry.npmjs.org/@vuepress/plugin-last-updated/-/plugin-last-updated-1.8.2.tgz", - "integrity": "sha512-pYIRZi52huO9b6HY3JQNPKNERCLzMHejjBRt9ekdnJ1xhLs4MmRvt37BoXjI/qzvXkYtr7nmGgnKThNBVRTZuA==", + "version": "1.8.3", + "resolved": "https://registry.npmjs.org/@vuepress/plugin-last-updated/-/plugin-last-updated-1.8.3.tgz", + "integrity": "sha512-anqktVt3RYyPVC+GxA0gBLWJZKQTXUcH5M+fFiO+tQvSizuhkzY/0i70Ss6znxv8ov5xwVn/C/gBGt21/9Qzvw==", "requires": { "cross-spawn": "^6.0.5" } }, "@vuepress/plugin-nprogress": { - "version": "1.8.2", - "resolved": "https://registry.npmjs.org/@vuepress/plugin-nprogress/-/plugin-nprogress-1.8.2.tgz", - "integrity": "sha512-3TOBee2NM3WLr1tdjDTGfrAMggjN+OlEPyKyv8FqThsVkDYhw48O3HwqlThp9KX7UbL3ExxIFBwWRFLC+kYrdw==", + "version": "1.8.3", + "resolved": "https://registry.npmjs.org/@vuepress/plugin-nprogress/-/plugin-nprogress-1.8.3.tgz", + "integrity": "sha512-BSMDcON1sIib/JoQh+W4t7WGQeMIFKakZ931IGSeVhLwCmEUd4sgC1dSPFYWXGSxCoattcrFLwqP9gJ9vabJpw==", "requires": { "nprogress": "^0.2.0" } }, "@vuepress/plugin-register-components": { - "version": "1.8.2", - "resolved": "https://registry.npmjs.org/@vuepress/plugin-register-components/-/plugin-register-components-1.8.2.tgz", - "integrity": "sha512-6SUq3nHFMEh9qKFnjA8QnrNxj0kLs7+Gspq1OBU8vtu0NQmSvLFZVaMV7pzT/9zN2nO5Pld5qhsUJv1g71MrEA==", + "version": "1.8.3", + "resolved": "https://registry.npmjs.org/@vuepress/plugin-register-components/-/plugin-register-components-1.8.3.tgz", + "integrity": "sha512-wp0nI4Eoysb8aHYonyezGV+Jlc2D6B2iEQ7bhSh+UBlBa5K2u9Q1i39He+W4bFwCO7KorfAqvHjRIzHnW095XA==", "requires": { - "@vuepress/shared-utils": "1.8.2" + "@vuepress/shared-utils": "1.8.3" } }, "@vuepress/plugin-search": { - "version": "1.8.2", - "resolved": "https://registry.npmjs.org/@vuepress/plugin-search/-/plugin-search-1.8.2.tgz", - "integrity": "sha512-JrSJr9o0Kar14lVtZ4wfw39pplxvvMh8vDBD9oW09a+6Zi/4bySPGdcdaqdqGW+OHSiZNvG+6uyfKSBBBqF6PA==" + "version": "1.8.3", + "resolved": "https://registry.npmjs.org/@vuepress/plugin-search/-/plugin-search-1.8.3.tgz", + "integrity": "sha512-2ogShgbB5DaqUz6oYjjHHtczNTbOTSkh/9ve1bfYc6f0NasKauQeWUOCOE4lN9RAaP4hapTZ96g2G42VRlVmTg==" }, "@vuepress/shared-utils": { - "version": "1.8.2", - "resolved": "https://registry.npmjs.org/@vuepress/shared-utils/-/shared-utils-1.8.2.tgz", - "integrity": "sha512-6kGubc7iBDWruEBUU7yR+sQ++SOhMuvKWvWeTZJKRZedthycdzYz7QVpua0FaZSAJm5/dIt8ymU4WQvxTtZgTQ==", + "version": "1.8.3", + "resolved": "https://registry.npmjs.org/@vuepress/shared-utils/-/shared-utils-1.8.3.tgz", + "integrity": "sha512-OQ3MY920UZrQ8/NXlOf7kovNiXUJ5OHDKBuP+mqTrADNmuYeHNM667d2EyRniG5UFsAgdTCpGaidu1GlaCX8kw==", "requires": { "chalk": "^2.3.2", "escape-html": "^1.0.3", @@ -14827,13 +15379,13 @@ } }, "@vuepress/theme-default": { - "version": "1.8.2", - "resolved": "https://registry.npmjs.org/@vuepress/theme-default/-/theme-default-1.8.2.tgz", - "integrity": "sha512-rE7M1rs3n2xp4a/GrweO8EGwqFn3EA5gnFWdVmVIHyr7C1nix+EqjpPQF1SVWNnIrDdQuCw38PqS+oND1K2vYw==", + "version": "1.8.3", + "resolved": "https://registry.npmjs.org/@vuepress/theme-default/-/theme-default-1.8.3.tgz", + "integrity": "sha512-thMZ2+og9HWq4+F0xaHfGJvrtakIsmF51br1oOrlrZTb4aJIvBP2v3B26+r/sF9gx0BpPYyuQZ4H3xUthMCeNA==", "requires": { - "@vuepress/plugin-active-header-links": "1.8.2", - "@vuepress/plugin-nprogress": "1.8.2", - "@vuepress/plugin-search": "1.8.2", + "@vuepress/plugin-active-header-links": "1.8.3", + "@vuepress/plugin-nprogress": "1.8.3", + "@vuepress/plugin-search": "1.8.3", "docsearch.js": "^2.5.2", "lodash": "^4.17.15", "stylus": "^0.54.8", @@ -15204,9 +15756,9 @@ "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=" }, "asn1": { - "version": "0.2.4", - "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", - "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz", + "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==", "requires": { "safer-buffer": "~2.1.0" } @@ -15305,15 +15857,15 @@ } }, "autoprefixer": { - "version": "9.8.6", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.8.6.tgz", - "integrity": "sha512-XrvP4VVHdRBCdX1S3WXVD8+RyG9qeb1D5Sn1DeLiG2xfSpzellk5k54xbUERJ3M5DggQxes39UGOTP8CFrEGbg==", + "version": "9.8.8", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.8.8.tgz", + "integrity": "sha512-eM9d/swFopRt5gdJ7jrpCwgvEMIayITpojhkkSMRsFHYuH5bkSQ4p/9qTEHtmNudUZh22Tehu7I6CxAW0IXTKA==", "requires": { "browserslist": "^4.12.0", "caniuse-lite": "^1.0.30001109", - "colorette": "^1.2.1", "normalize-range": "^0.1.2", "num2fraction": "^1.2.2", + "picocolors": "^0.2.1", "postcss": "^7.0.32", "postcss-value-parser": "^4.1.0" } @@ -15337,9 +15889,9 @@ } }, "babel-loader": { - "version": "8.2.2", - "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.2.2.tgz", - "integrity": "sha512-JvTd0/D889PQBtUXJ2PXaKU/pjZDMtHA9V2ecm+eNRmmBCMR09a+fmpGTNwnJtFmFl5Ei7Vy47LjBb+L0wQ99g==", + "version": "8.2.3", + "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.2.3.tgz", + "integrity": "sha512-n4Zeta8NC3QAsuyiizu0GkmRcQ6clkV9WFUnUf1iXP//IeSKbWjofW3UHyZVwlOB4y039YQKefawyTn64Zwbuw==", "requires": { "find-cache-dir": "^3.3.1", "loader-utils": "^1.4.0", @@ -15356,30 +15908,30 @@ } }, "babel-plugin-polyfill-corejs2": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.2.0.tgz", - "integrity": "sha512-9bNwiR0dS881c5SHnzCmmGlMkJLl0OUZvxrxHo9w/iNoRuqaPjqlvBf4HrovXtQs/au5yKkpcdgfT1cC5PAZwg==", + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.0.tgz", + "integrity": "sha512-wMDoBJ6uG4u4PNFh72Ty6t3EgfA91puCuAwKIazbQlci+ENb/UU9A3xG5lutjUIiXCIn1CY5L15r9LimiJyrSA==", "requires": { "@babel/compat-data": "^7.13.11", - "@babel/helper-define-polyfill-provider": "^0.2.0", + "@babel/helper-define-polyfill-provider": "^0.3.0", "semver": "^6.1.1" } }, "babel-plugin-polyfill-corejs3": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.2.0.tgz", - "integrity": "sha512-zZyi7p3BCUyzNxLx8KV61zTINkkV65zVkDAFNZmrTCRVhjo1jAS+YLvDJ9Jgd/w2tsAviCwFHReYfxO3Iql8Yg==", + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.4.0.tgz", + "integrity": "sha512-YxFreYwUfglYKdLUGvIF2nJEsGwj+RhWSX/ije3D2vQPOXuyMLMtg/cCGMDpOA7Nd+MwlNdnGODbd2EwUZPlsw==", "requires": { - "@babel/helper-define-polyfill-provider": "^0.2.0", - "core-js-compat": "^3.9.1" + "@babel/helper-define-polyfill-provider": "^0.3.0", + "core-js-compat": "^3.18.0" } }, "babel-plugin-polyfill-regenerator": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.2.0.tgz", - "integrity": "sha512-J7vKbCuD2Xi/eEHxquHN14bXAW9CXtecwuLrOIDJtcZzTaPzV1VdEfoUf9AzcRBMolKUQKM9/GVojeh0hFiqMg==", + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.3.0.tgz", + "integrity": "sha512-dhAPTDLGoMW5/84wkgwiLRwMnio2i1fUe53EuvtKMv0pn2p3S8OCoV1xAzfJPl0KOX7IB89s2ib85vbYiea3jg==", "requires": { - "@babel/helper-define-polyfill-provider": "^0.2.0" + "@babel/helper-define-polyfill-provider": "^0.3.0" } }, "babel-walk": { @@ -15467,31 +16019,31 @@ "integrity": "sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw==" }, "body-parser": { - "version": "1.19.0", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz", - "integrity": "sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==", + "version": "1.19.1", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.1.tgz", + "integrity": "sha512-8ljfQi5eBk8EJfECMrgqNGWPEY5jWP+1IzkzkGdFFEwFQZZyaZ21UqdaHktgiMlH0xLHqIFtE/u2OYE5dOtViA==", "requires": { - "bytes": "3.1.0", + "bytes": "3.1.1", "content-type": "~1.0.4", "debug": "2.6.9", "depd": "~1.1.2", - "http-errors": "1.7.2", + "http-errors": "1.8.1", "iconv-lite": "0.4.24", "on-finished": "~2.3.0", - "qs": "6.7.0", - "raw-body": "2.4.0", - "type-is": "~1.6.17" + "qs": "6.9.6", + "raw-body": "2.4.2", + "type-is": "~1.6.18" }, "dependencies": { "bytes": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", - "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==" + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.1.tgz", + "integrity": "sha512-dWe4nWO/ruEOY7HkUJ5gFt1DCFV9zPRoJr8pV0/ASQermOZjtq8jMjOprC0Kd10GLN+l7xaUPvxzJFWtxGu8Fg==" }, "qs": { - "version": "6.7.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", - "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==" + "version": "6.9.6", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.9.6.tgz", + "integrity": "sha512-TIRk4aqYLNoJUbd+g2lEdz5kLWIuTMRagAXxl78Q0RiVjAOugHmeKNGdd3cwo/ktpf9aL9epCfFqWDEKysUlLQ==" } } }, @@ -15694,15 +16246,22 @@ } }, "browserslist": { - "version": "4.16.5", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.16.5.tgz", - "integrity": "sha512-C2HAjrM1AI/djrpAUU/tr4pml1DqLIzJKSLDBXBrNErl9ZCCTXdhwxdJjYc16953+mBWf7Lw+uUJgpgb8cN71A==", + "version": "4.19.1", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.19.1.tgz", + "integrity": "sha512-u2tbbG5PdKRTUoctO3NBD8FQ5HdPh1ZXPHzp1rwaa5jTc+RV9/+RlWiAIKmjRPQF+xbGM9Kklj5bZQFa2s/38A==", "requires": { - "caniuse-lite": "^1.0.30001214", - "colorette": "^1.2.2", - "electron-to-chromium": "^1.3.719", + "caniuse-lite": "^1.0.30001286", + "electron-to-chromium": "^1.4.17", "escalade": "^3.1.1", - "node-releases": "^1.1.71" + "node-releases": "^2.0.1", + "picocolors": "^1.0.0" + }, + "dependencies": { + "picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" + } } }, "buffer": { @@ -15716,9 +16275,9 @@ } }, "buffer-from": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", - "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==" + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" }, "buffer-indexof": { "version": "1.1.1", @@ -15972,9 +16531,9 @@ } }, "camelcase": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.2.0.tgz", - "integrity": "sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg==" + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.2.1.tgz", + "integrity": "sha512-tVI4q5jjFV5CavAU8DXfza/TJcZutVKo/5Foskmsqcm0MsL91moHvwiGNnqaa2o6PF/7yT5ikDRcVcl8Rj6LCA==" }, "caniuse-api": { "version": "3.0.0", @@ -15988,9 +16547,9 @@ } }, "caniuse-lite": { - "version": "1.0.30001219", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001219.tgz", - "integrity": "sha512-c0yixVG4v9KBc/tQ2rlbB3A/bgBFRvl8h8M4IeUbqCca4gsiCfvtaheUssbnux/Mb66Vjz7x8yYjDgYcNQOhyQ==" + "version": "1.0.30001292", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001292.tgz", + "integrity": "sha512-jnT4Tq0Q4ma+6nncYQVe7d73kmDmE9C3OGTx3MvW7lBM/eY1S1DZTMBON7dqV481RhNiS5OxD7k9JQvmDOTirw==" }, "caseless": { "version": "0.12.0", @@ -16059,6 +16618,12 @@ "upath": "^1.1.1" } }, + "chokidar2": { + "version": "file:node_modules/webpack/node_modules/watchpack/chokidar2", + "requires": { + "chokidar": "^2.1.8" + } + }, "chownr": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", @@ -16156,9 +16721,9 @@ } }, "clean-css": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.2.3.tgz", - "integrity": "sha512-VcMWDN54ZN/DS+g58HYL5/n4Zrqe8vHJpGA8KdgUXFU4fuP/aHNw8eld9SyEIyabIMJX/0RaY/fplOo5hYLSFA==", + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.2.4.tgz", + "integrity": "sha512-EJUDT7nDVFDvaQgAo2G/PJvxmp1o/c6iXLbswsBbUFXi1Nr+AjA2cKmfbKDMjMvzEe75g3P6JkaDDAKk96A85A==", "requires": { "source-map": "~0.6.0" }, @@ -16253,12 +16818,12 @@ } }, "color": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/color/-/color-3.1.3.tgz", - "integrity": "sha512-xgXAcTHa2HeFCGLE9Xs/R82hujGtu9Jd9x4NW3T34+OMs7VoPsjwzRczKHvTAHeJwWFwX5j15+MgAppE8ztObQ==", + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/color/-/color-3.2.1.tgz", + "integrity": "sha512-aBl7dZI9ENN6fUGC7mWpMTPNHmWUSNan9tuWN6ahh5ZLNk9baLJOnSMlrQkHcrfFgz2/RigjUVAjdx36VcemKA==", "requires": { - "color-convert": "^1.9.1", - "color-string": "^1.5.4" + "color-convert": "^1.9.3", + "color-string": "^1.6.0" } }, "color-convert": { @@ -16275,19 +16840,14 @@ "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" }, "color-string": { - "version": "1.5.5", - "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.5.5.tgz", - "integrity": "sha512-jgIoum0OfQfq9Whcfc2z/VhCNcmQjWbey6qBX0vqt7YICflUmBCh9E9CiQD5GSJ+Uehixm3NUwHVhqUAWRivZg==", + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.9.0.tgz", + "integrity": "sha512-9Mrz2AQLefkH1UvASKj6v6hj/7eWgjnT/cVsR8CumieLoT+g900exWeNogqtweI8dxloXN9BDQTYro1oWu/5CQ==", "requires": { "color-name": "^1.0.0", "simple-swizzle": "^0.2.2" } }, - "colorette": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.2.2.tgz", - "integrity": "sha512-MKGMzyfeuutC/ZJ1cba9NqcNpfeqMUcYmyF1ZFY6/Cn7CNSAKx6a+s48sqLqyAiZuaP2TcqMhoo+dlwFnVxT9w==" - }, "combined-stream": { "version": "1.0.8", "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", @@ -16400,11 +16960,18 @@ "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=" }, "content-disposition": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz", - "integrity": "sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==", + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", + "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", "requires": { - "safe-buffer": "5.1.2" + "safe-buffer": "5.2.1" + }, + "dependencies": { + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" + } } }, "content-type": { @@ -16413,17 +16980,17 @@ "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==" }, "convert-source-map": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz", - "integrity": "sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==", + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz", + "integrity": "sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==", "requires": { "safe-buffer": "~5.1.1" } }, "cookie": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz", - "integrity": "sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==" + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.1.tgz", + "integrity": "sha512-ZwrFkGJxUR3EIoXtO+yVE69Eb7KlixbaeAWfBQB9vVsNn/o+Yw69gBWSSDK825hQNdN+wF8zELf3dFNl/kxkUA==" }, "cookie-signature": { "version": "1.0.6", @@ -16582,16 +17149,16 @@ } }, "core-js": { - "version": "3.11.1", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.11.1.tgz", - "integrity": "sha512-k93Isqg7e4txZWMGNYwevZL9MiogLk8pd1PtwrmFmi8IBq4GXqUaVW/a33Llt6amSI36uSjd0GWwc9pTT9ALlQ==" + "version": "3.20.0", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.20.0.tgz", + "integrity": "sha512-KjbKU7UEfg4YPpskMtMXPhUKn7m/1OdTHTVjy09ScR2LVaoUXe8Jh0UdvN2EKUR6iKTJph52SJP95mAB0MnVLQ==" }, "core-js-compat": { - "version": "3.11.1", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.11.1.tgz", - "integrity": "sha512-aZ0e4tmlG/aOBHj92/TuOuZwp6jFvn1WNabU5VOVixzhu5t5Ao+JZkQOPlgNXu6ynwLrwJxklT4Gw1G1VGEh+g==", + "version": "3.20.0", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.20.0.tgz", + "integrity": "sha512-relrah5h+sslXssTTOkvqcC/6RURifB0W5yhYBdBkaPYa5/2KBMiog3XiD+s3TwEHWxInWVv4Jx2/Lw0vng+IQ==", "requires": { - "browserslist": "^4.16.5", + "browserslist": "^4.19.1", "semver": "7.0.0" }, "dependencies": { @@ -16603,9 +17170,9 @@ } }, "core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" }, "cosmiconfig": { "version": "5.2.1", @@ -17082,9 +17649,9 @@ "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=" }, "detect-node": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.0.5.tgz", - "integrity": "sha512-qi86tE6hRcFHy8jI1m2VG+LaPUR1LhqDa5G8tVjuUXmOrpuAgqsA1pN0+ldgr3aKUH+QLI9hCY/OcRYisERejw==" + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz", + "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==" }, "diffie-hellman": { "version": "5.0.3", @@ -17281,9 +17848,9 @@ "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=" }, "electron-to-chromium": { - "version": "1.3.723", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.723.tgz", - "integrity": "sha512-L+WXyXI7c7+G1V8ANzRsPI5giiimLAUDC6Zs1ojHHPhYXb3k/iTABFmWjivEtsWrRQymjnO66/rO2ZTABGdmWg==" + "version": "1.4.26", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.26.tgz", + "integrity": "sha512-cA1YwlRzO6TGp7yd3+KAqh9Tt6Z4CuuKqsAJP6uF/H5MQryjAGDhMhnY5cEXo8MaRCczpzSBhMPdqRIodkbZYw==" }, "elliptic": { "version": "6.5.4", @@ -17386,26 +17953,30 @@ } }, "es-abstract": { - "version": "1.18.0", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0.tgz", - "integrity": "sha512-LJzK7MrQa8TS0ja2w3YNLzUgJCGPdPOV1yVvezjNnS89D+VR08+Szt2mz3YB2Dck/+w5tfIq/RoUAFqJJGM2yw==", + "version": "1.19.1", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.19.1.tgz", + "integrity": "sha512-2vJ6tjA/UfqLm2MPs7jxVybLoB8i1t1Jd9R3kISld20sIxPcTbLuggQOUxeWeAvIUkduv/CfMjuh4WmiXr2v9w==", "requires": { "call-bind": "^1.0.2", "es-to-primitive": "^1.2.1", "function-bind": "^1.1.1", "get-intrinsic": "^1.1.1", + "get-symbol-description": "^1.0.0", "has": "^1.0.3", "has-symbols": "^1.0.2", - "is-callable": "^1.2.3", + "internal-slot": "^1.0.3", + "is-callable": "^1.2.4", "is-negative-zero": "^2.0.1", - "is-regex": "^1.1.2", - "is-string": "^1.0.5", - "object-inspect": "^1.9.0", + "is-regex": "^1.1.4", + "is-shared-array-buffer": "^1.0.1", + "is-string": "^1.0.7", + "is-weakref": "^1.0.1", + "object-inspect": "^1.11.0", "object-keys": "^1.1.1", "object.assign": "^4.1.2", "string.prototype.trimend": "^1.0.4", "string.prototype.trimstart": "^1.0.4", - "unbox-primitive": "^1.0.0" + "unbox-primitive": "^1.0.1" } }, "es-to-primitive": { @@ -17471,9 +18042,9 @@ }, "dependencies": { "estraverse": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", - "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==" + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==" } } }, @@ -17609,16 +18180,16 @@ } }, "express": { - "version": "4.17.1", - "resolved": "https://registry.npmjs.org/express/-/express-4.17.1.tgz", - "integrity": "sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==", + "version": "4.17.2", + "resolved": "https://registry.npmjs.org/express/-/express-4.17.2.tgz", + "integrity": "sha512-oxlxJxcQlYwqPWKVJJtvQiwHgosH/LrLSPA+H4UxpyvSS6jC5aH+5MoHFM+KABgTOt0APue4w66Ha8jCUo9QGg==", "requires": { "accepts": "~1.3.7", "array-flatten": "1.1.1", - "body-parser": "1.19.0", - "content-disposition": "0.5.3", + "body-parser": "1.19.1", + "content-disposition": "0.5.4", "content-type": "~1.0.4", - "cookie": "0.4.0", + "cookie": "0.4.1", "cookie-signature": "1.0.6", "debug": "2.6.9", "depd": "~1.1.2", @@ -17632,13 +18203,13 @@ "on-finished": "~2.3.0", "parseurl": "~1.3.3", "path-to-regexp": "0.1.7", - "proxy-addr": "~2.0.5", - "qs": "6.7.0", + "proxy-addr": "~2.0.7", + "qs": "6.9.6", "range-parser": "~1.2.1", - "safe-buffer": "5.1.2", - "send": "0.17.1", - "serve-static": "1.14.1", - "setprototypeof": "1.1.1", + "safe-buffer": "5.2.1", + "send": "0.17.2", + "serve-static": "1.14.2", + "setprototypeof": "1.2.0", "statuses": "~1.5.0", "type-is": "~1.6.18", "utils-merge": "1.0.1", @@ -17651,9 +18222,14 @@ "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=" }, "qs": { - "version": "6.7.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", - "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==" + "version": "6.9.6", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.9.6.tgz", + "integrity": "sha512-TIRk4aqYLNoJUbd+g2lEdz5kLWIuTMRagAXxl78Q0RiVjAOugHmeKNGdd3cwo/ktpf9aL9epCfFqWDEKysUlLQ==" + }, + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" } } }, @@ -17724,9 +18300,9 @@ "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" }, "faye-websocket": { - "version": "0.11.3", - "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.3.tgz", - "integrity": "sha512-D2y4bovYpzziGgbHYtGCMjlJM36vAl/y+xUyn1C+FVx8szd1E+86KwVw6XvYSzOP8iMpm1X0I4xJD+QtUb36OA==", + "version": "0.11.4", + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz", + "integrity": "sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==", "requires": { "websocket-driver": ">=0.5.1" } @@ -17797,9 +18373,9 @@ } }, "find-cache-dir": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.1.tgz", - "integrity": "sha512-t2GDMt3oGC/v+BMwzmllWDuJF/xcDtE5j/fCGbqDD7OLuJkj0cfh1YSA5VKPvwMeLFLNDBkwOKZ2X85jGLVftQ==", + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz", + "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", "requires": { "commondir": "^1.0.1", "make-dir": "^3.0.2", @@ -17855,9 +18431,9 @@ } }, "forwarded": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz", - "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=" + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==" }, "fragment-cache": { "version": "0.2.1", @@ -17955,6 +18531,15 @@ "pump": "^3.0.0" } }, + "get-symbol-description": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", + "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", + "requires": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.1" + } + }, "get-value": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", @@ -18133,6 +18718,14 @@ "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.2.tgz", "integrity": "sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==" }, + "has-tostringtag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", + "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", + "requires": { + "has-symbols": "^1.0.2" + } + }, "has-value": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", @@ -18323,28 +18916,21 @@ "integrity": "sha1-+nFolEq5pRnTN8sL7HKE3D5yPYc=" }, "http-errors": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz", - "integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==", + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.8.1.tgz", + "integrity": "sha512-Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g==", "requires": { "depd": "~1.1.2", - "inherits": "2.0.3", - "setprototypeof": "1.1.1", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", "statuses": ">= 1.5.0 < 2", - "toidentifier": "1.0.0" - }, - "dependencies": { - "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" - } + "toidentifier": "1.0.1" } }, "http-parser-js": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.3.tgz", - "integrity": "sha512-t7hjvef/5HEK7RWTdUzVUhl8zkEu+LlaE0IYzdMuvbSDipxBRpOn4Uhw8ZyECEa808iVT8XCjzo6xmYt4CiLZg==" + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.5.tgz", + "integrity": "sha512-x+JVEkO2PoM8qqpbPbOL3cqHPwerep7OwzK7Ay+sMQjKzaKCqWvjoXm5tqMP9tXWWTnTzAjIhXg+J99XYuPhPA==" }, "http-proxy": { "version": "1.18.1", @@ -18545,6 +19131,16 @@ "ipaddr.js": "^1.9.0" } }, + "internal-slot": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.3.tgz", + "integrity": "sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA==", + "requires": { + "get-intrinsic": "^1.1.0", + "has": "^1.0.3", + "side-channel": "^1.0.4" + } + }, "ip": { "version": "1.1.5", "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz", @@ -18574,11 +19170,12 @@ } }, "is-arguments": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.0.tgz", - "integrity": "sha512-1Ij4lOMPl/xB5kBDn7I+b2ttPMKa8szhEIrXDuXQD/oe3HJLTLhqhgGspwgyGd6MOywBUqVvYicF72lkgDnIHg==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", + "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", "requires": { - "call-bind": "^1.0.0" + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" } }, "is-arrayish": { @@ -18587,9 +19184,12 @@ "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=" }, "is-bigint": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.1.tgz", - "integrity": "sha512-J0ELF4yHFxHy0cmSxZuheDOz2luOdVvqjwmEcj8H/L1JHeuEDSDbeRP+Dk9kFVk5RTFzbucJ2Kb9F7ixY2QaCg==" + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", + "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", + "requires": { + "has-bigints": "^1.0.1" + } }, "is-binary-path": { "version": "1.0.1", @@ -18600,11 +19200,12 @@ } }, "is-boolean-object": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.0.tgz", - "integrity": "sha512-a7Uprx8UtD+HWdyYwnD1+ExtTgqQtD2k/1yJgtXP6wnMm8byhkoTZRl+95LLThpzNZJ5aEvi46cdH+ayMFRwmA==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", + "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", "requires": { - "call-bind": "^1.0.0" + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" } }, "is-buffer": { @@ -18613,9 +19214,9 @@ "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" }, "is-callable": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.3.tgz", - "integrity": "sha512-J1DcMe8UYTBSrKezuIUTUwjXsho29693unXM2YhJUTR2txK/eG47bvNa/wipPFmZFgr/N6f1GA66dv0mEyTIyQ==" + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.4.tgz", + "integrity": "sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w==" }, "is-ci": { "version": "2.0.0", @@ -18655,9 +19256,12 @@ } }, "is-date-object": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.2.tgz", - "integrity": "sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g==" + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", + "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", + "requires": { + "has-tostringtag": "^1.0.0" + } }, "is-descriptor": { "version": "1.0.2", @@ -18699,9 +19303,9 @@ "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" }, "is-glob": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", - "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", "requires": { "is-extglob": "^2.1.1" } @@ -18716,9 +19320,9 @@ } }, "is-negative-zero": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.1.tgz", - "integrity": "sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w==" + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", + "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==" }, "is-npm": { "version": "4.0.0", @@ -18744,9 +19348,12 @@ } }, "is-number-object": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.4.tgz", - "integrity": "sha512-zohwelOAur+5uXtk8O3GPQ1eAcu4ZX3UwxQhUlfFFMNpUd83gXgjbhJh6HmB6LUNV/ieOLQuDwJO3dWJosUeMw==" + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.6.tgz", + "integrity": "sha512-bEVOqiRcvo3zO1+G2lVMy+gkkEm9Yh7cDMRusKKu5ZJKPUYSJwICTKZrNKHA2EbSP0Tu0+6B/emsYNHZyn6K8g==", + "requires": { + "has-tostringtag": "^1.0.0" + } }, "is-obj": { "version": "2.0.0", @@ -18800,12 +19407,12 @@ "integrity": "sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ==" }, "is-regex": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.2.tgz", - "integrity": "sha512-axvdhb5pdhEVThqJzYXwMlVuZwC+FF2DpcOhTS+y/8jVq4trxyPgfcwIxIKiyeuLlSQYKkmUaPQJ8ZE4yNKXDg==", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", + "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", "requires": { "call-bind": "^1.0.2", - "has-symbols": "^1.0.1" + "has-tostringtag": "^1.0.0" } }, "is-resolvable": { @@ -18813,22 +19420,30 @@ "resolved": "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.1.0.tgz", "integrity": "sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg==" }, + "is-shared-array-buffer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.1.tgz", + "integrity": "sha512-IU0NmyknYZN0rChcKhRO1X8LYz5Isj/Fsqh8NJOSf+N/hCOTwy29F32Ik7a+QszE63IdvmwdTPDd6cZ5pg4cwA==" + }, "is-stream": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=" }, "is-string": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.5.tgz", - "integrity": "sha512-buY6VNRjhQMiF1qWDouloZlQbRhDPCebwxSjxMjxgemYT46YMd2NR0/H+fBhEfWX4A/w9TBJ+ol+okqJKFE6vQ==" + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", + "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", + "requires": { + "has-tostringtag": "^1.0.0" + } }, "is-symbol": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.3.tgz", - "integrity": "sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ==", + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", + "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", "requires": { - "has-symbols": "^1.0.1" + "has-symbols": "^1.0.2" } }, "is-typedarray": { @@ -18836,6 +19451,14 @@ "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=" }, + "is-weakref": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", + "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", + "requires": { + "call-bind": "^1.0.2" + } + }, "is-windows": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", @@ -19123,9 +19746,9 @@ "integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=" }, "loglevel": { - "version": "1.7.1", - "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.7.1.tgz", - "integrity": "sha512-Hesni4s5UkWkwCGJMQGAh71PaLUmKFM60dHvq0zi/vDhhrzuk+4GgNbTXJ12YYQJn6ZKBDNIjYcuQGKudvqrIw==" + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.8.0.tgz", + "integrity": "sha512-G6A/nJLRgWOuuwdNuA6koovfEV1YpqqAG4pRUlFaz3jj2QNZ8M4vBqnVA+HBTmU/AMNUtlOsMmSpF6NyOjztbA==" }, "lower-case": { "version": "1.1.4", @@ -19356,21 +19979,21 @@ } }, "mime": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/mime/-/mime-2.5.2.tgz", - "integrity": "sha512-tqkh47FzKeCPD2PUiPB6pkbMzsCasjxAfC62/Wap5qrUWcb+sFasXUC5I3gYM5iBM8v/Qpn4UK0x+j0iHyFPDg==" + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz", + "integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==" }, "mime-db": { - "version": "1.47.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.47.0.tgz", - "integrity": "sha512-QBmA/G2y+IfeS4oktet3qRZ+P5kPhCKRXxXnQEudYqUaEioAU1/Lq2us3D/t1Jfo4hE9REQPrbB7K5sOczJVIw==" + "version": "1.51.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.51.0.tgz", + "integrity": "sha512-5y8A56jg7XVQx2mbv1lu49NR4dokRnhZYTtL+KGfaa27uq4pSTXkwQkFJl4pkRMyNFz/EtYDSkiiEHx3F7UN6g==" }, "mime-types": { - "version": "2.1.30", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.30.tgz", - "integrity": "sha512-crmjA4bLtR8m9qLpHvgxSChT+XoSlZi8J4n/aIdn3z92e/U47Z0V/yl+Wh9W046GgFVAmoNR/fmdbZYcSSIUeg==", + "version": "2.1.34", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.34.tgz", + "integrity": "sha512-6cP692WwGIs9XXdOO4++N+7qjqv0rqxxVvJ3VHPh/Sc9mVZcQP+ZGhkKiTvWMQRr2tbHkJP/Yn7Y0npb3ZBs4A==", "requires": { - "mime-db": "1.47.0" + "mime-db": "1.51.0" } }, "mimic-response": { @@ -19516,9 +20139,9 @@ "integrity": "sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE=" }, "nan": { - "version": "2.14.2", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.2.tgz", - "integrity": "sha512-M2ufzIiINKCuDfBSAUr1vWQ+vuVcA9kqx8JJUsbQi6yf1uGRyb7HfpdfUr5qLXf3B/t8dPvcjhKMmlfnP47EzQ==", + "version": "2.15.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.15.0.tgz", + "integrity": "sha512-8ZtvEnA2c5aYCZYd1cvgdnU6cqwixRoYg70xPLWUws5ORTa/lnw+u4amixRS/Ac5U5mQVgp9pnlSUnbNWFaWZQ==", "optional": true }, "nanomatch": { @@ -19624,9 +20247,9 @@ } }, "node-releases": { - "version": "1.1.71", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.71.tgz", - "integrity": "sha512-zR6HoT6LrLCRBwukmrVbHv0EpEQjksO6GmFcZQQuCAy139BEsoVKPYnf3jongYW83fAa1torLGYwxxky/p28sg==" + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.1.tgz", + "integrity": "sha512-CqyzN6z7Q6aMeF/ktcMVTzhAHCEpf8SOarwpzpf8pNBY2k5/oM34UHldUwp8VKI7uxct2HxSRdJjBaZeESzcxA==" }, "nopt": { "version": "1.0.10", @@ -19754,9 +20377,9 @@ } }, "object-inspect": { - "version": "1.10.2", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.10.2.tgz", - "integrity": "sha512-gz58rdPpadwztRrPjZE9DZLOABUpTGdcANUgOwBFO1C+HZZhePoP83M65WGDmbpwFYJSWqavbl4SgDn4k8RYTA==" + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.0.tgz", + "integrity": "sha512-Ho2z80bVIvJloH+YzRmpZVQe87+qASmBUKZDWgx9cu+KDrX2ZDH/3tMy+gXbZETVGs2M8YdxObOh7XAtim9Y0g==" }, "object-is": { "version": "1.1.5", @@ -19792,13 +20415,13 @@ } }, "object.getownpropertydescriptors": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.2.tgz", - "integrity": "sha512-WtxeKSzfBjlzL+F9b7M7hewDzMwy+C8NRssHd1YrNlzHzIDrXcXiNOMrezdAEM4UXixgV+vvnyBeN7Rygl2ttQ==", + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.3.tgz", + "integrity": "sha512-VdDoCwvJI4QdC6ndjpqFmoL3/+HxffFBbcJzKi5hwLLqqx3mdbedRpfZDdK0SrOSauj8X4GzBvnDZl4vTN7dOw==", "requires": { "call-bind": "^1.0.2", "define-properties": "^1.1.3", - "es-abstract": "^1.18.0-next.2" + "es-abstract": "^1.19.1" } }, "object.pick": { @@ -19810,14 +20433,13 @@ } }, "object.values": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.3.tgz", - "integrity": "sha512-nkF6PfDB9alkOUxpf1HNm/QlkeW3SReqL5WXeBLpEJJnlPSvRaDQpW3gQTksTN3fgJX4hL42RzKyOin6ff3tyw==", + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.5.tgz", + "integrity": "sha512-QUZRW0ilQ3PnPpbNtgdNV1PDbEqLIiSFB3l+EnGtBQ/8SUTLj1PZwtQHABZtLgwpJZTSZhuGLOGk57Drx2IvYg==", "requires": { "call-bind": "^1.0.2", "define-properties": "^1.1.3", - "es-abstract": "^1.18.0-next.2", - "has": "^1.0.3" + "es-abstract": "^1.19.1" } }, "obuf": { @@ -20644,9 +21266,9 @@ } }, "postcss-selector-parser": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.5.tgz", - "integrity": "sha512-aFYPoYmXbZ1V6HZaSvat08M97A8HqO6Pjz+PiNpw/DhuRrC72XWAdp3hL6wusDCN31sSmcZyMGa2hZEuX+Xfhg==", + "version": "6.0.8", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.8.tgz", + "integrity": "sha512-D5PG53d209Z1Uhcc0qAZ5U3t5HagH3cxu+WLZ22jt3gLUpXM4eXXfiO14jiDWST3NNooX/E8wISfOhZ9eIjGTQ==", "requires": { "cssesc": "^3.0.0", "util-deprecate": "^1.0.2" @@ -20680,9 +21302,9 @@ } }, "postcss-value-parser": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz", - "integrity": "sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ==" + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==" }, "prepend-http": { "version": "2.0.0", @@ -20690,9 +21312,9 @@ "integrity": "sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=" }, "prettier": { - "version": "1.19.1", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-1.19.1.tgz", - "integrity": "sha512-s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew==", + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.5.1.tgz", + "integrity": "sha512-vBZcPRUR5MZJwoyi3ZoyQlc1rXeEck8KgeC9AwwOn+exuxLxq5toTRDTSaVrXHxelDMHy9zlicw8u66yxoSUFg==", "optional": true }, "pretty-error": { @@ -20738,11 +21360,11 @@ "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=" }, "proxy-addr": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.6.tgz", - "integrity": "sha512-dh/frvCBVmSsDYzw6n926jv974gddhkFPfiN8hPOi30Wax25QZyZEGveluCgliBnqmuM+UJmBErbAUFIoDbjOw==", + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", + "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", "requires": { - "forwarded": "~0.1.2", + "forwarded": "0.2.0", "ipaddr.js": "1.9.1" } }, @@ -21002,20 +21624,20 @@ "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==" }, "raw-body": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.0.tgz", - "integrity": "sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==", + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.2.tgz", + "integrity": "sha512-RPMAFUJP19WIet/99ngh6Iv8fzAbqum4Li7AD6DtGaW2RpMB/11xDoalPiJMTbu6I3hkbMVkATvZrqb9EEqeeQ==", "requires": { - "bytes": "3.1.0", - "http-errors": "1.7.2", + "bytes": "3.1.1", + "http-errors": "1.8.1", "iconv-lite": "0.4.24", "unpipe": "1.0.0" }, "dependencies": { "bytes": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", - "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==" + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.1.tgz", + "integrity": "sha512-dWe4nWO/ruEOY7HkUJ5gFt1DCFV9zPRoJr8pV0/ASQermOZjtq8jMjOprC0Kd10GLN+l7xaUPvxzJFWtxGu8Fg==" } } }, @@ -21068,17 +21690,17 @@ "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==" }, "regenerate-unicode-properties": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-8.2.0.tgz", - "integrity": "sha512-F9DjY1vKLo/tPePDycuH3dn9H1OTPIkVD9Kz4LODu+F2C75mgjAJ7x/gwy6ZcSNRAAkhNlJSOHRe8k3p+K9WhA==", + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-9.0.0.tgz", + "integrity": "sha512-3E12UeNSPfjrgwjkR81m5J7Aw/T55Tu7nUyZVQYCKEOs+2dkxEY+DpPtZzO4YruuiPb7NkYLVcyJC4+zCbk5pA==", "requires": { - "regenerate": "^1.4.0" + "regenerate": "^1.4.2" } }, "regenerator-runtime": { - "version": "0.13.7", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.7.tgz", - "integrity": "sha512-a54FxoJDIr27pgf7IgeQGxmqUNYrcV338lf/6gH456HZ/PhX+5BcwHXG9ajESmwe6WRO0tAzRUrRmNONWgkrew==" + "version": "0.13.9", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz", + "integrity": "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==" }, "regenerator-transform": { "version": "0.14.5", @@ -21126,16 +21748,16 @@ } }, "regexpu-core": { - "version": "4.7.1", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.7.1.tgz", - "integrity": "sha512-ywH2VUraA44DZQuRKzARmw6S66mr48pQVva4LBeRhcOltJ6hExvWly5ZjFLYo67xbIxb6W1q4bAGtgfEl20zfQ==", + "version": "4.8.0", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.8.0.tgz", + "integrity": "sha512-1F6bYsoYiz6is+oz70NWur2Vlh9KWtswuRuzJOfeYUrfPX2o8n74AnUVaOGDbUqVGO9fNHu48/pjJO4sNVwsOg==", "requires": { - "regenerate": "^1.4.0", - "regenerate-unicode-properties": "^8.2.0", - "regjsgen": "^0.5.1", - "regjsparser": "^0.6.4", - "unicode-match-property-ecmascript": "^1.0.4", - "unicode-match-property-value-ecmascript": "^1.2.0" + "regenerate": "^1.4.2", + "regenerate-unicode-properties": "^9.0.0", + "regjsgen": "^0.5.2", + "regjsparser": "^0.7.0", + "unicode-match-property-ecmascript": "^2.0.0", + "unicode-match-property-value-ecmascript": "^2.0.0" } }, "registry-auth-token": { @@ -21160,9 +21782,9 @@ "integrity": "sha512-OFFT3MfrH90xIW8OOSyUrk6QHD5E9JOTeGodiJeBS3J6IwlgzJMNE/1bZklWz5oTg+9dCMyEetclvCVXOPoN3A==" }, "regjsparser": { - "version": "0.6.9", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.9.tgz", - "integrity": "sha512-ZqbNRz1SNjLAiYuwY0zoXW8Ne675IX5q+YHioAGbCw4X96Mjl2+dcX9B2ciaeyYjViDAfvIjFpQjJgLttTEERQ==", + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.7.0.tgz", + "integrity": "sha512-A4pcaORqmNMDVwUjWoTzuhwMGpP+NykpfqAsEgI1FSH/EzC7lrN5TMd+kN8YCovX+jMpu8eaqXgXPCa0g8FQNQ==", "requires": { "jsesc": "~0.5.0" }, @@ -21391,9 +22013,9 @@ "integrity": "sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo=" }, "selfsigned": { - "version": "1.10.8", - "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-1.10.8.tgz", - "integrity": "sha512-2P4PtieJeEwVgTU9QEcwIRDQ/mXJLX8/+I3ur+Pg16nS8oNbrGxEso9NyYWy8NAmXiNl4dlAp5MwoNeCWzON4w==", + "version": "1.10.11", + "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-1.10.11.tgz", + "integrity": "sha512-aVmbPOfViZqOZPgRBT0+3u4yZFHpmnIghLMlAcb5/xhp5ZtB/RVnKhz5vl2M32CLXAqR4kha9zfhNg0Lf/sxKA==", "requires": { "node-forge": "^0.10.0" } @@ -21412,9 +22034,9 @@ } }, "send": { - "version": "0.17.1", - "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz", - "integrity": "sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==", + "version": "0.17.2", + "resolved": "https://registry.npmjs.org/send/-/send-0.17.2.tgz", + "integrity": "sha512-UJYB6wFSJE3G00nEivR5rgWp8c2xXvJ3OPWPhmuteU0IKj8nKbG3DrjiOmLwpnHGYWAVwA69zmTm++YG0Hmwww==", "requires": { "debug": "2.6.9", "depd": "~1.1.2", @@ -21423,9 +22045,9 @@ "escape-html": "~1.0.3", "etag": "~1.8.1", "fresh": "0.5.2", - "http-errors": "~1.7.2", + "http-errors": "1.8.1", "mime": "1.6.0", - "ms": "2.1.1", + "ms": "2.1.3", "on-finished": "~2.3.0", "range-parser": "~1.2.1", "statuses": "~1.5.0" @@ -21437,9 +22059,9 @@ "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==" }, "ms": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", - "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==" + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" } } }, @@ -21489,14 +22111,14 @@ } }, "serve-static": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz", - "integrity": "sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==", + "version": "1.14.2", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.2.tgz", + "integrity": "sha512-+TMNA9AFxUEGuC0z2mevogSnn9MXKb4fa7ngeRMJaaGv8vTwnIEkKi+QGvPt33HSnf8pRS+WGM0EbMtCJLKMBQ==", "requires": { "encodeurl": "~1.0.2", "escape-html": "~1.0.3", "parseurl": "~1.3.3", - "send": "0.17.1" + "send": "0.17.2" } }, "set-blocking": { @@ -21521,9 +22143,9 @@ "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=" }, "setprototypeof": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", - "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==" + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" }, "sha.js": { "version": "2.4.11", @@ -21547,6 +22169,16 @@ "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=" }, + "side-channel": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "requires": { + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" + } + }, "signal-exit": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", @@ -21708,26 +22340,33 @@ } }, "sockjs": { - "version": "0.3.21", - "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.21.tgz", - "integrity": "sha512-DhbPFGpxjc6Z3I+uX07Id5ZO2XwYsWOrYjaSeieES78cq+JaJvVe5q/m1uvjIQhXinhIeCFRH6JgXe+mvVMyXw==", + "version": "0.3.24", + "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz", + "integrity": "sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==", "requires": { "faye-websocket": "^0.11.3", - "uuid": "^3.4.0", + "uuid": "^8.3.2", "websocket-driver": "^0.7.4" + }, + "dependencies": { + "uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==" + } } }, "sockjs-client": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.5.1.tgz", - "integrity": "sha512-VnVAb663fosipI/m6pqRXakEOw7nvd7TUgdr3PlR/8V2I95QIdwT8L4nMxhyU8SmDBHYXU1TOElaKOmKLfYzeQ==", + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.5.2.tgz", + "integrity": "sha512-ZzRxPBISQE7RpzlH4tKJMQbHM9pabHluk0WBaxAQ+wm/UieeBVBou0p4wVnSQGN9QmpAZygQ0cDIypWuqOFmFQ==", "requires": { "debug": "^3.2.6", "eventsource": "^1.0.7", "faye-websocket": "^0.11.3", "inherits": "^2.0.4", "json3": "^3.3.3", - "url-parse": "^1.5.1" + "url-parse": "^1.5.3" }, "dependencies": { "debug": { @@ -21776,9 +22415,9 @@ } }, "source-map-support": { - "version": "0.5.19", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz", - "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==", + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", "requires": { "buffer-from": "^1.0.0", "source-map": "^0.6.0" @@ -21809,9 +22448,9 @@ }, "dependencies": { "debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", + "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", "requires": { "ms": "2.1.2" } @@ -21837,9 +22476,9 @@ }, "dependencies": { "debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", + "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", "requires": { "ms": "2.1.2" } @@ -22013,17 +22652,17 @@ "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=" }, "std-env": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/std-env/-/std-env-2.3.0.tgz", - "integrity": "sha512-4qT5B45+Kjef2Z6pE0BkskzsH0GO7GrND0wGlTM1ioUe3v0dGYx9ZJH0Aro/YyA8fqQ5EyIKDRjZojJYMFTflw==", + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/std-env/-/std-env-2.3.1.tgz", + "integrity": "sha512-eOsoKTWnr6C8aWrqJJ2KAReXoa7Vn5Ywyw6uCXgA/xDhxPoaIsBa5aNJmISY04dLwXPBnDHW4diGM7Sn5K4R/g==", "requires": { - "ci-info": "^3.0.0" + "ci-info": "^3.1.1" }, "dependencies": { "ci-info": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.1.1.tgz", - "integrity": "sha512-kdRWLBIJwdsYJWYJFtAFFYxybguqeF91qpZaggjG5Nf8QKdizFG2hjqvaTXbxFIcYbSaD74KpAXv6BSm17DHEQ==" + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.3.0.tgz", + "integrity": "sha512-riT/3vI5YpVH6/qomlDnJow6TBee2PBKSEpx3O32EGPYbWGIRsIlGRms3Sm74wYE1JMo8RnO04Hb12+v1J5ICw==" } } }, @@ -22517,9 +23156,9 @@ } }, "toidentifier": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz", - "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==" + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==" }, "token-stream": { "version": "1.0.0", @@ -22636,28 +23275,28 @@ } }, "unicode-canonical-property-names-ecmascript": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz", - "integrity": "sha512-jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ==" + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", + "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==" }, "unicode-match-property-ecmascript": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz", - "integrity": "sha512-L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG/5X3MjS+k/Y9Xw4SFCY9IkR0rg==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", + "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", "requires": { - "unicode-canonical-property-names-ecmascript": "^1.0.4", - "unicode-property-aliases-ecmascript": "^1.0.4" + "unicode-canonical-property-names-ecmascript": "^2.0.0", + "unicode-property-aliases-ecmascript": "^2.0.0" } }, "unicode-match-property-value-ecmascript": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.2.0.tgz", - "integrity": "sha512-wjuQHGQVofmSJv1uVISKLE5zO2rNGzM/KCYZch/QQvez7C1hUhBIuZ701fYXExuufJFMPhv2SyL8CyoIfMLbIQ==" + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.0.0.tgz", + "integrity": "sha512-7Yhkc0Ye+t4PNYzOGKedDhXbYIBe1XEQYQxOPyhcXNMJ0WCABqqj6ckydd6pWRZTHV4GuCPKdBAUiMc60tsKVw==" }, "unicode-property-aliases-ecmascript": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.1.0.tgz", - "integrity": "sha512-PqSoPh/pWetQ2phoj5RLiaqIk4kCNwoV3CI+LfGmWLKI3rE3kl1h59XpX2BjgDrmbxD9ARtQobPGU1SguCYuQg==" + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.0.0.tgz", + "integrity": "sha512-5Zfuy9q/DFr4tfO7ZPeVXb1aPoeQSdeFMLpYuFebehDAhbuevLs5yxSZmIFN1tP5F9Wl4IpJrYojg85/zgyZHQ==" }, "union-value": { "version": "1.0.1", @@ -22977,6 +23616,13 @@ "assert-plus": "^1.0.0", "core-util-is": "1.0.2", "extsprintf": "^1.2.0" + }, + "dependencies": { + "core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" + } } }, "vm-browserify": { @@ -23000,9 +23646,9 @@ "integrity": "sha512-BXq3jwIagosjgNVae6tkHzzIk6a8MHFtzAdwhnV5VlvPTFxDCvIttgSiHWjdGoTJvXtmRu5HacExfdarRcFhog==" }, "vue-loader": { - "version": "15.9.6", - "resolved": "https://registry.npmjs.org/vue-loader/-/vue-loader-15.9.6.tgz", - "integrity": "sha512-j0cqiLzwbeImIC6nVIby2o/ABAWhlppyL/m5oJ67R5MloP0hj/DtFgb0Zmq3J9CG7AJ+AXIvHVnJAPBvrLyuDg==", + "version": "15.9.8", + "resolved": "https://registry.npmjs.org/vue-loader/-/vue-loader-15.9.8.tgz", + "integrity": "sha512-GwSkxPrihfLR69/dSV3+5CdMQ0D+jXg8Ma1S4nQXKJAznYFX14vHdc/NetQc34Dw+rBbIJyP7JOuVb9Fhprvog==", "requires": { "@vue/component-compiler-utils": "^3.1.0", "hash-sum": "^1.0.2", @@ -23012,14 +23658,14 @@ } }, "vue-router": { - "version": "3.5.1", - "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-3.5.1.tgz", - "integrity": "sha512-RRQNLT8Mzr8z7eL4p7BtKvRaTSGdCbTy2+Mm5HTJvLGYSSeG9gDzNasJPP/yOYKLy+/cLG/ftrqq5fvkFwBJEw==" + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-3.5.3.tgz", + "integrity": "sha512-FUlILrW3DGitS2h+Xaw8aRNvGTwtuaxrRkNSHWTizOfLUie7wuYwezeZ50iflRn8YPV5kxmU2LQuu3nM/b3Zsg==" }, "vue-server-renderer": { - "version": "2.6.12", - "resolved": "https://registry.npmjs.org/vue-server-renderer/-/vue-server-renderer-2.6.12.tgz", - "integrity": "sha512-3LODaOsnQx7iMFTBLjki8xSyOxhCtbZ+nQie0wWY4iOVeEtTg1a3YQAjd82WvKxrWHHTshjvLb7OXMc2/dYuxw==", + "version": "2.6.14", + "resolved": "https://registry.npmjs.org/vue-server-renderer/-/vue-server-renderer-2.6.14.tgz", + "integrity": "sha512-HifYRa/LW7cKywg9gd4ZtvtRuBlstQBao5ZCWlg40fyB4OPoGfEXAzxb0emSLv4pBDOHYx0UjpqvxpiQFEuoLA==", "requires": { "chalk": "^1.1.3", "hash-sum": "^1.0.2", @@ -23091,9 +23737,9 @@ } }, "vue-template-compiler": { - "version": "2.6.12", - "resolved": "https://registry.npmjs.org/vue-template-compiler/-/vue-template-compiler-2.6.12.tgz", - "integrity": "sha512-OzzZ52zS41YUbkCBfdXShQTe69j1gQDZ9HIX8miuC9C3rBCk9wIRjLiZZLrmX9V+Ftq/YEyv1JaVr5Y/hNtByg==", + "version": "2.6.14", + "resolved": "https://registry.npmjs.org/vue-template-compiler/-/vue-template-compiler-2.6.14.tgz", + "integrity": "sha512-ODQS1SyMbjKoO1JBJZojSw6FE4qnh9rIpUZn2EUT86FKizx9uH5z6uXiIrm4/Nb/gwxTi/o17ZDEGWAXHvtC7g==", "requires": { "de-indent": "^1.0.2", "he": "^1.1.0" @@ -23105,12 +23751,12 @@ "integrity": "sha512-4gDntzrifFnCEvyoO8PqyJDmguXgVPxKiIxrBKjIowvL9l+N66196+72XVYR8BBf1Uv1Fgt3bGevJ+sEmxfZzw==" }, "vuepress": { - "version": "1.8.2", - "resolved": "https://registry.npmjs.org/vuepress/-/vuepress-1.8.2.tgz", - "integrity": "sha512-BU1lUDwsA3ghf7a9ga4dsf0iTc++Z/l7BR1kUagHWVBHw7HNRgRDfAZBDDQXhllMILVToIxaTifpne9mSi94OA==", + "version": "1.8.3", + "resolved": "https://registry.npmjs.org/vuepress/-/vuepress-1.8.3.tgz", + "integrity": "sha512-1iro+COj3lAXiIS0B3HApYzFZxE6GHmXjxoYrZJvFds3W3gcynxw/umM5hxA+goyx8n/OtsuHN60/qstz9gDVQ==", "requires": { - "@vuepress/core": "1.8.2", - "@vuepress/theme-default": "1.8.2", + "@vuepress/core": "1.8.3", + "@vuepress/theme-default": "1.8.3", "cac": "^6.5.6", "envinfo": "^7.2.0", "opencollective-postinstall": "^2.0.2", @@ -23169,11 +23815,10 @@ } }, "vuepress-plugin-container": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/vuepress-plugin-container/-/vuepress-plugin-container-2.1.5.tgz", - "integrity": "sha512-TQrDX/v+WHOihj3jpilVnjXu9RcTm6m8tzljNJwYhxnJUW0WWQ0hFLcDTqTBwgKIFdEiSxVOmYE+bJX/sq46MA==", + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/vuepress-plugin-container/-/vuepress-plugin-container-2.1.4.tgz", + "integrity": "sha512-l+EkeL+rC6DJch1wAZUFIkNDaz2TNOg4NQTHa3yMAsYkC+QaSRubGdN6YwOSmfjxVmM9s9D3gwBWw0O7OBhqRg==", "requires": { - "@vuepress/shared-utils": "^1.2.0", "markdown-it-container": "^2.0.0" } }, @@ -23246,15 +23891,6 @@ } } }, - "watchpack-chokidar2": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/watchpack-chokidar2/-/watchpack-chokidar2-2.0.1.tgz", - "integrity": "sha512-nCFfBIPKr5Sh61s4LPpy1Wtfi0HE8isJ3d2Yb5/Ppw2P2B/3eVSEBjKfN0fmHJSK14+31KwMKmcrzs2GM4P0Ww==", - "optional": true, - "requires": { - "chokidar": "^2.1.8" - } - }, "wbuf": { "version": "1.7.3", "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz", @@ -23269,9 +23905,9 @@ "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==" }, "webpack": { - "version": "4.46.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.46.0.tgz", - "integrity": "sha512-6jJuJjg8znb/xRItk7bkT0+Q7AHCYjjFnvKIWQPkNIOyRqoCGvkOs0ipeQzrqz4l5FtN5ZI/ukEHroeX/o1/5Q==", + "version": "4.43.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.43.0.tgz", + "integrity": "sha512-GW1LjnPipFW2Y78OOab8NJlCflB7EFskMih2AHdvjbpKMeDJqEgSx24cXXXiPS65+WSwVyxtDsJH6jGX2czy+g==", "requires": { "@webassemblyjs/ast": "1.9.0", "@webassemblyjs/helper-module-context": "1.9.0", @@ -23281,7 +23917,7 @@ "ajv": "^6.10.2", "ajv-keywords": "^3.4.1", "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^4.5.0", + "enhanced-resolve": "^4.1.0", "eslint-scope": "^4.0.3", "json-parse-better-errors": "^1.0.2", "loader-runner": "^2.4.0", @@ -23294,7 +23930,7 @@ "schema-utils": "^1.0.0", "tapable": "^1.1.3", "terser-webpack-plugin": "^1.4.3", - "watchpack": "^1.7.4", + "watchpack": "^1.6.1", "webpack-sources": "^1.4.1" }, "dependencies": { @@ -23420,14 +24056,14 @@ } }, "watchpack": { - "version": "1.7.5", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.7.5.tgz", - "integrity": "sha512-9P3MWk6SrKjHsGkLT2KHXdQ/9SNkyoJbabxnKOoJepsvJjJG8uYTR3yTPxPQvNDI3w4Nz1xnE0TLHK4RIVe/MQ==", + "version": "1.7.1", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.7.1.tgz", + "integrity": "sha512-1OeW6LucExk7h6lBuCr1isK5261Tf0PHNRG9tZjg2WKUsSkPwvyv37d7mgAUk1rZjxxaL/6WttSGMUY2hn/20g==", "requires": { - "chokidar": "^3.4.1", + "chokidar": "^3.4.0", + "chokidar2": "file:chokidar2", "graceful-fs": "^4.1.2", - "neo-async": "^2.5.0", - "watchpack-chokidar2": "^2.0.1" + "neo-async": "^2.5.0" } } } @@ -23509,9 +24145,9 @@ "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" }, "debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", + "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", "requires": { "ms": "2.1.2" } diff --git a/go.mod b/go.mod index ae2d93ad884..3e5f606755d 100644 --- a/go.mod +++ b/go.mod @@ -54,6 +54,7 @@ require ( github.com/dvsekhvalnov/jose2go v0.0.0-20200901110807-248326c1351b // indirect github.com/felixge/httpsnoop v1.0.1 // indirect github.com/fsnotify/fsnotify v1.5.1 // indirect + github.com/gin-gonic/gin v1.7.0 // indirect github.com/go-kit/kit v0.10.0 // indirect github.com/go-logfmt/logfmt v0.5.0 // indirect github.com/godbus/dbus v0.0.0-20190726142602-4481cbc300e2 // indirect @@ -86,6 +87,8 @@ require ( github.com/mitchellh/go-homedir v1.1.0 // indirect github.com/mitchellh/mapstructure v1.4.3 // indirect github.com/mtibben/percent v0.2.1 // indirect + github.com/opencontainers/image-spec v1.0.2 // indirect + github.com/opencontainers/runc v1.0.3 // indirect github.com/pelletier/go-toml v1.9.4 // indirect github.com/petermattis/goid v0.0.0-20180202154549-b0b1615b78e5 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect diff --git a/go.sum b/go.sum index 429f21379be..8342959fd77 100644 --- a/go.sum +++ b/go.sum @@ -298,8 +298,9 @@ github.com/gballet/go-libpcsclite v0.0.0-20190607065134-2772fd86a8ff/go.mod h1:x github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= github.com/gin-contrib/sse v0.1.0 h1:Y/yl/+YNO8GZSjAhjMsSuLt29uWRFHdHYUb5lYOV9qE= github.com/gin-contrib/sse v0.1.0/go.mod h1:RHrZQHXnP2xjPF+u1gW/2HnVO7nvIa9PG3Gm+fLHvGI= -github.com/gin-gonic/gin v1.6.3 h1:ahKqKTFpO5KTPHxWZjEdPScmYaGtLo8Y4DMHoEsnp14= github.com/gin-gonic/gin v1.6.3/go.mod h1:75u5sXoLsGZoRN5Sgbi1eraJ4GU3++wFwWzhwvtwp4M= +github.com/gin-gonic/gin v1.7.0 h1:jGB9xAJQ12AIGNB4HguylppmDK1Am9ppF7XnGXXJuoU= +github.com/gin-gonic/gin v1.7.0/go.mod h1:jD2toBW3GZUr5UMcdrwQA10I7RuaFOl/SGeDjXkfUtY= github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU= github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= @@ -318,8 +319,9 @@ github.com/go-playground/locales v0.13.0 h1:HyWk6mgj5qFqCT5fjGBuRArbVDfE4hi8+e8c github.com/go-playground/locales v0.13.0/go.mod h1:taPMhCMXrRLJO55olJkUXHZBHCxTMfnGwq/HNwmWNS8= github.com/go-playground/universal-translator v0.17.0 h1:icxd5fm+REJzpZx7ZfpaD876Lmtgy7VtROAbHHXk8no= github.com/go-playground/universal-translator v0.17.0/go.mod h1:UkSxE5sNxxRwHyU+Scu5vgOQjsIJAF8j9muTVoKLVtA= -github.com/go-playground/validator/v10 v10.2.0 h1:KgJ0snyC2R9VXYN2rneOtQcw5aHQB1Vv0sFl1UcHBOY= github.com/go-playground/validator/v10 v10.2.0/go.mod h1:uOYAAleCW8F/7oMFd6aG0GOhaH6EGOAJShg8Id5JGkI= +github.com/go-playground/validator/v10 v10.4.1 h1:pH2c5ADXtd66mxoE0Zm9SUhxE20r7aM3F26W0hOn+GE= +github.com/go-playground/validator/v10 v10.4.1/go.mod h1:nlOn6nFhuKACm19sB/8EGNn9GlaMV7XkbRSipzJ0Ii4= github.com/go-sourcemap/sourcemap v2.1.2+incompatible/go.mod h1:F8jJfvm2KbVjc5NqelyYJmf/v5J0dwNLS2mL4sNA1Jg= github.com/go-sql-driver/mysql v1.4.0/go.mod h1:zAC/RDZ24gD3HViQzih4MyKcchzm+sOG5ZlKdlhCg5w= github.com/go-stack/stack v1.8.0 h1:5SgMzNM5HxrEjV0ww2lTmX6E2Izsfxas4+YHWRs3Lsk= @@ -681,11 +683,13 @@ github.com/onsi/gomega v1.13.0/go.mod h1:lRk9szgn8TxENtWd0Tp4c3wjlRfMTMH27I+3Je4 github.com/op/go-logging v0.0.0-20160315200505-970db520ece7/go.mod h1:HzydrMdWErDVzsI23lYNej1Htcns9BCg93Dk0bBINWk= github.com/opencontainers/go-digest v1.0.0-rc1 h1:WzifXhOVOEOuFYOJAW6aQqW0TooG2iki3E3Ii+WN7gQ= github.com/opencontainers/go-digest v1.0.0-rc1/go.mod h1:cMLVZDEM3+U2I4VmLI6N8jQYUd2OVphdqWwCJHrFt2s= -github.com/opencontainers/image-spec v1.0.1 h1:JMemWkRwHx4Zj+fVxWoMCFm/8sYGGrUVojFA6h/TRcI= github.com/opencontainers/image-spec v1.0.1/go.mod h1:BtxoFyWECRxE4U/7sNtV5W15zMzWCbyJoFRP3s7yZA0= +github.com/opencontainers/image-spec v1.0.2 h1:9yCKha/T5XdGtO0q9Q9a6T5NUCsTn/DrBg0D7ufOcFM= +github.com/opencontainers/image-spec v1.0.2/go.mod h1:BtxoFyWECRxE4U/7sNtV5W15zMzWCbyJoFRP3s7yZA0= github.com/opencontainers/runc v0.1.1/go.mod h1:qT5XzbpPznkRYVz/mWwUaVBUv2rmF59PVA73FjuZG0U= -github.com/opencontainers/runc v1.0.2 h1:opHZMaswlyxz1OuGpBE53Dwe4/xF7EZTY0A2L/FpCOg= github.com/opencontainers/runc v1.0.2/go.mod h1:aTaHFFwQXuA71CiyxOdFFIorAoemI04suvGRQFzWTD0= +github.com/opencontainers/runc v1.0.3 h1:1hbqejyQWCJBvtKAfdO0b1FmaEf2z/bxnjqbARass5k= +github.com/opencontainers/runc v1.0.3/go.mod h1:aTaHFFwQXuA71CiyxOdFFIorAoemI04suvGRQFzWTD0= github.com/opencontainers/runtime-spec v1.0.3-0.20210326190908-1c3f411f0417/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0= github.com/opencontainers/selinux v1.8.2/go.mod h1:MUIHuUEvKB1wtJjQdOyYRgOnLD2xAPP8dBsCoU0KuF8= github.com/opentracing-contrib/go-observer v0.0.0-20170622124052-a52f23424492/go.mod h1:Ngi6UdF0k5OKD5t5wlmGhe/EDKPoUM3BXZSSfIuJbis= From a5fadc5319a2ae69ee0d22d26cc99749b11e5e23 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?colin=20axn=C3=A9r?= <25233464+colin-axner@users.noreply.github.com> Date: Wed, 22 Dec 2021 15:56:13 +0100 Subject: [PATCH 085/107] update vue dependency (#662) --- docs/package-lock.json | 13 +++++++------ docs/package.json | 1 + 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/docs/package-lock.json b/docs/package-lock.json index 40035a7e73e..2919c49e3eb 100644 --- a/docs/package-lock.json +++ b/docs/package-lock.json @@ -9,6 +9,7 @@ "version": "1.0.0", "license": "ISC", "dependencies": { + "vue": "^2.6.14", "vuepress-theme-cosmos": "^1.0.182" }, "devDependencies": { @@ -12575,9 +12576,9 @@ } }, "node_modules/vue": { - "version": "2.6.12", - "resolved": "https://registry.npmjs.org/vue/-/vue-2.6.12.tgz", - "integrity": "sha512-uhmLFETqPPNyuLLbsKz6ioJ4q7AZHzD8ZVFNATNyICSZouqP2Sz0rotWQC8UNBF6VGSCs5abnKJoStA6JbCbfg==" + "version": "2.6.14", + "resolved": "https://registry.npmjs.org/vue/-/vue-2.6.14.tgz", + "integrity": "sha512-x2284lgYvjOMj3Za7kqzRcUSxBboHqtgRE2zlos1qWaOye5yUmHn42LB1250NJBLRwEcdrB0JRwyPTEPhfQjiQ==" }, "node_modules/vue-hot-reload-api": { "version": "2.3.4", @@ -23636,9 +23637,9 @@ "integrity": "sha1-YU9/v42AHwu18GYfWy9XhXUOTwk=" }, "vue": { - "version": "2.6.12", - "resolved": "https://registry.npmjs.org/vue/-/vue-2.6.12.tgz", - "integrity": "sha512-uhmLFETqPPNyuLLbsKz6ioJ4q7AZHzD8ZVFNATNyICSZouqP2Sz0rotWQC8UNBF6VGSCs5abnKJoStA6JbCbfg==" + "version": "2.6.14", + "resolved": "https://registry.npmjs.org/vue/-/vue-2.6.14.tgz", + "integrity": "sha512-x2284lgYvjOMj3Za7kqzRcUSxBboHqtgRE2zlos1qWaOye5yUmHn42LB1250NJBLRwEcdrB0JRwyPTEPhfQjiQ==" }, "vue-hot-reload-api": { "version": "2.3.4", diff --git a/docs/package.json b/docs/package.json index e97a0bad3ed..bb3986aeeec 100644 --- a/docs/package.json +++ b/docs/package.json @@ -13,6 +13,7 @@ "author": "", "license": "ISC", "dependencies": { + "vue": "^2.6.14", "vuepress-theme-cosmos": "^1.0.182" }, "devDependencies": { From 25d4544c27bc51a71b8bfbb6ed4cfbbf3a0d5bff Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?colin=20axn=C3=A9r?= <25233464+colin-axner@users.noreply.github.com> Date: Wed, 22 Dec 2021 16:12:21 +0100 Subject: [PATCH 086/107] bump glob-parent version in json package (#663) --- docs/package-lock.json | 181 +++++++++++++++++++++++++++++------------ docs/package.json | 1 + 2 files changed, 132 insertions(+), 50 deletions(-) diff --git a/docs/package-lock.json b/docs/package-lock.json index 2919c49e3eb..d63a43a3fac 100644 --- a/docs/package-lock.json +++ b/docs/package-lock.json @@ -9,6 +9,7 @@ "version": "1.0.0", "license": "ISC", "dependencies": { + "glob-parent": "^5.1.2", "vue": "^2.6.14", "vuepress-theme-cosmos": "^1.0.182" }, @@ -3801,6 +3802,26 @@ "fsevents": "^1.2.7" } }, + "node_modules/chokidar/node_modules/glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", + "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", + "dependencies": { + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" + } + }, + "node_modules/chokidar/node_modules/glob-parent/node_modules/is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "dependencies": { + "is-extglob": "^2.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/chokidar2": { "resolved": "node_modules/webpack/node_modules/watchpack/chokidar2", "link": true @@ -4366,6 +4387,26 @@ "node": ">=6" } }, + "node_modules/copy-webpack-plugin/node_modules/glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", + "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", + "dependencies": { + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" + } + }, + "node_modules/copy-webpack-plugin/node_modules/glob-parent/node_modules/is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "dependencies": { + "is-extglob": "^2.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/copy-webpack-plugin/node_modules/globby": { "version": "7.1.1", "resolved": "https://registry.npmjs.org/globby/-/globby-7.1.1.tgz", @@ -5911,6 +5952,26 @@ "node": ">=4.0.0" } }, + "node_modules/fast-glob/node_modules/glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", + "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", + "dependencies": { + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" + } + }, + "node_modules/fast-glob/node_modules/glob-parent/node_modules/is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "dependencies": { + "is-extglob": "^2.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/fast-json-stable-stringify": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", @@ -6288,23 +6349,14 @@ } }, "node_modules/glob-parent": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", - "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", - "dependencies": { - "is-glob": "^3.1.0", - "path-dirname": "^1.0.0" - } - }, - "node_modules/glob-parent/node_modules/is-glob": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", - "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", "dependencies": { - "is-extglob": "^2.1.0" + "is-glob": "^4.0.1" }, "engines": { - "node": ">=0.10.0" + "node": ">= 6" } }, "node_modules/glob-to-regexp": { @@ -13236,18 +13288,6 @@ "node": "^8.16.0 || ^10.6.0 || >=11.0.0" } }, - "node_modules/webpack/node_modules/glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "optional": true, - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" - } - }, "node_modules/webpack/node_modules/is-binary-path": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", @@ -16617,6 +16657,27 @@ "path-is-absolute": "^1.0.0", "readdirp": "^2.2.1", "upath": "^1.1.1" + }, + "dependencies": { + "glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", + "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", + "requires": { + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" + }, + "dependencies": { + "is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "requires": { + "is-extglob": "^2.1.0" + } + } + } + } } }, "chokidar2": { @@ -17063,6 +17124,25 @@ "locate-path": "^3.0.0" } }, + "glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", + "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", + "requires": { + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" + }, + "dependencies": { + "is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "requires": { + "is-extglob": "^2.1.0" + } + } + } + }, "globby": { "version": "7.1.1", "resolved": "https://registry.npmjs.org/globby/-/globby-7.1.1.tgz", @@ -18293,6 +18373,27 @@ "is-glob": "^4.0.0", "merge2": "^1.2.3", "micromatch": "^3.1.10" + }, + "dependencies": { + "glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", + "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", + "requires": { + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" + }, + "dependencies": { + "is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "requires": { + "is-extglob": "^2.1.0" + } + } + } + } } }, "fast-json-stable-stringify": { @@ -18568,22 +18669,11 @@ } }, "glob-parent": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", - "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", "requires": { - "is-glob": "^3.1.0", - "path-dirname": "^1.0.0" - }, - "dependencies": { - "is-glob": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", - "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", - "requires": { - "is-extglob": "^2.1.0" - } - } + "is-glob": "^4.0.1" } }, "glob-to-regexp": { @@ -23996,15 +24086,6 @@ "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", "optional": true }, - "glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "optional": true, - "requires": { - "is-glob": "^4.0.1" - } - }, "is-binary-path": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", diff --git a/docs/package.json b/docs/package.json index bb3986aeeec..66d4978ec4e 100644 --- a/docs/package.json +++ b/docs/package.json @@ -13,6 +13,7 @@ "author": "", "license": "ISC", "dependencies": { + "glob-parent": "^5.1.2", "vue": "^2.6.14", "vuepress-theme-cosmos": "^1.0.182" }, From ce4c81e7023bb2079308b30b757ebc0d2f5d520f Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 22 Dec 2021 16:12:42 +0100 Subject: [PATCH 087/107] build(deps): bump actions/setup-go from 2.1.4 to 2.1.5 (#656) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Bumps [actions/setup-go](https://github.com/actions/setup-go) from 2.1.4 to 2.1.5. - [Release notes](https://github.com/actions/setup-go/releases) - [Commits](https://github.com/actions/setup-go/compare/v2.1.4...v2.1.5) --- updated-dependencies: - dependency-name: actions/setup-go dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: colin axnér <25233464+colin-axner@users.noreply.github.com> --- .github/workflows/test.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 94c37cdf187..2af2dbfac56 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -18,7 +18,7 @@ jobs: install-tparse: runs-on: ubuntu-latest steps: - - uses: actions/setup-go@v2.1.4 + - uses: actions/setup-go@v2.1.5 with: go-version: 1.17 - name: Display go version @@ -38,7 +38,7 @@ jobs: go-arch: ["amd64", "arm", "arm64"] steps: - uses: actions/checkout@v2.3.4 - - uses: actions/setup-go@v2.1.4 + - uses: actions/setup-go@v2.1.5 with: go-version: 1.17 - uses: technote-space/get-diff-action@v5 @@ -86,7 +86,7 @@ jobs: part: ["00", "01", "02", "03"] steps: - uses: actions/checkout@v2.3.4 - - uses: actions/setup-go@v2.1.4 + - uses: actions/setup-go@v2.1.5 with: go-version: 1.17 - uses: technote-space/get-diff-action@v5 From b7fb4f169dd1ecf25fee83f036c6abca59bc53c7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?colin=20axn=C3=A9r?= <25233464+colin-axner@users.noreply.github.com> Date: Wed, 22 Dec 2021 16:13:04 +0100 Subject: [PATCH 088/107] docs: begin removal of internal "spec" directories (#634) * begin removal of spec docs within core ibc * remove broken link * Apply suggestions from code review Co-authored-by: Damian Nolan * remove broken link * remove broken links * Apply suggestions from code review Co-authored-by: Carlos Rodriguez Co-authored-by: Damian Nolan Co-authored-by: Carlos Rodriguez --- .../spec/06_events.md => docs/ibc/events.md | 4 +- docs/ibc/overview.md | 90 +++- .../spec/07_params.md => docs/ibc/params.md | 6 +- docs/ibc/relayer.md | 2 +- modules/core/24-host/doc.go | 9 + modules/core/spec/01_concepts.md | 188 ------- modules/core/spec/02_state.md | 28 - modules/core/spec/03_state_transitions.md | 106 ---- modules/core/spec/04_messages.md | 497 ------------------ modules/core/spec/05_callbacks.md | 80 --- modules/core/spec/README.md | 26 - .../06-solomachine/spec/02_state.md | 3 - .../06-solomachine/spec/04_messages.md | 8 - .../06-solomachine/spec/README.md | 1 - 14 files changed, 101 insertions(+), 947 deletions(-) rename modules/core/spec/06_events.md => docs/ibc/events.md (99%) rename modules/core/spec/07_params.md => docs/ibc/params.md (88%) create mode 100644 modules/core/24-host/doc.go delete mode 100644 modules/core/spec/02_state.md delete mode 100644 modules/core/spec/03_state_transitions.md delete mode 100644 modules/core/spec/04_messages.md delete mode 100644 modules/core/spec/05_callbacks.md delete mode 100644 modules/core/spec/README.md delete mode 100644 modules/light-clients/06-solomachine/spec/04_messages.md diff --git a/modules/core/spec/06_events.md b/docs/ibc/events.md similarity index 99% rename from modules/core/spec/06_events.md rename to docs/ibc/events.md index 8a416217e1f..b7b28351cab 100644 --- a/modules/core/spec/06_events.md +++ b/docs/ibc/events.md @@ -1,9 +1,11 @@ # Events +**NOTE**: This document is unmaintained and may be out of date! + The IBC module emits the following events. It can be expected that the type `message`, with an attirbute key of `action` will represent the first event for each message being processed as emitted by the SDK's baseapp. Each IBC TAO message will diff --git a/docs/ibc/overview.md b/docs/ibc/overview.md index 563a56167ad..53ad64e08e8 100644 --- a/docs/ibc/overview.md +++ b/docs/ibc/overview.md @@ -37,10 +37,19 @@ Read on for a detailed explanation of how to write a self-contained IBC applicat ### [Clients](https://github.com/cosmos/ibc-go/blob/main/modules/core/02-client) -IBC clients are light clients that are identified by a unique client-id. IBC clients track the consensus states of -other blockchains, along with the proof spec necessary to properly verify proofs against the -client's consensus state. A client can be associated with any number of connections to the counterparty -chain. +IBC clients are on-chain light clients. Each light client is identified by a unique client-id. +IBC clients track the consensus states of other blockchains, along with the proof spec necessary to +properly verify proofs against the client's consensus state. A client can be associated with any number +of connections to the counterparty chain. The client identifier is auto generated using the client type +and the global client counter appended in the format: `{client-type}-{N}`. + +A `ClientState` should contain chain specific and light client specific information necessary for verifying updates +and upgrades to the IBC client. The `ClientState` may contain information such as chain-id, latest height, proof specs, +unbonding periods or the status of the light client. The `ClientState` should not contain information that +is specific to a given block at a certain height, this is the function of the `CosnensusState`. Each `ConsensusState` +should be associated with a unique block and should be referenced using a height. IBC clients are given a +client identifier prefixed store to store their associated client state and consensus states along with +any metadata associated with the consensus states. Consensus states are stored using their associated height. The supported IBC clients are: @@ -49,6 +58,60 @@ The supported IBC clients are: * [Localhost (loopback) client](https://github.com/cosmos/ibc-go/blob/main/modules/light-clients/09-localhost): Useful for testing, simulation, and relaying packets to modules on the same application. +### IBC Client Heights + +IBC Client Heights are represented by the struct: + +```go +type Height struct { + RevisionNumber uint64 + RevisionHeight uint64 +} +``` + +The `RevisionNumber` represents the revision of the chain that the height is representing. +A revision typically represents a continuous, monotonically increasing range of block-heights. +The `RevisionHeight` represents the height of the chain within the given revision. + +On any reset of the `RevisionHeight`—for example, when hard-forking a Tendermint chain— +the `RevisionNumber` will get incremented. This allows IBC clients to distinguish between a +block-height `n` of a previous revision of the chain (at revision `p`) and block-height `n` of the current +revision of the chain (at revision `e`). + +`Height`s that share the same revision number can be compared by simply comparing their respective `RevisionHeight`s. +`Height`s that do not share the same revision number will only be compared using their respective `RevisionNumber`s. +Thus a height `h` with revision number `e+1` will always be greater than a height `g` with revision number `e`, +**REGARDLESS** of the difference in revision heights. + +Ex: + +```go +Height{RevisionNumber: 3, RevisionHeight: 0} > Height{RevisionNumber: 2, RevisionHeight: 100000000000} +``` + +When a Tendermint chain is running a particular revision, relayers can simply submit headers and proofs with the revision number +given by the chain's `chainID`, and the revision height given by the Tendermint block height. When a chain updates using a hard-fork +and resets its block-height, it is responsible for updating its `chainID` to increment the revision number. +IBC Tendermint clients then verifies the revision number against their `chainID` and treat the `RevisionHeight` as the Tendermint block-height. + +Tendermint chains wishing to use revisions to maintain persistent IBC connections even across height-resetting upgrades must format their `chainID`s +in the following manner: `{chainID}-{revision_number}`. On any height-resetting upgrade, the `chainID` **MUST** be updated with a higher revision number +than the previous value. + +Ex: + +- Before upgrade `chainID`: `gaiamainnet-3` +- After upgrade `chainID`: `gaiamainnet-4` + +Clients that do not require revisions, such as the solo-machine client, simply hardcode `0` into the revision number whenever they +need to return an IBC height when implementing IBC interfaces and use the `RevisionHeight` exclusively. + +Other client-types can implement their own logic to verify the IBC heights that relayers provide in their `Update`, `Misbehavior`, and +`Verify` functions respectively. + +The IBC interfaces expect an `ibcexported.Height` interface, however all clients must use the concrete implementation provided in +`02-client/types` and reproduced above. + ### [Connections](https://github.com/cosmos/ibc-go/blob/main/modules/core/03-connection) Connections encapsulate two `ConnectionEnd` objects on two separate blockchains. Each @@ -67,6 +130,8 @@ of a handshake or a packet intended to be relayed to a module on the counterpart process monitors for updates to these paths and relays messages by submitting the data stored under the path and a proof to the counterparty chain. +Proofs are passed from core IBC to light-clients as bytes. It is up to light client implementation to interpret these bytes appropriately. + - The paths that all IBC implementations must use for committing IBC messages is defined in [ICS-24 Host State Machine Requirements](https://github.com/cosmos/ics/tree/master/spec/core/ics-024-host-requirements). - The proof format that all implementations must be able to produce and verify is defined in [ICS-23 Proofs](https://github.com/confio/ics23) implementation. @@ -138,11 +203,27 @@ If all handshake steps are successful, the channel is opened on both sides. At e associated with the `ChannelEnd` executes its callback. So on `ChanOpenInit`, the module on chain A executes its callback `OnChanOpenInit`. +The channel identifier is auto derived in the format: `channel-{N}` where N is the next sequence to be used. + Just as ports came with dynamic capabilities, channel initialization returns a dynamic capability that the module **must** claim so that they can pass in a capability to authenticate channel actions like sending packets. The channel capability is passed into the callback on the first parts of the handshake; either `OnChanOpenInit` on the initializing chain or `OnChanOpenTry` on the other chain. +#### Closing channels + +Closing a channel occurs in 2 handshake steps as defined in [ICS 04](https://github.com/cosmos/ibc/tree/master/spec/core/ics-004-channel-and-packet-semantics). + +`ChanCloseInit` closes a channel on the executing chain if the channel exists, it is not +already closed and the connection it exists upon is OPEN. Channels can only be closed by a +calling module or in the case of a packet timeout on an ORDERED channel. + +`ChanCloseConfirm` is a response to a counterparty channel executing `ChanCloseInit`. The channel +on the executing chain closes if the channel exists, the channel is not already closed, +the connection the channel exists upon is OPEN and the executing chain successfully verifies +that the counterparty channel has been closed. + + ### [Packets](https://github.com/cosmos/ibc-go/blob/main/modules/core/04-channel) Modules communicate with each other by sending packets over IBC channels. All @@ -211,7 +292,6 @@ The original sender module then executes application-specific acknowledgment log If you want to learn more about IBC, check the following specifications: * [IBC specification overview](https://github.com/cosmos/ibc/blob/master/README.md) -* [IBC SDK specification](../../modules/core/spec/README.md) ## Next {hide} diff --git a/modules/core/spec/07_params.md b/docs/ibc/params.md similarity index 88% rename from modules/core/spec/07_params.md rename to docs/ibc/params.md index 67e79ef81dd..3040eea50b7 100644 --- a/modules/core/spec/07_params.md +++ b/docs/ibc/params.md @@ -1,12 +1,12 @@ # Parameters -## Clients +## 02-Client -The ibc clients contain the following parameters: +The 02-client submodule contains the following parameters: | Key | Type | Default Value | |------------------|------|---------------| diff --git a/docs/ibc/relayer.md b/docs/ibc/relayer.md index 29699d7cb3c..c839c14b60f 100644 --- a/docs/ibc/relayer.md +++ b/docs/ibc/relayer.md @@ -1,5 +1,5 @@ # Relayer diff --git a/modules/core/24-host/doc.go b/modules/core/24-host/doc.go new file mode 100644 index 00000000000..0d73c4e7efe --- /dev/null +++ b/modules/core/24-host/doc.go @@ -0,0 +1,9 @@ +/* +24-host is an implementation of ICS24. + +The storage path supported are defined in [ICS24](https://github.com/cosmos/ibc/blob/master/spec/core/ics-024-host-requirements#path-space). + +Hostname validation is implemented as defined in [ICS 24](https://github.com/cosmos/ibc/tree/master/spec/core/ics-024-host-requirements). + +*/ +package host diff --git a/modules/core/spec/01_concepts.md b/modules/core/spec/01_concepts.md index 05c4e8a3104..0ab6fa70710 100644 --- a/modules/core/spec/01_concepts.md +++ b/modules/core/spec/01_concepts.md @@ -4,28 +4,6 @@ order: 1 # Concepts -## Client Creation, Updates, and Upgrades - -IBC clients are on chain light clients. The light client is responsible for verifying -counterparty state. A light client can be created by any user submitting a valid initial -`ClientState` and `ConsensusState`. The client identifier is auto generated using the -client type and the global client counter appended in the format: `{client-type}-{N}`. -Clients are given a client identifier prefixed store to store their associated client -state and consensus states. Consensus states are stored using their associated height. - -Clients can be updated by any user submitting a valid `Header`. The client state callback -to `CheckHeaderAndUpdateState` is responsible for verifying the header against previously -stored state. The function should also return the updated client state and consensus state -if the header is considered a valid update. A light client, such as Tendermint, may have -client specific parameters like `TrustLevel` which must be considered valid in relation -to the `Header`. The update height is not necessarily the lastest height of the light -client. Updates may fill in missing consensus state heights. - -Clients may be upgraded. The upgrade should be verified using `VerifyUpgrade`. It is not -a requirement to allow for light client upgrades. For example, the solo machine client -will simply return an error on `VerifyUpgrade`. Clients which implement upgrades -are expected to account for, but not necessarily support, planned and unplanned upgrades. - ## Client Misbehaviour IBC clients must freeze when the counterparty chain becomes byzantine and @@ -48,93 +26,6 @@ Governance may then choose to override a frozen client and provide the correct, canonical Header so that the client can continue operating after the Misbehaviour submission. -## ClientUpdateProposal - -A governance proposal may be passed to update a specified client using another client -known as the "substitute client". This is useful in unfreezing clients or updating -expired clients, thereby making the effected channels active again. Each client is -expected to implement this functionality. A client may choose to disallow an update -by a governance proposal by returning an error in the client state function 'CheckSubstituteAndUpdateState'. - -The localhost client cannot be updated by a governance proposal. - -The solo machine client requires the boolean flag 'AllowUpdateAfterProposal' to be set -to true in order to be updated by a proposal. This is set upon client creation and cannot -be updated later. - -The tendermint client has two flags update flags, 'AllowUpdateAfterExpiry' and -'AllowUpdateAfterMisbehaviour'. The former flag can only be used to unexpire clients. The -latter flag can be used to unfreeze a client and if necessary it will also unexpire the client. -It is best practice to initialize a new substitute client instead of using an existing one -This avoids potential issues of the substitute becoming frozen due to misbehaviour or the -subject client becoming refrozen due to misbehaviour not being expired at the time the -proposal passes. These boolean flags are set upon client creation and cannot be updated later. - -The `CheckSubstituteAndUpdateState` function provides the light client with its own client -store, the client store of the substitute, the substitute client state, and the intitial -height that should be used when referring to the substitute client. Most light client -implementations should copy consensus states from the substitute to the subject, but -are not required to do so. Light clients may copy informationa as they deem necessary. - -It is not recommended to use a substitute client in normal operations since the subject -light client will be given unrestricted access to the substitute client store. Governance -should not pass votes which enable byzantine light client modules from modifying the state -of the substitute. - -## IBC Client Heights - -IBC Client Heights are represented by the struct: - -```go -type Height struct { - RevisionNumber uint64 - RevisionHeight uint64 -} -``` - -The `RevisionNumber` represents the revision of the chain that the height is representing. -An revision typically represents a continuous, monotonically increasing range of block-heights. -The `RevisionHeight` represents the height of the chain within the given revision. - -On any reset of the `RevisionHeight`, for example, when hard-forking a Tendermint chain, -the `RevisionNumber` will get incremented. This allows IBC clients to distinguish between a -block-height `n` of a previous revision of the chain (at revision `p`) and block-height `n` of the current -revision of the chain (at revision `e`). - -`Heights` that share the same revision number can be compared by simply comparing their respective `RevisionHeights`. -Heights that do not share the same revision number will only be compared using their respective `RevisionNumbers`. -Thus a height `h` with revision number `e+1` will always be greater than a height `g` with revision number `e`, -**REGARDLESS** of the difference in revision heights. - -Ex: - -```go -Height{RevisionNumber: 3, RevisionHeight: 0} > Height{RevisionNumber: 2, RevisionHeight: 100000000000} -``` - -When a Tendermint chain is running a particular revision, relayers can simply submit headers and proofs with the revision number -given by the chain's chainID, and the revision height given by the Tendermint block height. When a chain updates using a hard-fork -and resets its block-height, it is responsible for updating its chain-id to increment the revision number. -IBC Tendermint clients then verifies the revision number against their `ChainId` and treat the `RevisionHeight` as the Tendermint block-height. - -Tendermint chains wishing to use revisions to maintain persistent IBC connections even across height-resetting upgrades must format their chain-ids -in the following manner: `{chainID}-{revision_number}`. On any height-resetting upgrade, the chainID **MUST** be updated with a higher revision number -than the previous value. - -Ex: - -- Before upgrade ChainID: `gaiamainnet-3` -- After upgrade ChainID: `gaiamainnet-4` - -Clients that do not require revisions, such as the solo-machine client, simply hardcode `0` into the revision number whenever they -need to return an IBC height when implementing IBC interfaces and use the `RevisionHeight` exclusively. - -Other client-types may implement their own logic to verify the IBC Heights that relayers provide in their `Update`, `Misbehavior`, and -`Verify` functions respectively. - -The IBC interfaces expect an `ibcexported.Height` interface, however all clients should use the concrete implementation provided in -`02-client/types` and reproduced above. - ## Connection Handshake The connection handshake occurs in 4 steps as defined in [ICS 03](https://github.com/cosmos/ibc/blob/master/spec/core/ics-003-connection-semantics). @@ -214,40 +105,6 @@ with regards to version selection in `ConnOpenTry`. Each version in a set of versions should have a unique version identifier. ::: -## Channel Handshake - -The channel handshake occurs in 4 steps as defined in [ICS 04](https://github.com/cosmos/ibc/tree/master/spec/core/ics-004-channel-and-packet-semantics). - -`ChanOpenInit` is the first attempt to initialize a channel on top of an existing connection. -The handshake is expected to succeed if the version selected for the existing connection is a -supported IBC version. The portID must correspond to a port already binded upon `InitChain`. -The channel identifier for the counterparty channel must be left empty indicating that the -counterparty must select its own identifier. The channel identifier is auto derived in the -format: `channel{N}` where N is the next sequence to be used. The channel is set and stored -in the INIT state upon success. The channel parameters `NextSequenceSend`, `NextSequenceRecv`, -and `NextSequenceAck` are all set to 1 and a channel capability is created for the given -portID and channelID path. - -`ChanOpenTry` is a response to a chain executing `ChanOpenInit`. If the executing chain is calling -`ChanOpenTry` after previously executing `ChanOpenInit` then the provided channel parameters must -match the previously selected parameters. If the previous channel does not exist then a channel -identifier is generated in the same format as done in `ChanOpenInit`. The connection the channel -is created on top of must be an OPEN state and its IBC version must support the desired channel -type being created (ORDERED, UNORDERED, etc). The executing chain will verify that the channel -state of the counterparty is in INIT. The executing chain will set and store the channel state -in TRYOPEN. The channel parameters `NextSequenceSend`, `NextSequenceRecv`, and `NextSequenceAck` -are all set to 1 and a channel capability is created for the given portID and channelID path only -if the channel did not previously exist. - -`ChanOpenAck` may be called on a chain when the counterparty channel has entered TRYOPEN. A -previous channel on the executing chain must exist be in either INIT or TRYOPEN state. If the -counterparty selected its own channel identifier, it will be validated in the basic validation -of `MsgChanOpenAck`. The executing chain verifies that the counterparty channel state is in -TRYOPEN. The channel is set and stored in the OPEN state upon success. - -`ChanOpenConfirm` is a response to a chain executing `ChanOpenAck`. The executing chain's -previous channel state must be in TRYOPEN. The executing chain verifies that the counterparty -channel state is OPEN. The channel is set and stored in the OPEN state upon success. ## Channel Version Negotiation @@ -346,14 +203,6 @@ commitments could be removed from channels which do not write packet acknowledgements and acknowledgements could be removed when a packet has completed its life cycle. -## Timing out Packets - -A packet may be timed out on the receiving chain if the packet timeout height or timestamp has -been surpassed on the receving chain or the channel has closed. A timed out -packet can only occur if the packet has never been received on the receiving -chain. ORDERED channels will verify that the packet sequence is greater than -the `NextSequenceRecv` on the receiving chain. UNORDERED channels will verify -that the packet receipt has not been written on the receiving chain. A timeout on channel closure will additionally verify that the counterparty channel has been closed. A successful timeout may execute application logic as appropriate. @@ -362,41 +211,4 @@ surpassed on the receiving chain for a timeout to be valid. A timeout timestamp or timeout height with a 0 value indicates the timeout field may be ignored. Each packet is required to have at least one valid timeout field. -## Closing Channels - -Closing a channel occurs in occurs in 2 handshake steps as defined in [ICS 04](https://github.com/cosmos/ibc/tree/master/spec/core/ics-004-channel-and-packet-semantics). - -`ChanCloseInit` will close a channel on the executing chain if the channel exists, it is not -already closed and the connection it exists upon is OPEN. Channels can only be closed by a -calling module or in the case of a packet timeout on an ORDERED channel. - -`ChanCloseConfirm` is a response to a counterparty channel executing `ChanCloseInit`. The channel -on the executing chain will be closed if the channel exists, the channel is not already closed, -the connection the channel exists upon is OPEN and the executing chain successfully verifies -that the counterparty channel has been closed. - -## Port and Channel Capabilities - -## Hostname Validation - -Hostname validation is implemented as defined in [ICS 24](https://github.com/cosmos/ibc/tree/master/spec/core/ics-024-host-requirements). - -The 24-host sub-module parses and validates identifiers. It also builds -the key paths used to store IBC related information. - -A valid identifier must conatin only alphanumeric characters or the -following list of allowed characters: -".", "\_", "+", "-", "#", "[", "]", "<", ">" - -- Client identifiers must contain between 9 and 64 characters. -- Connection identifiers must contain between 10 and 64 characters. -- Channel identifiers must contain between 10 and 64 characters. -- Port identifiers must contain between 2 and 64 characters. - -## Proofs -Proofs for counterparty state validation are provided as bytes. These bytes -can be unmarshaled into proto definitions as necessary by light clients. -For example, the Tendermint light client will use the bytes as a merkle -proof where as the solo machine client will unmarshal the proof into -several layers proto definitions used for signature verficiation. diff --git a/modules/core/spec/02_state.md b/modules/core/spec/02_state.md deleted file mode 100644 index 8357f923c42..00000000000 --- a/modules/core/spec/02_state.md +++ /dev/null @@ -1,28 +0,0 @@ - - -# State - -The paths for the values stored in state is defined [here](https://github.com/cosmos/ibc/blob/master/spec/core/ics-024-host-requirements#path-space). -Additionally, the SDK adds a prefix to the path to be able to aggregate the values for querying purposes. -The client type is not stored since it can be obtained through the client state. - -| Prefix | Path | Value type | -|--------|-----------------------------------------------------------------------------|----------------| -| "0/" | "clients/{identifier}/clientState" | ClientState | -| "0/" | "clients/{identifier}/consensusStates/{height}" | ConsensusState | -| "0/" | "clients/{identifier}/connections" | []string | -| "0/" | "nextClientSequence | uint64 | -| "0/" | "connections/{identifier}" | ConnectionEnd | -| "0/" | "nextConnectionSequence" | uint64 | -| "0/" | "ports/{identifier}" | CapabilityKey | -| "0/" | "channelEnds/ports/{identifier}/channels/{identifier}" | ChannelEnd | -| "0/" | "nextChannelSequence" | uint64 | -| "0/" | "capabilities/ports/{identifier}/channels/{identifier}" | CapabilityKey | -| "0/" | "nextSequenceSend/ports/{identifier}/channels/{identifier}" | uint64 | -| "0/" | "nextSequenceRecv/ports/{identifier}/channels/{identifier}" | uint64 | -| "0/" | "nextSequenceAck/ports/{identifier}/channels/{identifier}" | uint64 | -| "0/" | "commitments/ports/{identifier}/channels/{identifier}/sequences/{sequence}" | bytes | -| "0/" | "receipts/ports/{identifier}/channels/{identifier}/sequences/{sequence}" | bytes | -| "0/" | "acks/ports/{identifier}/channels/{identifier}/sequences/{sequence}" | bytes | diff --git a/modules/core/spec/03_state_transitions.md b/modules/core/spec/03_state_transitions.md deleted file mode 100644 index 518ff9247b9..00000000000 --- a/modules/core/spec/03_state_transitions.md +++ /dev/null @@ -1,106 +0,0 @@ - - -# State Transitions - -The described state transitions assume successful message exection. - -## Create Client - -`MsgCreateClient` will initialize and store a `ClientState` and `ConsensusState` in the sub-store -created using a generated client identifier. - -## Update Client - -`MsgUpdateClient` will update the `ClientState` and create a new `ConsensusState` for the -update height. - -## Misbehaviour - -`MsgSubmitMisbehaviour` will freeze a client. - -## Upgrade Client - -`MsgUpgradeClient` will upgrade the `ClientState` and `ConsensusState` to the update chain level -parameters and if applicable will update to the new light client implementation. - -## Client Update Proposal - -An Update Client Proposal will unfreeze a client (if necessary) and set an updated `ClientState`. -The light client may make optional modifications to the client prefixed store of the subject client -including copying `ConsensusStates` from the substitute to the subject. - -## Connection Open Init - -`MsgConnectionOpenInit` will initialize a connection state in INIT. - -## Connection Open Try - -`MsgConnectionOpenTry` will initialize or update a connection state to be in TRYOPEN. - -## Connection Open Ack - -`MsgConnectionOpenAck` will update a connection state from INIT or TRYOPEN to be in OPEN. - -## Connection Open Confirm - -`MsgConnectionOpenAck` will update a connection state from TRYOPEN to OPEN. - -## Channel Open Init - -`MsgChannelOpenInit` will initialize a channel state in INIT. It will create a channel capability -and set all Send, Receive and Ack Sequences to 1 for the channel. - -## Channel Open Try - -`MsgChannelOpenTry` will initialize or update a channel state to be in TRYOPEN. If the channel -is being initialized, It will create a channel capability and set all Send, Receive and Ack -Sequences to 1 for the channel. - -## Channel Open Ack - -`MsgChannelOpenAck` will update the channel state to OPEN. It will set the version and channel -identifier for its counterparty. - -## Channel Open Confirm - -`MsgChannelOpenConfirm` will update the channel state to OPEN. - -## Channel Close Init - -`MsgChannelCloseInit` will update the channel state to CLOSED. - -## Channel Close Confirm - -`MsgChannelCloseConfirm` will update the channel state to CLOSED. - -## Send Packet - -A application calling `ChannelKeeper.SendPacket` will incremenet the next sequence send and set -a hash of the packet as the packet commitment. - -## Receive Packet - -`MsgRecvPacket` will increment the next sequence receive for ORDERED channels and set a packet -receipt for UNORDERED channels. - -## Write Acknowledgement - -`WriteAcknowledgement` may be executed synchronously during the execution of `MsgRecvPacket` or -asynchonously by an application module. It writes an acknowledgement to the store. - -## Acknowledge Packet - -`MsgAcknowledgePacket` deletes the packet commitment and for ORDERED channels increments next -sequences ack. - -## Timeout Packet - -`MsgTimeoutPacket` deletes the packet commitment and for ORDERED channels sets the channel state -to CLOSED. - -## Timeout Packet on Channel Closure - -`MsgTimeoutOnClose` deletes the packet commitment and for ORDERED channels sets the channel state -to CLOSED. diff --git a/modules/core/spec/04_messages.md b/modules/core/spec/04_messages.md deleted file mode 100644 index 3728e6d6f32..00000000000 --- a/modules/core/spec/04_messages.md +++ /dev/null @@ -1,497 +0,0 @@ - - -# Messages - -In this section we describe the processing of the IBC messages and the corresponding updates to the state. - -## ICS 02 - Client - -### MsgCreateClient - -A light client is created using the `MsgCreateClient`. - -```go -type MsgCreateClient struct { - ClientState *types.Any // proto-packed client state - ConsensusState *types.Any // proto-packed consensus state - Signer sdk.AccAddress -} -``` - -This message is expected to fail if: - -- `ClientState` is empty or invalid -- `ConsensusState` is empty or invalid -- `Signer` is empty - -The message creates and stores a light client with an initial consensus state using a generated client -identifier. - -### MsgUpdateClient - -A light client is updated with a new header using the `MsgUpdateClient`. - -```go -type MsgUpdateClient struct { - ClientId string - Header *types.Any // proto-packed header - Signer sdk.AccAddress -} -``` - -This message is expected to fail if: - -- `ClientId` is invalid (not alphanumeric or not within 10-20 characters) -- `Header` is empty or invalid -- `Signer` is empty -- A `ClientState` hasn't been created for the given ID -- The client is frozen due to misbehaviour and cannot be updated -- The header fails to provide a valid update for the client - -The message validates the header and updates the client state and consensus state for the -header height. - -### MsgUpgradeClient -```go -type MsgUpgradeClient struct { - ClientId string - ClientState *types.Any // proto-packed client state - UpgradeHeight *Height - ProofUpgrade []byte - Signer string -} -``` - -This message is expected to fail if: - -- `ClientId` is invalid (not alphanumeric or not within 10-20 characters) -- `ClientState` is empty or invalid -- `UpgradeHeight` is empty or zero -- `ProofUpgrade` is empty -- `Signer` is empty -- A `ClientState` hasn't been created for the given ID -- The client is frozen due to misbehaviour and cannot be upgraded -- The upgrade proof fails - -The message upgrades the client state and consensus state upon successful validation of a -chain upgrade. - -### MsgSubmitMisbehaviour - -Submit a evidence of light client misbehaviour to freeze the client state and prevent additional packets from being relayed. - -```go -type MsgSubmitMisbehaviour struct { - ClientId string - Misbehaviour *types.Any // proto-packed misbehaviour - Signer sdk.AccAddress -} -``` - -This message is expected to fail if: - -- `ClientId` is invalid (not alphanumeric or not within 10-20 characters) -- `Misbehaviour` is empty or invalid -- `Signer` is empty -- A `ClientState` hasn't been created for the given ID -- `Misbehaviour` check failed - -The message verifies the misbehaviour and freezes the client. - -## ICS 03 - Connection - -### MsgConnectionOpenInit - -A connection is initialized on a light client using the `MsgConnectionOpenInit`. - -```go -type MsgConnectionOpenInit struct { - ClientId string - Counterparty Counterparty - Version string - Signer sdk.AccAddress -} -``` - -This message is expected to fail if: -- `ClientId` is invalid (see naming requirements) -- `Counterparty` is empty -- 'Version' is not empty and invalid -- `Signer` is empty -- A Client hasn't been created for the given ID -- A Connection for the given ID already exists - -The message creates a connection for the given ID with an INIT state. - -### MsgConnectionOpenTry - -When a counterparty connection is initialized then a connection is initialized on a light client -using the `MsgConnectionOpenTry`. - -```go -type MsgConnectionOpenTry struct { - ClientId string - PreviousConnectionId string - ClientState *types.Any // proto-packed counterparty client - Counterparty Counterparty - CounterpartyVersions []string - ProofHeight Height - ProofInit []byte - ProofClient []byte - ProofConsensus []byte - ConsensusHeight Height - Signer sdk.AccAddress -} -``` - -This message is expected to fail if: - -- `ClientId` is invalid (see naming requirements) -- `PreviousConnectionId` is not empty and invalid (see naming requirements) -- `ClientState` is not a valid client of the executing chain -- `Counterparty` is empty -- `CounterpartyVersions` is empty -- `ProofHeight` is zero -- `ProofInit` is empty -- `ProofClient` is empty -- `ProofConsensus` is empty -- `ConsensusHeight` is zero -- `Signer` is empty -- A Client hasn't been created for the given ID -- If a previous connection exists but does not match the supplied parameters. -- `ProofInit` does not prove that the counterparty connection is in state INIT -- `ProofClient` does not prove that the counterparty has stored the `ClientState` provided in message -- `ProofConsensus` does not prove that the counterparty has the correct consensus state for this chain - -The message creates a connection for a generated connection ID with an TRYOPEN State. If a previous -connection already exists, it updates the connection state from INIT to TRYOPEN. - -### MsgConnectionOpenAck - -When a counterparty connection is initialized then a connection is opened on a light client -using the `MsgConnectionOpenAck`. - -```go -type MsgConnectionOpenAck struct { - ConnectionId string - CounterpartyConnectionId string - Version string - ClientState *types.Any // proto-packed counterparty client - ProofHeight Height - ProofTry []byte - ProofClient []byte - ProofConsensus []byte - ConsensusHeight Height - Signer sdk.AccAddress -} -``` - -This message is expected to fail if: - -- `ConnectionId` is invalid (see naming requirements) -- `CounterpartyConnectionId` is invalid (see naming requirements) -- `Version` is empty -- `ClientState` is not a valid client of the executing chain -- `ProofHeight` is zero -- `ProofTry` is empty -- `ProofClient` is empty -- `ProofConsensus` is empty -- `ConsensusHeight` is zero -- `Signer` is empty -- `ProofTry` does not prove that the counterparty connection is in state TRYOPEN -- `ProofClient` does not prove that the counterparty has stored the `ClientState` provided by message -- `ProofConsensus` does not prove that the counterparty has the correct consensus state for this chain - -The message sets the connection state for the given ID to OPEN. `CounterpartyConnectionId` -should be the `ConnectionId` used by the counterparty connection. - -### MsgConnectionOpenConfirm - -When a counterparty connection is opened then a connection is opened on a light client using -the `MsgConnectionOpenConfirm`. - -```go -type MsgConnectionOpenConfirm struct { - ConnectionId string - ProofAck []byte - ProofHeight Height - Signer sdk.AccAddress -} -``` - -This message is expected to fail if: - -- `ConnectionId` is invalid (see naming requirements) -- `ProofAck` is empty -- `ProofHeight` is zero -- `Signer` is empty -- A Connection with the given ID does not exist -- `ProofAck` does not prove that the counterparty connection is in state OPEN - -The message sets the connection state for the given ID to OPEN. - -## ICS 04 - Channels - -### MsgChannelOpenInit - -A channel handshake is initiated by a chain A using the `MsgChannelOpenInit` -message. - -```go -type MsgChannelOpenInit struct { - PortId string - Channel Channel - Signer sdk.AccAddress -} -``` - -This message is expected to fail if: - -- `PortId` is invalid (see naming requirements) -- `Channel` is empty -- `Signer` is empty -- A Channel End exists for the given Channel ID and Port ID - -The message creates a channel on chain A with an INIT state for a generated Channel ID -and Port ID. - -### MsgChannelOpenTry - -A channel handshake initialization attempt is acknowledged by a chain B using -the `MsgChannelOpenTry` message. - -```go -type MsgChannelOpenTry struct { - PortId string - PreviousChannelId string - Channel Channel - CounterpartyVersion string - ProofInit []byte - ProofHeight Height - Signer sdk.AccAddress -} -``` - -This message is expected to fail if: - -- `PortId` is invalid (see naming requirements) -- `PreviousChannelId` is not empty and invalid (see naming requirements) -- `Channel` is empty -- `CounterpartyVersion` is empty -- `ProofInit` is empty -- `ProofHeight` is zero -- `Signer` is empty -- A previous channel exists and does not match the provided parameters. -- `ProofInit` does not prove that the counterparty's Channel state is in INIT - -The message creates a channel on chain B with an TRYOPEN state for using a generated Channel ID -and given Port ID if the previous channel does not already exist. Otherwise it udates the -previous channel state from INIT to TRYOPEN. - - -### MsgChannelOpenAck - -A channel handshake is opened by a chain A using the `MsgChannelOpenAck` message. - -```go -type MsgChannelOpenAck struct { - PortId string - ChannelId string - CounterpartyChannelId string - CounterpartyVersion string - ProofTry []byte - ProofHeight Height - Signer sdk.AccAddress -} -``` - -This message is expected to fail if: - -- `PortId` is invalid (see naming requirements) -- `ChannelId` is invalid (see naming requirements) -- `CounterpartyChannelId` is invalid (see naming requirements) -- `CounterpartyVersion` is empty -- `ProofTry` is empty -- `ProofHeight` is zero -- `Signer` is empty -- `ProofTry` does not prove that the counterparty's Channel state is in TRYOPEN - -The message sets a channel on chain A to state OPEN for the given Channel ID and Port ID. -`CounterpartyChannelId` should be the `ChannelId` used by the counterparty channel. - -### MsgChannelOpenConfirm - -A channel handshake is confirmed and opened by a chain B using the `MsgChannelOpenConfirm` -message. - -```go -type MsgChannelOpenConfirm struct { - PortId string - ChannelId string - ProofAck []byte - ProofHeight Height - Signer sdk.AccAddress -} -``` - -This message is expected to fail if: - -- `PortId` is invalid (see naming requirements) -- `ChannelId` is invalid (see naming requirements) -- `ProofAck` is empty -- `ProofHeight` is zero -- `Signer` is empty -- `ProofAck` does not prove that the counterparty's Channel state is in OPEN - -The message sets a channel on chain B to state OPEN for the given Channel ID and Port ID. - -### MsgChannelCloseInit - -A channel is closed on chain A using the `MsgChannelCloseInit`. - -```go -type MsgChannelCloseInit struct { - PortId string - ChannelId string - Signer sdk.AccAddress -} -``` - -This message is expected to fail if: - -- `PortId` is invalid (see naming requirements) -- `ChannelId` is invalid (see naming requirements) -- `Signer` is empty -- A Channel for the given Port ID and Channel ID does not exist or is already closed - -The message closes a channel on chain A for the given Port ID and Channel ID. - -### MsgChannelCloseConfirm - -A channel is closed on chain B using the `MsgChannelCloseConfirm`. - -```go -type MsgChannelCloseConfirm struct { - PortId string - ChannelId string - ProofInit []byte - ProofHeight Height - Signer sdk.AccAddress -} -``` - -This message is expected to fail if: - -- `PortId` is invalid (see naming requirements) -- `ChannelId` is invalid (see naming requirements) -- `ProofInit` is empty -- `ProofHeight` is zero -- `Signer` is empty -- A Channel for the given Port ID and Channel ID does not exist or is already closed -- `ProofInit` does not prove that the counterparty set its channel to state CLOSED - -The message closes a channel on chain B for the given Port ID and Channel ID. - -### MsgRecvPacket - -A packet is received on chain B using the `MsgRecvPacket`. - -```go -type MsgRecvPacket struct { - Packet Packet - Proof []byte - ProofHeight Height - Signer sdk.AccAddress -} -``` - -This message is expected to fail if: - -- `Proof` is empty -- `ProofHeight` is zero -- `Signer` is empty -- `Packet` fails basic validation -- `Proof` does not prove that the counterparty sent the `Packet`. - -The message receives a packet on chain B. - -### MsgTimeout - -A packet is timed out on chain A using the `MsgTimeout`. - -```go -type MsgTimeout struct { - Packet Packet - Proof []byte - ProofHeight Height - NextSequenceRecv uint64 - Signer sdk.AccAddress -} -``` - -This message is expected to fail if: - -- `Proof` is empty -- `ProofHeight` is zero -- `NextSequenceRecv` is zero -- `Signer` is empty -- `Packet` fails basic validation -- `Proof` does not prove that the packet has not been received on the counterparty chain. - -The message times out a packet that was sent on chain A and never received on chain B. - -### MsgTimeoutOnClose - -A packet is timed out on chain A due to the closure of the channel end on chain B using -the `MsgTimeoutOnClose`. - -```go -type MsgTimeoutOnClose struct { - Packet Packet - Proof []byte - ProofClose []byte - ProofHeight Height - NextSequenceRecv uint64 - Signer sdk.AccAddress -} -``` - -This message is expected to fail if: - -- `Proof` is empty -- `ProofClose` is empty -- `ProofHeight` is zero -- `NextSequenceRecv` is zero -- `Signer` is empty -- `Packet` fails basic validation -- `Proof` does not prove that the packet has not been received on the counterparty chain. -- `ProofClose` does not prove that the counterparty channel end has been closed. - -The message times out a packet that was sent on chain A and never received on chain B. - -### MsgAcknowledgement - -A packet is acknowledged on chain A using the `MsgAcknowledgement`. - -```go -type MsgAcknowledgement struct { - Packet Packet - Acknowledgement []byte - Proof []byte - ProofHeight Height - Signer sdk.AccAddress -} -``` - -This message is expected to fail if: - -- `Proof` is empty -- `ProofHeight` is zero -- `Signer` is empty -- `Packet` fails basic validation -- `Acknowledgement` is empty -- `Proof` does not prove that the counterparty received the `Packet`. - -The message acknowledges that the packet sent from chainA was received on chain B. diff --git a/modules/core/spec/05_callbacks.md b/modules/core/spec/05_callbacks.md deleted file mode 100644 index 0720b7c6232..00000000000 --- a/modules/core/spec/05_callbacks.md +++ /dev/null @@ -1,80 +0,0 @@ - - -# Callbacks - -Application modules implementing the IBC module must implement the following callbacks as found in [05-port](../05-port/types/module.go). -More information on how to implement these callbacks can be found in the [implementation guide](../../../docs/ibc/apps.md). - -```go -// IBCModule defines an interface that implements all the callbacks -// that modules must define as specified in ICS-26 -type IBCModule interface { - OnChanOpenInit( - ctx sdk.Context, - order channeltypes.Order, - connectionHops []string, - portId string, - channelId string, - channelCap *capability.Capability, - counterparty channeltypes.Counterparty, - version string, - ) error - - OnChanOpenTry( - ctx sdk.Context, - order channeltypes.Order, - connectionHops []string, - portId, - channelId string, - channelCap *capability.Capability, - counterparty channeltypes.Counterparty, - version, - counterpartyVersion string, - ) error - - OnChanOpenAck( - ctx sdk.Context, - portId, - channelId string, - counterpartyVersion string, - ) error - - OnChanOpenConfirm( - ctx sdk.Context, - portId, - channelId string, - ) error - - OnChanCloseInit( - ctx sdk.Context, - portId, - channelId string, - ) error - - OnChanCloseConfirm( - ctx sdk.Context, - portId, - channelId string, - ) error - - // OnRecvPacket must return the acknowledgement bytes - // In the case of an asynchronous acknowledgement, nil should be returned. - OnRecvPacket( - ctx sdk.Context, - packet channeltypes.Packet, - ) (*sdk.Result, []byte, error) - - OnAcknowledgementPacket( - ctx sdk.Context, - packet channeltypes.Packet, - acknowledgement []byte, - ) (*sdk.Result, error) - - OnTimeoutPacket( - ctx sdk.Context, - packet channeltypes.Packet, - ) (*sdk.Result, error) -} -``` diff --git a/modules/core/spec/README.md b/modules/core/spec/README.md deleted file mode 100644 index f6de9749b5e..00000000000 --- a/modules/core/spec/README.md +++ /dev/null @@ -1,26 +0,0 @@ - - -# `ibc core` - -## Abstract - -This paper defines the implementation of the IBC protocol on the Cosmos SDK, the -changes made to the specification and where to find each specific ICS spec within -the module. - -For the general specification please refer to the [Interchain Standards](https://github.com/cosmos/ics). - -## Contents - -1. **[Concepts](01_concepts.md)** -2. **[State](02_state.md)** -3. **[State Transitions](03_state_transitions.md)** -4. **[Messages](04_messages.md)** -5. **[Callbacks](05_callbacks.md)** -6. **[Events](06_events.md)** -7. **[Params](07_params.md)** diff --git a/modules/light-clients/06-solomachine/spec/02_state.md b/modules/light-clients/06-solomachine/spec/02_state.md index a9ff4ea5b47..51cb1f058c6 100644 --- a/modules/light-clients/06-solomachine/spec/02_state.md +++ b/modules/light-clients/06-solomachine/spec/02_state.md @@ -7,6 +7,3 @@ order: 2 The solo machine light client will only store consensus states for each update by a header or a governance proposal. The latest client state is also maintained in the store. -These values can be found under the light client paths defined in the IBC -[core store specs](../../../core/spec/02_state.md). - diff --git a/modules/light-clients/06-solomachine/spec/04_messages.md b/modules/light-clients/06-solomachine/spec/04_messages.md deleted file mode 100644 index 465ea6229a7..00000000000 --- a/modules/light-clients/06-solomachine/spec/04_messages.md +++ /dev/null @@ -1,8 +0,0 @@ - - -# Messages - -The messages used to initialize a solo machine light client are defined in the -core sub-module [02-client](../../../core/spec/04_messages.md). diff --git a/modules/light-clients/06-solomachine/spec/README.md b/modules/light-clients/06-solomachine/spec/README.md index 45ad34c3a0e..0879f1bd2be 100644 --- a/modules/light-clients/06-solomachine/spec/README.md +++ b/modules/light-clients/06-solomachine/spec/README.md @@ -23,4 +23,3 @@ diversifier, and timestamp. 1. **[Concepts](01_concepts.md)** 2. **[State](02_state.md)** 3. **[State Transitions](03_state_transitions.md)** -4. **[Messages](04_messages.md)** From 411c440d4d7b7802ad9dc066c52f1f2500a38349 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?colin=20axn=C3=A9r?= <25233464+colin-axner@users.noreply.github.com> Date: Wed, 22 Dec 2021 17:03:41 +0100 Subject: [PATCH 089/107] Modify `OnChanOpenTry` application callback to perform app version negotitation (#646) * remove NegotiateAppVersion and AppVersion gRPC (#643) The NegotiateAppVersion callback has been removed from the IBC Application interface. The gRPC AppVersion has been removed. The app version negoitation will be handled by applications by returning the version in OnChanOpenTry. * Modify `OnChanOpenTry` to return application version (#650) * modify OnChanOpenTry to return negotiated version modify IBCModule interface function OnChanOpenTry to return the negotiated app version. Tests have not been updated * fix ibc_module_test.go tests * fix tests * Apply suggestions from code review * add handshake test case * add CHANGELOG and migration docs * update documentation * fix broken link --- CHANGELOG.md | 1 + docs/ibc/apps.md | 50 +++------ docs/ibc/middleware/develop.md | 65 +++++------ docs/ibc/proto-docs.md | 72 +----------- docs/migrations/v2-to-v3.md | 22 +++- .../controller/ibc_module.go | 17 +-- .../controller/ibc_module_test.go | 61 +---------- .../27-interchain-accounts/host/ibc_module.go | 19 +--- .../host/ibc_module_test.go | 76 ++----------- .../host/keeper/handshake.go | 35 ++---- .../host/keeper/handshake_test.go | 26 +---- .../host/keeper/keeper.go | 21 ---- .../host/keeper/keeper_test.go | 2 +- .../host/keeper/relay_test.go | 2 + modules/apps/transfer/ibc_module.go | 41 ++----- modules/apps/transfer/ibc_module_test.go | 11 +- modules/apps/transfer/keeper/keeper_test.go | 2 + modules/apps/transfer/transfer_test.go | 2 + modules/core/04-channel/keeper/handshake.go | 3 +- .../core/04-channel/keeper/handshake_test.go | 15 ++- modules/core/04-channel/types/msgs.go | 2 + modules/core/04-channel/types/tx.pb.go | 6 +- modules/core/05-port/keeper/grpc_query.go | 52 --------- .../core/05-port/keeper/grpc_query_test.go | 103 ------------------ modules/core/05-port/types/module.go | 32 +++--- modules/core/keeper/grpc_query.go | 6 - modules/core/keeper/msg_server.go | 7 +- modules/core/types/query.go | 4 - proto/ibc/core/channel/v1/tx.proto | 6 +- proto/ibc/core/port/v1/query.proto | 35 ------ testing/endpoint.go | 4 + testing/mock/ibc_app.go | 16 +-- testing/mock/ibc_module.go | 31 +----- testing/values.go | 2 +- 34 files changed, 190 insertions(+), 659 deletions(-) delete mode 100644 modules/core/05-port/keeper/grpc_query.go delete mode 100644 modules/core/05-port/keeper/grpc_query_test.go delete mode 100644 proto/ibc/core/port/v1/query.proto diff --git a/CHANGELOG.md b/CHANGELOG.md index 435e0e7330f..f977789ec8e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -42,6 +42,7 @@ Ref: https://keepachangelog.com/en/1.0.0/ ### API Breaking +* (core) [\#650](https://github.com/cosmos/ibc-go/pull/650) Modify `OnChanOpenTry` IBC application module callback to return the negotiated app version. The version passed into the `MsgChanOpenTry` has been deprecated and will be ignored by core IBC. * (core) [\#629](https://github.com/cosmos/ibc-go/pull/629) Removes the `GetProofSpecs` from the ClientState interface. This function was previously unused by core IBC. * (transfer) [\#517](https://github.com/cosmos/ibc-go/pull/517) Separates the ICS 26 callback functions from `AppModule` into a new type `IBCModule` for ICS 20 transfer. * (modules/core/02-client) [\#536](https://github.com/cosmos/ibc-go/pull/536) `GetSelfConsensusState` return type changed from bool to error. diff --git a/docs/ibc/apps.md b/docs/ibc/apps.md index 6a6b39ba8d7..bb2716fa0b1 100644 --- a/docs/ibc/apps.md +++ b/docs/ibc/apps.md @@ -71,9 +71,8 @@ OnChanOpenTry( channelID string, channelCap *capabilitytypes.Capability, counterparty channeltypes.Counterparty, - version, counterpartyVersion string, -) error { +) (string, error) { // Module may have already claimed capability in OnChanOpenInit in the case of crossing hellos // (ie chainA and chainB both call ChanOpenInit before one of them calls ChanOpenTry) // If the module can already authenticate the capability then the module already owns it so we don't need to claim @@ -88,8 +87,18 @@ OnChanOpenTry( // ... do custom initialization logic // Use above arguments to determine if we want to abort handshake - err := checkArguments(args) - return err + if err := checkArguments(args); err != nil { + return err + } + + // Construct application version + // IBC applications must return the appropriate application version + // This can be a simple string or it can be a complex version constructed + // from the counterpartyVersion and other arguments. + // The version returned will be the channel version used for both channel ends. + appVersion := negotiateAppVersion(counterpartyVersion, args) + + return appVersion, nil } // Called by IBC Handler on MsgOpenAck @@ -157,38 +166,11 @@ OnChanCloseConfirm( Application modules are expected to verify versioning used during the channel handshake procedure. * `ChanOpenInit` callback should verify that the `MsgChanOpenInit.Version` is valid -* `ChanOpenTry` callback should verify that the `MsgChanOpenTry.Version` is valid and that `MsgChanOpenTry.CounterpartyVersion` is valid. +* `ChanOpenTry` callback should construct the application version used for both channel ends. If no application version can be constructed, it must return an error. * `ChanOpenAck` callback should verify that the `MsgChanOpenAck.CounterpartyVersion` is valid and supported. -IBC expects application modules to implement the `NegotiateAppVersion` method from the `IBCModule` -interface. This method performs application version negotiation and returns the negotiated version. -If the version cannot be negotiated, an error should be returned. - -```go -// NegotiateAppVersion performs application version negotiation given the provided channel ordering, connectionID, portID, counterparty and proposed version. -// An error is returned if version negotiation cannot be performed. For example, an application module implementing this interface -// may decide to return an error in the event of the proposed version being incompatible with it's own -NegotiateAppVersion( - ctx sdk.Context, - order channeltypes.Order, - connectionID string, - portID string, - counterparty channeltypes.Counterparty, - proposedVersion string, -) (version string, err error) { - // do custom application version negotiation logic -} -``` - -This function `NegotiateAppVersion` returns the version to be used in the `ChanOpenTry` step -(`MsgChanOpenTry.Version`). The relayer chooses the initial version in the `ChanOpenInit` step -(this will likely be chosen by the user controlling the relayer or by the application that -triggers the `ChanOpenInit` step). - -The version submitted in the `ChanOpenInit` step (`MsgChanOpenInit.Version`) is passed as an -argument (`proposedVersion`) to the function `NegotiateAppVersion`. This function looks at -the `proposedVersion` and returns the matching version to be used in the `ChanOpenTry` step. -Applications can choose to implement this in however fashion they choose. +IBC expects application modules to perform application version negotiation in `OnChanOpenTry`. The negotiated version +must be returned to core IBC. If the version cannot be negotiated, an error should be returned. Versions must be strings but can implement any versioning structure. If your application plans to have linear releases then semantic versioning is recommended. If your application plans to release diff --git a/docs/ibc/middleware/develop.md b/docs/ibc/middleware/develop.md index b4cd037e5e6..1d75e3965a8 100644 --- a/docs/ibc/middleware/develop.md +++ b/docs/ibc/middleware/develop.md @@ -103,29 +103,32 @@ func OnChanOpenTry( channelID string, channelCap *capabilitytypes.Capability, counterparty channeltypes.Counterparty, - version, counterpartyVersion string, -) error { - // core/04-channel/types contains a helper function to split middleware and underlying app version - cpMiddlewareVersion, cpAppVersion = channeltypes.SplitChannelVersion(counterpartyVersion) - middlewareVersion, appVersion = channeltypes.SplitChannelVersion(version) - if !isCompatible(cpMiddlewareVersion, middlewareVersion) { - return error - } - doCustomLogic() - - // call the underlying applications OnChanOpenTry callback - app.OnChanOpenTry( - ctx, - order, - connectionHops, - portID, - channelID, - channelCap, - counterparty, - cpAppVersion, // note we only pass counterparty app version here - appVersion, // only pass app version - ) +) (string, error) { + doCustomLogic() + + // core/04-channel/types contains a helper function to split middleware and underlying app version + cpMiddlewareVersion, cpAppVersion = channeltypes.SplitChannelVersion(counterpartyVersion) + + // call the underlying applications OnChanOpenTry callback + appVersion, err := app.OnChanOpenTry( + ctx, + order, + connectionHops, + portID, + channelID, + channelCap, + counterparty, + cpAppVersion, // note we only pass counterparty app version here + ) + if err != nil { + return err + } + + middlewareVersion := negotiateMiddlewareVersion(cpMiddlewareVersion) + version := constructVersion(middlewareVersion, appVersion) + + return version } func OnChanOpenAck( @@ -134,15 +137,15 @@ func OnChanOpenAck( channelID string, counterpartyVersion string, ) error { - // core/04-channel/types contains a helper function to split middleware and underlying app version - middlewareVersion, appVersion = channeltypes.SplitChannelVersion(version) - if !isCompatible(middlewareVersion) { - return error - } - doCustomLogic() + // core/04-channel/types contains a helper function to split middleware and underlying app version + middlewareVersion, appVersion = channeltypes.SplitChannelVersion(version) + if !isCompatible(middlewareVersion) { + return error + } + doCustomLogic() - // call the underlying applications OnChanOpenTry callback - app.OnChanOpenAck(ctx, portID, channelID, appVersion) + // call the underlying applications OnChanOpenTry callback + app.OnChanOpenAck(ctx, portID, channelID, appVersion) } func OnChanOpenConfirm( @@ -236,4 +239,4 @@ func SendPacket(appPacket channeltypes.Packet) { return ics4Keeper.SendPacket(packet) } -``` \ No newline at end of file +``` diff --git a/docs/ibc/proto-docs.md b/docs/ibc/proto-docs.md index c3b10abc545..8baaa8eda1a 100644 --- a/docs/ibc/proto-docs.md +++ b/docs/ibc/proto-docs.md @@ -207,12 +207,6 @@ - [Msg](#ibc.core.connection.v1.Msg) -- [ibc/core/port/v1/query.proto](#ibc/core/port/v1/query.proto) - - [QueryAppVersionRequest](#ibc.core.port.v1.QueryAppVersionRequest) - - [QueryAppVersionResponse](#ibc.core.port.v1.QueryAppVersionResponse) - - - [Query](#ibc.core.port.v1.Query) - - [ibc/core/types/v1/genesis.proto](#ibc/core/types/v1/genesis.proto) - [GenesisState](#ibc.core.types.v1.GenesisState) @@ -1825,14 +1819,15 @@ MsgChannelOpenInitResponse defines the Msg/ChannelOpenInit response type. ### MsgChannelOpenTry MsgChannelOpenInit defines a msg sent by a Relayer to try to open a channel -on Chain B. +on Chain B. The version field within the Channel field has been deprecated. Its +value will be ignored by core IBC. | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | `port_id` | [string](#string) | | | | `previous_channel_id` | [string](#string) | | in the case of crossing hello's, when both chains call OpenInit, we need the channel identifier of the previous channel in state INIT | -| `channel` | [Channel](#ibc.core.channel.v1.Channel) | | | +| `channel` | [Channel](#ibc.core.channel.v1.Channel) | | NOTE: the version field within the channel has been deprecated. Its value will be ignored by core IBC. | | `counterparty_version` | [string](#string) | | | | `proof_init` | [bytes](#bytes) | | | | `proof_height` | [ibc.core.client.v1.Height](#ibc.core.client.v1.Height) | | | @@ -3107,67 +3102,6 @@ Msg defines the ibc/connection Msg service. - -

Top

- -## ibc/core/port/v1/query.proto - - - - - -### QueryAppVersionRequest -QueryAppVersionRequest is the request type for the Query/AppVersion RPC method - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| `port_id` | [string](#string) | | port unique identifier | -| `connection_id` | [string](#string) | | connection unique identifier | -| `ordering` | [ibc.core.channel.v1.Order](#ibc.core.channel.v1.Order) | | whether the channel is ordered or unordered | -| `counterparty` | [ibc.core.channel.v1.Counterparty](#ibc.core.channel.v1.Counterparty) | | counterparty channel end | -| `proposed_version` | [string](#string) | | proposed version | - - - - - - - - -### QueryAppVersionResponse -QueryAppVersionResponse is the response type for the Query/AppVersion RPC method. - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| `port_id` | [string](#string) | | port id associated with the request identifiers | -| `version` | [string](#string) | | supported app version | - - - - - - - - - - - - - - -### Query -Query defines the gRPC querier service - -| Method Name | Request Type | Response Type | Description | HTTP Verb | Endpoint | -| ----------- | ------------ | ------------- | ------------| ------- | -------- | -| `AppVersion` | [QueryAppVersionRequest](#ibc.core.port.v1.QueryAppVersionRequest) | [QueryAppVersionResponse](#ibc.core.port.v1.QueryAppVersionResponse) | AppVersion queries an IBC Port and determines the appropriate application version to be used | | - - - - -

Top

diff --git a/docs/migrations/v2-to-v3.md b/docs/migrations/v2-to-v3.md index 06a1cb938da..c847a9d3bc9 100644 --- a/docs/migrations/v2-to-v3.md +++ b/docs/migrations/v2-to-v3.md @@ -19,9 +19,26 @@ No genesis or in-place migrations are required when upgrading from v1 or v2 of i ## Chains ICS27 Interchain Accounts has been added as a supported IBC application of ibc-go. +Please see the [ICS27 documentation](../app_modules/interchain-accounts/overview.md) for more information. ## IBC Apps + +### `OnChanOpenTry` must return negotiated application version + +The `OnChanOpenTry` application callback has been modified. +The return signature now includes the application version. +IBC applications must perform application version negoitation in `OnChanOpenTry` using the counterparty version. +The negotiated application version then must be returned in `OnChanOpenTry` to core IBC. +Core IBC will set this version in the TRYOPEN channel. + +### `NegotiateAppVersion` removed from `IBCModule` interface + +Previously this logic was handled by the `NegotiateAppVersion` function. +Relayers would query this function before calling `ChanOpenTry`. +Applications would then need to verify that the passed in version was correct. +Now applications will perform this version negotiation during the channel handshake, thus removing the need for `NegotiateAppVersion`. + ### Channel state will not be set before application callback The channel handshake logic has been reorganized within core IBC. @@ -42,7 +59,10 @@ Please review the [mock](../../testing/mock/ibc_module.go) and [transfer](../../ ## Relayers -- No relevant changes were made in this release. +`AppVersion` gRPC has been removed. +The `version` string in `MsgChanOpenTry` has been deprecated and will be ignored by core IBC. +Relayers no longer need to determine the version to use on the `ChanOpenTry` step. +IBC applications will determine the correct version using the counterparty version. ## IBC Light Clients diff --git a/modules/apps/27-interchain-accounts/controller/ibc_module.go b/modules/apps/27-interchain-accounts/controller/ibc_module.go index dff1456d20c..1aa362a4247 100644 --- a/modules/apps/27-interchain-accounts/controller/ibc_module.go +++ b/modules/apps/27-interchain-accounts/controller/ibc_module.go @@ -65,10 +65,9 @@ func (im IBCModule) OnChanOpenTry( channelID string, chanCap *capabilitytypes.Capability, counterparty channeltypes.Counterparty, - version, counterpartyVersion string, -) error { - return sdkerrors.Wrap(icatypes.ErrInvalidChannelFlow, "channel handshake must be initiated by controller chain") +) (string, error) { + return "", sdkerrors.Wrap(icatypes.ErrInvalidChannelFlow, "channel handshake must be initiated by controller chain") } // OnChanOpenAck implements the IBCModule interface @@ -163,15 +162,3 @@ func (im IBCModule) OnTimeoutPacket( return im.app.OnTimeoutPacket(ctx, packet, relayer) } - -// NegotiateAppVersion implements the IBCModule interface -func (im IBCModule) NegotiateAppVersion( - ctx sdk.Context, - order channeltypes.Order, - connectionID string, - portID string, - counterparty channeltypes.Counterparty, - proposedVersion string, -) (string, error) { - return "", sdkerrors.Wrap(icatypes.ErrInvalidChannelFlow, "ICS-27 app version negotiation is unsupported on controller chains") -} diff --git a/modules/apps/27-interchain-accounts/controller/ibc_module_test.go b/modules/apps/27-interchain-accounts/controller/ibc_module_test.go index ea4fc108f49..5137606e764 100644 --- a/modules/apps/27-interchain-accounts/controller/ibc_module_test.go +++ b/modules/apps/27-interchain-accounts/controller/ibc_module_test.go @@ -236,12 +236,13 @@ func (suite *InterchainAccountsTestSuite) TestChanOpenTry() { chanCap, found := suite.chainA.App.GetScopedIBCKeeper().GetCapability(suite.chainA.GetContext(), host.ChannelCapabilityPath(path.EndpointA.ChannelConfig.PortID, path.EndpointA.ChannelID)) suite.Require().True(found) - err = cbs.OnChanOpenTry( + version, err := cbs.OnChanOpenTry( suite.chainA.GetContext(), path.EndpointA.ChannelConfig.Order, []string{path.EndpointA.ConnectionID}, path.EndpointA.ChannelConfig.PortID, path.EndpointA.ChannelID, chanCap, - counterparty, path.EndpointA.ChannelConfig.Version, path.EndpointB.ChannelConfig.Version, + counterparty, path.EndpointB.ChannelConfig.Version, ) suite.Require().Error(err) + suite.Require().Equal("", version) } func (suite *InterchainAccountsTestSuite) TestOnChanOpenAck() { @@ -630,59 +631,3 @@ func (suite *InterchainAccountsTestSuite) TestOnTimeoutPacket() { }) } } - -func (suite *InterchainAccountsTestSuite) TestNegotiateAppVersion() { - var ( - proposedVersion string - ) - testCases := []struct { - name string - malleate func() - expPass bool - }{ - { - "ICA OnRecvPacket fails with ErrInvalidChannelFlow", func() {}, false, - }, - } - - for _, tc := range testCases { - tc := tc - - suite.Run(tc.name, func() { - suite.SetupTest() - path := NewICAPath(suite.chainA, suite.chainB) - suite.coordinator.SetupConnections(path) - - err := InitInterchainAccount(path.EndpointA, TestOwnerAddress) - suite.Require().NoError(err) - - module, _, err := suite.chainA.GetSimApp().GetIBCKeeper().PortKeeper.LookupModuleByPort(suite.chainA.GetContext(), path.EndpointA.ChannelConfig.PortID) - suite.Require().NoError(err) - - cbs, ok := suite.chainA.GetSimApp().GetIBCKeeper().Router.GetRoute(module) - suite.Require().True(ok) - - counterpartyPortID, err := icatypes.GeneratePortID(TestOwnerAddress, path.EndpointA.ConnectionID, path.EndpointB.ConnectionID) - suite.Require().NoError(err) - - counterparty := channeltypes.Counterparty{ - PortId: counterpartyPortID, - ChannelId: path.EndpointB.ChannelID, - } - - proposedVersion = icatypes.VersionPrefix - - tc.malleate() - - version, err := cbs.NegotiateAppVersion(suite.chainA.GetContext(), channeltypes.ORDERED, path.EndpointA.ConnectionID, path.EndpointA.ChannelConfig.PortID, counterparty, proposedVersion) - if tc.expPass { - suite.Require().NoError(err) - suite.Require().NoError(icatypes.ValidateVersion(version)) - suite.Require().Equal(TestVersion, version) - } else { - suite.Require().Error(err) - suite.Require().Empty(version) - } - }) - } -} diff --git a/modules/apps/27-interchain-accounts/host/ibc_module.go b/modules/apps/27-interchain-accounts/host/ibc_module.go index 91513dd434f..bf847349c69 100644 --- a/modules/apps/27-interchain-accounts/host/ibc_module.go +++ b/modules/apps/27-interchain-accounts/host/ibc_module.go @@ -47,14 +47,13 @@ func (im IBCModule) OnChanOpenTry( channelID string, chanCap *capabilitytypes.Capability, counterparty channeltypes.Counterparty, - version, counterpartyVersion string, -) error { +) (string, error) { if !im.keeper.IsHostEnabled(ctx) { - return types.ErrHostSubModuleDisabled + return "", types.ErrHostSubModuleDisabled } - return im.keeper.OnChanOpenTry(ctx, order, connectionHops, portID, channelID, chanCap, counterparty, version, counterpartyVersion) + return im.keeper.OnChanOpenTry(ctx, order, connectionHops, portID, channelID, chanCap, counterparty, counterpartyVersion) } // OnChanOpenAck implements the IBCModule interface @@ -137,15 +136,3 @@ func (im IBCModule) OnTimeoutPacket( ) error { return sdkerrors.Wrap(icatypes.ErrInvalidChannelFlow, "cannot cause a packet timeout on a host channel end, a host chain does not send a packet over the channel") } - -// NegotiateAppVersion implements the IBCModule interface -func (im IBCModule) NegotiateAppVersion( - ctx sdk.Context, - order channeltypes.Order, - connectionID string, - portID string, - counterparty channeltypes.Counterparty, - proposedVersion string, -) (string, error) { - return im.keeper.NegotiateAppVersion(ctx, order, connectionID, portID, counterparty, proposedVersion) -} diff --git a/modules/apps/27-interchain-accounts/host/ibc_module_test.go b/modules/apps/27-interchain-accounts/host/ibc_module_test.go index 245f6dbac63..1f76d661a6c 100644 --- a/modules/apps/27-interchain-accounts/host/ibc_module_test.go +++ b/modules/apps/27-interchain-accounts/host/ibc_module_test.go @@ -147,16 +147,16 @@ func (suite *InterchainAccountsTestSuite) TestOnChanOpenTry() { // mock module callback should not be called on host side suite.chainB.GetSimApp().ICAAuthModule.IBCApp.OnChanOpenTry = func(ctx sdk.Context, order channeltypes.Order, connectionHops []string, portID, channelID string, chanCap *capabilitytypes.Capability, - counterparty channeltypes.Counterparty, version, counterpartyVersion string, - ) error { - return fmt.Errorf("mock ica auth fails") + counterparty channeltypes.Counterparty, counterpartyVersion string, + ) (string, error) { + return "", fmt.Errorf("mock ica auth fails") } }, true, }, { - "ICA callback fails - invalid version", func() { - channel.Version = icatypes.VersionPrefix + "ICA callback fails - invalid channel order", func() { + channel.Ordering = channeltypes.UNORDERED }, false, }, } @@ -181,7 +181,7 @@ func (suite *InterchainAccountsTestSuite) TestOnChanOpenTry() { Ordering: channeltypes.ORDERED, Counterparty: counterparty, ConnectionHops: []string{path.EndpointB.ConnectionID}, - Version: TestVersion, + Version: "", } tc.malleate() @@ -198,14 +198,16 @@ func (suite *InterchainAccountsTestSuite) TestOnChanOpenTry() { cbs, ok := suite.chainB.App.GetIBCKeeper().Router.GetRoute(module) suite.Require().True(ok) - err = cbs.OnChanOpenTry(suite.chainB.GetContext(), channel.Ordering, channel.GetConnectionHops(), - path.EndpointB.ChannelConfig.PortID, path.EndpointB.ChannelID, chanCap, channel.Counterparty, channel.GetVersion(), path.EndpointA.ChannelConfig.Version, + version, err := cbs.OnChanOpenTry(suite.chainB.GetContext(), channel.Ordering, channel.GetConnectionHops(), + path.EndpointB.ChannelConfig.PortID, path.EndpointB.ChannelID, chanCap, channel.Counterparty, path.EndpointA.ChannelConfig.Version, ) if tc.expPass { suite.Require().NoError(err) + suite.Require().Equal(TestVersion, version) } else { suite.Require().Error(err) + suite.Require().Equal("", version) } }) @@ -584,61 +586,3 @@ func (suite *InterchainAccountsTestSuite) TestOnTimeoutPacket() { }) } } - -func (suite *InterchainAccountsTestSuite) TestNegotiateAppVersion() { - var ( - proposedVersion string - ) - testCases := []struct { - name string - malleate func() - expPass bool - }{ - { - "success", func() {}, true, - }, - { - "invalid proposed version", func() { - proposedVersion = "invalid version" - }, false, - }, - } - - for _, tc := range testCases { - tc := tc - - suite.Run(tc.name, func() { - suite.SetupTest() - path := NewICAPath(suite.chainA, suite.chainB) - suite.coordinator.SetupConnections(path) - - module, _, err := suite.chainA.GetSimApp().GetIBCKeeper().PortKeeper.LookupModuleByPort(suite.chainA.GetContext(), icatypes.PortID) - suite.Require().NoError(err) - - cbs, ok := suite.chainA.GetSimApp().GetIBCKeeper().Router.GetRoute(module) - suite.Require().True(ok) - - counterpartyPortID, err := icatypes.GeneratePortID(TestOwnerAddress, path.EndpointA.ConnectionID, path.EndpointB.ConnectionID) - suite.Require().NoError(err) - - counterparty := &channeltypes.Counterparty{ - PortId: counterpartyPortID, - ChannelId: path.EndpointB.ChannelID, - } - - proposedVersion = icatypes.VersionPrefix - - tc.malleate() - - version, err := cbs.NegotiateAppVersion(suite.chainA.GetContext(), channeltypes.ORDERED, path.EndpointA.ConnectionID, icatypes.PortID, *counterparty, proposedVersion) - if tc.expPass { - suite.Require().NoError(err) - suite.Require().NoError(icatypes.ValidateVersion(version)) - suite.Require().Equal(TestVersion, version) - } else { - suite.Require().Error(err) - suite.Require().Empty(version) - } - }) - } -} diff --git a/modules/apps/27-interchain-accounts/host/keeper/handshake.go b/modules/apps/27-interchain-accounts/host/keeper/handshake.go index 0b06ad0042e..bb65da4a33b 100644 --- a/modules/apps/27-interchain-accounts/host/keeper/handshake.go +++ b/modules/apps/27-interchain-accounts/host/keeper/handshake.go @@ -14,6 +14,8 @@ import ( // OnChanOpenTry performs basic validation of the ICA channel // and registers a new interchain account (if it doesn't exist). +// The version returned will include the registered interchain +// account address. func (k Keeper) OnChanOpenTry( ctx sdk.Context, order channeltypes.Order, @@ -22,60 +24,47 @@ func (k Keeper) OnChanOpenTry( channelID string, chanCap *capabilitytypes.Capability, counterparty channeltypes.Counterparty, - version, counterpartyVersion string, -) error { +) (string, error) { if order != channeltypes.ORDERED { - return sdkerrors.Wrapf(channeltypes.ErrInvalidChannelOrdering, "expected %s channel, got %s", channeltypes.ORDERED, order) + return "", sdkerrors.Wrapf(channeltypes.ErrInvalidChannelOrdering, "expected %s channel, got %s", channeltypes.ORDERED, order) } if portID != icatypes.PortID { - return sdkerrors.Wrapf(porttypes.ErrInvalidPort, "expected %s, got %s", icatypes.PortID, portID) + return "", sdkerrors.Wrapf(porttypes.ErrInvalidPort, "expected %s, got %s", icatypes.PortID, portID) } connSequence, err := icatypes.ParseHostConnSequence(counterparty.PortId) if err != nil { - return sdkerrors.Wrapf(err, "expected format %s, got %s", icatypes.ControllerPortFormat, counterparty.PortId) + return "", sdkerrors.Wrapf(err, "expected format %s, got %s", icatypes.ControllerPortFormat, counterparty.PortId) } counterpartyConnSequence, err := icatypes.ParseControllerConnSequence(counterparty.PortId) if err != nil { - return sdkerrors.Wrapf(err, "expected format %s, got %s", icatypes.ControllerPortFormat, counterparty.PortId) + return "", sdkerrors.Wrapf(err, "expected format %s, got %s", icatypes.ControllerPortFormat, counterparty.PortId) } if err := k.validateControllerPortParams(ctx, connectionHops, connSequence, counterpartyConnSequence); err != nil { - return sdkerrors.Wrapf(err, "failed to validate controller port %s", counterparty.PortId) - } - - if err := icatypes.ValidateVersion(version); err != nil { - return sdkerrors.Wrap(err, "version validation failed") + return "", sdkerrors.Wrapf(err, "failed to validate controller port %s", counterparty.PortId) } if counterpartyVersion != icatypes.VersionPrefix { - return sdkerrors.Wrapf(icatypes.ErrInvalidVersion, "expected %s, got %s", icatypes.VersionPrefix, version) + return "", sdkerrors.Wrapf(icatypes.ErrInvalidVersion, "expected %s, got %s", icatypes.VersionPrefix, counterpartyVersion) } // On the host chain the capability may only be claimed during the OnChanOpenTry // The capability being claimed in OpenInit is for a controller chain (the port is different) if err := k.ClaimCapability(ctx, chanCap, host.ChannelCapabilityPath(portID, channelID)); err != nil { - return sdkerrors.Wrapf(err, "failed to claim capability for channel %s on port %s", channelID, portID) + return "", sdkerrors.Wrapf(err, "failed to claim capability for channel %s on port %s", channelID, portID) } - // Check to ensure that the version string contains the expected address generated from the Counterparty portID accAddr := icatypes.GenerateAddress(k.accountKeeper.GetModuleAddress(icatypes.ModuleName), counterparty.PortId) - parsedAddr, err := icatypes.ParseAddressFromVersion(version) - if err != nil { - return sdkerrors.Wrapf(err, "expected format , got %s", icatypes.Delimiter, version) - } - - if parsedAddr != accAddr.String() { - return sdkerrors.Wrapf(icatypes.ErrInvalidVersion, "version contains invalid account address: expected %s, got %s", parsedAddr, accAddr) - } // Register interchain account if it does not already exist k.RegisterInterchainAccount(ctx, accAddr, counterparty.PortId) + version := icatypes.NewAppVersion(icatypes.VersionPrefix, accAddr.String()) - return nil + return version, nil } // OnChanOpenConfirm completes the handshake process by setting the active channel in state on the host chain diff --git a/modules/apps/27-interchain-accounts/host/keeper/handshake_test.go b/modules/apps/27-interchain-accounts/host/keeper/handshake_test.go index 03346efa1a1..48179f1a8a0 100644 --- a/modules/apps/27-interchain-accounts/host/keeper/handshake_test.go +++ b/modules/apps/27-interchain-accounts/host/keeper/handshake_test.go @@ -81,14 +81,6 @@ func (suite *KeeperTestSuite) TestOnChanOpenTry() { }, false, }, - { - "invalid version", - func() { - channel.Version = "version" - path.EndpointB.SetChannel(*channel) - }, - false, - }, { "invalid counterparty version", func() { @@ -106,17 +98,6 @@ func (suite *KeeperTestSuite) TestOnChanOpenTry() { }, false, }, - { - "invalid account address", - func() { - portID, err := icatypes.GeneratePortID("invalid-owner-addr", "connection-0", "connection-0") - suite.Require().NoError(err) - - channel.Counterparty.PortId = portID - path.EndpointB.SetChannel(*channel) - }, - false, - }, } for _, tc := range testCases { @@ -151,15 +132,16 @@ func (suite *KeeperTestSuite) TestOnChanOpenTry() { tc.malleate() // malleate mutates test data - err = suite.chainB.GetSimApp().ICAHostKeeper.OnChanOpenTry(suite.chainB.GetContext(), channel.Ordering, channel.GetConnectionHops(), - path.EndpointB.ChannelConfig.PortID, path.EndpointB.ChannelID, chanCap, channel.Counterparty, channel.GetVersion(), - counterpartyVersion, + version, err := suite.chainB.GetSimApp().ICAHostKeeper.OnChanOpenTry(suite.chainB.GetContext(), channel.Ordering, channel.GetConnectionHops(), + path.EndpointB.ChannelConfig.PortID, path.EndpointB.ChannelID, chanCap, channel.Counterparty, counterpartyVersion, ) if tc.expPass { suite.Require().NoError(err) + suite.Require().Equal(TestVersion, version) } else { suite.Require().Error(err) + suite.Require().Equal("", version) } }) } diff --git a/modules/apps/27-interchain-accounts/host/keeper/keeper.go b/modules/apps/27-interchain-accounts/host/keeper/keeper.go index b9a557726ee..5d8569a6e1a 100644 --- a/modules/apps/27-interchain-accounts/host/keeper/keeper.go +++ b/modules/apps/27-interchain-accounts/host/keeper/keeper.go @@ -7,7 +7,6 @@ import ( baseapp "github.com/cosmos/cosmos-sdk/baseapp" "github.com/cosmos/cosmos-sdk/codec" sdk "github.com/cosmos/cosmos-sdk/types" - sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" capabilitykeeper "github.com/cosmos/cosmos-sdk/x/capability/keeper" capabilitytypes "github.com/cosmos/cosmos-sdk/x/capability/types" paramtypes "github.com/cosmos/cosmos-sdk/x/params/types" @@ -15,7 +14,6 @@ import ( "github.com/cosmos/ibc-go/v3/modules/apps/27-interchain-accounts/host/types" icatypes "github.com/cosmos/ibc-go/v3/modules/apps/27-interchain-accounts/types" - channeltypes "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types" host "github.com/cosmos/ibc-go/v3/modules/core/24-host" ) @@ -180,22 +178,3 @@ func (k Keeper) SetInterchainAccountAddress(ctx sdk.Context, portID string, addr store := ctx.KVStore(k.storeKey) store.Set(icatypes.KeyOwnerAccount(portID), []byte(address)) } - -// NegotiateAppVersion handles application version negotation for the IBC interchain accounts module -func (k Keeper) NegotiateAppVersion( - ctx sdk.Context, - order channeltypes.Order, - connectionID string, - portID string, - counterparty channeltypes.Counterparty, - proposedVersion string, -) (string, error) { - if proposedVersion != icatypes.VersionPrefix { - return "", sdkerrors.Wrapf(icatypes.ErrInvalidVersion, "failed to negotiate app version: expected %s, got %s", icatypes.VersionPrefix, proposedVersion) - } - - moduleAccAddr := k.accountKeeper.GetModuleAddress(icatypes.ModuleName) - accAddr := icatypes.GenerateAddress(moduleAccAddr, counterparty.PortId) - - return icatypes.NewAppVersion(icatypes.VersionPrefix, accAddr.String()), nil -} diff --git a/modules/apps/27-interchain-accounts/host/keeper/keeper_test.go b/modules/apps/27-interchain-accounts/host/keeper/keeper_test.go index e8cffcdb640..102cb278ebe 100644 --- a/modules/apps/27-interchain-accounts/host/keeper/keeper_test.go +++ b/modules/apps/27-interchain-accounts/host/keeper/keeper_test.go @@ -50,7 +50,7 @@ func NewICAPath(chainA, chainB *ibctesting.TestChain) *ibctesting.Path { path.EndpointA.ChannelConfig.Order = channeltypes.ORDERED path.EndpointB.ChannelConfig.Order = channeltypes.ORDERED path.EndpointA.ChannelConfig.Version = icatypes.VersionPrefix - path.EndpointB.ChannelConfig.Version = TestVersion + path.EndpointB.ChannelConfig.Version = icatypes.VersionPrefix return path } diff --git a/modules/apps/27-interchain-accounts/host/keeper/relay_test.go b/modules/apps/27-interchain-accounts/host/keeper/relay_test.go index b8e4ec54ba7..ef8709b5ce1 100644 --- a/modules/apps/27-interchain-accounts/host/keeper/relay_test.go +++ b/modules/apps/27-interchain-accounts/host/keeper/relay_test.go @@ -250,6 +250,8 @@ func (suite *KeeperTestSuite) TestOnRecvPacket() { transferPath := ibctesting.NewPath(suite.chainB, suite.chainC) transferPath.EndpointA.ChannelConfig.PortID = ibctesting.TransferPort transferPath.EndpointB.ChannelConfig.PortID = ibctesting.TransferPort + transferPath.EndpointA.ChannelConfig.Version = transfertypes.Version + transferPath.EndpointB.ChannelConfig.Version = transfertypes.Version suite.coordinator.Setup(transferPath) diff --git a/modules/apps/transfer/ibc_module.go b/modules/apps/transfer/ibc_module.go index 5956fa585ad..1ad67d16a85 100644 --- a/modules/apps/transfer/ibc_module.go +++ b/modules/apps/transfer/ibc_module.go @@ -37,7 +37,6 @@ func ValidateTransferChannelParams( order channeltypes.Order, portID string, channelID string, - version string, ) error { // NOTE: for escrow address security only 2^32 channels are allowed to be created // Issue: https://github.com/cosmos/cosmos-sdk/issues/7737 @@ -58,9 +57,6 @@ func ValidateTransferChannelParams( return sdkerrors.Wrapf(porttypes.ErrInvalidPort, "invalid port: %s, expected %s", portID, boundPort) } - if version != types.Version { - return sdkerrors.Wrapf(types.ErrInvalidVersion, "got %s, expected %s", version, types.Version) - } return nil } @@ -75,10 +71,14 @@ func (im IBCModule) OnChanOpenInit( counterparty channeltypes.Counterparty, version string, ) error { - if err := ValidateTransferChannelParams(ctx, im.keeper, order, portID, channelID, version); err != nil { + if err := ValidateTransferChannelParams(ctx, im.keeper, order, portID, channelID); err != nil { return err } + if version != types.Version { + return sdkerrors.Wrapf(types.ErrInvalidVersion, "got %s, expected %s", version, types.Version) + } + // Claim channel capability passed back by IBC module if err := im.keeper.ClaimCapability(ctx, chanCap, host.ChannelCapabilityPath(portID, channelID)); err != nil { return err @@ -87,7 +87,7 @@ func (im IBCModule) OnChanOpenInit( return nil } -// OnChanOpenTry implements the IBCModule interface +// OnChanOpenTry implements the IBCModule interface. func (im IBCModule) OnChanOpenTry( ctx sdk.Context, order channeltypes.Order, @@ -96,15 +96,14 @@ func (im IBCModule) OnChanOpenTry( channelID string, chanCap *capabilitytypes.Capability, counterparty channeltypes.Counterparty, - version, counterpartyVersion string, -) error { - if err := ValidateTransferChannelParams(ctx, im.keeper, order, portID, channelID, version); err != nil { - return err +) (string, error) { + if err := ValidateTransferChannelParams(ctx, im.keeper, order, portID, channelID); err != nil { + return "", err } if counterpartyVersion != types.Version { - return sdkerrors.Wrapf(types.ErrInvalidVersion, "invalid counterparty version: got: %s, expected %s", counterpartyVersion, types.Version) + return "", sdkerrors.Wrapf(types.ErrInvalidVersion, "invalid counterparty version: got: %s, expected %s", counterpartyVersion, types.Version) } // Module may have already claimed capability in OnChanOpenInit in the case of crossing hellos @@ -114,11 +113,11 @@ func (im IBCModule) OnChanOpenTry( if !im.keeper.AuthenticateCapability(ctx, chanCap, host.ChannelCapabilityPath(portID, channelID)) { // Only claim channel capability passed back by IBC module if we do not already own it if err := im.keeper.ClaimCapability(ctx, chanCap, host.ChannelCapabilityPath(portID, channelID)); err != nil { - return err + return "", err } } - return nil + return types.Version, nil } // OnChanOpenAck implements the IBCModule interface @@ -279,19 +278,3 @@ func (im IBCModule) OnTimeoutPacket( return nil } - -// NegotiateAppVersion implements the IBCModule interface -func (im IBCModule) NegotiateAppVersion( - ctx sdk.Context, - order channeltypes.Order, - connectionID string, - portID string, - counterparty channeltypes.Counterparty, - proposedVersion string, -) (string, error) { - if proposedVersion != types.Version { - return "", sdkerrors.Wrapf(types.ErrInvalidVersion, "failed to negotiate app version: expected %s, got %s", types.Version, proposedVersion) - } - - return types.Version, nil -} diff --git a/modules/apps/transfer/ibc_module_test.go b/modules/apps/transfer/ibc_module_test.go index 7ab67b0af06..9ffd7ddcf4f 100644 --- a/modules/apps/transfer/ibc_module_test.go +++ b/modules/apps/transfer/ibc_module_test.go @@ -135,11 +135,6 @@ func (suite *TransferTestSuite) TestOnChanOpenTry() { path.EndpointA.ChannelConfig.PortID = ibctesting.MockPort }, false, }, - { - "invalid version", func() { - channel.Version = "version" - }, false, - }, { "invalid counterparty version", func() { counterpartyVersion = "version" @@ -178,14 +173,16 @@ func (suite *TransferTestSuite) TestOnChanOpenTry() { tc.malleate() // explicitly change fields in channel and testChannel - err = cbs.OnChanOpenTry(suite.chainA.GetContext(), channel.Ordering, channel.GetConnectionHops(), - path.EndpointA.ChannelConfig.PortID, path.EndpointA.ChannelID, chanCap, channel.Counterparty, channel.GetVersion(), counterpartyVersion, + version, err := cbs.OnChanOpenTry(suite.chainA.GetContext(), channel.Ordering, channel.GetConnectionHops(), + path.EndpointA.ChannelConfig.PortID, path.EndpointA.ChannelID, chanCap, channel.Counterparty, counterpartyVersion, ) if tc.expPass { suite.Require().NoError(err) + suite.Require().Equal(types.Version, version) } else { suite.Require().Error(err) + suite.Require().Equal("", version) } }) diff --git a/modules/apps/transfer/keeper/keeper_test.go b/modules/apps/transfer/keeper/keeper_test.go index ef748757588..0fdb1121387 100644 --- a/modules/apps/transfer/keeper/keeper_test.go +++ b/modules/apps/transfer/keeper/keeper_test.go @@ -40,6 +40,8 @@ func NewTransferPath(chainA, chainB *ibctesting.TestChain) *ibctesting.Path { path := ibctesting.NewPath(chainA, chainB) path.EndpointA.ChannelConfig.PortID = ibctesting.TransferPort path.EndpointB.ChannelConfig.PortID = ibctesting.TransferPort + path.EndpointA.ChannelConfig.Version = types.Version + path.EndpointB.ChannelConfig.Version = types.Version return path } diff --git a/modules/apps/transfer/transfer_test.go b/modules/apps/transfer/transfer_test.go index d2f822c83a2..fc16aa39a28 100644 --- a/modules/apps/transfer/transfer_test.go +++ b/modules/apps/transfer/transfer_test.go @@ -34,6 +34,8 @@ func NewTransferPath(chainA, chainB *ibctesting.TestChain) *ibctesting.Path { path := ibctesting.NewPath(chainA, chainB) path.EndpointA.ChannelConfig.PortID = ibctesting.TransferPort path.EndpointB.ChannelConfig.PortID = ibctesting.TransferPort + path.EndpointA.ChannelConfig.Version = types.Version + path.EndpointB.ChannelConfig.Version = types.Version return path } diff --git a/modules/core/04-channel/keeper/handshake.go b/modules/core/04-channel/keeper/handshake.go index e35ae4bd851..a9c5046c099 100644 --- a/modules/core/04-channel/keeper/handshake.go +++ b/modules/core/04-channel/keeper/handshake.go @@ -118,7 +118,6 @@ func (k Keeper) ChanOpenTry( previousChannelID string, portCap *capabilitytypes.Capability, counterparty types.Counterparty, - version, counterpartyVersion string, proofInit []byte, proofHeight exported.Height, @@ -148,7 +147,7 @@ func (k Keeper) ChanOpenTry( previousChannel.Counterparty.PortId == counterparty.PortId && previousChannel.Counterparty.ChannelId == "" && previousChannel.ConnectionHops[0] == connectionHops[0] && // ChanOpenInit will only set a single connection hop - previousChannel.Version == version) { + previousChannel.Version == counterpartyVersion) { return "", nil, sdkerrors.Wrap(types.ErrInvalidChannel, "channel fields mismatch previous channel fields") } diff --git a/modules/core/04-channel/keeper/handshake_test.go b/modules/core/04-channel/keeper/handshake_test.go index 1ed17c6d3fc..a9c24beb0aa 100644 --- a/modules/core/04-channel/keeper/handshake_test.go +++ b/modules/core/04-channel/keeper/handshake_test.go @@ -166,6 +166,19 @@ func (suite *KeeperTestSuite) TestChanOpenTry() { previousChannelID = path.EndpointB.ChannelID portCap = suite.chainB.GetPortCapability(ibctesting.MockPort) }, true}, + {"previous channel with invalid version, crossing hello", func() { + suite.coordinator.SetupConnections(path) + path.SetChannelOrdered() + + // modify channel version + path.EndpointA.ChannelConfig.Version = "invalid version" + + err := suite.coordinator.ChanOpenInitOnBothChains(path) + suite.Require().NoError(err) + + previousChannelID = path.EndpointB.ChannelID + portCap = suite.chainB.GetPortCapability(ibctesting.MockPort) + }, false}, {"previous channel with invalid state", func() { suite.coordinator.SetupConnections(path) @@ -272,7 +285,7 @@ func (suite *KeeperTestSuite) TestChanOpenTry() { channelID, cap, err := suite.chainB.App.GetIBCKeeper().ChannelKeeper.ChanOpenTry( suite.chainB.GetContext(), types.ORDERED, []string{path.EndpointB.ConnectionID}, - path.EndpointB.ChannelConfig.PortID, previousChannelID, portCap, counterparty, path.EndpointB.ChannelConfig.Version, path.EndpointA.ChannelConfig.Version, + path.EndpointB.ChannelConfig.PortID, previousChannelID, portCap, counterparty, path.EndpointA.ChannelConfig.Version, proof, malleateHeight(proofHeight, heightDiff), ) diff --git a/modules/core/04-channel/types/msgs.go b/modules/core/04-channel/types/msgs.go index d940eb9ae8c..b6e625ff32e 100644 --- a/modules/core/04-channel/types/msgs.go +++ b/modules/core/04-channel/types/msgs.go @@ -61,6 +61,8 @@ func (msg MsgChannelOpenInit) GetSigners() []sdk.AccAddress { var _ sdk.Msg = &MsgChannelOpenTry{} // NewMsgChannelOpenTry creates a new MsgChannelOpenTry instance +// The version string is deprecated and will be ignored by core IBC. +// It is left as an argument for go API backwards compatibility. // nolint:interfacer func NewMsgChannelOpenTry( portID, previousChannelID, version string, channelOrder Order, connectionHops []string, diff --git a/modules/core/04-channel/types/tx.pb.go b/modules/core/04-channel/types/tx.pb.go index 1a007540a64..2d3c75345ce 100644 --- a/modules/core/04-channel/types/tx.pb.go +++ b/modules/core/04-channel/types/tx.pb.go @@ -108,12 +108,14 @@ func (m *MsgChannelOpenInitResponse) XXX_DiscardUnknown() { var xxx_messageInfo_MsgChannelOpenInitResponse proto.InternalMessageInfo // MsgChannelOpenInit defines a msg sent by a Relayer to try to open a channel -// on Chain B. +// on Chain B. The version field within the Channel field has been deprecated. Its +// value will be ignored by core IBC. type MsgChannelOpenTry struct { PortId string `protobuf:"bytes,1,opt,name=port_id,json=portId,proto3" json:"port_id,omitempty" yaml:"port_id"` // in the case of crossing hello's, when both chains call OpenInit, we need // the channel identifier of the previous channel in state INIT - PreviousChannelId string `protobuf:"bytes,2,opt,name=previous_channel_id,json=previousChannelId,proto3" json:"previous_channel_id,omitempty" yaml:"previous_channel_id"` + PreviousChannelId string `protobuf:"bytes,2,opt,name=previous_channel_id,json=previousChannelId,proto3" json:"previous_channel_id,omitempty" yaml:"previous_channel_id"` + // NOTE: the version field within the channel has been deprecated. Its value will be ignored by core IBC. Channel Channel `protobuf:"bytes,3,opt,name=channel,proto3" json:"channel"` CounterpartyVersion string `protobuf:"bytes,4,opt,name=counterparty_version,json=counterpartyVersion,proto3" json:"counterparty_version,omitempty" yaml:"counterparty_version"` ProofInit []byte `protobuf:"bytes,5,opt,name=proof_init,json=proofInit,proto3" json:"proof_init,omitempty" yaml:"proof_init"` diff --git a/modules/core/05-port/keeper/grpc_query.go b/modules/core/05-port/keeper/grpc_query.go deleted file mode 100644 index 508c9749ccc..00000000000 --- a/modules/core/05-port/keeper/grpc_query.go +++ /dev/null @@ -1,52 +0,0 @@ -package keeper - -import ( - "context" - - sdk "github.com/cosmos/cosmos-sdk/types" - sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" - "google.golang.org/grpc/codes" - "google.golang.org/grpc/status" - - "github.com/cosmos/ibc-go/v3/modules/core/05-port/types" - host "github.com/cosmos/ibc-go/v3/modules/core/24-host" -) - -var _ types.QueryServer = (*Keeper)(nil) - -// AppVersion implements the Query/AppVersion gRPC method -func (q Keeper) AppVersion(c context.Context, req *types.QueryAppVersionRequest) (*types.QueryAppVersionResponse, error) { - if req == nil { - return nil, status.Error(codes.InvalidArgument, "empty request") - } - - if err := validategRPCRequest(req.PortId); err != nil { - return nil, err - } - - ctx := sdk.UnwrapSDKContext(c) - module, _, err := q.LookupModuleByPort(ctx, req.PortId) - if err != nil { - return nil, status.Errorf(codes.NotFound, sdkerrors.Wrap(err, "could not retrieve module from port-id").Error()) - } - - ibcModule, found := q.Router.GetRoute(module) - if !found { - return nil, status.Errorf(codes.NotFound, sdkerrors.Wrapf(types.ErrInvalidRoute, "route not found to module: %s", module).Error()) - } - - version, err := ibcModule.NegotiateAppVersion(ctx, req.Ordering, req.ConnectionId, req.PortId, *req.Counterparty, req.ProposedVersion) - if err != nil { - return nil, status.Errorf(codes.InvalidArgument, sdkerrors.Wrap(err, "version negotation failed").Error()) - } - - return types.NewQueryAppVersionResponse(req.PortId, version), nil -} - -func validategRPCRequest(portID string) error { - if err := host.PortIdentifierValidator(portID); err != nil { - return status.Error(codes.InvalidArgument, err.Error()) - } - - return nil -} diff --git a/modules/core/05-port/keeper/grpc_query_test.go b/modules/core/05-port/keeper/grpc_query_test.go deleted file mode 100644 index d7f144ab3bf..00000000000 --- a/modules/core/05-port/keeper/grpc_query_test.go +++ /dev/null @@ -1,103 +0,0 @@ -package keeper_test - -import ( - "fmt" - - sdk "github.com/cosmos/cosmos-sdk/types" - - channeltypes "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types" - "github.com/cosmos/ibc-go/v3/modules/core/05-port/types" - "github.com/cosmos/ibc-go/v3/testing/mock" -) - -func (suite *KeeperTestSuite) TestAppVersion() { - var ( - req *types.QueryAppVersionRequest - expVersion string - ) - - testCases := []struct { - msg string - malleate func() - expPass bool - }{ - { - "empty request", - func() { - req = nil - }, - false, - }, - { - "invalid port ID", - func() { - req = &types.QueryAppVersionRequest{ - PortId: "", - } - }, - false, - }, - { - "module not found", - func() { - req = &types.QueryAppVersionRequest{ - PortId: "mock-port-id", - } - }, - false, - }, - { - "version negotiation failure", - func() { - - expVersion = mock.Version - - req = &types.QueryAppVersionRequest{ - PortId: "mock", // retrieves the mock testing module - Counterparty: &channeltypes.Counterparty{ - PortId: "mock-port-id", - ChannelId: "mock-channel-id", - }, - ProposedVersion: "invalid-proposed-version", - } - }, - false, - }, - { - "success", - func() { - - expVersion = mock.Version - - req = &types.QueryAppVersionRequest{ - PortId: "mock", // retrieves the mock testing module - Counterparty: &channeltypes.Counterparty{ - PortId: "mock-port-id", - ChannelId: "mock-channel-id", - }, - ProposedVersion: mock.Version, - } - }, - true, - }, - } - - for _, tc := range testCases { - suite.Run(fmt.Sprintf("Case %s", tc.msg), func() { - suite.SetupTest() // reset - - tc.malleate() - - ctx := sdk.WrapSDKContext(suite.ctx) - res, err := suite.keeper.AppVersion(ctx, req) - - if tc.expPass { - suite.Require().NoError(err) - suite.Require().NotNil(res) - suite.Require().Equal(expVersion, res.Version) - } else { - suite.Require().Error(err) - } - }) - } -} diff --git a/modules/core/05-port/types/module.go b/modules/core/05-port/types/module.go index cd8c5719dc3..9c7442a9d76 100644 --- a/modules/core/05-port/types/module.go +++ b/modules/core/05-port/types/module.go @@ -2,8 +2,8 @@ package types import ( sdk "github.com/cosmos/cosmos-sdk/types" - capabilitytypes "github.com/cosmos/cosmos-sdk/x/capability/types" + channeltypes "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types" "github.com/cosmos/ibc-go/v3/modules/core/exported" ) @@ -11,6 +11,10 @@ import ( // IBCModule defines an interface that implements all the callbacks // that modules must define as specified in ICS-26 type IBCModule interface { + // OnChanOpenInit will verify that the relayer-chosen parameters are + // valid and perform any custom INIT logic.It may return an error if + // the chosen parameters are invalid in which case the handshake is aborted. + // OnChanOpenInit should return an error if the provided version is invalid. OnChanOpenInit( ctx sdk.Context, order channeltypes.Order, @@ -22,6 +26,14 @@ type IBCModule interface { version string, ) error + // OnChanOpenTry will verify the relayer-chosen parameters along with the + // counterparty-chosen version string and perform custom TRY logic. + // If the relayer-chosen parameters are invalid, the callback must return + // an error to abort the handshake. If the counterparty-chosen version is not + // compatible with this modules supported versions, the callback must return + // an error to abort the handshake. If the versions are compatible, the try callback + // must select the final version string and return it to core IBC. + // OnChanOpenTry may also perform custom initialization logic OnChanOpenTry( ctx sdk.Context, order channeltypes.Order, @@ -30,10 +42,11 @@ type IBCModule interface { channelID string, channelCap *capabilitytypes.Capability, counterparty channeltypes.Counterparty, - version, counterpartyVersion string, - ) error + ) (version string, err error) + // OnChanOpenAck will error if the counterparty selected version string + // is invalid to abort the handshake. It may also perform custom ACK logic. OnChanOpenAck( ctx sdk.Context, portID, @@ -41,6 +54,7 @@ type IBCModule interface { counterpartyVersion string, ) error + // OnChanOpenConfirm will perform custom CONFIRM logic and may error to abort the handshake. OnChanOpenConfirm( ctx sdk.Context, portID, @@ -82,18 +96,6 @@ type IBCModule interface { packet channeltypes.Packet, relayer sdk.AccAddress, ) error - - // NegotiateAppVersion performs application version negotiation given the provided channel ordering, connectionID, portID, counterparty and proposed version. - // An error is returned if version negotiation cannot be performed. For example, an application module implementing this interface - // may decide to return an error in the event of the proposed version being incompatible with it's own - NegotiateAppVersion( - ctx sdk.Context, - order channeltypes.Order, - connectionID string, - portID string, - counterparty channeltypes.Counterparty, - proposedVersion string, - ) (version string, err error) } // ICS4Wrapper implements the ICS4 interfaces that IBC applications use to send packets and acknolwedgements. diff --git a/modules/core/keeper/grpc_query.go b/modules/core/keeper/grpc_query.go index 5e45facf84f..2fb171a9c02 100644 --- a/modules/core/keeper/grpc_query.go +++ b/modules/core/keeper/grpc_query.go @@ -6,7 +6,6 @@ import ( clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" connectiontypes "github.com/cosmos/ibc-go/v3/modules/core/03-connection/types" channeltypes "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types" - porttypes "github.com/cosmos/ibc-go/v3/modules/core/05-port/types" ) // ClientState implements the IBC QueryServer interface @@ -133,8 +132,3 @@ func (q Keeper) UnreceivedAcks(c context.Context, req *channeltypes.QueryUnrecei func (q Keeper) NextSequenceReceive(c context.Context, req *channeltypes.QueryNextSequenceReceiveRequest) (*channeltypes.QueryNextSequenceReceiveResponse, error) { return q.ChannelKeeper.NextSequenceReceive(c, req) } - -// AppVersion implements the IBC QueryServer interface -func (q Keeper) AppVersion(c context.Context, req *porttypes.QueryAppVersionRequest) (*porttypes.QueryAppVersionResponse, error) { - return q.PortKeeper.AppVersion(c, req) -} diff --git a/modules/core/keeper/msg_server.go b/modules/core/keeper/msg_server.go index 039167da7a0..dbc4ac07812 100644 --- a/modules/core/keeper/msg_server.go +++ b/modules/core/keeper/msg_server.go @@ -312,19 +312,20 @@ func (k Keeper) ChannelOpenTry(goCtx context.Context, msg *channeltypes.MsgChann // Perform 04-channel verification channelID, cap, err := k.ChannelKeeper.ChanOpenTry(ctx, msg.Channel.Ordering, msg.Channel.ConnectionHops, msg.PortId, msg.PreviousChannelId, - portCap, msg.Channel.Counterparty, msg.Channel.Version, msg.CounterpartyVersion, msg.ProofInit, msg.ProofHeight, + portCap, msg.Channel.Counterparty, msg.CounterpartyVersion, msg.ProofInit, msg.ProofHeight, ) if err != nil { return nil, sdkerrors.Wrap(err, "channel handshake open try failed") } // Perform application logic callback - if err = cbs.OnChanOpenTry(ctx, msg.Channel.Ordering, msg.Channel.ConnectionHops, msg.PortId, channelID, cap, msg.Channel.Counterparty, msg.Channel.Version, msg.CounterpartyVersion); err != nil { + version, err := cbs.OnChanOpenTry(ctx, msg.Channel.Ordering, msg.Channel.ConnectionHops, msg.PortId, channelID, cap, msg.Channel.Counterparty, msg.CounterpartyVersion) + if err != nil { return nil, sdkerrors.Wrap(err, "channel open try callback failed") } // Write channel into state - k.ChannelKeeper.WriteOpenTryChannel(ctx, msg.PortId, channelID, msg.Channel.Ordering, msg.Channel.ConnectionHops, msg.Channel.Counterparty, msg.Channel.Version) + k.ChannelKeeper.WriteOpenTryChannel(ctx, msg.PortId, channelID, msg.Channel.Ordering, msg.Channel.ConnectionHops, msg.Channel.Counterparty, version) return &channeltypes.MsgChannelOpenTryResponse{}, nil } diff --git a/modules/core/types/query.go b/modules/core/types/query.go index dd14f6c57f0..ef9d0589448 100644 --- a/modules/core/types/query.go +++ b/modules/core/types/query.go @@ -9,8 +9,6 @@ import ( connectiontypes "github.com/cosmos/ibc-go/v3/modules/core/03-connection/types" channel "github.com/cosmos/ibc-go/v3/modules/core/04-channel" channeltypes "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types" - port "github.com/cosmos/ibc-go/v3/modules/core/05-port" - porttypes "github.com/cosmos/ibc-go/v3/modules/core/05-port/types" ) // QueryServer defines the IBC interfaces that the gRPC query server must implement @@ -18,7 +16,6 @@ type QueryServer interface { clienttypes.QueryServer connectiontypes.QueryServer channeltypes.QueryServer - porttypes.QueryServer } // RegisterQueryService registers each individual IBC submodule query service @@ -26,5 +23,4 @@ func RegisterQueryService(server grpc.Server, queryService QueryServer) { client.RegisterQueryService(server, queryService) connection.RegisterQueryService(server, queryService) channel.RegisterQueryService(server, queryService) - port.RegisterQueryService(server, queryService) } diff --git a/proto/ibc/core/channel/v1/tx.proto b/proto/ibc/core/channel/v1/tx.proto index c9322c1def7..4f28418c9a2 100644 --- a/proto/ibc/core/channel/v1/tx.proto +++ b/proto/ibc/core/channel/v1/tx.proto @@ -57,7 +57,8 @@ message MsgChannelOpenInit { message MsgChannelOpenInitResponse {} // MsgChannelOpenInit defines a msg sent by a Relayer to try to open a channel -// on Chain B. +// on Chain B. The version field within the Channel field has been deprecated. Its +// value will be ignored by core IBC. message MsgChannelOpenTry { option (gogoproto.equal) = false; option (gogoproto.goproto_getters) = false; @@ -65,7 +66,8 @@ message MsgChannelOpenTry { string port_id = 1 [(gogoproto.moretags) = "yaml:\"port_id\""]; // in the case of crossing hello's, when both chains call OpenInit, we need // the channel identifier of the previous channel in state INIT - string previous_channel_id = 2 [(gogoproto.moretags) = "yaml:\"previous_channel_id\""]; + string previous_channel_id = 2 [(gogoproto.moretags) = "yaml:\"previous_channel_id\""]; + // NOTE: the version field within the channel has been deprecated. Its value will be ignored by core IBC. Channel channel = 3 [(gogoproto.nullable) = false]; string counterparty_version = 4 [(gogoproto.moretags) = "yaml:\"counterparty_version\""]; bytes proof_init = 5 [(gogoproto.moretags) = "yaml:\"proof_init\""]; diff --git a/proto/ibc/core/port/v1/query.proto b/proto/ibc/core/port/v1/query.proto deleted file mode 100644 index 4ae44a5db70..00000000000 --- a/proto/ibc/core/port/v1/query.proto +++ /dev/null @@ -1,35 +0,0 @@ -syntax = "proto3"; - -package ibc.core.port.v1; - -option go_package = "github.com/cosmos/ibc-go/v3/modules/core/05-port/types"; - -import "ibc/core/channel/v1/channel.proto"; - -// Query defines the gRPC querier service -service Query { - // AppVersion queries an IBC Port and determines the appropriate application version to be used - rpc AppVersion(QueryAppVersionRequest) returns (QueryAppVersionResponse) {} -} - -// QueryAppVersionRequest is the request type for the Query/AppVersion RPC method -message QueryAppVersionRequest { - // port unique identifier - string port_id = 1; - // connection unique identifier - string connection_id = 2; - // whether the channel is ordered or unordered - ibc.core.channel.v1.Order ordering = 3; - // counterparty channel end - ibc.core.channel.v1.Counterparty counterparty = 4; - // proposed version - string proposed_version = 5; -} - -// QueryAppVersionResponse is the response type for the Query/AppVersion RPC method. -message QueryAppVersionResponse { - // port id associated with the request identifiers - string port_id = 1; - // supported app version - string version = 2; -} diff --git a/testing/endpoint.go b/testing/endpoint.go index a2ab014fe99..4c3804879c9 100644 --- a/testing/endpoint.go +++ b/testing/endpoint.go @@ -306,6 +306,10 @@ func (endpoint *Endpoint) ChanOpenTry() error { require.NoError(endpoint.Chain.t, err) } + // update version to selected app version + // NOTE: this update must be performed after the endpoint channelID is set + endpoint.ChannelConfig.Version = endpoint.GetChannel().Version + return nil } diff --git a/testing/mock/ibc_app.go b/testing/mock/ibc_app.go index a4a7460c05f..a3f2db3bc6d 100644 --- a/testing/mock/ibc_app.go +++ b/testing/mock/ibc_app.go @@ -8,6 +8,7 @@ import ( "github.com/cosmos/ibc-go/v3/modules/core/exported" ) +// MockIBCApp contains IBC application module callbacks as defined in 05-port. type MockIBCApp struct { OnChanOpenInit func( ctx sdk.Context, @@ -28,9 +29,8 @@ type MockIBCApp struct { channelID string, channelCap *capabilitytypes.Capability, counterparty channeltypes.Counterparty, - version, counterpartyVersion string, - ) error + ) (version string, err error) OnChanOpenAck func( ctx sdk.Context, @@ -80,16 +80,4 @@ type MockIBCApp struct { packet channeltypes.Packet, relayer sdk.AccAddress, ) error - - // NegotiateAppVersion performs application version negotiation given the provided channel ordering, connectionID, portID, counterparty and proposed version. - // An error is returned if version negotiation cannot be performed. For example, an application module implementing this interface - // may decide to return an error in the event of the proposed version being incompatible with it's own - NegotiateAppVersion func( - ctx sdk.Context, - order channeltypes.Order, - connectionID string, - portID string, - counterparty channeltypes.Counterparty, - proposedVersion string, - ) (version string, err error) } diff --git a/testing/mock/ibc_module.go b/testing/mock/ibc_module.go index 128f17cf799..84e57b8f25d 100644 --- a/testing/mock/ibc_module.go +++ b/testing/mock/ibc_module.go @@ -2,7 +2,6 @@ package mock import ( "bytes" - "errors" "strconv" sdk "github.com/cosmos/cosmos-sdk/types" @@ -49,18 +48,18 @@ func (im IBCModule) OnChanOpenInit( // OnChanOpenTry implements the IBCModule interface. func (im IBCModule) OnChanOpenTry( ctx sdk.Context, order channeltypes.Order, connectionHops []string, portID string, - channelID string, chanCap *capabilitytypes.Capability, counterparty channeltypes.Counterparty, version, counterpartyVersion string, -) error { + channelID string, chanCap *capabilitytypes.Capability, counterparty channeltypes.Counterparty, counterpartyVersion string, +) (version string, err error) { if im.IBCApp.OnChanOpenTry != nil { - return im.IBCApp.OnChanOpenTry(ctx, order, connectionHops, portID, channelID, chanCap, counterparty, version, counterpartyVersion) + return im.IBCApp.OnChanOpenTry(ctx, order, connectionHops, portID, channelID, chanCap, counterparty, counterpartyVersion) } // Claim channel capability passed back by IBC module if err := im.scopedKeeper.ClaimCapability(ctx, chanCap, host.ChannelCapabilityPath(portID, channelID)); err != nil { - return err + return "", err } - return nil + return Version, nil } // OnChanOpenAck implements the IBCModule interface. @@ -152,23 +151,3 @@ func (im IBCModule) OnTimeoutPacket(ctx sdk.Context, packet channeltypes.Packet, return nil } - -// NegotiateAppVersion implements the IBCModule interface. -func (im IBCModule) NegotiateAppVersion( - ctx sdk.Context, - order channeltypes.Order, - connectionID string, - portID string, - counterparty channeltypes.Counterparty, - proposedVersion string, -) (string, error) { - if im.IBCApp.NegotiateAppVersion != nil { - return im.IBCApp.NegotiateAppVersion(ctx, order, connectionID, portID, counterparty, proposedVersion) - } - - if proposedVersion != Version { // allow testing of error scenarios - return "", errors.New("failed to negotiate app version") - } - - return Version, nil -} diff --git a/testing/values.go b/testing/values.go index e341b98fd50..8dbfa66d3ab 100644 --- a/testing/values.go +++ b/testing/values.go @@ -29,7 +29,7 @@ const ( MaxClockDrift time.Duration = time.Second * 10 DefaultDelayPeriod uint64 = 0 - DefaultChannelVersion = ibctransfertypes.Version + DefaultChannelVersion = mock.Version InvalidID = "IDisInvalid" // Application Ports From 297df131b2b2d61f1f48fbcd2e0c7110002932fa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?colin=20axn=C3=A9r?= <25233464+colin-axner@users.noreply.github.com> Date: Wed, 22 Dec 2021 17:05:04 +0100 Subject: [PATCH 090/107] fix broken link (#664) --- docs/ibc/relayer.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/ibc/relayer.md b/docs/ibc/relayer.md index c839c14b60f..c846f2c7320 100644 --- a/docs/ibc/relayer.md +++ b/docs/ibc/relayer.md @@ -14,7 +14,7 @@ order: 6 Events are emitted for every transaction processed by the base application to indicate the execution of some logic clients may want to be aware of. This is extremely useful when relaying IBC packets. Any message that uses IBC will emit events for the corresponding TAO logic executed as defined in -the [IBC events spec](https://github.com/cosmos/ibc-go/blob/main/modules/core/spec/06_events.md). +the [IBC events document](./events.md). In the SDK, it can be assumed that for every message there is an event emitted with the type `message`, attribute key `action`, and an attribute value representing the type of message sent From ffc29d9be626771065aec5c142b6c6832c3594d0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?colin=20axn=C3=A9r?= <25233464+colin-axner@users.noreply.github.com> Date: Thu, 23 Dec 2021 12:32:50 +0100 Subject: [PATCH 091/107] chore: update make build-docs, add docs build checker (#667) * update Makefile, add docs build checker * Update .github/workflows/check-docs.yml Co-authored-by: Marko Co-authored-by: Marko --- .github/workflows/check-docs.yml | 26 ++++++++++++++++++++++++++ Makefile | 4 +++- 2 files changed, 29 insertions(+), 1 deletion(-) create mode 100644 .github/workflows/check-docs.yml diff --git a/.github/workflows/check-docs.yml b/.github/workflows/check-docs.yml new file mode 100644 index 00000000000..ef8e500bc18 --- /dev/null +++ b/.github/workflows/check-docs.yml @@ -0,0 +1,26 @@ +name: Check docs build +# This workflow runs when a PR is labeled with `docs` +# This will check if the docs build successfully by running `npm run build` +on: + pull_request: + paths: + - './docs' + +jobs: + check-docs-build: + if: ${{ github.event.label.name == 'docs' }} + + name: Check docs build + runs-on: ubuntu-latest + steps: + - name: Checkout 🛎️ + uses: actions/checkout@v2.3.1 + with: + persist-credentials: false + fetch-depth: 0 + + - name: Install dependencies and build docs 🧱 + run: | + cd docs + npm install + npm run build diff --git a/Makefile b/Makefile index 82c75b862ef..f424693048e 100644 --- a/Makefile +++ b/Makefile @@ -196,11 +196,13 @@ godocs: build-docs: @cd docs && \ while read -r branch path_prefix; do \ - (git checkout $${branch} && npm install && VUEPRESS_BASE="/$${path_prefix}/" npm run build) ; \ + echo "building branch $${branch}" ; \ + (git clean -fdx && git reset --hard && git checkout $${branch} && npm install && VUEPRESS_BASE="/$${path_prefix}/" npm run build) ; \ mkdir -p ~/output/$${path_prefix} ; \ cp -r .vuepress/dist/* ~/output/$${path_prefix}/ ; \ cp ~/output/$${path_prefix}/index.html ~/output ; \ done < versions ; + .PHONY: build-docs ############################################################################### From ce71056f0943d43264247f10555b68812517817f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?colin=20axn=C3=A9r?= <25233464+colin-axner@users.noreply.github.com> Date: Thu, 23 Dec 2021 12:51:31 +0100 Subject: [PATCH 092/107] register ICA query server, fix panics in params query cli (#666) Register the controller and host query servers to a chain. Returns an error upon cli params query failure instead of panicing. --- .../27-interchain-accounts/controller/client/cli/query.go | 6 +++++- .../apps/27-interchain-accounts/host/client/cli/query.go | 6 +++++- modules/apps/27-interchain-accounts/module.go | 2 ++ modules/apps/transfer/client/cli/query.go | 6 +++++- 4 files changed, 17 insertions(+), 3 deletions(-) diff --git a/modules/apps/27-interchain-accounts/controller/client/cli/query.go b/modules/apps/27-interchain-accounts/controller/client/cli/query.go index 3be2cf12704..2f06284a28c 100644 --- a/modules/apps/27-interchain-accounts/controller/client/cli/query.go +++ b/modules/apps/27-interchain-accounts/controller/client/cli/query.go @@ -26,7 +26,11 @@ func GetCmdParams() *cobra.Command { } queryClient := types.NewQueryClient(clientCtx) - res, _ := queryClient.Params(cmd.Context(), &types.QueryParamsRequest{}) + res, err := queryClient.Params(cmd.Context(), &types.QueryParamsRequest{}) + if err != nil { + return err + } + return clientCtx.PrintProto(res.Params) }, } diff --git a/modules/apps/27-interchain-accounts/host/client/cli/query.go b/modules/apps/27-interchain-accounts/host/client/cli/query.go index e00b337c45a..0033e8f9e7c 100644 --- a/modules/apps/27-interchain-accounts/host/client/cli/query.go +++ b/modules/apps/27-interchain-accounts/host/client/cli/query.go @@ -26,7 +26,11 @@ func GetCmdParams() *cobra.Command { } queryClient := types.NewQueryClient(clientCtx) - res, _ := queryClient.Params(cmd.Context(), &types.QueryParamsRequest{}) + res, err := queryClient.Params(cmd.Context(), &types.QueryParamsRequest{}) + if err != nil { + return err + } + return clientCtx.PrintProto(res.Params) }, } diff --git a/modules/apps/27-interchain-accounts/module.go b/modules/apps/27-interchain-accounts/module.go index a918c552b40..1f816a50d1f 100644 --- a/modules/apps/27-interchain-accounts/module.go +++ b/modules/apps/27-interchain-accounts/module.go @@ -130,6 +130,8 @@ func (am AppModule) LegacyQuerierHandler(legacyQuerierCdc *codec.LegacyAmino) sd // RegisterServices registers module services func (am AppModule) RegisterServices(cfg module.Configurator) { + controllertypes.RegisterQueryServer(cfg.QueryServer(), am.controllerKeeper) + hosttypes.RegisterQueryServer(cfg.QueryServer(), am.hostKeeper) } // InitGenesis performs genesis initialization for the interchain accounts module. diff --git a/modules/apps/transfer/client/cli/query.go b/modules/apps/transfer/client/cli/query.go index 5d0a947ee60..78d7bfd1b99 100644 --- a/modules/apps/transfer/client/cli/query.go +++ b/modules/apps/transfer/client/cli/query.go @@ -97,7 +97,11 @@ func GetCmdParams() *cobra.Command { } queryClient := types.NewQueryClient(clientCtx) - res, _ := queryClient.Params(cmd.Context(), &types.QueryParamsRequest{}) + res, err := queryClient.Params(cmd.Context(), &types.QueryParamsRequest{}) + if err != nil { + return err + } + return clientCtx.PrintProto(res.Params) }, } From f8495885e8f3ce112148e739425e6684203a3aed Mon Sep 17 00:00:00 2001 From: Carlos Rodriguez Date: Thu, 23 Dec 2021 13:34:46 +0100 Subject: [PATCH 093/107] update of roadmap with latest release (#653) * update of roadmap with latest release and changed the way release versions are encoded * fixed typo Co-authored-by: Carlos Rodriguez --- docs/roadmap/roadmap.md | 73 ++++++++++++++++++++++------------------- 1 file changed, 39 insertions(+), 34 deletions(-) diff --git a/docs/roadmap/roadmap.md b/docs/roadmap/roadmap.md index ea0e83e8b01..5bc00fe8ee9 100644 --- a/docs/roadmap/roadmap.md +++ b/docs/roadmap/roadmap.md @@ -4,13 +4,21 @@ order: 1 # Roadmap ibc-go -_Lastest update: Dec 16, 2021_ +_Lastest update: Dec 22, 2021_ This document endeavours to inform the wider IBC community about plans and priorities for work on ibc-go byt the team at Interchain GmbH. It is intended to broadly inform all users of ibc-go, including developers and operators of IBC, relayer, chain and wallet applications. This roadmap should be read as a high-level guide, rather than a commitment to schedules and deliverables. The degree of specificity is inversely proportional to the timeline. We will update this document periodically to reflect the status and plans. -The release tags and timelines are educated guesses based on the information at hand at the moment of updating this document. The `x` in the release tags is a placeholder for the final version number. +The release tags and timelines are educated guesses based on the information at hand at the moment of updating this document. Since predicting the final version number (specially for minor and patch numbers) can be challenging (since we might need to release unforeseen security vulnerability patches or urgent bug fixes), we are using alphabet letters as placeholders. Once we get closer to the release date, the placeholder will be replaced with the right number. An example for clarification... + +Let's assume that the planned release schedule looks like the following: +- At time `t0`: + - The first patch release for the `v2.0.x` release series with release tag `v2.0.a`. The placeholder is `a` since this is the first patch release. + - The first minor release for the `v2.x` release series with release tag `v2.a.0`. The placeholder is `a` since this is the first minor release. +- At time `t0 + delta`: + - The second patch release for the `v2.0.x` release series with release tag `v2.0.b`. The placehoder is `b` since this is the next patch release of this release series after `v2.0.a`. + - The first patch release for the new `v2.a.x` release series with release tag `v2.a.a`. The patch version placeholder is `a` because this is the first patch release of the series. ## Q4 - 2021 @@ -36,24 +44,21 @@ We will work to bring the ibc-go implementation in line with [ICS02](https://git |Release|Milestone|Date| |-------|---------|----| -|[v1.1.0](https://github.com/cosmos/ibc-go/releases/tag/v1.1.1)||Oct 04, 2021| -|[v1.2.1](https://github.com/cosmos/ibc-go/releases/tag/v1.2.1)||Oct 04, 2021| -|[v2.0.0-rc0](https://github.com/cosmos/ibc-go/releases/tag/v2.0.0-rc0)|[Link](https://github.com/cosmos/ibc-go/milestone/3)|Oct 05, 2021| -|[v1.1.2](https://github.com/cosmos/ibc-go/releases/tag/v1.1.2)||Oct 15, 2021| -|[v1.2.2](https://github.com/cosmos/ibc-go/releases/tag/v1.2.2)||Oct 15, 2021| -|[v1.1.3](https://github.com/cosmos/ibc-go/releases/tag/v1.1.3)||Nov 09, 2021| -|[v1.2.3](https://github.com/cosmos/ibc-go/releases/tag/v1.2.3)||Nov 09, 2021| -|[v2.0.0](https://github.com/cosmos/ibc-go/releases/tag/v2.0.0)|[Link](https://github.com/cosmos/ibc-go/milestone/3)|Nov 09, 2021| -|[v1.1.4](https://github.com/cosmos/ibc-go/releases/tag/v1.1.5)||Dec 06, 2021| -|[v1.2.4](https://github.com/cosmos/ibc-go/releases/tag/v1.2.4)||Dec 06, 2021| -|[v2.0.1](https://github.com/cosmos/ibc-go/releases/tag/v2.0.1)|[Link](https://github.com/cosmos/ibc-go/milestone/11)|Dec 06, 2021| -|[v1.1.5](https://github.com/cosmos/ibc-go/releases/tag/v1.1.5)||Dec 15, 2021| -|[v1.2.5](https://github.com/cosmos/ibc-go/releases/tag/v1.2.5)||Dec 15, 2021| -|[v2.0.2](https://github.com/cosmos/ibc-go/releases/tag/v2.0.2)|[Link](https://github.com/cosmos/ibc-go/milestone/20)|Dec 15, 2021| - -#### H1 December - -- v3.0.0-alpha: Alpha release of v3.0.0 including Interchain Accounts, an update of Golang from v1.15 to v1.17, and some core improvements. See [v3.0.0 milestone](https://github.com/cosmos/ibc-go/milestone/12) for more details. +|[`v1.1.0`](https://github.com/cosmos/ibc-go/releases/tag/v1.1.1)||Oct 04, 2021| +|[`v1.2.1`](https://github.com/cosmos/ibc-go/releases/tag/v1.2.1)||Oct 04, 2021| +|[`v2.0.0-rc0`](https://github.com/cosmos/ibc-go/releases/tag/v2.0.0-rc0)|[Link](https://github.com/cosmos/ibc-go/milestone/3)|Oct 05, 2021| +|[`v1.1.2`](https://github.com/cosmos/ibc-go/releases/tag/v1.1.2)||Oct 15, 2021| +|[`v1.2.2`](https://github.com/cosmos/ibc-go/releases/tag/v1.2.2)||Oct 15, 2021| +|[`v1.1.3`](https://github.com/cosmos/ibc-go/releases/tag/v1.1.3)||Nov 09, 2021| +|[`v1.2.3`](https://github.com/cosmos/ibc-go/releases/tag/v1.2.3)||Nov 09, 2021| +|[`v2.0.0`](https://github.com/cosmos/ibc-go/releases/tag/v2.0.0)|[Link](https://github.com/cosmos/ibc-go/milestone/3)|Nov 09, 2021| +|[`v1.1.4`](https://github.com/cosmos/ibc-go/releases/tag/v1.1.5)||Dec 06, 2021| +|[`v1.2.4`](https://github.com/cosmos/ibc-go/releases/tag/v1.2.4)||Dec 06, 2021| +|[`v2.0.1`](https://github.com/cosmos/ibc-go/releases/tag/v2.0.1)|[Link](https://github.com/cosmos/ibc-go/milestone/11)|Dec 06, 2021| +|[`v1.1.5`](https://github.com/cosmos/ibc-go/releases/tag/v1.1.5)||Dec 15, 2021| +|[`v1.2.5`](https://github.com/cosmos/ibc-go/releases/tag/v1.2.5)||Dec 15, 2021| +|[`v2.0.2`](https://github.com/cosmos/ibc-go/releases/tag/v2.0.2)|[Link](https://github.com/cosmos/ibc-go/milestone/20)|Dec 15, 2021| +|[`v3.0.0-alpha1`](https://github.com/cosmos/ibc-go/releases/tag/v3.0.0-alpha1)|[Link](https://github.com/cosmos/ibc-go/milestone/12)|Dec 21, 2021| ## Q1 - 2022 @@ -90,33 +95,33 @@ There is an open [PR](https://github.com/cosmos/ibc-go/pull/208) that implements #### H1 January -- [v3.0.0-beta](https://github.com/cosmos/ibc-go/milestone/12): Beta release of v3.0.0 including Interchain Accounts, an update of Golang from v1.15 to v1.17, and some core improvements. This is a Go-API breaking change because of [#472](https://github.com/cosmos/ibc-go/issues/472). +- [`v3.0.0-beta`](https://github.com/cosmos/ibc-go/milestone/12): Beta release of `v3.0.0` including Interchain Accounts, an update of Golang from `v1.15` to `v1.17`, and some core improvements. This is a Go-API breaking change because of [#472](https://github.com/cosmos/ibc-go/issues/472). #### H2 January -- [v2.0.x](https://github.com/cosmos/ibc-go/milestone/14) -- [v3.0.0-rc0](https://github.com/cosmos/ibc-go/milestone/12): Release candidate 0 of v3.0.0 including Interchain Accounts, an update of Golang from v1.15 to v1.17, and some core improvements. This is a Go-API breaking change because of [#472](https://github.com/cosmos/ibc-go/issues/472). -- [v4.0.0-alpha](https://github.com/cosmos/ibc-go/milestone/16): Alpha release of v4.0.0 including Relayer Incentivisation and the issues to bring ibc-go implementation in line with ICS02 (which are Go-API breaking changes). This release will include fixes to issues that surfaced during internal audit. +- [`v2.0.a`](https://github.com/cosmos/ibc-go/milestone/14) +- [`v3.0.0-rc0`](https://github.com/cosmos/ibc-go/milestone/12): Release candidate 0 of `v3.0.0` including Interchain Accounts, an update of Golang from `v1.15` to `v1.17`, and some core improvements. This is a Go-API breaking change because of [#472](https://github.com/cosmos/ibc-go/issues/472). +- [`v4.0.0-alpha`](https://github.com/cosmos/ibc-go/milestone/16): Alpha release of `v4.0.0` including Relayer Incentivisation and the issues to bring ibc-go implementation in line with ICS02 (which are Go-API breaking changes). This release will include fixes to issues that surfaced during internal audit. #### H1 February -- [v3.0.0](https://github.com/cosmos/ibc-go/milestone/12): Final release of v3.0.0 including Interchain Accounts, an update of Golang from v1.15 to v1.17, and some core improvements. This is a Go-API breaking change because of [#472](https://github.com/cosmos/ibc-go/issues/472). +- [`v3.0.0`](https://github.com/cosmos/ibc-go/milestone/12): Final release of `v3.0.0` including Interchain Accounts, an update of Golang from `v1.15` to `v1.17`, and some core improvements. This is a Go-API breaking change because of [#472](https://github.com/cosmos/ibc-go/issues/472). #### H2 February -- [v4.0.0-beta](https://github.com/cosmos/ibc-go/milestone/16): Beta release of v4.0.0 including Relayer Incentivisation and the issues to bring ibc-go implementation in line with ICS02 (which are Go-API breaking changes). This release will include fixes to issues that surfaced during external audit. +- [`v4.0.0-beta`](https://github.com/cosmos/ibc-go/milestone/16): Beta release of `v4.0.0` including Relayer Incentivisation and the issues to bring ibc-go implementation in line with ICS02 (which are Go-API breaking changes). This release will include fixes to issues that surfaced during external audit. #### H1 March -- [v4.0.0-rc0](https://github.com/cosmos/ibc-go/milestone/16): Release candidate 0 of v4.0.0 including Relayer Incentivisation and the issues to bring ibc-go implementation in line with ICS02 (which are Go-API breaking changes). +- [`v4.0.0-rc0`](https://github.com/cosmos/ibc-go/milestone/16): Release candidate 0 of `v4.0.0` including Relayer Incentivisation and the issues to bring ibc-go implementation in line with ICS02 (which are Go-API breaking changes). #### H2 March -- [v4.0.0](https://github.com/cosmos/ibc-go/milestone/16): Final release of v4.0.0 including Relayer Incentivisation and the issues to bring ibc-go implementation in line with ICS02 (which are Go-API breaking changes). -- [v1.x.0](https://github.com/cosmos/ibc-go/milestone/17): Release in v1.x line including the update of Cosmos SDK to [v0.45](https://github.com/cosmos/cosmos-sdk/milestone/46) and Tendermint to [v0.35](https://github.com/tendermint/tendermint/releases/tag/v0.35.0). -- [v2.x.0](https://github.com/cosmos/ibc-go/milestone/18): Release in v2.x line including the update of Cosmos SDK to [v0.45](https://github.com/cosmos/cosmos-sdk/milestone/46) and Tendermint to [v0.35](https://github.com/tendermint/tendermint/releases/tag/v0.35.0). -- [v3.x.0](https://github.com/cosmos/ibc-go/milestone/19): Release in v3.x line including the update of Cosmos SDK to [v0.45](https://github.com/cosmos/cosmos-sdk/milestone/46) and Tendermint to [v0.35](https://github.com/tendermint/tendermint/releases/tag/v0.35.0). -- [v4.x.0](https://github.com/cosmos/ibc-go/milestone/22): Release in v4.x line including the update of Cosmos SDK to [v0.45](https://github.com/cosmos/cosmos-sdk/milestone/46) and Tendermint to [v0.35](https://github.com/tendermint/tendermint/releases/tag/v0.35.0). +- [`v4.0.0`](https://github.com/cosmos/ibc-go/milestone/16): Final release of `v4.0.0` including Relayer Incentivisation and the issues to bring ibc-go implementation in line with ICS02 (which are Go-API breaking changes). +- [`v1.a.0`](https://github.com/cosmos/ibc-go/milestone/17): Minor release in `v1.x` seires including the update of Cosmos SDK to [`v0.45`](https://github.com/cosmos/cosmos-sdk/milestone/46) and Tendermint to [`v0.35`](https://github.com/tendermint/tendermint/releases/tag/v0.35.0). +- [`v2.a.0`](https://github.com/cosmos/ibc-go/milestone/18): Minor release in `v2.x` series including the update of Cosmos SDK to [`v0.45`](https://github.com/cosmos/cosmos-sdk/milestone/46) and Tendermint to [`v0.35`](https://github.com/tendermint/tendermint/releases/tag/v0.35.0). +- [`v3.a.0`](https://github.com/cosmos/ibc-go/milestone/19): Minor release in `v3.x` series including the update of Cosmos SDK to [v0.45](https://github.com/cosmos/cosmos-sdk/milestone/46) and Tendermint to [`v0.35`](https://github.com/tendermint/tendermint/releases/tag/v0.35.0). +- [`v4.a.0`](https://github.com/cosmos/ibc-go/milestone/22): Minor release in `v4.x` series including the update of Cosmos SDK to [`v0.45`](https://github.com/cosmos/cosmos-sdk/milestone/46) and Tendermint to [`v0.35`](https://github.com/tendermint/tendermint/releases/tag/v0.35.0). ## Q2 - 2022 @@ -126,8 +131,8 @@ Scope is still TBD. #### H1 April -- [v5.0.0-rc0](https://github.com/cosmos/ibc-go/milestone/21): Release candidate that includes the update of Cosmos SDK from 0.45 to [v1.0](https://github.com/cosmos/cosmos-sdk/milestone/52) and that will support the migration to SMT storage. +- [`v5.0.0-rc0`](https://github.com/cosmos/ibc-go/milestone/21): Release candidate that includes the update of Cosmos SDK from `v0.45` to [`v1.0`](https://github.com/cosmos/cosmos-sdk/milestone/52) and that will support the migration to SMT storage. #### H2 April -- [v5.0.0](https://github.com/cosmos/ibc-go/milestone/21): Final release that includes the update of Cosmos SDK from 0.45 to [v1.0](https://github.com/cosmos/cosmos-sdk/milestone/52) and that will support the migration to SMT storage. \ No newline at end of file +- [`v5.0.0`](https://github.com/cosmos/ibc-go/milestone/21): Final release that includes the update of Cosmos SDK from `v0.45` to [v1.0](https://github.com/cosmos/cosmos-sdk/milestone/52) and that will support the migration to SMT storage. \ No newline at end of file From 4523ef58ef0531cec765dcb8319846943ed35308 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 23 Dec 2021 16:08:09 +0100 Subject: [PATCH 094/107] build(deps): bump actions/checkout from 2.3.1 to 2.4.0 (#672) Bumps [actions/checkout](https://github.com/actions/checkout) from 2.3.1 to 2.4.0. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](https://github.com/actions/checkout/compare/v2.3.1...v2.4.0) --- updated-dependencies: - dependency-name: actions/checkout dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/check-docs.yml | 2 +- .github/workflows/link-check.yml | 2 +- .github/workflows/test.yml | 8 ++++---- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/check-docs.yml b/.github/workflows/check-docs.yml index ef8e500bc18..abcaa066e2d 100644 --- a/.github/workflows/check-docs.yml +++ b/.github/workflows/check-docs.yml @@ -14,7 +14,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout 🛎️ - uses: actions/checkout@v2.3.1 + uses: actions/checkout@v2.4.0 with: persist-credentials: false fetch-depth: 0 diff --git a/.github/workflows/link-check.yml b/.github/workflows/link-check.yml index c802efe8616..d40882e4fde 100644 --- a/.github/workflows/link-check.yml +++ b/.github/workflows/link-check.yml @@ -4,7 +4,7 @@ jobs: markdown-link-check: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v2.4.0 - uses: gaurav-nelson/github-action-markdown-link-check@v1 with: config-file: '.github/workflows/link-check-config.json' \ No newline at end of file diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 2af2dbfac56..730859ebd3b 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -37,7 +37,7 @@ jobs: matrix: go-arch: ["amd64", "arm", "arm64"] steps: - - uses: actions/checkout@v2.3.4 + - uses: actions/checkout@v2.4.0 - uses: actions/setup-go@v2.1.5 with: go-version: 1.17 @@ -54,7 +54,7 @@ jobs: split-test-files: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2.3.4 + - uses: actions/checkout@v2.4.0 - name: Create a file with all the pkgs run: go list ./... > pkgs.txt - name: Split pkgs into 4 files @@ -85,7 +85,7 @@ jobs: matrix: part: ["00", "01", "02", "03"] steps: - - uses: actions/checkout@v2.3.4 + - uses: actions/checkout@v2.4.0 - uses: actions/setup-go@v2.1.5 with: go-version: 1.17 @@ -112,7 +112,7 @@ jobs: runs-on: ubuntu-latest needs: tests steps: - - uses: actions/checkout@v2.3.4 + - uses: actions/checkout@v2.4.0 - uses: technote-space/get-diff-action@v5 with: PATTERNS: | From e40cdec6a3413fb3c8ea2a7ccad5e363ecd5a695 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?colin=20axn=C3=A9r?= <25233464+colin-axner@users.noreply.github.com> Date: Mon, 3 Jan 2022 13:35:05 +0100 Subject: [PATCH 095/107] allow ics20 to connect to middleware (#675) * allow ics20 to connect to middleware Creates ics4Wrapper which allows middleware applications to only implement SendPacket to connect ics20 as an application in its middleware stack * add changelog and migration doc * fix migration doc spelling --- CHANGELOG.md | 1 + docs/migrations/v2-to-v3.md | 7 +++++++ .../27-interchain-accounts/controller/keeper/grpc_query.go | 2 ++ modules/apps/transfer/keeper/keeper.go | 4 +++- modules/apps/transfer/keeper/relay.go | 2 +- modules/apps/transfer/types/expected_keepers.go | 6 +++++- testing/simapp/app.go | 2 +- 7 files changed, 20 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index f977789ec8e..9f1ecf9039f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -42,6 +42,7 @@ Ref: https://keepachangelog.com/en/1.0.0/ ### API Breaking +* (transfer) [\#675](https://github.com/cosmos/ibc-go/pull/675) Transfer `NewKeeper` now takes in an ICS4Wrapper. The ICS4Wrapper may be the IBC Channel Keeper when ICS20 is not used in a middleware stack. The ICS4Wrapper is required for applications wishing to connect middleware to ICS20. * (core) [\#650](https://github.com/cosmos/ibc-go/pull/650) Modify `OnChanOpenTry` IBC application module callback to return the negotiated app version. The version passed into the `MsgChanOpenTry` has been deprecated and will be ignored by core IBC. * (core) [\#629](https://github.com/cosmos/ibc-go/pull/629) Removes the `GetProofSpecs` from the ClientState interface. This function was previously unused by core IBC. * (transfer) [\#517](https://github.com/cosmos/ibc-go/pull/517) Separates the ICS 26 callback functions from `AppModule` into a new type `IBCModule` for ICS 20 transfer. diff --git a/docs/migrations/v2-to-v3.md b/docs/migrations/v2-to-v3.md index c847a9d3bc9..21abf4156ef 100644 --- a/docs/migrations/v2-to-v3.md +++ b/docs/migrations/v2-to-v3.md @@ -18,6 +18,13 @@ No genesis or in-place migrations are required when upgrading from v1 or v2 of i ## Chains +### ICS20 + +The `transferkeeper.NewKeeper(...)` now takes in an ICS4Wrapper. +The ICS4Wrapper should be the IBC Channel Keeper unless ICS 20 is being connected to a middleware application. + +### ICS27 + ICS27 Interchain Accounts has been added as a supported IBC application of ibc-go. Please see the [ICS27 documentation](../app_modules/interchain-accounts/overview.md) for more information. diff --git a/modules/apps/27-interchain-accounts/controller/keeper/grpc_query.go b/modules/apps/27-interchain-accounts/controller/keeper/grpc_query.go index deb5cfae106..dd1d04a96b3 100644 --- a/modules/apps/27-interchain-accounts/controller/keeper/grpc_query.go +++ b/modules/apps/27-interchain-accounts/controller/keeper/grpc_query.go @@ -2,7 +2,9 @@ package keeper import ( "context" + sdk "github.com/cosmos/cosmos-sdk/types" + "github.com/cosmos/ibc-go/v3/modules/apps/27-interchain-accounts/controller/types" ) diff --git a/modules/apps/transfer/keeper/keeper.go b/modules/apps/transfer/keeper/keeper.go index c37f39335ce..0c96e2219d2 100644 --- a/modules/apps/transfer/keeper/keeper.go +++ b/modules/apps/transfer/keeper/keeper.go @@ -21,6 +21,7 @@ type Keeper struct { cdc codec.BinaryCodec paramSpace paramtypes.Subspace + ics4Wrapper types.ICS4Wrapper channelKeeper types.ChannelKeeper portKeeper types.PortKeeper authKeeper types.AccountKeeper @@ -31,7 +32,7 @@ type Keeper struct { // NewKeeper creates a new IBC transfer Keeper instance func NewKeeper( cdc codec.BinaryCodec, key sdk.StoreKey, paramSpace paramtypes.Subspace, - channelKeeper types.ChannelKeeper, portKeeper types.PortKeeper, + ics4Wrapper types.ICS4Wrapper, channelKeeper types.ChannelKeeper, portKeeper types.PortKeeper, authKeeper types.AccountKeeper, bankKeeper types.BankKeeper, scopedKeeper capabilitykeeper.ScopedKeeper, ) Keeper { @@ -49,6 +50,7 @@ func NewKeeper( cdc: cdc, storeKey: key, paramSpace: paramSpace, + ics4Wrapper: ics4Wrapper, channelKeeper: channelKeeper, portKeeper: portKeeper, authKeeper: authKeeper, diff --git a/modules/apps/transfer/keeper/relay.go b/modules/apps/transfer/keeper/relay.go index 409dfc5f130..ab7f3751588 100644 --- a/modules/apps/transfer/keeper/relay.go +++ b/modules/apps/transfer/keeper/relay.go @@ -158,7 +158,7 @@ func (k Keeper) SendTransfer( timeoutTimestamp, ) - if err := k.channelKeeper.SendPacket(ctx, channelCap, packet); err != nil { + if err := k.ics4Wrapper.SendPacket(ctx, channelCap, packet); err != nil { return err } diff --git a/modules/apps/transfer/types/expected_keepers.go b/modules/apps/transfer/types/expected_keepers.go index 3bdaccb749a..8f4503d0872 100644 --- a/modules/apps/transfer/types/expected_keepers.go +++ b/modules/apps/transfer/types/expected_keepers.go @@ -24,11 +24,15 @@ type BankKeeper interface { SendCoinsFromAccountToModule(ctx sdk.Context, senderAddr sdk.AccAddress, recipientModule string, amt sdk.Coins) error } +// ICS4Wrapper defines the expected ICS4Wrapper for middleware +type ICS4Wrapper interface { + SendPacket(ctx sdk.Context, channelCap *capabilitytypes.Capability, packet ibcexported.PacketI) error +} + // ChannelKeeper defines the expected IBC channel keeper type ChannelKeeper interface { GetChannel(ctx sdk.Context, srcPort, srcChan string) (channel channeltypes.Channel, found bool) GetNextSequenceSend(ctx sdk.Context, portID, channelID string) (uint64, bool) - SendPacket(ctx sdk.Context, channelCap *capabilitytypes.Capability, packet ibcexported.PacketI) error } // ClientKeeper defines the expected IBC client keeper diff --git a/testing/simapp/app.go b/testing/simapp/app.go index b5e7751b513..0287dc0495b 100644 --- a/testing/simapp/app.go +++ b/testing/simapp/app.go @@ -341,7 +341,7 @@ func NewSimApp( // Create Transfer Keepers app.TransferKeeper = ibctransferkeeper.NewKeeper( appCodec, keys[ibctransfertypes.StoreKey], app.GetSubspace(ibctransfertypes.ModuleName), - app.IBCKeeper.ChannelKeeper, &app.IBCKeeper.PortKeeper, + app.IBCKeeper.ChannelKeeper, app.IBCKeeper.ChannelKeeper, &app.IBCKeeper.PortKeeper, app.AccountKeeper, app.BankKeeper, scopedTransferKeeper, ) transferModule := transfer.NewAppModule(app.TransferKeeper) From 1bfa055bd7922ef8e4bb1234f5784b163b5e6a35 Mon Sep 17 00:00:00 2001 From: Damian Nolan Date: Mon, 3 Jan 2022 13:01:25 +0000 Subject: [PATCH 096/107] fix: register InterchainAccount as x/auth GenesisAccount (#676) * adding GenesisAccount interface registration for InterchainAccount impl * updating RegisterInterfaces ica godoc --- modules/apps/27-interchain-accounts/types/codec.go | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/modules/apps/27-interchain-accounts/types/codec.go b/modules/apps/27-interchain-accounts/types/codec.go index 971554a83e4..2ac1f553bcc 100644 --- a/modules/apps/27-interchain-accounts/types/codec.go +++ b/modules/apps/27-interchain-accounts/types/codec.go @@ -23,10 +23,11 @@ func RegisterLegacyAminoCodec(cdc *codec.LegacyAmino) { cdc.RegisterConcrete(&InterchainAccount{}, "27-interchain-accounts/InterchainAccount", nil) } -// RegisterInterface associates protoName with AccountI interface -// and creates a registry of it's concrete implementations +// RegisterInterfaces registers the concrete InterchainAccount implementation against the associated +// x/auth AccountI and GenesisAccount interfaces func RegisterInterfaces(registry codectypes.InterfaceRegistry) { registry.RegisterImplementations((*authtypes.AccountI)(nil), &InterchainAccount{}) + registry.RegisterImplementations((*authtypes.GenesisAccount)(nil), &InterchainAccount{}) } // SerializeCosmosTx serializes a slice of sdk.Msg's using the CosmosTx type. The sdk.Msg's are From 4575650f2d2a8a48ca303d5635d6745b47034f9d Mon Sep 17 00:00:00 2001 From: Carlos Rodriguez Date: Tue, 4 Jan 2022 12:26:03 +0100 Subject: [PATCH 097/107] enable mergify for backports (#678) Co-authored-by: Carlos Rodriguez --- .github/mergify.yml | 52 +++++++++++++++++++++++++++++++++++++++++++++ .mergify.yml | 10 --------- 2 files changed, 52 insertions(+), 10 deletions(-) create mode 100644 .github/mergify.yml delete mode 100644 .mergify.yml diff --git a/.github/mergify.yml b/.github/mergify.yml new file mode 100644 index 00000000000..83b6f2d771c --- /dev/null +++ b/.github/mergify.yml @@ -0,0 +1,52 @@ +queue_rules: + - name: default + conditions: + - "#approved-reviews-by>=1" + - base=main + - label=automerge + +pull_request_rules: + - name: automerge to main with label automerge and branch protection passing + conditions: + - "#approved-reviews-by>=1" + - base=main + - label=automerge + actions: + queue: + name: default + method: squash + commit_message_template: | + {{ title }} (#{{ number }}) + {{ body }} + - name: backport patches to v1.1.x branch + conditions: + - base=main + - label=backport-to-v1.1.x + actions: + backport: + branches: + - release/v1.1.x + - name: backport patches to v1.2x branch + conditions: + - base=main + - label=backport-to-v1.2.x + actions: + backport: + branches: + - release/v1.2.x + - name: backport patches to v2.0.x branch + conditions: + - base=main + - label=backport-to-v2.0.x + actions: + backport: + branches: + - release/v2.0.x + - name: backport patches to v3.0.x branch + conditions: + - base=main + - label=backport-to-v3.0.x + actions: + backport: + branches: + - release/v3.0.x \ No newline at end of file diff --git a/.mergify.yml b/.mergify.yml deleted file mode 100644 index 72cd7245ff8..00000000000 --- a/.mergify.yml +++ /dev/null @@ -1,10 +0,0 @@ -pull_request_rules: - - name: automerge to main with label automerge and branch protection passing - conditions: - - "#approved-reviews-by>=1" - - base=main - - label=automerge - actions: - merge: - method: squash - strict: true From c351015417a154e484909b9a5b4ba35b92b3cd26 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 6 Jan 2022 07:16:03 +0100 Subject: [PATCH 098/107] build(deps): bump technote-space/get-diff-action from 5 to 6.0.1 (#684) Bumps [technote-space/get-diff-action](https://github.com/technote-space/get-diff-action) from 5 to 6.0.1. - [Release notes](https://github.com/technote-space/get-diff-action/releases) - [Changelog](https://github.com/technote-space/get-diff-action/blob/main/.releasegarc) - [Commits](https://github.com/technote-space/get-diff-action/compare/v5...v6.0.1) --- updated-dependencies: - dependency-name: technote-space/get-diff-action dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/test.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 730859ebd3b..585a3653270 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -41,7 +41,7 @@ jobs: - uses: actions/setup-go@v2.1.5 with: go-version: 1.17 - - uses: technote-space/get-diff-action@v5 + - uses: technote-space/get-diff-action@v6.0.1 id: git_diff with: PATTERNS: | @@ -89,7 +89,7 @@ jobs: - uses: actions/setup-go@v2.1.5 with: go-version: 1.17 - - uses: technote-space/get-diff-action@v5 + - uses: technote-space/get-diff-action@v6.0.1 with: PATTERNS: | **/**.go @@ -113,7 +113,7 @@ jobs: needs: tests steps: - uses: actions/checkout@v2.4.0 - - uses: technote-space/get-diff-action@v5 + - uses: technote-space/get-diff-action@v6.0.1 with: PATTERNS: | **/**.go From 67cd1a258eb0adfabd4fe16a70337daef386ab36 Mon Sep 17 00:00:00 2001 From: Carlos Rodriguez Date: Thu, 6 Jan 2022 13:19:56 +0100 Subject: [PATCH 099/107] update roadmap (#681) * remove past quarter and fixed SDK version number from 0.45 or 0.46 * add roadmap of past quarter Co-authored-by: Carlos Rodriguez --- docs/roadmap/history.md | 44 +++++++++++++++++++++++++++++ docs/roadmap/roadmap.md | 61 +++++++---------------------------------- 2 files changed, 54 insertions(+), 51 deletions(-) create mode 100644 docs/roadmap/history.md diff --git a/docs/roadmap/history.md b/docs/roadmap/history.md new file mode 100644 index 00000000000..575ed5099e6 --- /dev/null +++ b/docs/roadmap/history.md @@ -0,0 +1,44 @@ + +# Past roadmap ibc-go + +History of the roadmap for past quarters. + +## Q4 - 2021 + +### Interchain accounts + +- Finalize the issues raised during the internal audit. +- Prepare codebase & specification for two external audits. +- Write developer documentation. +- Integration with hermes relayer and end-2-end testing. +- Create alpha release. + +### Relayer incentivisation + +- Finalize implementation. +- Update specification and write documentation. +- Do internal audit and write issues that may arise. + +### Align implementation with ICS02 + +We will work to bring the ibc-go implementation in line with [ICS02](https://github.com/cosmos/ibc/tree/master/spec/core/ics-002-client-semantics): [#284](https://github.com/cosmos/ibc-go/issues/284), [#285](https://github.com/cosmos/ibc-go/issues/285), [#286](https://github.com/cosmos/ibc-go/issues/286), [#594](https://github.com/cosmos/ibc-go/issues/594) and [#599](https://github.com/cosmos/ibc-go/issues/599). The support for Wasm-based light clients relies on these issues as well. + +### Release schedule + +|Release|Milestone|Date| +|-------|---------|----| +|[`v1.1.0`](https://github.com/cosmos/ibc-go/releases/tag/v1.1.1)||Oct 04, 2021| +|[`v1.2.1`](https://github.com/cosmos/ibc-go/releases/tag/v1.2.1)||Oct 04, 2021| +|[`v2.0.0-rc0`](https://github.com/cosmos/ibc-go/releases/tag/v2.0.0-rc0)|[Link](https://github.com/cosmos/ibc-go/milestone/3)|Oct 05, 2021| +|[`v1.1.2`](https://github.com/cosmos/ibc-go/releases/tag/v1.1.2)||Oct 15, 2021| +|[`v1.2.2`](https://github.com/cosmos/ibc-go/releases/tag/v1.2.2)||Oct 15, 2021| +|[`v1.1.3`](https://github.com/cosmos/ibc-go/releases/tag/v1.1.3)||Nov 09, 2021| +|[`v1.2.3`](https://github.com/cosmos/ibc-go/releases/tag/v1.2.3)||Nov 09, 2021| +|[`v2.0.0`](https://github.com/cosmos/ibc-go/releases/tag/v2.0.0)|[Link](https://github.com/cosmos/ibc-go/milestone/3)|Nov 09, 2021| +|[`v1.1.4`](https://github.com/cosmos/ibc-go/releases/tag/v1.1.5)||Dec 06, 2021| +|[`v1.2.4`](https://github.com/cosmos/ibc-go/releases/tag/v1.2.4)||Dec 06, 2021| +|[`v2.0.1`](https://github.com/cosmos/ibc-go/releases/tag/v2.0.1)|[Link](https://github.com/cosmos/ibc-go/milestone/11)|Dec 06, 2021| +|[`v1.1.5`](https://github.com/cosmos/ibc-go/releases/tag/v1.1.5)||Dec 15, 2021| +|[`v1.2.5`](https://github.com/cosmos/ibc-go/releases/tag/v1.2.5)||Dec 15, 2021| +|[`v2.0.2`](https://github.com/cosmos/ibc-go/releases/tag/v2.0.2)|[Link](https://github.com/cosmos/ibc-go/milestone/20)|Dec 15, 2021| +|[`v3.0.0-alpha1`](https://github.com/cosmos/ibc-go/releases/tag/v3.0.0-alpha1)|[Link](https://github.com/cosmos/ibc-go/milestone/12)|Dec 21, 2021| \ No newline at end of file diff --git a/docs/roadmap/roadmap.md b/docs/roadmap/roadmap.md index 5bc00fe8ee9..9986869d148 100644 --- a/docs/roadmap/roadmap.md +++ b/docs/roadmap/roadmap.md @@ -14,52 +14,11 @@ The release tags and timelines are educated guesses based on the information at Let's assume that the planned release schedule looks like the following: - At time `t0`: - - The first patch release for the `v2.0.x` release series with release tag `v2.0.a`. The placeholder is `a` since this is the first patch release. - - The first minor release for the `v2.x` release series with release tag `v2.a.0`. The placeholder is `a` since this is the first minor release. + - The first planned patch release for the `v2.0.x` release series with release tag `v2.0.a`. The placeholder is `a` since this is the first patch release in the given quarter. + - The first planned minor release for the `v2.x` release series with release tag `v2.a.0`. The placeholder is `a` since this is the first minor release in the given quarter. - At time `t0 + delta`: - - The second patch release for the `v2.0.x` release series with release tag `v2.0.b`. The placehoder is `b` since this is the next patch release of this release series after `v2.0.a`. - - The first patch release for the new `v2.a.x` release series with release tag `v2.a.a`. The patch version placeholder is `a` because this is the first patch release of the series. - -## Q4 - 2021 - -### Interchain accounts - -- Finalize the issues raised during the internal audit. -- Prepare codebase & specification for two external audits. -- Write developer documentation. -- Integration with hermes relayer and end-2-end testing. -- Create alpha release. - -### Relayer incentivisation - -- Finalize implementation. -- Update specification and write documentation. -- Do internal audit and write issues that may arise. - -### Align implementation with ICS02 - -We will work to bring the ibc-go implementation in line with [ICS02](https://github.com/cosmos/ibc/tree/master/spec/core/ics-002-client-semantics): [#284](https://github.com/cosmos/ibc-go/issues/284), [#285](https://github.com/cosmos/ibc-go/issues/285), [#286](https://github.com/cosmos/ibc-go/issues/286), [#594](https://github.com/cosmos/ibc-go/issues/594) and [#599](https://github.com/cosmos/ibc-go/issues/599). The support for Wasm-based light clients relies on these issues as well. - -### Release schedule - -|Release|Milestone|Date| -|-------|---------|----| -|[`v1.1.0`](https://github.com/cosmos/ibc-go/releases/tag/v1.1.1)||Oct 04, 2021| -|[`v1.2.1`](https://github.com/cosmos/ibc-go/releases/tag/v1.2.1)||Oct 04, 2021| -|[`v2.0.0-rc0`](https://github.com/cosmos/ibc-go/releases/tag/v2.0.0-rc0)|[Link](https://github.com/cosmos/ibc-go/milestone/3)|Oct 05, 2021| -|[`v1.1.2`](https://github.com/cosmos/ibc-go/releases/tag/v1.1.2)||Oct 15, 2021| -|[`v1.2.2`](https://github.com/cosmos/ibc-go/releases/tag/v1.2.2)||Oct 15, 2021| -|[`v1.1.3`](https://github.com/cosmos/ibc-go/releases/tag/v1.1.3)||Nov 09, 2021| -|[`v1.2.3`](https://github.com/cosmos/ibc-go/releases/tag/v1.2.3)||Nov 09, 2021| -|[`v2.0.0`](https://github.com/cosmos/ibc-go/releases/tag/v2.0.0)|[Link](https://github.com/cosmos/ibc-go/milestone/3)|Nov 09, 2021| -|[`v1.1.4`](https://github.com/cosmos/ibc-go/releases/tag/v1.1.5)||Dec 06, 2021| -|[`v1.2.4`](https://github.com/cosmos/ibc-go/releases/tag/v1.2.4)||Dec 06, 2021| -|[`v2.0.1`](https://github.com/cosmos/ibc-go/releases/tag/v2.0.1)|[Link](https://github.com/cosmos/ibc-go/milestone/11)|Dec 06, 2021| -|[`v1.1.5`](https://github.com/cosmos/ibc-go/releases/tag/v1.1.5)||Dec 15, 2021| -|[`v1.2.5`](https://github.com/cosmos/ibc-go/releases/tag/v1.2.5)||Dec 15, 2021| -|[`v2.0.2`](https://github.com/cosmos/ibc-go/releases/tag/v2.0.2)|[Link](https://github.com/cosmos/ibc-go/milestone/20)|Dec 15, 2021| -|[`v3.0.0-alpha1`](https://github.com/cosmos/ibc-go/releases/tag/v3.0.0-alpha1)|[Link](https://github.com/cosmos/ibc-go/milestone/12)|Dec 21, 2021| - + - The second planned patch release for the `v2.0.x` release series with release tag `v2.0.b`. The placehoder is `b` since this is the next patch release of this release series after `v2.0.a` in the given quarter. + - The first planned patch release for the new `v2.a.x` release series with release tag `v2.a.a`. The patch version placeholder is `a` because this is the first planned patch release of the series in the given quarter. ## Q1 - 2022 ### Interchain accounts @@ -118,10 +77,10 @@ There is an open [PR](https://github.com/cosmos/ibc-go/pull/208) that implements #### H2 March - [`v4.0.0`](https://github.com/cosmos/ibc-go/milestone/16): Final release of `v4.0.0` including Relayer Incentivisation and the issues to bring ibc-go implementation in line with ICS02 (which are Go-API breaking changes). -- [`v1.a.0`](https://github.com/cosmos/ibc-go/milestone/17): Minor release in `v1.x` seires including the update of Cosmos SDK to [`v0.45`](https://github.com/cosmos/cosmos-sdk/milestone/46) and Tendermint to [`v0.35`](https://github.com/tendermint/tendermint/releases/tag/v0.35.0). -- [`v2.a.0`](https://github.com/cosmos/ibc-go/milestone/18): Minor release in `v2.x` series including the update of Cosmos SDK to [`v0.45`](https://github.com/cosmos/cosmos-sdk/milestone/46) and Tendermint to [`v0.35`](https://github.com/tendermint/tendermint/releases/tag/v0.35.0). -- [`v3.a.0`](https://github.com/cosmos/ibc-go/milestone/19): Minor release in `v3.x` series including the update of Cosmos SDK to [v0.45](https://github.com/cosmos/cosmos-sdk/milestone/46) and Tendermint to [`v0.35`](https://github.com/tendermint/tendermint/releases/tag/v0.35.0). -- [`v4.a.0`](https://github.com/cosmos/ibc-go/milestone/22): Minor release in `v4.x` series including the update of Cosmos SDK to [`v0.45`](https://github.com/cosmos/cosmos-sdk/milestone/46) and Tendermint to [`v0.35`](https://github.com/tendermint/tendermint/releases/tag/v0.35.0). +- [`v1.a.0`](https://github.com/cosmos/ibc-go/milestone/17): Minor release in `v1.x` seires including the update of Cosmos SDK to [`v0.46`](https://github.com/cosmos/cosmos-sdk/milestone/46) and Tendermint to [`v0.35`](https://github.com/tendermint/tendermint/releases/tag/v0.35.0). +- [`v2.a.0`](https://github.com/cosmos/ibc-go/milestone/18): Minor release in `v2.x` series including the update of Cosmos SDK to [`v0.46`](https://github.com/cosmos/cosmos-sdk/milestone/46) and Tendermint to [`v0.35`](https://github.com/tendermint/tendermint/releases/tag/v0.35.0). +- [`v3.a.0`](https://github.com/cosmos/ibc-go/milestone/19): Minor release in `v3.x` series including the update of Cosmos SDK to [`v0.46`](https://github.com/cosmos/cosmos-sdk/milestone/46) and Tendermint to [`v0.35`](https://github.com/tendermint/tendermint/releases/tag/v0.35.0). +- [`v4.a.0`](https://github.com/cosmos/ibc-go/milestone/22): Minor release in `v4.x` series including the update of Cosmos SDK to [`v0.46`](https://github.com/cosmos/cosmos-sdk/milestone/46) and Tendermint to [`v0.35`](https://github.com/tendermint/tendermint/releases/tag/v0.35.0). ## Q2 - 2022 @@ -131,8 +90,8 @@ Scope is still TBD. #### H1 April -- [`v5.0.0-rc0`](https://github.com/cosmos/ibc-go/milestone/21): Release candidate that includes the update of Cosmos SDK from `v0.45` to [`v1.0`](https://github.com/cosmos/cosmos-sdk/milestone/52) and that will support the migration to SMT storage. +- [`v5.0.0-rc0`](https://github.com/cosmos/ibc-go/milestone/21): Release candidate that includes the update of Cosmos SDK from `v0.46` to [`v1.0`](https://github.com/cosmos/cosmos-sdk/milestone/52) and that will support the migration to SMT storage. #### H2 April -- [`v5.0.0`](https://github.com/cosmos/ibc-go/milestone/21): Final release that includes the update of Cosmos SDK from `v0.45` to [v1.0](https://github.com/cosmos/cosmos-sdk/milestone/52) and that will support the migration to SMT storage. \ No newline at end of file +- [`v5.0.0`](https://github.com/cosmos/ibc-go/milestone/21): Final release that includes the update of Cosmos SDK from `v0.46` to [v1.0](https://github.com/cosmos/cosmos-sdk/milestone/52) and that will support the migration to SMT storage. \ No newline at end of file From 3ff09277078f5289ba01cfcf6bfef592bb428aaa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?colin=20axn=C3=A9r?= <25233464+colin-axner@users.noreply.github.com> Date: Fri, 7 Jan 2022 11:21:54 +0100 Subject: [PATCH 100/107] ADR 002: importing multiple ibc-go versions (#683) * initial draft of adr 2 * fix wording and remove references section * fix formatting and add to README * Apply suggestions from code review Co-authored-by: Carlos Rodriguez * apply review suggestions Co-authored-by: Carlos Rodriguez --- docs/architecture/README.md | 1 + .../adr-002-go-module-versioning.md | 111 ++++++++++++++++++ 2 files changed, 112 insertions(+) create mode 100644 docs/architecture/adr-002-go-module-versioning.md diff --git a/docs/architecture/README.md b/docs/architecture/README.md index b38cab5ef27..d61da19b5fd 100644 --- a/docs/architecture/README.md +++ b/docs/architecture/README.md @@ -28,6 +28,7 @@ To suggest an ADR, please make use of the [ADR template](./adr-template.md) prov | ADR \# | Description | Status | | ------ | ----------- | ------ | | [001](./adr-001-coin-source-tracing.md) | ICS-20 coin denomination format | Accepted, Implemented | +| [002](./adr-002-go-module-versioning.md) | Go module versioning | Accepted | | [015](./adr-015-ibc-packet-receiver.md) | IBC Packet Routing | Accepted | | [025](./adr-025-ibc-passive-channels.md) | IBC passive channels | Deprecated | | [026](./adr-026-ibc-client-recovery-mechanisms.md) | IBC client recovery mechansisms | Accepted | diff --git a/docs/architecture/adr-002-go-module-versioning.md b/docs/architecture/adr-002-go-module-versioning.md new file mode 100644 index 00000000000..28207d5474d --- /dev/null +++ b/docs/architecture/adr-002-go-module-versioning.md @@ -0,0 +1,111 @@ +# ADR 002: Go module versioning + +## Changelog +* 05/01/2022: initial draft + +## Status + +Accepted + +## Context + +The IBC module was originally developed in the Cosmos SDK and released during with the Stargate release series (v0.42). +It was subsequently migrated to its own repository, ibc-go. +The first official release on ibc-go was v1.0.0. +v1.0.0 was decided to be used instead of v0.1.0 primarily for the following reasons: +- Maintaining compatibility with the IBC specification v1 requires stronger support/guarantees. +- Using the major, minor, and patch numbers allows for easier communication of what breaking changes are included in a release. +- The IBC module is being used by numerous high value projects which require stability. + +### Problems + +#### Go module version must be incremented + +When a Go module is released under v1.0.0, all following releases must follow Go semantic versioning. +Thus when the go API is broken, the Go module major version **must** be incremented. +For example, changing the go package version from `v2` to `v3` bumps the import from `github.com/cosmos/ibc-go/v2` to `github.com/cosmos/ibc-go/v3`. + +If the Go module version is not incremented then attempting to go get a module @v3.0.0 without the suffix results in: +`invalid version: module contains a go.mod file, so major version must be compatible: should be v0 or v1, not v3` + +Version validation was added in Go 1.13. This means is that in order to release a v3.0.0 git tag without a /v3 suffix on the module definition, the tag must explicitly **not** contain a go.mod file. +Not including a go.mod in our release is not a viable option. + +#### Attempting to import multiple go module versions for ibc-go + +Attempting to import two versions of ibc-go, such as `github.com/cosmos/ibc-go/v2` and `github.com/cosmos/ibc-go/v3`, will result in multiple issues. + +The Cosmos SDK does global registration of error and governance proposal types. +The errors and proposals used in ibc-go would need to now register their naming based on the go module version. + +The more concerning problem is that protobuf definitions will also reach a namespace collision. +ibc-go and the Cosmos SDK in general rely heavily on using extended functions for go structs generated from protobuf definitions. +This requires the go structs to be defined in the same package as the extended functions. +Thus, bumping the import versioning causes the protobuf definitions to be generated in two places (in v2 and v3). +When registering these types at compile time, the go compiler will panic. +The generated types need to be registered against the proto codec, but there exist two definitions for the same name. + +The protobuf conflict policy can be overriden via the environment variable `GOLANG_PROTOBUF_REGISTRATION_CONFLICT`, but it is possible this could lead to various runtime errors or unexpected behaviour (see [here](https://github.com/protocolbuffers/protobuf-go/blob/master/reflect/protoregistry/registry.go#L46)). +More information [here](https://developers.google.com/protocol-buffers/docs/reference/go/faq#namespace-conflict) on namespace conflicts for protobuf versioning. + +### Potential solutions + +#### Changing the protobuf definition version + +The protobuf definitions all have a type URL containing the protobuf version for this type. +Changing the protobuf version would solve the namespace collision which arise from importing multiple versions of ibc-go, but it leads to new issues. + +In the Cosmos SDK, `Any`s are unpacked and decoded using the type URL. +Changing the type URL thus is creating a distinctly different type. +The same registration on the proto codec cannot be used to unpack the new type. +For example: + +All Cosmos SDK messages are packed into `Any`s. If we incremented the protobuf version for our IBC messages, clients which submitted the v1 of our Cosmos SDK messages would now be rejected since the old type is not registered on the codec. +The clients must know to submit the v2 of these messages. This pushes the burden of versioning onto relayers and wallets. + +A more serious problem is that the `ClientState` and `ConsensusState` are packed as `Any`s. Changing the protobuf versioning of these types would break compatibility with IBC specification v1. + +#### Moving protobuf definitions to their own go module + +The protobuf definitions could be moved to their own go module which uses 0.x versioning and will never go to 1.0. +This prevents the Go module version from being incremented with breaking changes. +It also requires all extended functions to live in the same Go module, disrupting the existing code structure. + +The version that implements this change will still be incompatible with previous versions, but future versions could be imported together without namespace collisions. +For example, lets say this solution is implmented in v3. Then + +`github.com/cosmos/ibc-go/v2` cannot be imported with any other ibc-go version + +`github.com/cosmos/ibc-go/v3` cannot be imported with any previous ibc-go versions + +`github.com/cosmos/ibc-go/v4` may be imported with ibc-go versions v3+ + +`github.com/cosmos/ibc-go/v5` may be imported with ibc-go versions v3+ + +## Decision + +Supporting importing multiple versions of ibc-go requires a non-trivial amount of complexity. +It is unclear when a user of the ibc-go code would need multiple versions of ibc-go. +Until there is an overwhelming reason to support importing multiple versions of ibc-go: + +**Major releases cannot be imported simultaneously**. +Releases should focus on keeping backwards compatibility for go code clients, within reason. +Old functionality should be marked as deprecated and there should exist upgrade paths between major versions. +Deprecated functionality may be removed when no clients rely on that functionality. +How this is determined is to be decided. + +**Error and proposal type registration will not be changed between go module version increments**. +This explicitly stops external clients from trying to import two major versions (potentially risking a bug due to the instability of proto name collisions override). + +## Consequences + +This only affects clients relying directly on the go code. + +### Positive + +### Negative + +Multiple ibc-go versions cannot be imported. + +### Neutral + From 087bc5d77a194f8ea0010942017060357fb62f12 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?colin=20axn=C3=A9r?= <25233464+colin-axner@users.noreply.github.com> Date: Fri, 7 Jan 2022 16:22:53 +0100 Subject: [PATCH 101/107] improve 04-channel logging (#692) ## Description closes: #674 --- Before we can merge this PR, please make sure that all the following items have been checked off. If any of the checklist items are not applicable, please leave them but write a little note why. - [x] Targeted PR against correct branch (see [CONTRIBUTING.md](https://github.com/cosmos/ibc-go/blob/master/CONTRIBUTING.md#pr-targeting)) - [x] Linked to Github issue with discussion and accepted design OR link to spec that describes this work. - [x] Code follows the [module structure standards](https://github.com/cosmos/cosmos-sdk/blob/master/docs/building-modules/structure.md). - [x] Wrote unit and integration [tests](https://github.com/cosmos/ibc-go/blob/master/CONTRIBUTING.md#testing) - [x] Updated relevant documentation (`docs/`) or specification (`x//spec/`) - [x] Added relevant `godoc` [comments](https://blog.golang.org/godoc-documenting-go-code). - [x] Added a relevant changelog entry to the `Unreleased` section in `CHANGELOG.md` - [x] Re-reviewed `Files changed` in the Github PR explorer - [x] Review `Codecov Report` in the comment section below once CI passes --- CHANGELOG.md | 1 + modules/core/04-channel/keeper/packet.go | 29 +++++++++++++++++++---- modules/core/04-channel/keeper/timeout.go | 10 ++++++-- 3 files changed, 34 insertions(+), 6 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9f1ecf9039f..d0d612dfa1a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -53,6 +53,7 @@ Ref: https://keepachangelog.com/en/1.0.0/ ### Improvements +* (channel) [\#692](https://github.com/cosmos/ibc-go/pull/692) Minimize channel logging by only emitting the packet sequence, source port/channel, destination port/channel upon packet receives, acknowledgements and timeouts. * [\#383](https://github.com/cosmos/ibc-go/pull/383) Adds helper functions for merging and splitting middleware versions from the underlying app version. * (modules/core/05-port) [\#288](https://github.com/cosmos/ibc-go/issues/288) Making the 05-port keeper function IsBound public. The IsBound function checks if the provided portID is already binded to a module. * (channel) [\#644](https://github.com/cosmos/ibc-go/pull/644) Adds `GetChannelConnection` to the ChannelKeeper. This function returns the connectionID and connection state associated with a channel. diff --git a/modules/core/04-channel/keeper/packet.go b/modules/core/04-channel/keeper/packet.go index 58e63ad976d..8eaa69bf3e5 100644 --- a/modules/core/04-channel/keeper/packet.go +++ b/modules/core/04-channel/keeper/packet.go @@ -2,7 +2,6 @@ package keeper import ( "bytes" - "fmt" "time" sdk "github.com/cosmos/cosmos-sdk/types" @@ -135,6 +134,7 @@ func (k Keeper) SendPacket( "dst_port", packet.GetDestPort(), "dst_channel", packet.GetDestChannel(), ) + return nil } @@ -281,7 +281,14 @@ func (k Keeper) RecvPacket( } // log that a packet has been received & executed - k.Logger(ctx).Info("packet received", "packet", fmt.Sprintf("%v", packet)) + k.Logger(ctx).Info( + "packet received", + "sequence", packet.GetSequence(), + "src_port", packet.GetSourcePort(), + "src_channel", packet.GetSourceChannel(), + "dst_port", packet.GetDestPort(), + "dst_channel", packet.GetDestChannel(), + ) // emit an event that the relayer can query for EmitRecvPacketEvent(ctx, packet, channel) @@ -345,7 +352,14 @@ func (k Keeper) WriteAcknowledgement( ) // log that a packet acknowledgement has been written - k.Logger(ctx).Info("acknowledged written", "packet", fmt.Sprintf("%v", packet)) + k.Logger(ctx).Info( + "acknowledgement written", + "sequence", packet.GetSequence, + "src_port", packet.GetSourcePort(), + "src_channel", packet.GetSourceChannel(), + "dst_port", packet.GetDestPort(), + "dst_channel", packet.GetDestChannel(), + ) EmitWriteAcknowledgementEvent(ctx, packet, channel, acknowledgement) @@ -472,7 +486,14 @@ func (k Keeper) AcknowledgePacket( k.deletePacketCommitment(ctx, packet.GetSourcePort(), packet.GetSourceChannel(), packet.GetSequence()) // log that a packet has been acknowledged - k.Logger(ctx).Info("packet acknowledged", "packet", fmt.Sprintf("%v", packet)) + k.Logger(ctx).Info( + "packet acknowledged", + "sequence", packet.GetSequence, + "src_port", packet.GetSourcePort(), + "src_channel", packet.GetSourceChannel(), + "dst_port", packet.GetDestPort(), + "dst_channel", packet.GetDestChannel(), + ) // emit an event marking that we have processed the acknowledgement EmitAcknowledgePacketEvent(ctx, packet, channel) diff --git a/modules/core/04-channel/keeper/timeout.go b/modules/core/04-channel/keeper/timeout.go index ae7039ef0b2..ff75b08aea4 100644 --- a/modules/core/04-channel/keeper/timeout.go +++ b/modules/core/04-channel/keeper/timeout.go @@ -2,7 +2,6 @@ package keeper import ( "bytes" - "fmt" sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" @@ -157,7 +156,14 @@ func (k Keeper) TimeoutExecuted( k.SetChannel(ctx, packet.GetSourcePort(), packet.GetSourceChannel(), channel) } - k.Logger(ctx).Info("packet timed-out", "packet", fmt.Sprintf("%v", packet)) + k.Logger(ctx).Info( + "packet timed-out", + "sequence", packet.GetSequence(), + "src_port", packet.GetSourcePort(), + "src_channel", packet.GetSourceChannel(), + "dst_port", packet.GetDestPort(), + "dst_channel", packet.GetDestChannel(), + ) // emit an event marking that we have processed the timeout EmitTimeoutPacketEvent(ctx, packet, channel) From cb9bf5dbb283e5e0eb0c29ee658968019bf58f49 Mon Sep 17 00:00:00 2001 From: nir1218 Date: Mon, 10 Jan 2022 13:37:16 +0200 Subject: [PATCH 102/107] add cli to get denom hash from trace path and base denom (#679) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * get denom hash from denom trace * revert .gitignore * final revert * ignore history files * Update modules/apps/transfer/client/cli/query.go Co-authored-by: Carlos Rodriguez * Update modules/apps/transfer/keeper/grpc_query.go Co-authored-by: Carlos Rodriguez * Update modules/apps/transfer/keeper/keeper.go Co-authored-by: Carlos Rodriguez * Update modules/apps/transfer/keeper/grpc_query.go Co-authored-by: colin axnér <25233464+colin-axner@users.noreply.github.com> * code review feedback integration * moved new feature to unreleased section * fix duplicate block in success test case * fix CHANGELOG format * fix invalid trace path argument error handling * refactor positive test case code Co-authored-by: Carlos Rodriguez Co-authored-by: colin axnér <25233464+colin-axner@users.noreply.github.com> --- .gitignore | 3 + CHANGELOG.md | 1 + docs/client/swagger-ui/swagger.yaml | 66 +++ docs/ibc/proto-docs.md | 35 ++ modules/apps/transfer/client/cli/cli.go | 1 + modules/apps/transfer/client/cli/query.go | 32 ++ modules/apps/transfer/keeper/grpc_query.go | 27 ++ .../apps/transfer/keeper/grpc_query_test.go | 67 +++ modules/apps/transfer/types/query.pb.go | 458 ++++++++++++++++-- modules/apps/transfer/types/query.pb.gw.go | 98 ++++ .../ibc/applications/transfer/v1/query.proto | 19 + 11 files changed, 772 insertions(+), 35 deletions(-) diff --git a/.gitignore b/.gitignore index 2bf18165980..e821f35d7e7 100644 --- a/.gitignore +++ b/.gitignore @@ -52,3 +52,6 @@ dependency-graph.png *.aux *.out *.synctex.gz + +*.history + diff --git a/CHANGELOG.md b/CHANGELOG.md index d0d612dfa1a..4d2f9fd72dc 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -63,6 +63,7 @@ Ref: https://keepachangelog.com/en/1.0.0/ * [\#432](https://github.com/cosmos/ibc-go/pull/432) Introduce `MockIBCApp` struct to the mock module. Allows the mock module to be reused to perform custom logic on each IBC App interface function. This might be useful when testing out IBC applications written as middleware. * [\#380](https://github.com/cosmos/ibc-go/pull/380) Adding the Interchain Accounts module v1 +* [\#679](https://github.com/cosmos/ibc-go/pull/679) New CLI command `query ibc-transfer denom-hash ` to get the denom hash for a denom trace; this might be useful for debug ### Bug Fixes diff --git a/docs/client/swagger-ui/swagger.yaml b/docs/client/swagger-ui/swagger.yaml index 835c894c1a9..5feb43dd2a5 100644 --- a/docs/client/swagger-ui/swagger.yaml +++ b/docs/client/swagger-ui/swagger.yaml @@ -4,6 +4,54 @@ info: description: A REST interface for state queries version: 1.0.0 paths: + '/ibc/apps/transfer/v1/denom_hashes/{trace}': + get: + summary: DenomHash queries a denomination hash information. + operationId: DenomHash + responses: + '200': + description: A successful response. + schema: + type: object + properties: + hash: + type: string + description: hash (in hex format) of the denomination trace information. + description: >- + QueryDenomHashResponse is the response type for the + Query/DenomHash RPC + + method. + default: + description: An unexpected error response + schema: + type: object + properties: + error: + type: string + code: + type: integer + format: int32 + message: + type: string + details: + type: array + items: + type: object + properties: + type_url: + type: string + value: + type: string + format: byte + parameters: + - name: trace + description: 'The denomination trace ([port_id]/[channel_id])+/[denom]' + in: path + required: true + type: string + tags: + - Query /ibc/apps/transfer/v1/denom_traces: get: summary: DenomTraces queries all denomination traces. @@ -7326,6 +7374,15 @@ paths: required: false type: boolean format: boolean + - name: packet_commitment_sequences + description: list of packet sequences. + in: query + required: false + type: array + items: + type: string + format: uint64 + collectionFormat: multi tags: - Query '/ibc/core/channel/v1/channels/{channel_id}/ports/{port_id}/packet_acks/{sequence}': @@ -9839,6 +9896,15 @@ definitions: SendEnabled parameter for the denomination to false. + ibc.applications.transfer.v1.QueryDenomHashResponse: + type: object + properties: + hash: + type: string + description: hash (in hex format) of the denomination trace information. + description: |- + QueryDenomHashResponse is the response type for the Query/DenomHash RPC + method. ibc.applications.transfer.v1.QueryDenomTraceResponse: type: object properties: diff --git a/docs/ibc/proto-docs.md b/docs/ibc/proto-docs.md index 8baaa8eda1a..921a3326522 100644 --- a/docs/ibc/proto-docs.md +++ b/docs/ibc/proto-docs.md @@ -28,6 +28,8 @@ - [GenesisState](#ibc.applications.transfer.v1.GenesisState) - [ibc/applications/transfer/v1/query.proto](#ibc/applications/transfer/v1/query.proto) + - [QueryDenomHashRequest](#ibc.applications.transfer.v1.QueryDenomHashRequest) + - [QueryDenomHashResponse](#ibc.applications.transfer.v1.QueryDenomHashResponse) - [QueryDenomTraceRequest](#ibc.applications.transfer.v1.QueryDenomTraceRequest) - [QueryDenomTraceResponse](#ibc.applications.transfer.v1.QueryDenomTraceResponse) - [QueryDenomTracesRequest](#ibc.applications.transfer.v1.QueryDenomTracesRequest) @@ -549,6 +551,38 @@ GenesisState defines the ibc-transfer genesis state + + +### QueryDenomHashRequest +QueryDenomHashRequest is the request type for the Query/DenomHash RPC +method + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| `trace` | [string](#string) | | The denomination trace ([port_id]/[channel_id])+/[denom] | + + + + + + + + +### QueryDenomHashResponse +QueryDenomHashResponse is the response type for the Query/DenomHash RPC +method. + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| `hash` | [string](#string) | | hash (in hex format) of the denomination trace information. | + + + + + + ### QueryDenomTraceRequest @@ -655,6 +689,7 @@ Query provides defines the gRPC querier service. | `DenomTrace` | [QueryDenomTraceRequest](#ibc.applications.transfer.v1.QueryDenomTraceRequest) | [QueryDenomTraceResponse](#ibc.applications.transfer.v1.QueryDenomTraceResponse) | DenomTrace queries a denomination trace information. | GET|/ibc/apps/transfer/v1/denom_traces/{hash}| | `DenomTraces` | [QueryDenomTracesRequest](#ibc.applications.transfer.v1.QueryDenomTracesRequest) | [QueryDenomTracesResponse](#ibc.applications.transfer.v1.QueryDenomTracesResponse) | DenomTraces queries all denomination traces. | GET|/ibc/apps/transfer/v1/denom_traces| | `Params` | [QueryParamsRequest](#ibc.applications.transfer.v1.QueryParamsRequest) | [QueryParamsResponse](#ibc.applications.transfer.v1.QueryParamsResponse) | Params queries all parameters of the ibc-transfer module. | GET|/ibc/apps/transfer/v1/params| +| `DenomHash` | [QueryDenomHashRequest](#ibc.applications.transfer.v1.QueryDenomHashRequest) | [QueryDenomHashResponse](#ibc.applications.transfer.v1.QueryDenomHashResponse) | DenomHash queries a denomination hash information. | GET|/ibc/apps/transfer/v1/denom_hashes/{trace}| diff --git a/modules/apps/transfer/client/cli/cli.go b/modules/apps/transfer/client/cli/cli.go index 643af504178..de83f4d4736 100644 --- a/modules/apps/transfer/client/cli/cli.go +++ b/modules/apps/transfer/client/cli/cli.go @@ -20,6 +20,7 @@ func GetQueryCmd() *cobra.Command { GetCmdQueryDenomTraces(), GetCmdParams(), GetCmdQueryEscrowAddress(), + GetCmdQueryDenomHash(), ) return queryCmd diff --git a/modules/apps/transfer/client/cli/query.go b/modules/apps/transfer/client/cli/query.go index 78d7bfd1b99..de585061ccf 100644 --- a/modules/apps/transfer/client/cli/query.go +++ b/modules/apps/transfer/client/cli/query.go @@ -135,3 +135,35 @@ func GetCmdQueryEscrowAddress() *cobra.Command { return cmd } + +// GetCmdQueryDenomHash defines the command to query a denomination hash from a given trace. +func GetCmdQueryDenomHash() *cobra.Command { + cmd := &cobra.Command{ + Use: "denom-hash [trace]", + Short: "Query the denom hash info from a given denom trace", + Long: "Query the denom hash info from a given denom trace", + Example: fmt.Sprintf("%s query ibc-transfer denom-hash [denom_trace]", version.AppName), + Args: cobra.ExactArgs(1), + RunE: func(cmd *cobra.Command, args []string) error { + clientCtx, err := client.GetClientQueryContext(cmd) + if err != nil { + return err + } + queryClient := types.NewQueryClient(clientCtx) + + req := &types.QueryDenomHashRequest{ + Trace: args[0], + } + + res, err := queryClient.DenomHash(cmd.Context(), req) + if err != nil { + return err + } + + return clientCtx.PrintProto(res) + }, + } + + flags.AddQueryFlagsToCmd(cmd) + return cmd +} diff --git a/modules/apps/transfer/keeper/grpc_query.go b/modules/apps/transfer/keeper/grpc_query.go index 8e8e4a807f4..e3310094c2d 100644 --- a/modules/apps/transfer/keeper/grpc_query.go +++ b/modules/apps/transfer/keeper/grpc_query.go @@ -81,3 +81,30 @@ func (q Keeper) Params(c context.Context, _ *types.QueryParamsRequest) (*types.Q Params: ¶ms, }, nil } + +// DenomHash implements the Query/DenomHash gRPC method +func (q Keeper) DenomHash(c context.Context, req *types.QueryDenomHashRequest) (*types.QueryDenomHashResponse, error) { + if req == nil { + return nil, status.Error(codes.InvalidArgument, "empty request") + } + + // Convert given request trace path to DenomTrace struct to confirm the path in a valid denom trace format + denomTrace := types.ParseDenomTrace(req.Trace) + if err := denomTrace.Validate(); err != nil { + return nil, status.Error(codes.InvalidArgument, err.Error()) + } + + ctx := sdk.UnwrapSDKContext(c) + denomHash := denomTrace.Hash() + found := q.HasDenomTrace(ctx, denomHash) + if !found { + return nil, status.Error( + codes.NotFound, + sdkerrors.Wrap(types.ErrTraceNotFound, req.Trace).Error(), + ) + } + + return &types.QueryDenomHashResponse{ + Hash: denomHash.String(), + }, nil +} diff --git a/modules/apps/transfer/keeper/grpc_query_test.go b/modules/apps/transfer/keeper/grpc_query_test.go index 61469ebf593..5d65ed3d839 100644 --- a/modules/apps/transfer/keeper/grpc_query_test.go +++ b/modules/apps/transfer/keeper/grpc_query_test.go @@ -140,3 +140,70 @@ func (suite *KeeperTestSuite) TestQueryParams() { res, _ := suite.queryClient.Params(ctx, &types.QueryParamsRequest{}) suite.Require().Equal(&expParams, res.Params) } + +func (suite *KeeperTestSuite) TestQueryDenomHash() { + + reqTrace := types.DenomTrace{ + Path: "transfer/channelToA/transfer/channelToB", + BaseDenom: "uatom", + } + + var ( + req *types.QueryDenomHashRequest + expHash = reqTrace.Hash().String() + ) + + testCases := []struct { + msg string + malleate func() + expPass bool + }{ + { + "invalid trace", + func() { + req = &types.QueryDenomHashRequest{ + Trace: "transfer/channelToA/transfer/", + } + }, + false, + }, + { + "not found denom trace", + func() { + req = &types.QueryDenomHashRequest{ + Trace: "transfer/channelToC/uatom", + } + }, + false, + }, + { + "success", + func() {}, + true, + }, + } + + for _, tc := range testCases { + suite.Run(fmt.Sprintf("Case %s", tc.msg), func() { + suite.SetupTest() // reset + + req = &types.QueryDenomHashRequest{ + Trace: reqTrace.GetFullDenomPath(), + } + suite.chainA.GetSimApp().TransferKeeper.SetDenomTrace(suite.chainA.GetContext(), reqTrace) + + tc.malleate() + ctx := sdk.WrapSDKContext(suite.chainA.GetContext()) + + res, err := suite.queryClient.DenomHash(ctx, req) + + if tc.expPass { + suite.Require().NoError(err) + suite.Require().NotNil(res) + suite.Require().Equal(expHash, res.Hash) + } else { + suite.Require().Error(err) + } + }) + } +} diff --git a/modules/apps/transfer/types/query.pb.go b/modules/apps/transfer/types/query.pb.go index ee8a05e63cc..024da758162 100644 --- a/modules/apps/transfer/types/query.pb.go +++ b/modules/apps/transfer/types/query.pb.go @@ -310,6 +310,100 @@ func (m *QueryParamsResponse) GetParams() *Params { return nil } +// QueryDenomHashRequest is the request type for the Query/DenomHash RPC +// method +type QueryDenomHashRequest struct { + // The denomination trace ([port_id]/[channel_id])+/[denom] + Trace string `protobuf:"bytes,1,opt,name=trace,proto3" json:"trace,omitempty"` +} + +func (m *QueryDenomHashRequest) Reset() { *m = QueryDenomHashRequest{} } +func (m *QueryDenomHashRequest) String() string { return proto.CompactTextString(m) } +func (*QueryDenomHashRequest) ProtoMessage() {} +func (*QueryDenomHashRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_a638e2800a01538c, []int{6} +} +func (m *QueryDenomHashRequest) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *QueryDenomHashRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_QueryDenomHashRequest.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *QueryDenomHashRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryDenomHashRequest.Merge(m, src) +} +func (m *QueryDenomHashRequest) XXX_Size() int { + return m.Size() +} +func (m *QueryDenomHashRequest) XXX_DiscardUnknown() { + xxx_messageInfo_QueryDenomHashRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_QueryDenomHashRequest proto.InternalMessageInfo + +func (m *QueryDenomHashRequest) GetTrace() string { + if m != nil { + return m.Trace + } + return "" +} + +// QueryDenomHashResponse is the response type for the Query/DenomHash RPC +// method. +type QueryDenomHashResponse struct { + // hash (in hex format) of the denomination trace information. + Hash string `protobuf:"bytes,1,opt,name=hash,proto3" json:"hash,omitempty"` +} + +func (m *QueryDenomHashResponse) Reset() { *m = QueryDenomHashResponse{} } +func (m *QueryDenomHashResponse) String() string { return proto.CompactTextString(m) } +func (*QueryDenomHashResponse) ProtoMessage() {} +func (*QueryDenomHashResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_a638e2800a01538c, []int{7} +} +func (m *QueryDenomHashResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *QueryDenomHashResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_QueryDenomHashResponse.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *QueryDenomHashResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryDenomHashResponse.Merge(m, src) +} +func (m *QueryDenomHashResponse) XXX_Size() int { + return m.Size() +} +func (m *QueryDenomHashResponse) XXX_DiscardUnknown() { + xxx_messageInfo_QueryDenomHashResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_QueryDenomHashResponse proto.InternalMessageInfo + +func (m *QueryDenomHashResponse) GetHash() string { + if m != nil { + return m.Hash + } + return "" +} + func init() { proto.RegisterType((*QueryDenomTraceRequest)(nil), "ibc.applications.transfer.v1.QueryDenomTraceRequest") proto.RegisterType((*QueryDenomTraceResponse)(nil), "ibc.applications.transfer.v1.QueryDenomTraceResponse") @@ -317,6 +411,8 @@ func init() { proto.RegisterType((*QueryDenomTracesResponse)(nil), "ibc.applications.transfer.v1.QueryDenomTracesResponse") proto.RegisterType((*QueryParamsRequest)(nil), "ibc.applications.transfer.v1.QueryParamsRequest") proto.RegisterType((*QueryParamsResponse)(nil), "ibc.applications.transfer.v1.QueryParamsResponse") + proto.RegisterType((*QueryDenomHashRequest)(nil), "ibc.applications.transfer.v1.QueryDenomHashRequest") + proto.RegisterType((*QueryDenomHashResponse)(nil), "ibc.applications.transfer.v1.QueryDenomHashResponse") } func init() { @@ -324,41 +420,45 @@ func init() { } var fileDescriptor_a638e2800a01538c = []byte{ - // 532 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x54, 0xcd, 0x6e, 0xd3, 0x40, - 0x10, 0xce, 0xb6, 0x10, 0x89, 0x09, 0xe2, 0xb0, 0x54, 0x10, 0x59, 0x91, 0x5b, 0x59, 0x11, 0x84, - 0x16, 0x76, 0x71, 0xcb, 0xcf, 0x85, 0x53, 0x85, 0x40, 0xdc, 0xda, 0xc0, 0x09, 0x0e, 0x68, 0xed, - 0x2c, 0x8e, 0xa5, 0xd8, 0xeb, 0x7a, 0x9d, 0x48, 0x15, 0xe2, 0xc2, 0x13, 0x20, 0xf5, 0x25, 0x10, - 0xe2, 0x21, 0x38, 0xf6, 0x58, 0x89, 0x0b, 0x27, 0x40, 0x09, 0xef, 0xc0, 0x15, 0x79, 0x77, 0xdd, - 0xd8, 0xa4, 0x4a, 0xeb, 0xdb, 0x6a, 0x3c, 0xdf, 0x7c, 0x3f, 0x33, 0x32, 0xf4, 0x42, 0xcf, 0xa7, - 0x2c, 0x49, 0x46, 0xa1, 0xcf, 0xb2, 0x50, 0xc4, 0x92, 0x66, 0x29, 0x8b, 0xe5, 0x3b, 0x9e, 0xd2, - 0x89, 0x4b, 0x0f, 0xc6, 0x3c, 0x3d, 0x24, 0x49, 0x2a, 0x32, 0x81, 0x3b, 0xa1, 0xe7, 0x93, 0x72, - 0x27, 0x29, 0x3a, 0xc9, 0xc4, 0xb5, 0xd6, 0x02, 0x11, 0x08, 0xd5, 0x48, 0xf3, 0x97, 0xc6, 0x58, - 0x9b, 0xbe, 0x90, 0x91, 0x90, 0xd4, 0x63, 0x92, 0xeb, 0x61, 0x74, 0xe2, 0x7a, 0x3c, 0x63, 0x2e, - 0x4d, 0x58, 0x10, 0xc6, 0x6a, 0x90, 0xe9, 0xdd, 0x5a, 0xaa, 0xe4, 0x94, 0x4b, 0x37, 0x77, 0x02, - 0x21, 0x82, 0x11, 0xa7, 0x2c, 0x09, 0x29, 0x8b, 0x63, 0x91, 0x19, 0x49, 0xea, 0xab, 0x73, 0x17, - 0x6e, 0xec, 0xe7, 0x64, 0x4f, 0x79, 0x2c, 0xa2, 0x57, 0x29, 0xf3, 0x79, 0x9f, 0x1f, 0x8c, 0xb9, - 0xcc, 0x30, 0x86, 0x4b, 0x43, 0x26, 0x87, 0x6d, 0xb4, 0x81, 0x7a, 0x57, 0xfa, 0xea, 0xed, 0x0c, - 0xe0, 0xe6, 0x42, 0xb7, 0x4c, 0x44, 0x2c, 0x39, 0x7e, 0x01, 0xad, 0x41, 0x5e, 0x7d, 0x9b, 0xe5, - 0x65, 0x85, 0x6a, 0x6d, 0xf7, 0xc8, 0xb2, 0x24, 0x48, 0x69, 0x0c, 0x0c, 0x4e, 0xdf, 0x0e, 0x5b, - 0x60, 0x91, 0x85, 0xa8, 0x67, 0x00, 0xf3, 0x34, 0x0c, 0xc9, 0x2d, 0xa2, 0xa3, 0x23, 0x79, 0x74, - 0x44, 0xef, 0xc1, 0x44, 0x47, 0xf6, 0x58, 0x50, 0x18, 0xea, 0x97, 0x90, 0xce, 0x37, 0x04, 0xed, - 0x45, 0x0e, 0x63, 0xe5, 0x0d, 0x5c, 0x2d, 0x59, 0x91, 0x6d, 0xb4, 0xb1, 0x5a, 0xc7, 0xcb, 0xee, - 0xb5, 0xe3, 0x9f, 0xeb, 0x8d, 0x2f, 0xbf, 0xd6, 0x9b, 0x66, 0x6e, 0x6b, 0xee, 0x4d, 0xe2, 0xe7, - 0x15, 0x07, 0x2b, 0xca, 0xc1, 0xed, 0x73, 0x1d, 0x68, 0x65, 0x15, 0x0b, 0x6b, 0x80, 0x95, 0x83, - 0x3d, 0x96, 0xb2, 0xa8, 0x08, 0xc8, 0x79, 0x09, 0xd7, 0x2b, 0x55, 0x63, 0xe9, 0x09, 0x34, 0x13, - 0x55, 0x31, 0x99, 0x75, 0x97, 0x9b, 0x31, 0x68, 0x83, 0xd9, 0xfe, 0xbb, 0x0a, 0x97, 0xd5, 0x54, - 0xfc, 0x15, 0x01, 0xcc, 0x9d, 0xe2, 0x07, 0xcb, 0xc7, 0x9c, 0x7d, 0x59, 0xd6, 0xc3, 0x9a, 0x28, - 0xed, 0xc1, 0x71, 0x3f, 0x7e, 0xff, 0x73, 0xb4, 0xb2, 0x85, 0xef, 0x50, 0x73, 0xfe, 0xd5, 0xb3, - 0x2f, 0xaf, 0x8c, 0xbe, 0xcf, 0xcf, 0xf5, 0x03, 0xfe, 0x8c, 0xa0, 0x55, 0xda, 0x30, 0xae, 0xc7, - 0x5c, 0x84, 0x6a, 0x3d, 0xaa, 0x0b, 0x33, 0x8a, 0x37, 0x95, 0xe2, 0x2e, 0x76, 0xce, 0x57, 0x8c, - 0x8f, 0x10, 0x34, 0x75, 0xec, 0xf8, 0xfe, 0x05, 0xe8, 0x2a, 0x5b, 0xb7, 0xdc, 0x1a, 0x08, 0xa3, - 0xad, 0xab, 0xb4, 0xd9, 0xb8, 0x73, 0xb6, 0x36, 0xbd, 0xf9, 0xdd, 0xfd, 0xe3, 0xa9, 0x8d, 0x4e, - 0xa6, 0x36, 0xfa, 0x3d, 0xb5, 0xd1, 0xa7, 0x99, 0xdd, 0x38, 0x99, 0xd9, 0x8d, 0x1f, 0x33, 0xbb, - 0xf1, 0xfa, 0x71, 0x10, 0x66, 0xc3, 0xb1, 0x47, 0x7c, 0x11, 0x51, 0xf3, 0xeb, 0x0a, 0x3d, 0xff, - 0x5e, 0x20, 0xe8, 0x64, 0x87, 0x46, 0x62, 0x30, 0x1e, 0x71, 0xf9, 0xdf, 0xd8, 0xec, 0x30, 0xe1, - 0xd2, 0x6b, 0xaa, 0x1f, 0xcf, 0xce, 0xbf, 0x00, 0x00, 0x00, 0xff, 0xff, 0x64, 0xab, 0xc6, 0xb0, - 0x4f, 0x05, 0x00, 0x00, + // 595 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x54, 0x4f, 0x6f, 0xd3, 0x30, + 0x1c, 0xad, 0x07, 0xab, 0x34, 0x17, 0x71, 0x30, 0x05, 0xaa, 0xa8, 0xca, 0xa6, 0xa8, 0x82, 0xd2, + 0x6d, 0x36, 0x69, 0x07, 0x5c, 0x38, 0x4d, 0x88, 0x3f, 0xb7, 0xad, 0x70, 0x82, 0x03, 0x72, 0x52, + 0x93, 0x46, 0x6a, 0xe3, 0x2c, 0x4e, 0x2b, 0x4d, 0x68, 0x17, 0x3e, 0x01, 0xd2, 0xbe, 0x02, 0x07, + 0x34, 0xf1, 0x21, 0x38, 0xee, 0x38, 0x89, 0x0b, 0x27, 0x40, 0x2d, 0x1f, 0x04, 0xc5, 0x76, 0xda, + 0x84, 0x56, 0xdd, 0x72, 0x73, 0xdd, 0xdf, 0xfb, 0xfd, 0xde, 0x7b, 0xbf, 0x17, 0xc3, 0xa6, 0xef, + 0xb8, 0x84, 0x86, 0xe1, 0xc0, 0x77, 0x69, 0xec, 0xf3, 0x40, 0x90, 0x38, 0xa2, 0x81, 0xf8, 0xc0, + 0x22, 0x32, 0xb6, 0xc9, 0xd1, 0x88, 0x45, 0xc7, 0x38, 0x8c, 0x78, 0xcc, 0x51, 0xdd, 0x77, 0x5c, + 0x9c, 0xad, 0xc4, 0x69, 0x25, 0x1e, 0xdb, 0x46, 0xd5, 0xe3, 0x1e, 0x97, 0x85, 0x24, 0x39, 0x29, + 0x8c, 0xd1, 0x72, 0xb9, 0x18, 0x72, 0x41, 0x1c, 0x2a, 0x98, 0x6a, 0x46, 0xc6, 0xb6, 0xc3, 0x62, + 0x6a, 0x93, 0x90, 0x7a, 0x7e, 0x20, 0x1b, 0xe9, 0xda, 0xed, 0x95, 0x4c, 0x66, 0xb3, 0x54, 0x71, + 0xdd, 0xe3, 0xdc, 0x1b, 0x30, 0x42, 0x43, 0x9f, 0xd0, 0x20, 0xe0, 0xb1, 0xa6, 0x24, 0xff, 0xb5, + 0x76, 0xe0, 0x9d, 0xc3, 0x64, 0xd8, 0x33, 0x16, 0xf0, 0xe1, 0x9b, 0x88, 0xba, 0xac, 0xcb, 0x8e, + 0x46, 0x4c, 0xc4, 0x08, 0xc1, 0xeb, 0x7d, 0x2a, 0xfa, 0x35, 0xb0, 0x05, 0x9a, 0x1b, 0x5d, 0x79, + 0xb6, 0x7a, 0xf0, 0xee, 0x42, 0xb5, 0x08, 0x79, 0x20, 0x18, 0x7a, 0x05, 0x2b, 0xbd, 0xe4, 0xf6, + 0x7d, 0x9c, 0x5c, 0x4b, 0x54, 0xa5, 0xdd, 0xc4, 0xab, 0x9c, 0xc0, 0x99, 0x36, 0xb0, 0x37, 0x3b, + 0x5b, 0x74, 0x61, 0x8a, 0x48, 0x49, 0x3d, 0x87, 0x70, 0xee, 0x86, 0x1e, 0x72, 0x0f, 0x2b, 0xeb, + 0x70, 0x62, 0x1d, 0x56, 0x7b, 0xd0, 0xd6, 0xe1, 0x03, 0xea, 0xa5, 0x82, 0xba, 0x19, 0xa4, 0xf5, + 0x1d, 0xc0, 0xda, 0xe2, 0x0c, 0x2d, 0xe5, 0x1d, 0xbc, 0x91, 0x91, 0x22, 0x6a, 0x60, 0xeb, 0x5a, + 0x11, 0x2d, 0xfb, 0x37, 0xcf, 0x7f, 0x6d, 0x96, 0xce, 0x7e, 0x6f, 0x96, 0x75, 0xdf, 0xca, 0x5c, + 0x9b, 0x40, 0x2f, 0x72, 0x0a, 0xd6, 0xa4, 0x82, 0xfb, 0x97, 0x2a, 0x50, 0xcc, 0x72, 0x12, 0xaa, + 0x10, 0x49, 0x05, 0x07, 0x34, 0xa2, 0xc3, 0xd4, 0x20, 0xeb, 0x35, 0xbc, 0x95, 0xbb, 0xd5, 0x92, + 0x9e, 0xc2, 0x72, 0x28, 0x6f, 0xb4, 0x67, 0x8d, 0xd5, 0x62, 0x34, 0x5a, 0x63, 0xac, 0x5d, 0x78, + 0x7b, 0x6e, 0xd6, 0x4b, 0x2a, 0xfa, 0xe9, 0x3a, 0xaa, 0x70, 0x7d, 0xbe, 0xee, 0x8d, 0xae, 0xfa, + 0x91, 0xcf, 0x94, 0x2a, 0xd7, 0x34, 0x96, 0x64, 0xaa, 0xfd, 0x65, 0x1d, 0xae, 0xcb, 0x72, 0xf4, + 0x0d, 0x40, 0x38, 0xb7, 0x11, 0xed, 0xad, 0xe6, 0xb8, 0x3c, 0xb6, 0xc6, 0xa3, 0x82, 0x28, 0xc5, + 0xcc, 0xb2, 0x3f, 0xfd, 0xf8, 0x7b, 0xba, 0xb6, 0x8d, 0x1e, 0x10, 0xfd, 0x6d, 0xe5, 0xbf, 0xa9, + 0x6c, 0x1e, 0xc8, 0xc7, 0x84, 0xf7, 0x09, 0xfa, 0x0a, 0x60, 0x25, 0x13, 0x1f, 0x54, 0x6c, 0x72, + 0xba, 0x31, 0xe3, 0x71, 0x51, 0x98, 0x66, 0xdc, 0x92, 0x8c, 0x1b, 0xc8, 0xba, 0x9c, 0x31, 0x3a, + 0x05, 0xb0, 0xac, 0x76, 0x8a, 0x1e, 0x5e, 0x61, 0x5c, 0x2e, 0x52, 0x86, 0x5d, 0x00, 0xa1, 0xb9, + 0x35, 0x24, 0x37, 0x13, 0xd5, 0x97, 0x73, 0x53, 0xb1, 0x42, 0x67, 0x00, 0x6e, 0xcc, 0x32, 0x82, + 0x3a, 0x57, 0xf5, 0x21, 0x13, 0x40, 0x63, 0xaf, 0x18, 0x48, 0xd3, 0x6b, 0x4b, 0x7a, 0x3b, 0xa8, + 0xb5, 0xca, 0xba, 0x64, 0xc9, 0xc9, 0xb2, 0xa5, 0x85, 0x27, 0xfb, 0x87, 0xe7, 0x13, 0x13, 0x5c, + 0x4c, 0x4c, 0xf0, 0x67, 0x62, 0x82, 0xcf, 0x53, 0xb3, 0x74, 0x31, 0x35, 0x4b, 0x3f, 0xa7, 0x66, + 0xe9, 0xed, 0x13, 0xcf, 0x8f, 0xfb, 0x23, 0x07, 0xbb, 0x7c, 0x48, 0xf4, 0x23, 0xee, 0x3b, 0xee, + 0xae, 0xc7, 0xc9, 0xb8, 0x43, 0x86, 0xbc, 0x37, 0x1a, 0x30, 0xf1, 0xdf, 0x90, 0xf8, 0x38, 0x64, + 0xc2, 0x29, 0xcb, 0x27, 0xb8, 0xf3, 0x2f, 0x00, 0x00, 0xff, 0xff, 0x16, 0x01, 0x88, 0xe2, 0x59, + 0x06, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. @@ -379,6 +479,8 @@ type QueryClient interface { DenomTraces(ctx context.Context, in *QueryDenomTracesRequest, opts ...grpc.CallOption) (*QueryDenomTracesResponse, error) // Params queries all parameters of the ibc-transfer module. Params(ctx context.Context, in *QueryParamsRequest, opts ...grpc.CallOption) (*QueryParamsResponse, error) + // DenomHash queries a denomination hash information. + DenomHash(ctx context.Context, in *QueryDenomHashRequest, opts ...grpc.CallOption) (*QueryDenomHashResponse, error) } type queryClient struct { @@ -416,6 +518,15 @@ func (c *queryClient) Params(ctx context.Context, in *QueryParamsRequest, opts . return out, nil } +func (c *queryClient) DenomHash(ctx context.Context, in *QueryDenomHashRequest, opts ...grpc.CallOption) (*QueryDenomHashResponse, error) { + out := new(QueryDenomHashResponse) + err := c.cc.Invoke(ctx, "/ibc.applications.transfer.v1.Query/DenomHash", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + // QueryServer is the server API for Query service. type QueryServer interface { // DenomTrace queries a denomination trace information. @@ -424,6 +535,8 @@ type QueryServer interface { DenomTraces(context.Context, *QueryDenomTracesRequest) (*QueryDenomTracesResponse, error) // Params queries all parameters of the ibc-transfer module. Params(context.Context, *QueryParamsRequest) (*QueryParamsResponse, error) + // DenomHash queries a denomination hash information. + DenomHash(context.Context, *QueryDenomHashRequest) (*QueryDenomHashResponse, error) } // UnimplementedQueryServer can be embedded to have forward compatible implementations. @@ -439,6 +552,9 @@ func (*UnimplementedQueryServer) DenomTraces(ctx context.Context, req *QueryDeno func (*UnimplementedQueryServer) Params(ctx context.Context, req *QueryParamsRequest) (*QueryParamsResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method Params not implemented") } +func (*UnimplementedQueryServer) DenomHash(ctx context.Context, req *QueryDenomHashRequest) (*QueryDenomHashResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method DenomHash not implemented") +} func RegisterQueryServer(s grpc1.Server, srv QueryServer) { s.RegisterService(&_Query_serviceDesc, srv) @@ -498,6 +614,24 @@ func _Query_Params_Handler(srv interface{}, ctx context.Context, dec func(interf return interceptor(ctx, in, info, handler) } +func _Query_DenomHash_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(QueryDenomHashRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(QueryServer).DenomHash(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/ibc.applications.transfer.v1.Query/DenomHash", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(QueryServer).DenomHash(ctx, req.(*QueryDenomHashRequest)) + } + return interceptor(ctx, in, info, handler) +} + var _Query_serviceDesc = grpc.ServiceDesc{ ServiceName: "ibc.applications.transfer.v1.Query", HandlerType: (*QueryServer)(nil), @@ -514,6 +648,10 @@ var _Query_serviceDesc = grpc.ServiceDesc{ MethodName: "Params", Handler: _Query_Params_Handler, }, + { + MethodName: "DenomHash", + Handler: _Query_DenomHash_Handler, + }, }, Streams: []grpc.StreamDesc{}, Metadata: "ibc/applications/transfer/v1/query.proto", @@ -726,6 +864,66 @@ func (m *QueryParamsResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { return len(dAtA) - i, nil } +func (m *QueryDenomHashRequest) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *QueryDenomHashRequest) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *QueryDenomHashRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.Trace) > 0 { + i -= len(m.Trace) + copy(dAtA[i:], m.Trace) + i = encodeVarintQuery(dAtA, i, uint64(len(m.Trace))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *QueryDenomHashResponse) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *QueryDenomHashResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *QueryDenomHashResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.Hash) > 0 { + i -= len(m.Hash) + copy(dAtA[i:], m.Hash) + i = encodeVarintQuery(dAtA, i, uint64(len(m.Hash))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + func encodeVarintQuery(dAtA []byte, offset int, v uint64) int { offset -= sovQuery(v) base := offset @@ -817,6 +1015,32 @@ func (m *QueryParamsResponse) Size() (n int) { return n } +func (m *QueryDenomHashRequest) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Trace) + if l > 0 { + n += 1 + l + sovQuery(uint64(l)) + } + return n +} + +func (m *QueryDenomHashResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Hash) + if l > 0 { + n += 1 + l + sovQuery(uint64(l)) + } + return n +} + func sovQuery(x uint64) (n int) { return (math_bits.Len64(x|1) + 6) / 7 } @@ -1333,6 +1557,170 @@ func (m *QueryParamsResponse) Unmarshal(dAtA []byte) error { } return nil } +func (m *QueryDenomHashRequest) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: QueryDenomHashRequest: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: QueryDenomHashRequest: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Trace", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthQuery + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthQuery + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Trace = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipQuery(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthQuery + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *QueryDenomHashResponse) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: QueryDenomHashResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: QueryDenomHashResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Hash", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthQuery + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthQuery + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Hash = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipQuery(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthQuery + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} func skipQuery(dAtA []byte) (n int, err error) { l := len(dAtA) iNdEx := 0 diff --git a/modules/apps/transfer/types/query.pb.gw.go b/modules/apps/transfer/types/query.pb.gw.go index 0cd48139ccc..6f17d4dc055 100644 --- a/modules/apps/transfer/types/query.pb.gw.go +++ b/modules/apps/transfer/types/query.pb.gw.go @@ -139,6 +139,60 @@ func local_request_Query_Params_0(ctx context.Context, marshaler runtime.Marshal } +func request_Query_DenomHash_0(ctx context.Context, marshaler runtime.Marshaler, client QueryClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq QueryDenomHashRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["trace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "trace") + } + + protoReq.Trace, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "trace", err) + } + + msg, err := client.DenomHash(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_Query_DenomHash_0(ctx context.Context, marshaler runtime.Marshaler, server QueryServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq QueryDenomHashRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["trace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "trace") + } + + protoReq.Trace, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "trace", err) + } + + msg, err := server.DenomHash(ctx, &protoReq) + return msg, metadata, err + +} + // RegisterQueryHandlerServer registers the http handlers for service Query to "mux". // UnaryRPC :call QueryServer directly. // StreamingRPC :currently unsupported pending https://github.com/grpc/grpc-go/issues/906. @@ -205,6 +259,26 @@ func RegisterQueryHandlerServer(ctx context.Context, mux *runtime.ServeMux, serv }) + mux.Handle("GET", pattern_Query_DenomHash_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_Query_DenomHash_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Query_DenomHash_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + return nil } @@ -306,6 +380,26 @@ func RegisterQueryHandlerClient(ctx context.Context, mux *runtime.ServeMux, clie }) + mux.Handle("GET", pattern_Query_DenomHash_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_Query_DenomHash_0(rctx, inboundMarshaler, client, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Query_DenomHash_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + return nil } @@ -315,6 +409,8 @@ var ( pattern_Query_DenomTraces_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3, 2, 4}, []string{"ibc", "apps", "transfer", "v1", "denom_traces"}, "", runtime.AssumeColonVerbOpt(true))) pattern_Query_Params_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3, 2, 4}, []string{"ibc", "apps", "transfer", "v1", "params"}, "", runtime.AssumeColonVerbOpt(true))) + + pattern_Query_DenomHash_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3, 2, 4, 1, 0, 4, 1, 5, 5}, []string{"ibc", "apps", "transfer", "v1", "denom_hashes", "trace"}, "", runtime.AssumeColonVerbOpt(true))) ) var ( @@ -323,4 +419,6 @@ var ( forward_Query_DenomTraces_0 = runtime.ForwardResponseMessage forward_Query_Params_0 = runtime.ForwardResponseMessage + + forward_Query_DenomHash_0 = runtime.ForwardResponseMessage ) diff --git a/proto/ibc/applications/transfer/v1/query.proto b/proto/ibc/applications/transfer/v1/query.proto index 12876608db8..2ed28049fd7 100644 --- a/proto/ibc/applications/transfer/v1/query.proto +++ b/proto/ibc/applications/transfer/v1/query.proto @@ -25,6 +25,11 @@ service Query { rpc Params(QueryParamsRequest) returns (QueryParamsResponse) { option (google.api.http).get = "/ibc/apps/transfer/v1/params"; } + + // DenomHash queries a denomination hash information. + rpc DenomHash(QueryDenomHashRequest) returns (QueryDenomHashResponse) { + option (google.api.http).get = "/ibc/apps/transfer/v1/denom_hashes/{trace}"; + } } // QueryDenomTraceRequest is the request type for the Query/DenomTrace RPC @@ -65,3 +70,17 @@ message QueryParamsResponse { // params defines the parameters of the module. Params params = 1; } + +// QueryDenomHashRequest is the request type for the Query/DenomHash RPC +// method +message QueryDenomHashRequest { + // The denomination trace ([port_id]/[channel_id])+/[denom] + string trace = 1; +} + +// QueryDenomHashResponse is the response type for the Query/DenomHash RPC +// method. +message QueryDenomHashResponse { + // hash (in hex format) of the denomination trace information. + string hash = 1; +} From f5962c3324ee7e69eeaa9918b65eb1b089da6095 Mon Sep 17 00:00:00 2001 From: Carlos Rodriguez Date: Mon, 10 Jan 2022 21:52:59 +0100 Subject: [PATCH 103/107] chore: separate import statements by type (#702) Co-authored-by: Carlos Rodriguez --- .../controller/client/cli/query.go | 4 ++-- .../host/client/cli/query.go | 4 ++-- .../host/keeper/grpc_query.go | 2 ++ modules/apps/27-interchain-accounts/module.go | 5 ++--- modules/apps/27-interchain-accounts/types/port.go | 1 + modules/apps/transfer/client/cli/query.go | 4 ++-- modules/apps/transfer/client/cli/tx.go | 4 ++-- modules/apps/transfer/ibc_module_test.go | 1 + modules/apps/transfer/keeper/genesis.go | 1 + modules/apps/transfer/keeper/grpc_query.go | 6 +++--- modules/apps/transfer/keeper/grpc_query_test.go | 1 + modules/apps/transfer/keeper/keeper.go | 6 +++--- modules/apps/transfer/keeper/keeper_test.go | 4 ++-- modules/apps/transfer/keeper/mbt_relay_test.go | 4 ++-- modules/apps/transfer/keeper/msg_server.go | 1 + modules/apps/transfer/keeper/params.go | 1 + modules/apps/transfer/keeper/relay_test.go | 4 ++-- modules/apps/transfer/simulation/decoder.go | 1 + modules/apps/transfer/simulation/decoder_test.go | 2 +- modules/apps/transfer/simulation/genesis.go | 1 + modules/apps/transfer/simulation/genesis_test.go | 4 ++-- modules/apps/transfer/simulation/params.go | 5 ++--- modules/apps/transfer/transfer_test.go | 2 +- modules/apps/transfer/types/expected_keepers.go | 1 + modules/apps/transfer/types/msgs.go | 1 + modules/apps/transfer/types/msgs_test.go | 4 ++-- modules/apps/transfer/types/trace.go | 4 ++-- modules/core/02-client/abci.go | 1 + modules/core/02-client/abci_test.go | 2 +- modules/core/02-client/client/cli/cli.go | 2 +- modules/core/02-client/client/cli/query.go | 4 ++-- modules/core/02-client/client/cli/tx.go | 6 +++--- modules/core/02-client/client/proposal_handler.go | 1 + modules/core/02-client/client/utils/utils.go | 5 ++--- modules/core/02-client/genesis.go | 1 + modules/core/02-client/keeper/client.go | 2 +- modules/core/02-client/keeper/client_test.go | 2 +- modules/core/02-client/keeper/grpc_query.go | 6 +++--- modules/core/02-client/keeper/keeper.go | 6 +++--- modules/core/02-client/keeper/keeper_test.go | 10 +++++----- modules/core/02-client/keeper/params.go | 1 + modules/core/02-client/keeper/proposal.go | 2 +- modules/core/02-client/keeper/proposal_test.go | 1 + modules/core/02-client/proposal_handler.go | 1 + modules/core/02-client/proposal_handler_test.go | 1 + modules/core/02-client/simulation/decoder.go | 1 + modules/core/02-client/simulation/decoder_test.go | 2 +- modules/core/02-client/simulation/genesis.go | 1 + modules/core/02-client/types/client.go | 4 ++-- modules/core/02-client/types/codec.go | 4 ++-- modules/core/02-client/types/codec_test.go | 1 + modules/core/02-client/types/encoding.go | 1 + modules/core/02-client/types/genesis.go | 1 + modules/core/02-client/types/height.go | 1 + modules/core/02-client/types/keys.go | 1 + modules/core/02-client/types/msgs.go | 1 + modules/core/02-client/types/params.go | 1 + modules/core/02-client/types/proposal.go | 1 + modules/core/02-client/types/query.go | 1 + modules/core/03-connection/client/cli/query.go | 4 ++-- modules/core/03-connection/client/utils/utils.go | 4 ++-- modules/core/03-connection/genesis.go | 1 + modules/core/03-connection/keeper/grpc_query.go | 6 +++--- .../core/03-connection/keeper/grpc_query_test.go | 1 + modules/core/03-connection/keeper/handshake.go | 4 ++-- modules/core/03-connection/keeper/keeper.go | 1 + modules/core/03-connection/keeper/params.go | 1 + modules/core/03-connection/keeper/verify.go | 1 + modules/core/03-connection/simulation/decoder.go | 1 + .../core/03-connection/simulation/decoder_test.go | 2 +- modules/core/03-connection/simulation/genesis.go | 1 + modules/core/03-connection/types/codec.go | 1 + modules/core/03-connection/types/connection.go | 1 + .../core/03-connection/types/expected_keepers.go | 1 + modules/core/03-connection/types/keys.go | 1 + modules/core/03-connection/types/msgs.go | 1 + modules/core/03-connection/types/msgs_test.go | 7 +++---- modules/core/03-connection/types/params_test.go | 3 ++- modules/core/03-connection/types/query.go | 1 + modules/core/03-connection/types/version.go | 1 + modules/core/04-channel/client/cli/cli.go | 2 +- modules/core/04-channel/client/cli/query.go | 4 ++-- modules/core/04-channel/client/utils/utils.go | 1 + modules/core/04-channel/genesis.go | 1 + modules/core/04-channel/keeper/grpc_query.go | 6 +++--- modules/core/04-channel/keeper/grpc_query_test.go | 1 + modules/core/04-channel/keeper/handshake_test.go | 1 + modules/core/04-channel/keeper/keeper.go | 6 +++--- modules/core/04-channel/keeper/packet.go | 1 + modules/core/04-channel/keeper/timeout.go | 1 + modules/core/04-channel/simulation/decoder.go | 1 + modules/core/04-channel/simulation/decoder_test.go | 4 ++-- modules/core/04-channel/simulation/genesis.go | 1 + modules/core/04-channel/types/channel.go | 1 + modules/core/04-channel/types/codec.go | 1 + modules/core/04-channel/types/expected_keepers.go | 1 + modules/core/04-channel/types/keys.go | 1 + modules/core/04-channel/types/msgs.go | 1 + modules/core/04-channel/types/msgs_test.go | 9 ++++----- modules/core/04-channel/types/packet.go | 1 + modules/core/04-channel/types/packet_test.go | 4 ++-- modules/core/04-channel/types/query.go | 1 + modules/core/05-port/keeper/keeper.go | 4 ++-- modules/core/05-port/keeper/keeper_test.go | 2 +- modules/core/23-commitment/types/codec.go | 1 + .../core/23-commitment/types/commitment_test.go | 4 +--- modules/core/23-commitment/types/merkle.go | 2 +- modules/core/23-commitment/types/utils.go | 3 +-- modules/core/ante/ante.go | 1 + modules/core/ante/ante_test.go | 3 ++- modules/core/client/cli/cli.go | 1 + modules/core/client/query.go | 4 ++-- modules/core/genesis.go | 1 + modules/core/genesis_test.go | 2 +- modules/core/keeper/keeper.go | 1 + modules/core/keeper/msg_server.go | 2 +- modules/core/keeper/msg_server_test.go | 4 ++-- modules/core/module.go | 11 +++++------ modules/core/simulation/decoder.go | 1 + modules/core/simulation/decoder_test.go | 2 +- modules/core/simulation/genesis.go | 1 + modules/core/simulation/genesis_test.go | 4 ++-- modules/core/types/codec.go | 1 + modules/core/types/genesis.go | 1 + .../06-solomachine/types/client_state.go | 1 + .../light-clients/06-solomachine/types/codec.go | 1 + .../06-solomachine/types/consensus_state.go | 1 + .../light-clients/06-solomachine/types/header.go | 1 + .../06-solomachine/types/misbehaviour.go | 1 + .../06-solomachine/types/misbehaviour_handle.go | 1 + .../light-clients/06-solomachine/types/proof.go | 1 + .../06-solomachine/types/proof_test.go | 1 + .../06-solomachine/types/proposal_handle.go | 1 + .../06-solomachine/types/solomachine.go | 1 + .../06-solomachine/types/solomachine_test.go | 6 +++--- .../light-clients/06-solomachine/types/update.go | 1 + .../06-solomachine/types/update_test.go | 1 + .../07-tendermint/types/client_state.go | 6 +++--- modules/light-clients/07-tendermint/types/codec.go | 1 + .../07-tendermint/types/consensus_state.go | 2 +- .../light-clients/07-tendermint/types/genesis.go | 1 + .../light-clients/07-tendermint/types/header.go | 2 +- .../07-tendermint/types/misbehaviour.go | 2 +- .../07-tendermint/types/misbehaviour_handle.go | 4 ++-- .../07-tendermint/types/proposal_handle.go | 1 + modules/light-clients/07-tendermint/types/store.go | 1 + .../07-tendermint/types/tendermint_test.go | 4 ++-- .../light-clients/07-tendermint/types/update.go | 6 +++--- .../light-clients/07-tendermint/types/upgrade.go | 1 + .../09-localhost/types/client_state.go | 1 + .../09-localhost/types/client_state_test.go | 1 + modules/light-clients/09-localhost/types/codec.go | 1 + .../09-localhost/types/localhost_test.go | 4 ++-- testing/events.go | 1 + testing/mock/privval.go | 7 +++---- testing/sdk_test.go | 2 +- testing/simapp/encoding.go | 1 + testing/simapp/export.go | 3 +-- testing/simapp/genesis_account_test.go | 4 ++-- testing/simapp/sim_bench_test.go | 3 +-- testing/simapp/sim_test.go | 12 ++++++------ testing/simapp/simd/cmd/cmd_test.go | 4 ++-- testing/simapp/simd/cmd/genaccounts.go | 3 +-- testing/simapp/simd/cmd/genaccounts_test.go | 8 ++++---- testing/simapp/simd/cmd/testnet.go | 13 ++++++------- testing/simapp/simd/main.go | 1 + testing/simapp/state.go | 6 +++--- testing/simapp/test_helpers.go | 14 +++++++------- testing/simapp/types.go | 3 +-- testing/simapp/utils.go | 6 +++--- testing/simapp/utils_test.go | 3 +-- testing/solomachine.go | 4 ++-- 172 files changed, 267 insertions(+), 190 deletions(-) diff --git a/modules/apps/27-interchain-accounts/controller/client/cli/query.go b/modules/apps/27-interchain-accounts/controller/client/cli/query.go index 2f06284a28c..9a939906b90 100644 --- a/modules/apps/27-interchain-accounts/controller/client/cli/query.go +++ b/modules/apps/27-interchain-accounts/controller/client/cli/query.go @@ -3,11 +3,11 @@ package cli import ( "fmt" - "github.com/spf13/cobra" - "github.com/cosmos/cosmos-sdk/client" "github.com/cosmos/cosmos-sdk/client/flags" "github.com/cosmos/cosmos-sdk/version" + "github.com/spf13/cobra" + "github.com/cosmos/ibc-go/v3/modules/apps/27-interchain-accounts/controller/types" ) diff --git a/modules/apps/27-interchain-accounts/host/client/cli/query.go b/modules/apps/27-interchain-accounts/host/client/cli/query.go index 0033e8f9e7c..bb4e315ca06 100644 --- a/modules/apps/27-interchain-accounts/host/client/cli/query.go +++ b/modules/apps/27-interchain-accounts/host/client/cli/query.go @@ -3,11 +3,11 @@ package cli import ( "fmt" - "github.com/spf13/cobra" - "github.com/cosmos/cosmos-sdk/client" "github.com/cosmos/cosmos-sdk/client/flags" "github.com/cosmos/cosmos-sdk/version" + "github.com/spf13/cobra" + "github.com/cosmos/ibc-go/v3/modules/apps/27-interchain-accounts/host/types" ) diff --git a/modules/apps/27-interchain-accounts/host/keeper/grpc_query.go b/modules/apps/27-interchain-accounts/host/keeper/grpc_query.go index f2df68d5ca2..c2727eab535 100644 --- a/modules/apps/27-interchain-accounts/host/keeper/grpc_query.go +++ b/modules/apps/27-interchain-accounts/host/keeper/grpc_query.go @@ -2,7 +2,9 @@ package keeper import ( "context" + sdk "github.com/cosmos/cosmos-sdk/types" + "github.com/cosmos/ibc-go/v3/modules/apps/27-interchain-accounts/host/types" ) diff --git a/modules/apps/27-interchain-accounts/module.go b/modules/apps/27-interchain-accounts/module.go index 1f816a50d1f..1ac7d58e503 100644 --- a/modules/apps/27-interchain-accounts/module.go +++ b/modules/apps/27-interchain-accounts/module.go @@ -5,15 +5,14 @@ import ( "encoding/json" "fmt" - "github.com/gorilla/mux" - "github.com/spf13/cobra" - "github.com/cosmos/cosmos-sdk/client" "github.com/cosmos/cosmos-sdk/codec" codectypes "github.com/cosmos/cosmos-sdk/codec/types" sdk "github.com/cosmos/cosmos-sdk/types" "github.com/cosmos/cosmos-sdk/types/module" + "github.com/gorilla/mux" "github.com/grpc-ecosystem/grpc-gateway/runtime" + "github.com/spf13/cobra" abci "github.com/tendermint/tendermint/abci/types" "github.com/cosmos/ibc-go/v3/modules/apps/27-interchain-accounts/client/cli" diff --git a/modules/apps/27-interchain-accounts/types/port.go b/modules/apps/27-interchain-accounts/types/port.go index 32c7de66af3..9b5c3b5f53f 100644 --- a/modules/apps/27-interchain-accounts/types/port.go +++ b/modules/apps/27-interchain-accounts/types/port.go @@ -6,6 +6,7 @@ import ( "strings" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + connectiontypes "github.com/cosmos/ibc-go/v3/modules/core/03-connection/types" porttypes "github.com/cosmos/ibc-go/v3/modules/core/05-port/types" ) diff --git a/modules/apps/transfer/client/cli/query.go b/modules/apps/transfer/client/cli/query.go index de585061ccf..3239b154377 100644 --- a/modules/apps/transfer/client/cli/query.go +++ b/modules/apps/transfer/client/cli/query.go @@ -3,11 +3,11 @@ package cli import ( "fmt" - "github.com/spf13/cobra" - "github.com/cosmos/cosmos-sdk/client" "github.com/cosmos/cosmos-sdk/client/flags" "github.com/cosmos/cosmos-sdk/version" + "github.com/spf13/cobra" + "github.com/cosmos/ibc-go/v3/modules/apps/transfer/types" ) diff --git a/modules/apps/transfer/client/cli/tx.go b/modules/apps/transfer/client/cli/tx.go index 32dd11e5625..cc2aef7ed1d 100644 --- a/modules/apps/transfer/client/cli/tx.go +++ b/modules/apps/transfer/client/cli/tx.go @@ -6,13 +6,13 @@ import ( "strings" "time" - "github.com/spf13/cobra" - "github.com/cosmos/cosmos-sdk/client" "github.com/cosmos/cosmos-sdk/client/flags" "github.com/cosmos/cosmos-sdk/client/tx" sdk "github.com/cosmos/cosmos-sdk/types" "github.com/cosmos/cosmos-sdk/version" + "github.com/spf13/cobra" + "github.com/cosmos/ibc-go/v3/modules/apps/transfer/types" clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" channelutils "github.com/cosmos/ibc-go/v3/modules/core/04-channel/client/utils" diff --git a/modules/apps/transfer/ibc_module_test.go b/modules/apps/transfer/ibc_module_test.go index 9ffd7ddcf4f..b5f834a3a8e 100644 --- a/modules/apps/transfer/ibc_module_test.go +++ b/modules/apps/transfer/ibc_module_test.go @@ -4,6 +4,7 @@ import ( "math" capabilitytypes "github.com/cosmos/cosmos-sdk/x/capability/types" + "github.com/cosmos/ibc-go/v3/modules/apps/transfer/types" channeltypes "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types" host "github.com/cosmos/ibc-go/v3/modules/core/24-host" diff --git a/modules/apps/transfer/keeper/genesis.go b/modules/apps/transfer/keeper/genesis.go index c1ba3a47513..35bbd231a59 100644 --- a/modules/apps/transfer/keeper/genesis.go +++ b/modules/apps/transfer/keeper/genesis.go @@ -4,6 +4,7 @@ import ( "fmt" sdk "github.com/cosmos/cosmos-sdk/types" + "github.com/cosmos/ibc-go/v3/modules/apps/transfer/types" ) diff --git a/modules/apps/transfer/keeper/grpc_query.go b/modules/apps/transfer/keeper/grpc_query.go index e3310094c2d..e0b16c6a761 100644 --- a/modules/apps/transfer/keeper/grpc_query.go +++ b/modules/apps/transfer/keeper/grpc_query.go @@ -4,13 +4,13 @@ import ( "context" "fmt" - "google.golang.org/grpc/codes" - "google.golang.org/grpc/status" - "github.com/cosmos/cosmos-sdk/store/prefix" sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" "github.com/cosmos/cosmos-sdk/types/query" + "google.golang.org/grpc/codes" + "google.golang.org/grpc/status" + "github.com/cosmos/ibc-go/v3/modules/apps/transfer/types" ) diff --git a/modules/apps/transfer/keeper/grpc_query_test.go b/modules/apps/transfer/keeper/grpc_query_test.go index 5d65ed3d839..34563447b5f 100644 --- a/modules/apps/transfer/keeper/grpc_query_test.go +++ b/modules/apps/transfer/keeper/grpc_query_test.go @@ -5,6 +5,7 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" "github.com/cosmos/cosmos-sdk/types/query" + "github.com/cosmos/ibc-go/v3/modules/apps/transfer/types" ) diff --git a/modules/apps/transfer/keeper/keeper.go b/modules/apps/transfer/keeper/keeper.go index 0c96e2219d2..46e3c51aa2a 100644 --- a/modules/apps/transfer/keeper/keeper.go +++ b/modules/apps/transfer/keeper/keeper.go @@ -1,9 +1,6 @@ package keeper import ( - tmbytes "github.com/tendermint/tendermint/libs/bytes" - "github.com/tendermint/tendermint/libs/log" - "github.com/cosmos/cosmos-sdk/codec" "github.com/cosmos/cosmos-sdk/store/prefix" sdk "github.com/cosmos/cosmos-sdk/types" @@ -11,6 +8,9 @@ import ( capabilitykeeper "github.com/cosmos/cosmos-sdk/x/capability/keeper" capabilitytypes "github.com/cosmos/cosmos-sdk/x/capability/types" paramtypes "github.com/cosmos/cosmos-sdk/x/params/types" + tmbytes "github.com/tendermint/tendermint/libs/bytes" + "github.com/tendermint/tendermint/libs/log" + "github.com/cosmos/ibc-go/v3/modules/apps/transfer/types" host "github.com/cosmos/ibc-go/v3/modules/core/24-host" ) diff --git a/modules/apps/transfer/keeper/keeper_test.go b/modules/apps/transfer/keeper/keeper_test.go index 0fdb1121387..7a3805e7f12 100644 --- a/modules/apps/transfer/keeper/keeper_test.go +++ b/modules/apps/transfer/keeper/keeper_test.go @@ -3,11 +3,11 @@ package keeper_test import ( "testing" + "github.com/cosmos/cosmos-sdk/baseapp" + sdk "github.com/cosmos/cosmos-sdk/types" "github.com/stretchr/testify/suite" "github.com/tendermint/tendermint/crypto" - "github.com/cosmos/cosmos-sdk/baseapp" - sdk "github.com/cosmos/cosmos-sdk/types" "github.com/cosmos/ibc-go/v3/modules/apps/transfer/types" ibctesting "github.com/cosmos/ibc-go/v3/testing" ) diff --git a/modules/apps/transfer/keeper/mbt_relay_test.go b/modules/apps/transfer/keeper/mbt_relay_test.go index 2b7fafec96b..d4d338bf73a 100644 --- a/modules/apps/transfer/keeper/mbt_relay_test.go +++ b/modules/apps/transfer/keeper/mbt_relay_test.go @@ -11,10 +11,10 @@ import ( "strconv" "strings" - "github.com/tendermint/tendermint/crypto" - sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + "github.com/tendermint/tendermint/crypto" + "github.com/cosmos/ibc-go/v3/modules/apps/transfer/types" clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" channeltypes "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types" diff --git a/modules/apps/transfer/keeper/msg_server.go b/modules/apps/transfer/keeper/msg_server.go index e5c18be4821..5d8e5682200 100644 --- a/modules/apps/transfer/keeper/msg_server.go +++ b/modules/apps/transfer/keeper/msg_server.go @@ -4,6 +4,7 @@ import ( "context" sdk "github.com/cosmos/cosmos-sdk/types" + "github.com/cosmos/ibc-go/v3/modules/apps/transfer/types" ) diff --git a/modules/apps/transfer/keeper/params.go b/modules/apps/transfer/keeper/params.go index 18b520230f6..b88a1b93b69 100644 --- a/modules/apps/transfer/keeper/params.go +++ b/modules/apps/transfer/keeper/params.go @@ -2,6 +2,7 @@ package keeper import ( sdk "github.com/cosmos/cosmos-sdk/types" + "github.com/cosmos/ibc-go/v3/modules/apps/transfer/types" ) diff --git a/modules/apps/transfer/keeper/relay_test.go b/modules/apps/transfer/keeper/relay_test.go index d00a582b466..be8627cc399 100644 --- a/modules/apps/transfer/keeper/relay_test.go +++ b/modules/apps/transfer/keeper/relay_test.go @@ -3,14 +3,14 @@ package keeper_test import ( "fmt" - "github.com/cosmos/ibc-go/v3/testing/simapp" - sdk "github.com/cosmos/cosmos-sdk/types" + "github.com/cosmos/ibc-go/v3/modules/apps/transfer/types" clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" channeltypes "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types" host "github.com/cosmos/ibc-go/v3/modules/core/24-host" ibctesting "github.com/cosmos/ibc-go/v3/testing" + "github.com/cosmos/ibc-go/v3/testing/simapp" ) // test sending from chainA to chainB using both coin that orignate on diff --git a/modules/apps/transfer/simulation/decoder.go b/modules/apps/transfer/simulation/decoder.go index 2a55055db99..8758d904544 100644 --- a/modules/apps/transfer/simulation/decoder.go +++ b/modules/apps/transfer/simulation/decoder.go @@ -5,6 +5,7 @@ import ( "fmt" "github.com/cosmos/cosmos-sdk/types/kv" + "github.com/cosmos/ibc-go/v3/modules/apps/transfer/types" ) diff --git a/modules/apps/transfer/simulation/decoder_test.go b/modules/apps/transfer/simulation/decoder_test.go index 8737c64a52b..a505dffb15d 100644 --- a/modules/apps/transfer/simulation/decoder_test.go +++ b/modules/apps/transfer/simulation/decoder_test.go @@ -4,9 +4,9 @@ import ( "fmt" "testing" + "github.com/cosmos/cosmos-sdk/types/kv" "github.com/stretchr/testify/require" - "github.com/cosmos/cosmos-sdk/types/kv" "github.com/cosmos/ibc-go/v3/modules/apps/transfer/simulation" "github.com/cosmos/ibc-go/v3/modules/apps/transfer/types" "github.com/cosmos/ibc-go/v3/testing/simapp" diff --git a/modules/apps/transfer/simulation/genesis.go b/modules/apps/transfer/simulation/genesis.go index 83273dc6b35..a74277d1671 100644 --- a/modules/apps/transfer/simulation/genesis.go +++ b/modules/apps/transfer/simulation/genesis.go @@ -8,6 +8,7 @@ import ( "github.com/cosmos/cosmos-sdk/types/module" simtypes "github.com/cosmos/cosmos-sdk/types/simulation" + "github.com/cosmos/ibc-go/v3/modules/apps/transfer/types" ) diff --git a/modules/apps/transfer/simulation/genesis_test.go b/modules/apps/transfer/simulation/genesis_test.go index ef21cdf73df..c869d1c7b25 100644 --- a/modules/apps/transfer/simulation/genesis_test.go +++ b/modules/apps/transfer/simulation/genesis_test.go @@ -5,12 +5,12 @@ import ( "math/rand" "testing" - "github.com/stretchr/testify/require" - "github.com/cosmos/cosmos-sdk/codec" codectypes "github.com/cosmos/cosmos-sdk/codec/types" "github.com/cosmos/cosmos-sdk/types/module" simtypes "github.com/cosmos/cosmos-sdk/types/simulation" + "github.com/stretchr/testify/require" + "github.com/cosmos/ibc-go/v3/modules/apps/transfer/simulation" "github.com/cosmos/ibc-go/v3/modules/apps/transfer/types" ) diff --git a/modules/apps/transfer/simulation/params.go b/modules/apps/transfer/simulation/params.go index 115f9556d4a..c7193b47193 100644 --- a/modules/apps/transfer/simulation/params.go +++ b/modules/apps/transfer/simulation/params.go @@ -4,11 +4,10 @@ import ( "fmt" "math/rand" - gogotypes "github.com/gogo/protobuf/types" - + simtypes "github.com/cosmos/cosmos-sdk/types/simulation" "github.com/cosmos/cosmos-sdk/x/simulation" + gogotypes "github.com/gogo/protobuf/types" - simtypes "github.com/cosmos/cosmos-sdk/types/simulation" "github.com/cosmos/ibc-go/v3/modules/apps/transfer/types" ) diff --git a/modules/apps/transfer/transfer_test.go b/modules/apps/transfer/transfer_test.go index fc16aa39a28..5265b0dcf6c 100644 --- a/modules/apps/transfer/transfer_test.go +++ b/modules/apps/transfer/transfer_test.go @@ -3,9 +3,9 @@ package transfer_test import ( "testing" + sdk "github.com/cosmos/cosmos-sdk/types" "github.com/stretchr/testify/suite" - sdk "github.com/cosmos/cosmos-sdk/types" "github.com/cosmos/ibc-go/v3/modules/apps/transfer/types" clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" channeltypes "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types" diff --git a/modules/apps/transfer/types/expected_keepers.go b/modules/apps/transfer/types/expected_keepers.go index 8f4503d0872..8ae670d27b2 100644 --- a/modules/apps/transfer/types/expected_keepers.go +++ b/modules/apps/transfer/types/expected_keepers.go @@ -4,6 +4,7 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" "github.com/cosmos/cosmos-sdk/x/auth/types" capabilitytypes "github.com/cosmos/cosmos-sdk/x/capability/types" + connectiontypes "github.com/cosmos/ibc-go/v3/modules/core/03-connection/types" channeltypes "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types" ibcexported "github.com/cosmos/ibc-go/v3/modules/core/exported" diff --git a/modules/apps/transfer/types/msgs.go b/modules/apps/transfer/types/msgs.go index 75b29dbdfde..dab9fb21d46 100644 --- a/modules/apps/transfer/types/msgs.go +++ b/modules/apps/transfer/types/msgs.go @@ -5,6 +5,7 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" host "github.com/cosmos/ibc-go/v3/modules/core/24-host" ) diff --git a/modules/apps/transfer/types/msgs_test.go b/modules/apps/transfer/types/msgs_test.go index 064be2d0a86..5cf074a6d8d 100644 --- a/modules/apps/transfer/types/msgs_test.go +++ b/modules/apps/transfer/types/msgs_test.go @@ -4,10 +4,10 @@ import ( "fmt" "testing" - "github.com/stretchr/testify/require" - "github.com/cosmos/cosmos-sdk/crypto/keys/secp256k1" sdk "github.com/cosmos/cosmos-sdk/types" + "github.com/stretchr/testify/require" + clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" ) diff --git a/modules/apps/transfer/types/trace.go b/modules/apps/transfer/types/trace.go index 8a73d3245e5..6bbbbadfc23 100644 --- a/modules/apps/transfer/types/trace.go +++ b/modules/apps/transfer/types/trace.go @@ -7,11 +7,11 @@ import ( "sort" "strings" + sdk "github.com/cosmos/cosmos-sdk/types" + sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" tmbytes "github.com/tendermint/tendermint/libs/bytes" tmtypes "github.com/tendermint/tendermint/types" - sdk "github.com/cosmos/cosmos-sdk/types" - sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" host "github.com/cosmos/ibc-go/v3/modules/core/24-host" ) diff --git a/modules/core/02-client/abci.go b/modules/core/02-client/abci.go index 0f01ecb00c7..aa13295e1c9 100644 --- a/modules/core/02-client/abci.go +++ b/modules/core/02-client/abci.go @@ -2,6 +2,7 @@ package client import ( sdk "github.com/cosmos/cosmos-sdk/types" + "github.com/cosmos/ibc-go/v3/modules/core/02-client/keeper" "github.com/cosmos/ibc-go/v3/modules/core/exported" ibctmtypes "github.com/cosmos/ibc-go/v3/modules/light-clients/07-tendermint/types" diff --git a/modules/core/02-client/abci_test.go b/modules/core/02-client/abci_test.go index 84c4f2904ff..af4723c609a 100644 --- a/modules/core/02-client/abci_test.go +++ b/modules/core/02-client/abci_test.go @@ -3,11 +3,11 @@ package client_test import ( "testing" + upgradetypes "github.com/cosmos/cosmos-sdk/x/upgrade/types" "github.com/stretchr/testify/suite" abci "github.com/tendermint/tendermint/abci/types" tmproto "github.com/tendermint/tendermint/proto/tendermint/types" - upgradetypes "github.com/cosmos/cosmos-sdk/x/upgrade/types" client "github.com/cosmos/ibc-go/v3/modules/core/02-client" "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" "github.com/cosmos/ibc-go/v3/modules/core/exported" diff --git a/modules/core/02-client/client/cli/cli.go b/modules/core/02-client/client/cli/cli.go index 7a011358eab..be33557d7ed 100644 --- a/modules/core/02-client/client/cli/cli.go +++ b/modules/core/02-client/client/cli/cli.go @@ -1,9 +1,9 @@ package cli import ( + "github.com/cosmos/cosmos-sdk/client" "github.com/spf13/cobra" - "github.com/cosmos/cosmos-sdk/client" "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" ) diff --git a/modules/core/02-client/client/cli/query.go b/modules/core/02-client/client/cli/query.go index ee79992f55d..d5e18679a28 100644 --- a/modules/core/02-client/client/cli/query.go +++ b/modules/core/02-client/client/cli/query.go @@ -4,11 +4,11 @@ import ( "errors" "fmt" - "github.com/spf13/cobra" - "github.com/cosmos/cosmos-sdk/client" "github.com/cosmos/cosmos-sdk/client/flags" "github.com/cosmos/cosmos-sdk/version" + "github.com/spf13/cobra" + "github.com/cosmos/ibc-go/v3/modules/core/02-client/client/utils" "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" host "github.com/cosmos/ibc-go/v3/modules/core/24-host" diff --git a/modules/core/02-client/client/cli/tx.go b/modules/core/02-client/client/cli/tx.go index 6e73df078d4..a4009028953 100644 --- a/modules/core/02-client/client/cli/tx.go +++ b/modules/core/02-client/client/cli/tx.go @@ -5,9 +5,6 @@ import ( "io/ioutil" "strconv" - "github.com/pkg/errors" - "github.com/spf13/cobra" - "github.com/cosmos/cosmos-sdk/client" "github.com/cosmos/cosmos-sdk/client/flags" "github.com/cosmos/cosmos-sdk/client/tx" @@ -17,6 +14,9 @@ import ( govcli "github.com/cosmos/cosmos-sdk/x/gov/client/cli" govtypes "github.com/cosmos/cosmos-sdk/x/gov/types" upgradetypes "github.com/cosmos/cosmos-sdk/x/upgrade/types" + "github.com/pkg/errors" + "github.com/spf13/cobra" + "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" "github.com/cosmos/ibc-go/v3/modules/core/exported" ) diff --git a/modules/core/02-client/client/proposal_handler.go b/modules/core/02-client/client/proposal_handler.go index d4079b87d1f..93e98dbc8b2 100644 --- a/modules/core/02-client/client/proposal_handler.go +++ b/modules/core/02-client/client/proposal_handler.go @@ -7,6 +7,7 @@ import ( "github.com/cosmos/cosmos-sdk/types/rest" govclient "github.com/cosmos/cosmos-sdk/x/gov/client" govrest "github.com/cosmos/cosmos-sdk/x/gov/client/rest" + "github.com/cosmos/ibc-go/v3/modules/core/02-client/client/cli" ) diff --git a/modules/core/02-client/client/utils/utils.go b/modules/core/02-client/client/utils/utils.go index 879db650785..a596ff61410 100644 --- a/modules/core/02-client/client/utils/utils.go +++ b/modules/core/02-client/client/utils/utils.go @@ -3,12 +3,11 @@ package utils import ( "context" - tmtypes "github.com/tendermint/tendermint/types" - "github.com/cosmos/cosmos-sdk/client" - "github.com/cosmos/cosmos-sdk/codec" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + tmtypes "github.com/tendermint/tendermint/types" + "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" commitmenttypes "github.com/cosmos/ibc-go/v3/modules/core/23-commitment/types" host "github.com/cosmos/ibc-go/v3/modules/core/24-host" diff --git a/modules/core/02-client/genesis.go b/modules/core/02-client/genesis.go index 34af1359243..6ba20b22510 100644 --- a/modules/core/02-client/genesis.go +++ b/modules/core/02-client/genesis.go @@ -4,6 +4,7 @@ import ( "fmt" sdk "github.com/cosmos/cosmos-sdk/types" + "github.com/cosmos/ibc-go/v3/modules/core/02-client/keeper" "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" "github.com/cosmos/ibc-go/v3/modules/core/exported" diff --git a/modules/core/02-client/keeper/client.go b/modules/core/02-client/keeper/client.go index d4f16ed5d76..8e0a0639316 100644 --- a/modules/core/02-client/keeper/client.go +++ b/modules/core/02-client/keeper/client.go @@ -4,10 +4,10 @@ import ( "encoding/hex" "github.com/armon/go-metrics" - "github.com/cosmos/cosmos-sdk/telemetry" sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" "github.com/cosmos/ibc-go/v3/modules/core/exported" ) diff --git a/modules/core/02-client/keeper/client_test.go b/modules/core/02-client/keeper/client_test.go index 453e3f4d3b4..4ca764620bf 100644 --- a/modules/core/02-client/keeper/client_test.go +++ b/modules/core/02-client/keeper/client_test.go @@ -5,9 +5,9 @@ import ( "fmt" "time" + upgradetypes "github.com/cosmos/cosmos-sdk/x/upgrade/types" tmtypes "github.com/tendermint/tendermint/types" - upgradetypes "github.com/cosmos/cosmos-sdk/x/upgrade/types" "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" commitmenttypes "github.com/cosmos/ibc-go/v3/modules/core/23-commitment/types" diff --git a/modules/core/02-client/keeper/grpc_query.go b/modules/core/02-client/keeper/grpc_query.go index 8948482fc11..d4a2eca5a4f 100644 --- a/modules/core/02-client/keeper/grpc_query.go +++ b/modules/core/02-client/keeper/grpc_query.go @@ -7,13 +7,13 @@ import ( "sort" "strings" - "google.golang.org/grpc/codes" - "google.golang.org/grpc/status" - "github.com/cosmos/cosmos-sdk/store/prefix" sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" "github.com/cosmos/cosmos-sdk/types/query" + "google.golang.org/grpc/codes" + "google.golang.org/grpc/status" + "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" host "github.com/cosmos/ibc-go/v3/modules/core/24-host" "github.com/cosmos/ibc-go/v3/modules/core/exported" diff --git a/modules/core/02-client/keeper/keeper.go b/modules/core/02-client/keeper/keeper.go index 21fba005a8e..74a043e9dea 100644 --- a/modules/core/02-client/keeper/keeper.go +++ b/modules/core/02-client/keeper/keeper.go @@ -5,15 +5,15 @@ import ( "reflect" "strings" - "github.com/tendermint/tendermint/libs/log" - "github.com/tendermint/tendermint/light" - "github.com/cosmos/cosmos-sdk/codec" "github.com/cosmos/cosmos-sdk/store/prefix" sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" paramtypes "github.com/cosmos/cosmos-sdk/x/params/types" upgradetypes "github.com/cosmos/cosmos-sdk/x/upgrade/types" + "github.com/tendermint/tendermint/libs/log" + "github.com/tendermint/tendermint/light" + "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" commitmenttypes "github.com/cosmos/ibc-go/v3/modules/core/23-commitment/types" host "github.com/cosmos/ibc-go/v3/modules/core/24-host" diff --git a/modules/core/02-client/keeper/keeper_test.go b/modules/core/02-client/keeper/keeper_test.go index 00630f75a2c..0ab53c01c50 100644 --- a/modules/core/02-client/keeper/keeper_test.go +++ b/modules/core/02-client/keeper/keeper_test.go @@ -5,16 +5,16 @@ import ( "testing" "time" - "github.com/stretchr/testify/suite" - tmbytes "github.com/tendermint/tendermint/libs/bytes" - tmproto "github.com/tendermint/tendermint/proto/tendermint/types" - tmtypes "github.com/tendermint/tendermint/types" - "github.com/cosmos/cosmos-sdk/baseapp" "github.com/cosmos/cosmos-sdk/codec" cryptocodec "github.com/cosmos/cosmos-sdk/crypto/codec" sdk "github.com/cosmos/cosmos-sdk/types" stakingtypes "github.com/cosmos/cosmos-sdk/x/staking/types" + "github.com/stretchr/testify/suite" + tmbytes "github.com/tendermint/tendermint/libs/bytes" + tmproto "github.com/tendermint/tendermint/proto/tendermint/types" + tmtypes "github.com/tendermint/tendermint/types" + "github.com/cosmos/ibc-go/v3/modules/core/02-client/keeper" "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" commitmenttypes "github.com/cosmos/ibc-go/v3/modules/core/23-commitment/types" diff --git a/modules/core/02-client/keeper/params.go b/modules/core/02-client/keeper/params.go index 5d842f30fee..84bd2845ba3 100644 --- a/modules/core/02-client/keeper/params.go +++ b/modules/core/02-client/keeper/params.go @@ -2,6 +2,7 @@ package keeper import ( sdk "github.com/cosmos/cosmos-sdk/types" + "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" ) diff --git a/modules/core/02-client/keeper/proposal.go b/modules/core/02-client/keeper/proposal.go index c9358ddda0d..bc210df85ce 100644 --- a/modules/core/02-client/keeper/proposal.go +++ b/modules/core/02-client/keeper/proposal.go @@ -2,10 +2,10 @@ package keeper import ( "github.com/armon/go-metrics" - "github.com/cosmos/cosmos-sdk/telemetry" sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" "github.com/cosmos/ibc-go/v3/modules/core/exported" ) diff --git a/modules/core/02-client/keeper/proposal_test.go b/modules/core/02-client/keeper/proposal_test.go index 87c7d7abe9d..bec5aa0a78a 100644 --- a/modules/core/02-client/keeper/proposal_test.go +++ b/modules/core/02-client/keeper/proposal_test.go @@ -3,6 +3,7 @@ package keeper_test import ( govtypes "github.com/cosmos/cosmos-sdk/x/gov/types" upgradetypes "github.com/cosmos/cosmos-sdk/x/upgrade/types" + "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" "github.com/cosmos/ibc-go/v3/modules/core/exported" ibctmtypes "github.com/cosmos/ibc-go/v3/modules/light-clients/07-tendermint/types" diff --git a/modules/core/02-client/proposal_handler.go b/modules/core/02-client/proposal_handler.go index 1e34f87c74e..d1b15ce2dad 100644 --- a/modules/core/02-client/proposal_handler.go +++ b/modules/core/02-client/proposal_handler.go @@ -4,6 +4,7 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" govtypes "github.com/cosmos/cosmos-sdk/x/gov/types" + "github.com/cosmos/ibc-go/v3/modules/core/02-client/keeper" "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" ) diff --git a/modules/core/02-client/proposal_handler_test.go b/modules/core/02-client/proposal_handler_test.go index 45ec86fa40c..4ef2798d633 100644 --- a/modules/core/02-client/proposal_handler_test.go +++ b/modules/core/02-client/proposal_handler_test.go @@ -4,6 +4,7 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" distributiontypes "github.com/cosmos/cosmos-sdk/x/distribution/types" govtypes "github.com/cosmos/cosmos-sdk/x/gov/types" + client "github.com/cosmos/ibc-go/v3/modules/core/02-client" clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" ibctmtypes "github.com/cosmos/ibc-go/v3/modules/light-clients/07-tendermint/types" diff --git a/modules/core/02-client/simulation/decoder.go b/modules/core/02-client/simulation/decoder.go index 1fe33164896..8aa19dd7c9c 100644 --- a/modules/core/02-client/simulation/decoder.go +++ b/modules/core/02-client/simulation/decoder.go @@ -5,6 +5,7 @@ import ( "fmt" "github.com/cosmos/cosmos-sdk/types/kv" + "github.com/cosmos/ibc-go/v3/modules/core/02-client/keeper" host "github.com/cosmos/ibc-go/v3/modules/core/24-host" "github.com/cosmos/ibc-go/v3/modules/core/exported" diff --git a/modules/core/02-client/simulation/decoder_test.go b/modules/core/02-client/simulation/decoder_test.go index 17091bcae97..0e106614f64 100644 --- a/modules/core/02-client/simulation/decoder_test.go +++ b/modules/core/02-client/simulation/decoder_test.go @@ -5,9 +5,9 @@ import ( "testing" "time" + "github.com/cosmos/cosmos-sdk/types/kv" "github.com/stretchr/testify/require" - "github.com/cosmos/cosmos-sdk/types/kv" "github.com/cosmos/ibc-go/v3/modules/core/02-client/simulation" "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" host "github.com/cosmos/ibc-go/v3/modules/core/24-host" diff --git a/modules/core/02-client/simulation/genesis.go b/modules/core/02-client/simulation/genesis.go index 30e28c13c8a..ddf592dfad2 100644 --- a/modules/core/02-client/simulation/genesis.go +++ b/modules/core/02-client/simulation/genesis.go @@ -4,6 +4,7 @@ import ( "math/rand" simtypes "github.com/cosmos/cosmos-sdk/types/simulation" + "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" ) diff --git a/modules/core/02-client/types/client.go b/modules/core/02-client/types/client.go index c2b54163f7f..bb3d5c4f3d3 100644 --- a/modules/core/02-client/types/client.go +++ b/modules/core/02-client/types/client.go @@ -6,10 +6,10 @@ import ( "sort" "strings" - proto "github.com/gogo/protobuf/proto" - codectypes "github.com/cosmos/cosmos-sdk/codec/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + proto "github.com/gogo/protobuf/proto" + host "github.com/cosmos/ibc-go/v3/modules/core/24-host" "github.com/cosmos/ibc-go/v3/modules/core/exported" ) diff --git a/modules/core/02-client/types/codec.go b/modules/core/02-client/types/codec.go index bb50c415d93..0497fa15f37 100644 --- a/modules/core/02-client/types/codec.go +++ b/modules/core/02-client/types/codec.go @@ -1,13 +1,13 @@ package types import ( - proto "github.com/gogo/protobuf/proto" - codectypes "github.com/cosmos/cosmos-sdk/codec/types" sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" "github.com/cosmos/cosmos-sdk/types/msgservice" govtypes "github.com/cosmos/cosmos-sdk/x/gov/types" + proto "github.com/gogo/protobuf/proto" + "github.com/cosmos/ibc-go/v3/modules/core/exported" ) diff --git a/modules/core/02-client/types/codec_test.go b/modules/core/02-client/types/codec_test.go index 523d8e821c5..85b53e5ad84 100644 --- a/modules/core/02-client/types/codec_test.go +++ b/modules/core/02-client/types/codec_test.go @@ -2,6 +2,7 @@ package types_test import ( codectypes "github.com/cosmos/cosmos-sdk/codec/types" + "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" commitmenttypes "github.com/cosmos/ibc-go/v3/modules/core/23-commitment/types" "github.com/cosmos/ibc-go/v3/modules/core/exported" diff --git a/modules/core/02-client/types/encoding.go b/modules/core/02-client/types/encoding.go index 3ce78389c71..5693ba41e2a 100644 --- a/modules/core/02-client/types/encoding.go +++ b/modules/core/02-client/types/encoding.go @@ -4,6 +4,7 @@ import ( "fmt" "github.com/cosmos/cosmos-sdk/codec" + "github.com/cosmos/ibc-go/v3/modules/core/exported" ) diff --git a/modules/core/02-client/types/genesis.go b/modules/core/02-client/types/genesis.go index 2500e096657..a272404054f 100644 --- a/modules/core/02-client/types/genesis.go +++ b/modules/core/02-client/types/genesis.go @@ -5,6 +5,7 @@ import ( "sort" codectypes "github.com/cosmos/cosmos-sdk/codec/types" + host "github.com/cosmos/ibc-go/v3/modules/core/24-host" "github.com/cosmos/ibc-go/v3/modules/core/exported" ) diff --git a/modules/core/02-client/types/height.go b/modules/core/02-client/types/height.go index c011f88de9b..88058674539 100644 --- a/modules/core/02-client/types/height.go +++ b/modules/core/02-client/types/height.go @@ -9,6 +9,7 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + "github.com/cosmos/ibc-go/v3/modules/core/exported" ) diff --git a/modules/core/02-client/types/keys.go b/modules/core/02-client/types/keys.go index 9585618a1b4..643c3e639be 100644 --- a/modules/core/02-client/types/keys.go +++ b/modules/core/02-client/types/keys.go @@ -7,6 +7,7 @@ import ( "strings" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + host "github.com/cosmos/ibc-go/v3/modules/core/24-host" ) diff --git a/modules/core/02-client/types/msgs.go b/modules/core/02-client/types/msgs.go index 78e025e33cf..d80fe8b0592 100644 --- a/modules/core/02-client/types/msgs.go +++ b/modules/core/02-client/types/msgs.go @@ -4,6 +4,7 @@ import ( codectypes "github.com/cosmos/cosmos-sdk/codec/types" sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + host "github.com/cosmos/ibc-go/v3/modules/core/24-host" "github.com/cosmos/ibc-go/v3/modules/core/exported" ) diff --git a/modules/core/02-client/types/params.go b/modules/core/02-client/types/params.go index 3386971481b..884fec2e5f4 100644 --- a/modules/core/02-client/types/params.go +++ b/modules/core/02-client/types/params.go @@ -5,6 +5,7 @@ import ( "strings" paramtypes "github.com/cosmos/cosmos-sdk/x/params/types" + "github.com/cosmos/ibc-go/v3/modules/core/exported" ) diff --git a/modules/core/02-client/types/proposal.go b/modules/core/02-client/types/proposal.go index 54db1e791d1..75c9778e8c9 100644 --- a/modules/core/02-client/types/proposal.go +++ b/modules/core/02-client/types/proposal.go @@ -7,6 +7,7 @@ import ( sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" govtypes "github.com/cosmos/cosmos-sdk/x/gov/types" upgradetypes "github.com/cosmos/cosmos-sdk/x/upgrade/types" + "github.com/cosmos/ibc-go/v3/modules/core/exported" ) diff --git a/modules/core/02-client/types/query.go b/modules/core/02-client/types/query.go index 9ce4ecfce76..ac9519b9298 100644 --- a/modules/core/02-client/types/query.go +++ b/modules/core/02-client/types/query.go @@ -2,6 +2,7 @@ package types import ( codectypes "github.com/cosmos/cosmos-sdk/codec/types" + "github.com/cosmos/ibc-go/v3/modules/core/exported" ) diff --git a/modules/core/03-connection/client/cli/query.go b/modules/core/03-connection/client/cli/query.go index 8d5cca7edfa..6ef8fca5b1a 100644 --- a/modules/core/03-connection/client/cli/query.go +++ b/modules/core/03-connection/client/cli/query.go @@ -3,11 +3,11 @@ package cli import ( "fmt" - "github.com/spf13/cobra" - "github.com/cosmos/cosmos-sdk/client" "github.com/cosmos/cosmos-sdk/client/flags" "github.com/cosmos/cosmos-sdk/version" + "github.com/spf13/cobra" + "github.com/cosmos/ibc-go/v3/modules/core/03-connection/client/utils" "github.com/cosmos/ibc-go/v3/modules/core/03-connection/types" host "github.com/cosmos/ibc-go/v3/modules/core/24-host" diff --git a/modules/core/03-connection/client/utils/utils.go b/modules/core/03-connection/client/utils/utils.go index 675fd2e5534..5c7ae03a755 100644 --- a/modules/core/03-connection/client/utils/utils.go +++ b/modules/core/03-connection/client/utils/utils.go @@ -5,11 +5,11 @@ import ( "fmt" "io/ioutil" - "github.com/pkg/errors" - "github.com/cosmos/cosmos-sdk/client" "github.com/cosmos/cosmos-sdk/codec" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + "github.com/pkg/errors" + clientutils "github.com/cosmos/ibc-go/v3/modules/core/02-client/client/utils" clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" "github.com/cosmos/ibc-go/v3/modules/core/03-connection/types" diff --git a/modules/core/03-connection/genesis.go b/modules/core/03-connection/genesis.go index b52fffde7ba..dca212469c3 100644 --- a/modules/core/03-connection/genesis.go +++ b/modules/core/03-connection/genesis.go @@ -2,6 +2,7 @@ package connection import ( sdk "github.com/cosmos/cosmos-sdk/types" + "github.com/cosmos/ibc-go/v3/modules/core/03-connection/keeper" "github.com/cosmos/ibc-go/v3/modules/core/03-connection/types" ) diff --git a/modules/core/03-connection/keeper/grpc_query.go b/modules/core/03-connection/keeper/grpc_query.go index e568b50209b..77d8bc98c84 100644 --- a/modules/core/03-connection/keeper/grpc_query.go +++ b/modules/core/03-connection/keeper/grpc_query.go @@ -3,13 +3,13 @@ package keeper import ( "context" - "google.golang.org/grpc/codes" - "google.golang.org/grpc/status" - "github.com/cosmos/cosmos-sdk/store/prefix" sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" "github.com/cosmos/cosmos-sdk/types/query" + "google.golang.org/grpc/codes" + "google.golang.org/grpc/status" + clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" "github.com/cosmos/ibc-go/v3/modules/core/03-connection/types" host "github.com/cosmos/ibc-go/v3/modules/core/24-host" diff --git a/modules/core/03-connection/keeper/grpc_query_test.go b/modules/core/03-connection/keeper/grpc_query_test.go index d101bea47f8..a2542fe62b2 100644 --- a/modules/core/03-connection/keeper/grpc_query_test.go +++ b/modules/core/03-connection/keeper/grpc_query_test.go @@ -5,6 +5,7 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" "github.com/cosmos/cosmos-sdk/types/query" + clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" "github.com/cosmos/ibc-go/v3/modules/core/03-connection/types" "github.com/cosmos/ibc-go/v3/modules/core/exported" diff --git a/modules/core/03-connection/keeper/handshake.go b/modules/core/03-connection/keeper/handshake.go index 31936519055..ed209c26cf2 100644 --- a/modules/core/03-connection/keeper/handshake.go +++ b/modules/core/03-connection/keeper/handshake.go @@ -3,11 +3,11 @@ package keeper import ( "bytes" - "github.com/gogo/protobuf/proto" - "github.com/cosmos/cosmos-sdk/telemetry" sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + "github.com/gogo/protobuf/proto" + clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" "github.com/cosmos/ibc-go/v3/modules/core/03-connection/types" commitmenttypes "github.com/cosmos/ibc-go/v3/modules/core/23-commitment/types" diff --git a/modules/core/03-connection/keeper/keeper.go b/modules/core/03-connection/keeper/keeper.go index 0757f0d5379..22954ca7943 100644 --- a/modules/core/03-connection/keeper/keeper.go +++ b/modules/core/03-connection/keeper/keeper.go @@ -7,6 +7,7 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" paramtypes "github.com/cosmos/cosmos-sdk/x/params/types" + clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" "github.com/cosmos/ibc-go/v3/modules/core/03-connection/types" commitmenttypes "github.com/cosmos/ibc-go/v3/modules/core/23-commitment/types" diff --git a/modules/core/03-connection/keeper/params.go b/modules/core/03-connection/keeper/params.go index f035bec3a3e..3d7c145ac77 100644 --- a/modules/core/03-connection/keeper/params.go +++ b/modules/core/03-connection/keeper/params.go @@ -2,6 +2,7 @@ package keeper import ( sdk "github.com/cosmos/cosmos-sdk/types" + "github.com/cosmos/ibc-go/v3/modules/core/03-connection/types" ) diff --git a/modules/core/03-connection/keeper/verify.go b/modules/core/03-connection/keeper/verify.go index 529fde6248d..1059cf3444e 100644 --- a/modules/core/03-connection/keeper/verify.go +++ b/modules/core/03-connection/keeper/verify.go @@ -5,6 +5,7 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" "github.com/cosmos/ibc-go/v3/modules/core/exported" ) diff --git a/modules/core/03-connection/simulation/decoder.go b/modules/core/03-connection/simulation/decoder.go index 5866310a2b0..e01d2787e32 100644 --- a/modules/core/03-connection/simulation/decoder.go +++ b/modules/core/03-connection/simulation/decoder.go @@ -6,6 +6,7 @@ import ( "github.com/cosmos/cosmos-sdk/codec" "github.com/cosmos/cosmos-sdk/types/kv" + "github.com/cosmos/ibc-go/v3/modules/core/03-connection/types" host "github.com/cosmos/ibc-go/v3/modules/core/24-host" ) diff --git a/modules/core/03-connection/simulation/decoder_test.go b/modules/core/03-connection/simulation/decoder_test.go index fcc8e2a18d8..94de9fae92a 100644 --- a/modules/core/03-connection/simulation/decoder_test.go +++ b/modules/core/03-connection/simulation/decoder_test.go @@ -4,9 +4,9 @@ import ( "fmt" "testing" + "github.com/cosmos/cosmos-sdk/types/kv" "github.com/stretchr/testify/require" - "github.com/cosmos/cosmos-sdk/types/kv" "github.com/cosmos/ibc-go/v3/modules/core/03-connection/simulation" "github.com/cosmos/ibc-go/v3/modules/core/03-connection/types" host "github.com/cosmos/ibc-go/v3/modules/core/24-host" diff --git a/modules/core/03-connection/simulation/genesis.go b/modules/core/03-connection/simulation/genesis.go index 339dba01a8c..746daec042f 100644 --- a/modules/core/03-connection/simulation/genesis.go +++ b/modules/core/03-connection/simulation/genesis.go @@ -4,6 +4,7 @@ import ( "math/rand" simtypes "github.com/cosmos/cosmos-sdk/types/simulation" + "github.com/cosmos/ibc-go/v3/modules/core/03-connection/types" ) diff --git a/modules/core/03-connection/types/codec.go b/modules/core/03-connection/types/codec.go index a6f3178713d..8f65884aadf 100644 --- a/modules/core/03-connection/types/codec.go +++ b/modules/core/03-connection/types/codec.go @@ -5,6 +5,7 @@ import ( codectypes "github.com/cosmos/cosmos-sdk/codec/types" sdk "github.com/cosmos/cosmos-sdk/types" "github.com/cosmos/cosmos-sdk/types/msgservice" + "github.com/cosmos/ibc-go/v3/modules/core/exported" ) diff --git a/modules/core/03-connection/types/connection.go b/modules/core/03-connection/types/connection.go index e5482f84d5b..3fa86a6a30f 100644 --- a/modules/core/03-connection/types/connection.go +++ b/modules/core/03-connection/types/connection.go @@ -2,6 +2,7 @@ package types import ( sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + commitmenttypes "github.com/cosmos/ibc-go/v3/modules/core/23-commitment/types" host "github.com/cosmos/ibc-go/v3/modules/core/24-host" "github.com/cosmos/ibc-go/v3/modules/core/exported" diff --git a/modules/core/03-connection/types/expected_keepers.go b/modules/core/03-connection/types/expected_keepers.go index e8a284bf30d..05495181222 100644 --- a/modules/core/03-connection/types/expected_keepers.go +++ b/modules/core/03-connection/types/expected_keepers.go @@ -2,6 +2,7 @@ package types import ( sdk "github.com/cosmos/cosmos-sdk/types" + "github.com/cosmos/ibc-go/v3/modules/core/exported" ) diff --git a/modules/core/03-connection/types/keys.go b/modules/core/03-connection/types/keys.go index 019e3907bd9..e7ed7a943f3 100644 --- a/modules/core/03-connection/types/keys.go +++ b/modules/core/03-connection/types/keys.go @@ -5,6 +5,7 @@ import ( "regexp" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + host "github.com/cosmos/ibc-go/v3/modules/core/24-host" ) diff --git a/modules/core/03-connection/types/msgs.go b/modules/core/03-connection/types/msgs.go index d2041bd76ba..3ea63c84d37 100644 --- a/modules/core/03-connection/types/msgs.go +++ b/modules/core/03-connection/types/msgs.go @@ -4,6 +4,7 @@ import ( codectypes "github.com/cosmos/cosmos-sdk/codec/types" sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" commitmenttypes "github.com/cosmos/ibc-go/v3/modules/core/23-commitment/types" host "github.com/cosmos/ibc-go/v3/modules/core/24-host" diff --git a/modules/core/03-connection/types/msgs_test.go b/modules/core/03-connection/types/msgs_test.go index 423762fc888..880925bacaf 100644 --- a/modules/core/03-connection/types/msgs_test.go +++ b/modules/core/03-connection/types/msgs_test.go @@ -5,14 +5,13 @@ import ( "testing" "time" + "github.com/cosmos/cosmos-sdk/store/iavl" + "github.com/cosmos/cosmos-sdk/store/rootmulti" + storetypes "github.com/cosmos/cosmos-sdk/store/types" "github.com/stretchr/testify/suite" - abci "github.com/tendermint/tendermint/abci/types" dbm "github.com/tendermint/tm-db" - "github.com/cosmos/cosmos-sdk/store/iavl" - "github.com/cosmos/cosmos-sdk/store/rootmulti" - storetypes "github.com/cosmos/cosmos-sdk/store/types" clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" "github.com/cosmos/ibc-go/v3/modules/core/03-connection/types" commitmenttypes "github.com/cosmos/ibc-go/v3/modules/core/23-commitment/types" diff --git a/modules/core/03-connection/types/params_test.go b/modules/core/03-connection/types/params_test.go index a2403966885..28c4311ff94 100644 --- a/modules/core/03-connection/types/params_test.go +++ b/modules/core/03-connection/types/params_test.go @@ -3,8 +3,9 @@ package types_test import ( "testing" - "github.com/cosmos/ibc-go/v3/modules/core/03-connection/types" "github.com/stretchr/testify/require" + + "github.com/cosmos/ibc-go/v3/modules/core/03-connection/types" ) func TestValidateParams(t *testing.T) { diff --git a/modules/core/03-connection/types/query.go b/modules/core/03-connection/types/query.go index 61b9eae66f6..2cae95934b6 100644 --- a/modules/core/03-connection/types/query.go +++ b/modules/core/03-connection/types/query.go @@ -2,6 +2,7 @@ package types import ( codectypes "github.com/cosmos/cosmos-sdk/codec/types" + clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" "github.com/cosmos/ibc-go/v3/modules/core/exported" ) diff --git a/modules/core/03-connection/types/version.go b/modules/core/03-connection/types/version.go index c465589b662..f88164aff69 100644 --- a/modules/core/03-connection/types/version.go +++ b/modules/core/03-connection/types/version.go @@ -4,6 +4,7 @@ import ( "strings" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + "github.com/cosmos/ibc-go/v3/modules/core/exported" ) diff --git a/modules/core/04-channel/client/cli/cli.go b/modules/core/04-channel/client/cli/cli.go index 093c51a9c01..d2dc4e661f8 100644 --- a/modules/core/04-channel/client/cli/cli.go +++ b/modules/core/04-channel/client/cli/cli.go @@ -1,9 +1,9 @@ package cli import ( + "github.com/cosmos/cosmos-sdk/client" "github.com/spf13/cobra" - "github.com/cosmos/cosmos-sdk/client" "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types" ) diff --git a/modules/core/04-channel/client/cli/query.go b/modules/core/04-channel/client/cli/query.go index 05dd5cf9ae9..a92ea327d6d 100644 --- a/modules/core/04-channel/client/cli/query.go +++ b/modules/core/04-channel/client/cli/query.go @@ -4,11 +4,11 @@ import ( "fmt" "strconv" - "github.com/spf13/cobra" - "github.com/cosmos/cosmos-sdk/client" "github.com/cosmos/cosmos-sdk/client/flags" "github.com/cosmos/cosmos-sdk/version" + "github.com/spf13/cobra" + "github.com/cosmos/ibc-go/v3/modules/core/04-channel/client/utils" "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types" host "github.com/cosmos/ibc-go/v3/modules/core/24-host" diff --git a/modules/core/04-channel/client/utils/utils.go b/modules/core/04-channel/client/utils/utils.go index 3b79534f3f4..de40903e6fb 100644 --- a/modules/core/04-channel/client/utils/utils.go +++ b/modules/core/04-channel/client/utils/utils.go @@ -7,6 +7,7 @@ import ( "github.com/cosmos/cosmos-sdk/client" "github.com/cosmos/cosmos-sdk/codec" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + clientutils "github.com/cosmos/ibc-go/v3/modules/core/02-client/client/utils" clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types" diff --git a/modules/core/04-channel/genesis.go b/modules/core/04-channel/genesis.go index 51b2e293b37..56f81ca9f72 100644 --- a/modules/core/04-channel/genesis.go +++ b/modules/core/04-channel/genesis.go @@ -2,6 +2,7 @@ package channel import ( sdk "github.com/cosmos/cosmos-sdk/types" + "github.com/cosmos/ibc-go/v3/modules/core/04-channel/keeper" "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types" ) diff --git a/modules/core/04-channel/keeper/grpc_query.go b/modules/core/04-channel/keeper/grpc_query.go index ff58100988b..6bd8418a564 100644 --- a/modules/core/04-channel/keeper/grpc_query.go +++ b/modules/core/04-channel/keeper/grpc_query.go @@ -5,13 +5,13 @@ import ( "strconv" "strings" - "google.golang.org/grpc/codes" - "google.golang.org/grpc/status" - "github.com/cosmos/cosmos-sdk/store/prefix" sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" "github.com/cosmos/cosmos-sdk/types/query" + "google.golang.org/grpc/codes" + "google.golang.org/grpc/status" + clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" connectiontypes "github.com/cosmos/ibc-go/v3/modules/core/03-connection/types" "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types" diff --git a/modules/core/04-channel/keeper/grpc_query_test.go b/modules/core/04-channel/keeper/grpc_query_test.go index 35885f21375..cc899e99444 100644 --- a/modules/core/04-channel/keeper/grpc_query_test.go +++ b/modules/core/04-channel/keeper/grpc_query_test.go @@ -5,6 +5,7 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" "github.com/cosmos/cosmos-sdk/types/query" + clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" connectiontypes "github.com/cosmos/ibc-go/v3/modules/core/03-connection/types" "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types" diff --git a/modules/core/04-channel/keeper/handshake_test.go b/modules/core/04-channel/keeper/handshake_test.go index a9c24beb0aa..aa554fe9fd8 100644 --- a/modules/core/04-channel/keeper/handshake_test.go +++ b/modules/core/04-channel/keeper/handshake_test.go @@ -4,6 +4,7 @@ import ( "fmt" capabilitytypes "github.com/cosmos/cosmos-sdk/x/capability/types" + clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" connectiontypes "github.com/cosmos/ibc-go/v3/modules/core/03-connection/types" "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types" diff --git a/modules/core/04-channel/keeper/keeper.go b/modules/core/04-channel/keeper/keeper.go index 67396423d48..d1ea53ac180 100644 --- a/modules/core/04-channel/keeper/keeper.go +++ b/modules/core/04-channel/keeper/keeper.go @@ -4,14 +4,14 @@ import ( "strconv" "strings" - "github.com/tendermint/tendermint/libs/log" - db "github.com/tendermint/tm-db" - "github.com/cosmos/cosmos-sdk/codec" sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" capabilitykeeper "github.com/cosmos/cosmos-sdk/x/capability/keeper" capabilitytypes "github.com/cosmos/cosmos-sdk/x/capability/types" + "github.com/tendermint/tendermint/libs/log" + db "github.com/tendermint/tm-db" + clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" connectiontypes "github.com/cosmos/ibc-go/v3/modules/core/03-connection/types" "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types" diff --git a/modules/core/04-channel/keeper/packet.go b/modules/core/04-channel/keeper/packet.go index 8eaa69bf3e5..fd1322dcbbc 100644 --- a/modules/core/04-channel/keeper/packet.go +++ b/modules/core/04-channel/keeper/packet.go @@ -7,6 +7,7 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" capabilitytypes "github.com/cosmos/cosmos-sdk/x/capability/types" + clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" connectiontypes "github.com/cosmos/ibc-go/v3/modules/core/03-connection/types" "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types" diff --git a/modules/core/04-channel/keeper/timeout.go b/modules/core/04-channel/keeper/timeout.go index ff75b08aea4..b446aa7ea4c 100644 --- a/modules/core/04-channel/keeper/timeout.go +++ b/modules/core/04-channel/keeper/timeout.go @@ -6,6 +6,7 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" capabilitytypes "github.com/cosmos/cosmos-sdk/x/capability/types" + connectiontypes "github.com/cosmos/ibc-go/v3/modules/core/03-connection/types" "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types" host "github.com/cosmos/ibc-go/v3/modules/core/24-host" diff --git a/modules/core/04-channel/simulation/decoder.go b/modules/core/04-channel/simulation/decoder.go index 660785fd88a..d09834551e8 100644 --- a/modules/core/04-channel/simulation/decoder.go +++ b/modules/core/04-channel/simulation/decoder.go @@ -7,6 +7,7 @@ import ( "github.com/cosmos/cosmos-sdk/codec" sdk "github.com/cosmos/cosmos-sdk/types" "github.com/cosmos/cosmos-sdk/types/kv" + "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types" host "github.com/cosmos/ibc-go/v3/modules/core/24-host" ) diff --git a/modules/core/04-channel/simulation/decoder_test.go b/modules/core/04-channel/simulation/decoder_test.go index b7b87caf2db..5a78c03be56 100644 --- a/modules/core/04-channel/simulation/decoder_test.go +++ b/modules/core/04-channel/simulation/decoder_test.go @@ -4,10 +4,10 @@ import ( "fmt" "testing" - "github.com/stretchr/testify/require" - sdk "github.com/cosmos/cosmos-sdk/types" "github.com/cosmos/cosmos-sdk/types/kv" + "github.com/stretchr/testify/require" + "github.com/cosmos/ibc-go/v3/modules/core/04-channel/simulation" "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types" host "github.com/cosmos/ibc-go/v3/modules/core/24-host" diff --git a/modules/core/04-channel/simulation/genesis.go b/modules/core/04-channel/simulation/genesis.go index 76d459e7fea..7c11dd6cb55 100644 --- a/modules/core/04-channel/simulation/genesis.go +++ b/modules/core/04-channel/simulation/genesis.go @@ -4,6 +4,7 @@ import ( "math/rand" simtypes "github.com/cosmos/cosmos-sdk/types/simulation" + "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types" ) diff --git a/modules/core/04-channel/types/channel.go b/modules/core/04-channel/types/channel.go index 4135ca35e6e..4671000ab70 100644 --- a/modules/core/04-channel/types/channel.go +++ b/modules/core/04-channel/types/channel.go @@ -2,6 +2,7 @@ package types import ( sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + host "github.com/cosmos/ibc-go/v3/modules/core/24-host" "github.com/cosmos/ibc-go/v3/modules/core/exported" ) diff --git a/modules/core/04-channel/types/codec.go b/modules/core/04-channel/types/codec.go index 23b062a70c0..8981417130b 100644 --- a/modules/core/04-channel/types/codec.go +++ b/modules/core/04-channel/types/codec.go @@ -5,6 +5,7 @@ import ( codectypes "github.com/cosmos/cosmos-sdk/codec/types" sdk "github.com/cosmos/cosmos-sdk/types" "github.com/cosmos/cosmos-sdk/types/msgservice" + "github.com/cosmos/ibc-go/v3/modules/core/exported" ) diff --git a/modules/core/04-channel/types/expected_keepers.go b/modules/core/04-channel/types/expected_keepers.go index 232caa5244f..317cefd16c1 100644 --- a/modules/core/04-channel/types/expected_keepers.go +++ b/modules/core/04-channel/types/expected_keepers.go @@ -3,6 +3,7 @@ package types import ( sdk "github.com/cosmos/cosmos-sdk/types" capabilitytypes "github.com/cosmos/cosmos-sdk/x/capability/types" + connectiontypes "github.com/cosmos/ibc-go/v3/modules/core/03-connection/types" "github.com/cosmos/ibc-go/v3/modules/core/exported" ) diff --git a/modules/core/04-channel/types/keys.go b/modules/core/04-channel/types/keys.go index 3b2bce3642f..8b81da4cfbb 100644 --- a/modules/core/04-channel/types/keys.go +++ b/modules/core/04-channel/types/keys.go @@ -5,6 +5,7 @@ import ( "regexp" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + host "github.com/cosmos/ibc-go/v3/modules/core/24-host" ) diff --git a/modules/core/04-channel/types/msgs.go b/modules/core/04-channel/types/msgs.go index b6e625ff32e..ea94f4b18b4 100644 --- a/modules/core/04-channel/types/msgs.go +++ b/modules/core/04-channel/types/msgs.go @@ -5,6 +5,7 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" commitmenttypes "github.com/cosmos/ibc-go/v3/modules/core/23-commitment/types" host "github.com/cosmos/ibc-go/v3/modules/core/24-host" diff --git a/modules/core/04-channel/types/msgs_test.go b/modules/core/04-channel/types/msgs_test.go index 172d8a29f63..623ed992d22 100644 --- a/modules/core/04-channel/types/msgs_test.go +++ b/modules/core/04-channel/types/msgs_test.go @@ -4,15 +4,14 @@ import ( "fmt" "testing" - "github.com/stretchr/testify/suite" - - abci "github.com/tendermint/tendermint/abci/types" - dbm "github.com/tendermint/tm-db" - "github.com/cosmos/cosmos-sdk/store/iavl" "github.com/cosmos/cosmos-sdk/store/rootmulti" storetypes "github.com/cosmos/cosmos-sdk/store/types" sdk "github.com/cosmos/cosmos-sdk/types" + "github.com/stretchr/testify/suite" + abci "github.com/tendermint/tendermint/abci/types" + dbm "github.com/tendermint/tm-db" + clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types" commitmenttypes "github.com/cosmos/ibc-go/v3/modules/core/23-commitment/types" diff --git a/modules/core/04-channel/types/packet.go b/modules/core/04-channel/types/packet.go index be06e66cc09..0df4d8edd8d 100644 --- a/modules/core/04-channel/types/packet.go +++ b/modules/core/04-channel/types/packet.go @@ -6,6 +6,7 @@ import ( "github.com/cosmos/cosmos-sdk/codec" sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" host "github.com/cosmos/ibc-go/v3/modules/core/24-host" "github.com/cosmos/ibc-go/v3/modules/core/exported" diff --git a/modules/core/04-channel/types/packet_test.go b/modules/core/04-channel/types/packet_test.go index 06752d6e947..1020e763e50 100644 --- a/modules/core/04-channel/types/packet_test.go +++ b/modules/core/04-channel/types/packet_test.go @@ -3,10 +3,10 @@ package types_test import ( "testing" - "github.com/stretchr/testify/require" - "github.com/cosmos/cosmos-sdk/codec" codectypes "github.com/cosmos/cosmos-sdk/codec/types" + "github.com/stretchr/testify/require" + clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types" ) diff --git a/modules/core/04-channel/types/query.go b/modules/core/04-channel/types/query.go index 83180c223e1..31d58e50632 100644 --- a/modules/core/04-channel/types/query.go +++ b/modules/core/04-channel/types/query.go @@ -2,6 +2,7 @@ package types import ( codectypes "github.com/cosmos/cosmos-sdk/codec/types" + clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" "github.com/cosmos/ibc-go/v3/modules/core/exported" ) diff --git a/modules/core/05-port/keeper/keeper.go b/modules/core/05-port/keeper/keeper.go index 0d5be26573e..ef898664337 100644 --- a/modules/core/05-port/keeper/keeper.go +++ b/modules/core/05-port/keeper/keeper.go @@ -3,11 +3,11 @@ package keeper import ( "fmt" - "github.com/tendermint/tendermint/libs/log" - sdk "github.com/cosmos/cosmos-sdk/types" capabilitykeeper "github.com/cosmos/cosmos-sdk/x/capability/keeper" capabilitytypes "github.com/cosmos/cosmos-sdk/x/capability/types" + "github.com/tendermint/tendermint/libs/log" + "github.com/cosmos/ibc-go/v3/modules/core/05-port/types" host "github.com/cosmos/ibc-go/v3/modules/core/24-host" ) diff --git a/modules/core/05-port/keeper/keeper_test.go b/modules/core/05-port/keeper/keeper_test.go index e2aa7707d7e..52fa4198730 100644 --- a/modules/core/05-port/keeper/keeper_test.go +++ b/modules/core/05-port/keeper/keeper_test.go @@ -3,11 +3,11 @@ package keeper_test import ( "testing" + sdk "github.com/cosmos/cosmos-sdk/types" "github.com/stretchr/testify/require" "github.com/stretchr/testify/suite" tmproto "github.com/tendermint/tendermint/proto/tendermint/types" - sdk "github.com/cosmos/cosmos-sdk/types" "github.com/cosmos/ibc-go/v3/modules/core/05-port/keeper" "github.com/cosmos/ibc-go/v3/testing/simapp" ) diff --git a/modules/core/23-commitment/types/codec.go b/modules/core/23-commitment/types/codec.go index 343bbceaed0..886a6c14e5b 100644 --- a/modules/core/23-commitment/types/codec.go +++ b/modules/core/23-commitment/types/codec.go @@ -2,6 +2,7 @@ package types import ( codectypes "github.com/cosmos/cosmos-sdk/codec/types" + "github.com/cosmos/ibc-go/v3/modules/core/exported" ) diff --git a/modules/core/23-commitment/types/commitment_test.go b/modules/core/23-commitment/types/commitment_test.go index 932599e539c..d1a32b9cae8 100644 --- a/modules/core/23-commitment/types/commitment_test.go +++ b/modules/core/23-commitment/types/commitment_test.go @@ -3,12 +3,10 @@ package types_test import ( "testing" - "github.com/stretchr/testify/suite" - "github.com/cosmos/cosmos-sdk/store/iavl" "github.com/cosmos/cosmos-sdk/store/rootmulti" storetypes "github.com/cosmos/cosmos-sdk/store/types" - + "github.com/stretchr/testify/suite" dbm "github.com/tendermint/tm-db" ) diff --git a/modules/core/23-commitment/types/merkle.go b/modules/core/23-commitment/types/merkle.go index 3abdbae412d..17f1487d982 100644 --- a/modules/core/23-commitment/types/merkle.go +++ b/modules/core/23-commitment/types/merkle.go @@ -6,10 +6,10 @@ import ( "net/url" ics23 "github.com/confio/ics23/go" + sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" "github.com/gogo/protobuf/proto" tmcrypto "github.com/tendermint/tendermint/proto/tendermint/crypto" - sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" "github.com/cosmos/ibc-go/v3/modules/core/exported" ) diff --git a/modules/core/23-commitment/types/utils.go b/modules/core/23-commitment/types/utils.go index e662f772655..7d2937f0fb5 100644 --- a/modules/core/23-commitment/types/utils.go +++ b/modules/core/23-commitment/types/utils.go @@ -2,9 +2,8 @@ package types import ( ics23 "github.com/confio/ics23/go" - crypto "github.com/tendermint/tendermint/proto/tendermint/crypto" - sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + crypto "github.com/tendermint/tendermint/proto/tendermint/crypto" ) // ConvertProofs converts crypto.ProofOps into MerkleProof diff --git a/modules/core/ante/ante.go b/modules/core/ante/ante.go index 3fc440351a9..42e392905ec 100644 --- a/modules/core/ante/ante.go +++ b/modules/core/ante/ante.go @@ -2,6 +2,7 @@ package ante import ( sdk "github.com/cosmos/cosmos-sdk/types" + clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" channelkeeper "github.com/cosmos/ibc-go/v3/modules/core/04-channel/keeper" channeltypes "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types" diff --git a/modules/core/ante/ante_test.go b/modules/core/ante/ante_test.go index c1d06e41ca2..2054c260cee 100644 --- a/modules/core/ante/ante_test.go +++ b/modules/core/ante/ante_test.go @@ -4,12 +4,13 @@ import ( "testing" sdk "github.com/cosmos/cosmos-sdk/types" + "github.com/stretchr/testify/suite" + clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" channeltypes "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types" "github.com/cosmos/ibc-go/v3/modules/core/ante" ibctesting "github.com/cosmos/ibc-go/v3/testing" "github.com/cosmos/ibc-go/v3/testing/mock" - "github.com/stretchr/testify/suite" ) type AnteTestSuite struct { diff --git a/modules/core/client/cli/cli.go b/modules/core/client/cli/cli.go index 8cb08754935..92a3756cdb5 100644 --- a/modules/core/client/cli/cli.go +++ b/modules/core/client/cli/cli.go @@ -4,6 +4,7 @@ import ( "github.com/spf13/cobra" "github.com/cosmos/cosmos-sdk/client" + ibcclient "github.com/cosmos/ibc-go/v3/modules/core/02-client" connection "github.com/cosmos/ibc-go/v3/modules/core/03-connection" channel "github.com/cosmos/ibc-go/v3/modules/core/04-channel" diff --git a/modules/core/client/query.go b/modules/core/client/query.go index 724d3e34df4..30377a495c4 100644 --- a/modules/core/client/query.go +++ b/modules/core/client/query.go @@ -3,10 +3,10 @@ package client import ( "fmt" - abci "github.com/tendermint/tendermint/abci/types" - "github.com/cosmos/cosmos-sdk/client" "github.com/cosmos/cosmos-sdk/codec" + abci "github.com/tendermint/tendermint/abci/types" + clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" commitmenttypes "github.com/cosmos/ibc-go/v3/modules/core/23-commitment/types" host "github.com/cosmos/ibc-go/v3/modules/core/24-host" diff --git a/modules/core/genesis.go b/modules/core/genesis.go index 16b5767d3a1..9bc30a2d28f 100644 --- a/modules/core/genesis.go +++ b/modules/core/genesis.go @@ -2,6 +2,7 @@ package ibc import ( sdk "github.com/cosmos/cosmos-sdk/types" + client "github.com/cosmos/ibc-go/v3/modules/core/02-client" connection "github.com/cosmos/ibc-go/v3/modules/core/03-connection" channel "github.com/cosmos/ibc-go/v3/modules/core/04-channel" diff --git a/modules/core/genesis_test.go b/modules/core/genesis_test.go index 8b1e2dd35e2..9922e1165c9 100644 --- a/modules/core/genesis_test.go +++ b/modules/core/genesis_test.go @@ -4,10 +4,10 @@ import ( "fmt" "testing" + "github.com/cosmos/cosmos-sdk/codec" "github.com/stretchr/testify/suite" tmproto "github.com/tendermint/tendermint/proto/tendermint/types" - "github.com/cosmos/cosmos-sdk/codec" ibc "github.com/cosmos/ibc-go/v3/modules/core" clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" connectiontypes "github.com/cosmos/ibc-go/v3/modules/core/03-connection/types" diff --git a/modules/core/keeper/keeper.go b/modules/core/keeper/keeper.go index 1e4c2077ce4..69044e9e4ea 100644 --- a/modules/core/keeper/keeper.go +++ b/modules/core/keeper/keeper.go @@ -5,6 +5,7 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" capabilitykeeper "github.com/cosmos/cosmos-sdk/x/capability/keeper" paramtypes "github.com/cosmos/cosmos-sdk/x/params/types" + clientkeeper "github.com/cosmos/ibc-go/v3/modules/core/02-client/keeper" clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" connectionkeeper "github.com/cosmos/ibc-go/v3/modules/core/03-connection/keeper" diff --git a/modules/core/keeper/msg_server.go b/modules/core/keeper/msg_server.go index dbc4ac07812..a3348080af8 100644 --- a/modules/core/keeper/msg_server.go +++ b/modules/core/keeper/msg_server.go @@ -4,10 +4,10 @@ import ( "context" "github.com/armon/go-metrics" - "github.com/cosmos/cosmos-sdk/telemetry" sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" connectiontypes "github.com/cosmos/ibc-go/v3/modules/core/03-connection/types" channeltypes "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types" diff --git a/modules/core/keeper/msg_server_test.go b/modules/core/keeper/msg_server_test.go index 5f94d1bd3d7..7b437d420b5 100644 --- a/modules/core/keeper/msg_server_test.go +++ b/modules/core/keeper/msg_server_test.go @@ -3,10 +3,10 @@ package keeper_test import ( "testing" - "github.com/stretchr/testify/suite" - sdk "github.com/cosmos/cosmos-sdk/types" upgradetypes "github.com/cosmos/cosmos-sdk/x/upgrade/types" + "github.com/stretchr/testify/suite" + clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" channeltypes "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types" commitmenttypes "github.com/cosmos/ibc-go/v3/modules/core/23-commitment/types" diff --git a/modules/core/module.go b/modules/core/module.go index 3d43cbad20a..0cca3e37f1e 100644 --- a/modules/core/module.go +++ b/modules/core/module.go @@ -6,18 +6,17 @@ import ( "fmt" "math/rand" - "github.com/gorilla/mux" - "github.com/grpc-ecosystem/grpc-gateway/runtime" - "github.com/spf13/cobra" - - abci "github.com/tendermint/tendermint/abci/types" - "github.com/cosmos/cosmos-sdk/client" "github.com/cosmos/cosmos-sdk/codec" codectypes "github.com/cosmos/cosmos-sdk/codec/types" sdk "github.com/cosmos/cosmos-sdk/types" "github.com/cosmos/cosmos-sdk/types/module" simtypes "github.com/cosmos/cosmos-sdk/types/simulation" + "github.com/gorilla/mux" + "github.com/grpc-ecosystem/grpc-gateway/runtime" + "github.com/spf13/cobra" + abci "github.com/tendermint/tendermint/abci/types" + ibcclient "github.com/cosmos/ibc-go/v3/modules/core/02-client" clientkeeper "github.com/cosmos/ibc-go/v3/modules/core/02-client/keeper" clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" diff --git a/modules/core/simulation/decoder.go b/modules/core/simulation/decoder.go index 36864a16a87..16869f1b061 100644 --- a/modules/core/simulation/decoder.go +++ b/modules/core/simulation/decoder.go @@ -4,6 +4,7 @@ import ( "fmt" "github.com/cosmos/cosmos-sdk/types/kv" + clientsim "github.com/cosmos/ibc-go/v3/modules/core/02-client/simulation" connectionsim "github.com/cosmos/ibc-go/v3/modules/core/03-connection/simulation" channelsim "github.com/cosmos/ibc-go/v3/modules/core/04-channel/simulation" diff --git a/modules/core/simulation/decoder_test.go b/modules/core/simulation/decoder_test.go index 73ee7cd0c70..6639c96b8e4 100644 --- a/modules/core/simulation/decoder_test.go +++ b/modules/core/simulation/decoder_test.go @@ -4,9 +4,9 @@ import ( "fmt" "testing" + "github.com/cosmos/cosmos-sdk/types/kv" "github.com/stretchr/testify/require" - "github.com/cosmos/cosmos-sdk/types/kv" clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" connectiontypes "github.com/cosmos/ibc-go/v3/modules/core/03-connection/types" channeltypes "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types" diff --git a/modules/core/simulation/genesis.go b/modules/core/simulation/genesis.go index ce88f0d77ae..e6decacb26b 100644 --- a/modules/core/simulation/genesis.go +++ b/modules/core/simulation/genesis.go @@ -8,6 +8,7 @@ import ( "math/rand" "github.com/cosmos/cosmos-sdk/types/module" + clientsims "github.com/cosmos/ibc-go/v3/modules/core/02-client/simulation" clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" connectionsims "github.com/cosmos/ibc-go/v3/modules/core/03-connection/simulation" diff --git a/modules/core/simulation/genesis_test.go b/modules/core/simulation/genesis_test.go index 5a32c96ee62..6010f74c20f 100644 --- a/modules/core/simulation/genesis_test.go +++ b/modules/core/simulation/genesis_test.go @@ -5,12 +5,12 @@ import ( "math/rand" "testing" - "github.com/stretchr/testify/require" - "github.com/cosmos/cosmos-sdk/codec" codectypes "github.com/cosmos/cosmos-sdk/codec/types" "github.com/cosmos/cosmos-sdk/types/module" simtypes "github.com/cosmos/cosmos-sdk/types/simulation" + "github.com/stretchr/testify/require" + host "github.com/cosmos/ibc-go/v3/modules/core/24-host" "github.com/cosmos/ibc-go/v3/modules/core/simulation" "github.com/cosmos/ibc-go/v3/modules/core/types" diff --git a/modules/core/types/codec.go b/modules/core/types/codec.go index 11d0af291e8..5caf105514e 100644 --- a/modules/core/types/codec.go +++ b/modules/core/types/codec.go @@ -2,6 +2,7 @@ package types import ( codectypes "github.com/cosmos/cosmos-sdk/codec/types" + clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" connectiontypes "github.com/cosmos/ibc-go/v3/modules/core/03-connection/types" channeltypes "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types" diff --git a/modules/core/types/genesis.go b/modules/core/types/genesis.go index e2ee997d2ef..6b9304d9b8e 100644 --- a/modules/core/types/genesis.go +++ b/modules/core/types/genesis.go @@ -2,6 +2,7 @@ package types import ( codectypes "github.com/cosmos/cosmos-sdk/codec/types" + clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" connectiontypes "github.com/cosmos/ibc-go/v3/modules/core/03-connection/types" channeltypes "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types" diff --git a/modules/light-clients/06-solomachine/types/client_state.go b/modules/light-clients/06-solomachine/types/client_state.go index c99d4f08f64..d92f69b98e4 100644 --- a/modules/light-clients/06-solomachine/types/client_state.go +++ b/modules/light-clients/06-solomachine/types/client_state.go @@ -8,6 +8,7 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" "github.com/cosmos/cosmos-sdk/types/tx/signing" + clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" commitmenttypes "github.com/cosmos/ibc-go/v3/modules/core/23-commitment/types" host "github.com/cosmos/ibc-go/v3/modules/core/24-host" diff --git a/modules/light-clients/06-solomachine/types/codec.go b/modules/light-clients/06-solomachine/types/codec.go index 6ba8651f399..1db36165157 100644 --- a/modules/light-clients/06-solomachine/types/codec.go +++ b/modules/light-clients/06-solomachine/types/codec.go @@ -5,6 +5,7 @@ import ( codectypes "github.com/cosmos/cosmos-sdk/codec/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" "github.com/cosmos/cosmos-sdk/types/tx/signing" + clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" "github.com/cosmos/ibc-go/v3/modules/core/exported" ) diff --git a/modules/light-clients/06-solomachine/types/consensus_state.go b/modules/light-clients/06-solomachine/types/consensus_state.go index 405dcbfe983..3012f91a567 100644 --- a/modules/light-clients/06-solomachine/types/consensus_state.go +++ b/modules/light-clients/06-solomachine/types/consensus_state.go @@ -5,6 +5,7 @@ import ( cryptotypes "github.com/cosmos/cosmos-sdk/crypto/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" "github.com/cosmos/ibc-go/v3/modules/core/exported" ) diff --git a/modules/light-clients/06-solomachine/types/header.go b/modules/light-clients/06-solomachine/types/header.go index 67b706931c6..7bcfb9937c5 100644 --- a/modules/light-clients/06-solomachine/types/header.go +++ b/modules/light-clients/06-solomachine/types/header.go @@ -5,6 +5,7 @@ import ( cryptotypes "github.com/cosmos/cosmos-sdk/crypto/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" "github.com/cosmos/ibc-go/v3/modules/core/exported" ) diff --git a/modules/light-clients/06-solomachine/types/misbehaviour.go b/modules/light-clients/06-solomachine/types/misbehaviour.go index b32a9bc8753..f5df3e1bad9 100644 --- a/modules/light-clients/06-solomachine/types/misbehaviour.go +++ b/modules/light-clients/06-solomachine/types/misbehaviour.go @@ -4,6 +4,7 @@ import ( "bytes" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" host "github.com/cosmos/ibc-go/v3/modules/core/24-host" "github.com/cosmos/ibc-go/v3/modules/core/exported" diff --git a/modules/light-clients/06-solomachine/types/misbehaviour_handle.go b/modules/light-clients/06-solomachine/types/misbehaviour_handle.go index 391310404cf..d5a1d57cb57 100644 --- a/modules/light-clients/06-solomachine/types/misbehaviour_handle.go +++ b/modules/light-clients/06-solomachine/types/misbehaviour_handle.go @@ -4,6 +4,7 @@ import ( "github.com/cosmos/cosmos-sdk/codec" sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" "github.com/cosmos/ibc-go/v3/modules/core/exported" ) diff --git a/modules/light-clients/06-solomachine/types/proof.go b/modules/light-clients/06-solomachine/types/proof.go index 77155b7e6ff..f884a26d745 100644 --- a/modules/light-clients/06-solomachine/types/proof.go +++ b/modules/light-clients/06-solomachine/types/proof.go @@ -6,6 +6,7 @@ import ( "github.com/cosmos/cosmos-sdk/crypto/types/multisig" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" "github.com/cosmos/cosmos-sdk/types/tx/signing" + clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" connectiontypes "github.com/cosmos/ibc-go/v3/modules/core/03-connection/types" channeltypes "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types" diff --git a/modules/light-clients/06-solomachine/types/proof_test.go b/modules/light-clients/06-solomachine/types/proof_test.go index 87f1b0b42ea..65e88aa3bde 100644 --- a/modules/light-clients/06-solomachine/types/proof_test.go +++ b/modules/light-clients/06-solomachine/types/proof_test.go @@ -3,6 +3,7 @@ package types_test import ( cryptotypes "github.com/cosmos/cosmos-sdk/crypto/types" "github.com/cosmos/cosmos-sdk/types/tx/signing" + "github.com/cosmos/ibc-go/v3/modules/light-clients/06-solomachine/types" solomachinetypes "github.com/cosmos/ibc-go/v3/modules/light-clients/06-solomachine/types" ibctesting "github.com/cosmos/ibc-go/v3/testing" diff --git a/modules/light-clients/06-solomachine/types/proposal_handle.go b/modules/light-clients/06-solomachine/types/proposal_handle.go index 9150617cd0d..a28bc27c398 100644 --- a/modules/light-clients/06-solomachine/types/proposal_handle.go +++ b/modules/light-clients/06-solomachine/types/proposal_handle.go @@ -6,6 +6,7 @@ import ( "github.com/cosmos/cosmos-sdk/codec" sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" "github.com/cosmos/ibc-go/v3/modules/core/exported" ) diff --git a/modules/light-clients/06-solomachine/types/solomachine.go b/modules/light-clients/06-solomachine/types/solomachine.go index 036bbd15e1e..90eff77d200 100644 --- a/modules/light-clients/06-solomachine/types/solomachine.go +++ b/modules/light-clients/06-solomachine/types/solomachine.go @@ -3,6 +3,7 @@ package types import ( codectypes "github.com/cosmos/cosmos-sdk/codec/types" cryptotypes "github.com/cosmos/cosmos-sdk/crypto/types" + "github.com/cosmos/ibc-go/v3/modules/core/exported" ) diff --git a/modules/light-clients/06-solomachine/types/solomachine_test.go b/modules/light-clients/06-solomachine/types/solomachine_test.go index 8bce55f0412..8487697dcd0 100644 --- a/modules/light-clients/06-solomachine/types/solomachine_test.go +++ b/modules/light-clients/06-solomachine/types/solomachine_test.go @@ -3,15 +3,15 @@ package types_test import ( "testing" - "github.com/stretchr/testify/require" - "github.com/stretchr/testify/suite" - codectypes "github.com/cosmos/cosmos-sdk/codec/types" cryptocodec "github.com/cosmos/cosmos-sdk/crypto/codec" "github.com/cosmos/cosmos-sdk/crypto/keys/secp256k1" cryptotypes "github.com/cosmos/cosmos-sdk/crypto/types" "github.com/cosmos/cosmos-sdk/testutil/testdata" sdk "github.com/cosmos/cosmos-sdk/types" + "github.com/stretchr/testify/require" + "github.com/stretchr/testify/suite" + host "github.com/cosmos/ibc-go/v3/modules/core/24-host" "github.com/cosmos/ibc-go/v3/modules/core/exported" "github.com/cosmos/ibc-go/v3/modules/light-clients/06-solomachine/types" diff --git a/modules/light-clients/06-solomachine/types/update.go b/modules/light-clients/06-solomachine/types/update.go index 543d72ce1d0..3896d2dddec 100644 --- a/modules/light-clients/06-solomachine/types/update.go +++ b/modules/light-clients/06-solomachine/types/update.go @@ -4,6 +4,7 @@ import ( "github.com/cosmos/cosmos-sdk/codec" sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" "github.com/cosmos/ibc-go/v3/modules/core/exported" ) diff --git a/modules/light-clients/06-solomachine/types/update_test.go b/modules/light-clients/06-solomachine/types/update_test.go index 3bbf24a21d8..f13d5f198d1 100644 --- a/modules/light-clients/06-solomachine/types/update_test.go +++ b/modules/light-clients/06-solomachine/types/update_test.go @@ -3,6 +3,7 @@ package types_test import ( codectypes "github.com/cosmos/cosmos-sdk/codec/types" sdk "github.com/cosmos/cosmos-sdk/types" + "github.com/cosmos/ibc-go/v3/modules/core/exported" "github.com/cosmos/ibc-go/v3/modules/light-clients/06-solomachine/types" ibctmtypes "github.com/cosmos/ibc-go/v3/modules/light-clients/07-tendermint/types" diff --git a/modules/light-clients/07-tendermint/types/client_state.go b/modules/light-clients/07-tendermint/types/client_state.go index 5a1e2b3d0a4..a0430337d0b 100644 --- a/modules/light-clients/07-tendermint/types/client_state.go +++ b/modules/light-clients/07-tendermint/types/client_state.go @@ -5,12 +5,12 @@ import ( "time" ics23 "github.com/confio/ics23/go" - "github.com/tendermint/tendermint/light" - tmtypes "github.com/tendermint/tendermint/types" - "github.com/cosmos/cosmos-sdk/codec" sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + "github.com/tendermint/tendermint/light" + tmtypes "github.com/tendermint/tendermint/types" + clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" connectiontypes "github.com/cosmos/ibc-go/v3/modules/core/03-connection/types" channeltypes "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types" diff --git a/modules/light-clients/07-tendermint/types/codec.go b/modules/light-clients/07-tendermint/types/codec.go index b141976314b..c363a0cbe65 100644 --- a/modules/light-clients/07-tendermint/types/codec.go +++ b/modules/light-clients/07-tendermint/types/codec.go @@ -2,6 +2,7 @@ package types import ( codectypes "github.com/cosmos/cosmos-sdk/codec/types" + "github.com/cosmos/ibc-go/v3/modules/core/exported" ) diff --git a/modules/light-clients/07-tendermint/types/consensus_state.go b/modules/light-clients/07-tendermint/types/consensus_state.go index c0237fe26a9..aa475daa733 100644 --- a/modules/light-clients/07-tendermint/types/consensus_state.go +++ b/modules/light-clients/07-tendermint/types/consensus_state.go @@ -3,10 +3,10 @@ package types import ( "time" + sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" tmbytes "github.com/tendermint/tendermint/libs/bytes" tmtypes "github.com/tendermint/tendermint/types" - sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" commitmenttypes "github.com/cosmos/ibc-go/v3/modules/core/23-commitment/types" "github.com/cosmos/ibc-go/v3/modules/core/exported" diff --git a/modules/light-clients/07-tendermint/types/genesis.go b/modules/light-clients/07-tendermint/types/genesis.go index d5ae98e874f..82a996d3696 100644 --- a/modules/light-clients/07-tendermint/types/genesis.go +++ b/modules/light-clients/07-tendermint/types/genesis.go @@ -2,6 +2,7 @@ package types import ( sdk "github.com/cosmos/cosmos-sdk/types" + clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" "github.com/cosmos/ibc-go/v3/modules/core/exported" ) diff --git a/modules/light-clients/07-tendermint/types/header.go b/modules/light-clients/07-tendermint/types/header.go index 648ea2b75e9..58e7d671e4a 100644 --- a/modules/light-clients/07-tendermint/types/header.go +++ b/modules/light-clients/07-tendermint/types/header.go @@ -4,9 +4,9 @@ import ( "bytes" "time" + sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" tmtypes "github.com/tendermint/tendermint/types" - sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" commitmenttypes "github.com/cosmos/ibc-go/v3/modules/core/23-commitment/types" "github.com/cosmos/ibc-go/v3/modules/core/exported" diff --git a/modules/light-clients/07-tendermint/types/misbehaviour.go b/modules/light-clients/07-tendermint/types/misbehaviour.go index 41f8ea2c7df..28ea7aa3666 100644 --- a/modules/light-clients/07-tendermint/types/misbehaviour.go +++ b/modules/light-clients/07-tendermint/types/misbehaviour.go @@ -3,10 +3,10 @@ package types import ( "time" + sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" tmproto "github.com/tendermint/tendermint/proto/tendermint/types" tmtypes "github.com/tendermint/tendermint/types" - sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" host "github.com/cosmos/ibc-go/v3/modules/core/24-host" "github.com/cosmos/ibc-go/v3/modules/core/exported" diff --git a/modules/light-clients/07-tendermint/types/misbehaviour_handle.go b/modules/light-clients/07-tendermint/types/misbehaviour_handle.go index 787d34b85bb..4c8224bde09 100644 --- a/modules/light-clients/07-tendermint/types/misbehaviour_handle.go +++ b/modules/light-clients/07-tendermint/types/misbehaviour_handle.go @@ -4,11 +4,11 @@ import ( "bytes" "time" - tmtypes "github.com/tendermint/tendermint/types" - "github.com/cosmos/cosmos-sdk/codec" sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + tmtypes "github.com/tendermint/tendermint/types" + clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" "github.com/cosmos/ibc-go/v3/modules/core/exported" ) diff --git a/modules/light-clients/07-tendermint/types/proposal_handle.go b/modules/light-clients/07-tendermint/types/proposal_handle.go index b6e57a777c5..bfa7f242e92 100644 --- a/modules/light-clients/07-tendermint/types/proposal_handle.go +++ b/modules/light-clients/07-tendermint/types/proposal_handle.go @@ -6,6 +6,7 @@ import ( "github.com/cosmos/cosmos-sdk/codec" sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" "github.com/cosmos/ibc-go/v3/modules/core/exported" ) diff --git a/modules/light-clients/07-tendermint/types/store.go b/modules/light-clients/07-tendermint/types/store.go index 29471278cec..785ed77ba97 100644 --- a/modules/light-clients/07-tendermint/types/store.go +++ b/modules/light-clients/07-tendermint/types/store.go @@ -9,6 +9,7 @@ import ( "github.com/cosmos/cosmos-sdk/store/prefix" sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" host "github.com/cosmos/ibc-go/v3/modules/core/24-host" "github.com/cosmos/ibc-go/v3/modules/core/exported" diff --git a/modules/light-clients/07-tendermint/types/tendermint_test.go b/modules/light-clients/07-tendermint/types/tendermint_test.go index 2cb3647ef6c..2c8d43173bf 100644 --- a/modules/light-clients/07-tendermint/types/tendermint_test.go +++ b/modules/light-clients/07-tendermint/types/tendermint_test.go @@ -4,13 +4,13 @@ import ( "testing" "time" + "github.com/cosmos/cosmos-sdk/codec" + sdk "github.com/cosmos/cosmos-sdk/types" "github.com/stretchr/testify/suite" tmbytes "github.com/tendermint/tendermint/libs/bytes" tmproto "github.com/tendermint/tendermint/proto/tendermint/types" tmtypes "github.com/tendermint/tendermint/types" - "github.com/cosmos/cosmos-sdk/codec" - sdk "github.com/cosmos/cosmos-sdk/types" clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" ibctmtypes "github.com/cosmos/ibc-go/v3/modules/light-clients/07-tendermint/types" ibctesting "github.com/cosmos/ibc-go/v3/testing" diff --git a/modules/light-clients/07-tendermint/types/update.go b/modules/light-clients/07-tendermint/types/update.go index 1d2b094e57b..c4d422ccb73 100644 --- a/modules/light-clients/07-tendermint/types/update.go +++ b/modules/light-clients/07-tendermint/types/update.go @@ -5,12 +5,12 @@ import ( "reflect" "time" - "github.com/tendermint/tendermint/light" - tmtypes "github.com/tendermint/tendermint/types" - "github.com/cosmos/cosmos-sdk/codec" sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + "github.com/tendermint/tendermint/light" + tmtypes "github.com/tendermint/tendermint/types" + clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" commitmenttypes "github.com/cosmos/ibc-go/v3/modules/core/23-commitment/types" "github.com/cosmos/ibc-go/v3/modules/core/exported" diff --git a/modules/light-clients/07-tendermint/types/upgrade.go b/modules/light-clients/07-tendermint/types/upgrade.go index 49f84f97034..5e23c8d9036 100644 --- a/modules/light-clients/07-tendermint/types/upgrade.go +++ b/modules/light-clients/07-tendermint/types/upgrade.go @@ -7,6 +7,7 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" upgradetypes "github.com/cosmos/cosmos-sdk/x/upgrade/types" + clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" commitmenttypes "github.com/cosmos/ibc-go/v3/modules/core/23-commitment/types" "github.com/cosmos/ibc-go/v3/modules/core/exported" diff --git a/modules/light-clients/09-localhost/types/client_state.go b/modules/light-clients/09-localhost/types/client_state.go index b817f7764eb..1670d4f1e6b 100644 --- a/modules/light-clients/09-localhost/types/client_state.go +++ b/modules/light-clients/09-localhost/types/client_state.go @@ -9,6 +9,7 @@ import ( "github.com/cosmos/cosmos-sdk/codec" sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" connectiontypes "github.com/cosmos/ibc-go/v3/modules/core/03-connection/types" channeltypes "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types" diff --git a/modules/light-clients/09-localhost/types/client_state_test.go b/modules/light-clients/09-localhost/types/client_state_test.go index dc4eb393e56..a54cc8efe9a 100644 --- a/modules/light-clients/09-localhost/types/client_state_test.go +++ b/modules/light-clients/09-localhost/types/client_state_test.go @@ -2,6 +2,7 @@ package types_test import ( sdk "github.com/cosmos/cosmos-sdk/types" + clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" connectiontypes "github.com/cosmos/ibc-go/v3/modules/core/03-connection/types" channeltypes "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types" diff --git a/modules/light-clients/09-localhost/types/codec.go b/modules/light-clients/09-localhost/types/codec.go index 691c51ed7b9..a1f48114bd4 100644 --- a/modules/light-clients/09-localhost/types/codec.go +++ b/modules/light-clients/09-localhost/types/codec.go @@ -2,6 +2,7 @@ package types import ( codectypes "github.com/cosmos/cosmos-sdk/codec/types" + "github.com/cosmos/ibc-go/v3/modules/core/exported" ) diff --git a/modules/light-clients/09-localhost/types/localhost_test.go b/modules/light-clients/09-localhost/types/localhost_test.go index 4e88b4f4f7f..ee8507c4efc 100644 --- a/modules/light-clients/09-localhost/types/localhost_test.go +++ b/modules/light-clients/09-localhost/types/localhost_test.go @@ -3,11 +3,11 @@ package types_test import ( "testing" + "github.com/cosmos/cosmos-sdk/codec" + sdk "github.com/cosmos/cosmos-sdk/types" "github.com/stretchr/testify/suite" tmproto "github.com/tendermint/tendermint/proto/tendermint/types" - "github.com/cosmos/cosmos-sdk/codec" - sdk "github.com/cosmos/cosmos-sdk/types" clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" "github.com/cosmos/ibc-go/v3/modules/core/exported" "github.com/cosmos/ibc-go/v3/testing/simapp" diff --git a/testing/events.go b/testing/events.go index a8ec0c2f2f3..9666a82ffca 100644 --- a/testing/events.go +++ b/testing/events.go @@ -4,6 +4,7 @@ import ( "fmt" sdk "github.com/cosmos/cosmos-sdk/types" + clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" connectiontypes "github.com/cosmos/ibc-go/v3/modules/core/03-connection/types" channeltypes "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types" diff --git a/testing/mock/privval.go b/testing/mock/privval.go index fe46659b3df..2917330b4d4 100644 --- a/testing/mock/privval.go +++ b/testing/mock/privval.go @@ -1,13 +1,12 @@ package mock import ( - "github.com/tendermint/tendermint/crypto" - tmproto "github.com/tendermint/tendermint/proto/tendermint/types" - tmtypes "github.com/tendermint/tendermint/types" - cryptocodec "github.com/cosmos/cosmos-sdk/crypto/codec" "github.com/cosmos/cosmos-sdk/crypto/keys/ed25519" cryptotypes "github.com/cosmos/cosmos-sdk/crypto/types" + "github.com/tendermint/tendermint/crypto" + tmproto "github.com/tendermint/tendermint/proto/tendermint/types" + tmtypes "github.com/tendermint/tendermint/types" ) var _ tmtypes.PrivValidator = PV{} diff --git a/testing/sdk_test.go b/testing/sdk_test.go index c8cfd389680..415c61eee11 100644 --- a/testing/sdk_test.go +++ b/testing/sdk_test.go @@ -22,7 +22,6 @@ import ( authcli "github.com/cosmos/cosmos-sdk/x/auth/client/cli" authrest "github.com/cosmos/cosmos-sdk/x/auth/client/rest" authtypes "github.com/cosmos/cosmos-sdk/x/auth/types" - "github.com/cosmos/ibc-go/v3/testing/simapp/params" "github.com/spf13/cobra" "github.com/stretchr/testify/suite" tmrand "github.com/tendermint/tendermint/libs/rand" @@ -30,6 +29,7 @@ import ( ibcclientcli "github.com/cosmos/ibc-go/v3/modules/core/02-client/client/cli" "github.com/cosmos/ibc-go/v3/testing/simapp" + "github.com/cosmos/ibc-go/v3/testing/simapp/params" ) /* diff --git a/testing/simapp/encoding.go b/testing/simapp/encoding.go index 7c8fbc29036..f308cadc23d 100644 --- a/testing/simapp/encoding.go +++ b/testing/simapp/encoding.go @@ -2,6 +2,7 @@ package simapp import ( "github.com/cosmos/cosmos-sdk/std" + simappparams "github.com/cosmos/ibc-go/v3/testing/simapp/params" ) diff --git a/testing/simapp/export.go b/testing/simapp/export.go index 8d09e333a2e..fba37920697 100644 --- a/testing/simapp/export.go +++ b/testing/simapp/export.go @@ -4,13 +4,12 @@ import ( "encoding/json" "log" - tmproto "github.com/tendermint/tendermint/proto/tendermint/types" - servertypes "github.com/cosmos/cosmos-sdk/server/types" sdk "github.com/cosmos/cosmos-sdk/types" slashingtypes "github.com/cosmos/cosmos-sdk/x/slashing/types" "github.com/cosmos/cosmos-sdk/x/staking" stakingtypes "github.com/cosmos/cosmos-sdk/x/staking/types" + tmproto "github.com/tendermint/tendermint/proto/tendermint/types" ) // ExportAppStateAndValidators exports the state of the application for a genesis diff --git a/testing/simapp/genesis_account_test.go b/testing/simapp/genesis_account_test.go index c19113a246d..8a223148955 100644 --- a/testing/simapp/genesis_account_test.go +++ b/testing/simapp/genesis_account_test.go @@ -7,10 +7,10 @@ import ( "github.com/cosmos/cosmos-sdk/crypto/keys/secp256k1" sdk "github.com/cosmos/cosmos-sdk/types" authtypes "github.com/cosmos/cosmos-sdk/x/auth/types" - "github.com/cosmos/ibc-go/v3/testing/simapp" - "github.com/stretchr/testify/require" "github.com/tendermint/tendermint/crypto" + + "github.com/cosmos/ibc-go/v3/testing/simapp" ) func TestSimGenesisAccountValidate(t *testing.T) { diff --git a/testing/simapp/sim_bench_test.go b/testing/simapp/sim_bench_test.go index c874fd69911..6f8b020a043 100644 --- a/testing/simapp/sim_bench_test.go +++ b/testing/simapp/sim_bench_test.go @@ -5,10 +5,9 @@ import ( "os" "testing" - tmproto "github.com/tendermint/tendermint/proto/tendermint/types" - simtypes "github.com/cosmos/cosmos-sdk/types/simulation" "github.com/cosmos/cosmos-sdk/x/simulation" + tmproto "github.com/tendermint/tendermint/proto/tendermint/types" ) // Profile with: diff --git a/testing/simapp/sim_test.go b/testing/simapp/sim_test.go index 1cdcd9a25d8..bbc8f4a8c0c 100644 --- a/testing/simapp/sim_test.go +++ b/testing/simapp/sim_test.go @@ -7,12 +7,6 @@ import ( "os" "testing" - "github.com/stretchr/testify/require" - abci "github.com/tendermint/tendermint/abci/types" - "github.com/tendermint/tendermint/libs/log" - tmproto "github.com/tendermint/tendermint/proto/tendermint/types" - dbm "github.com/tendermint/tm-db" - "github.com/cosmos/cosmos-sdk/baseapp" "github.com/cosmos/cosmos-sdk/store" sdk "github.com/cosmos/cosmos-sdk/types" @@ -29,6 +23,12 @@ import ( "github.com/cosmos/cosmos-sdk/x/simulation" slashingtypes "github.com/cosmos/cosmos-sdk/x/slashing/types" stakingtypes "github.com/cosmos/cosmos-sdk/x/staking/types" + "github.com/stretchr/testify/require" + abci "github.com/tendermint/tendermint/abci/types" + "github.com/tendermint/tendermint/libs/log" + tmproto "github.com/tendermint/tendermint/proto/tendermint/types" + dbm "github.com/tendermint/tm-db" + ibctransfertypes "github.com/cosmos/ibc-go/v3/modules/apps/transfer/types" ibchost "github.com/cosmos/ibc-go/v3/modules/core/24-host" "github.com/cosmos/ibc-go/v3/testing/simapp/helpers" diff --git a/testing/simapp/simd/cmd/cmd_test.go b/testing/simapp/simd/cmd/cmd_test.go index b7dd7404381..446639c5bf0 100644 --- a/testing/simapp/simd/cmd/cmd_test.go +++ b/testing/simapp/simd/cmd/cmd_test.go @@ -4,10 +4,10 @@ import ( "fmt" "testing" - "github.com/stretchr/testify/require" - svrcmd "github.com/cosmos/cosmos-sdk/server/cmd" "github.com/cosmos/cosmos-sdk/x/genutil/client/cli" + "github.com/stretchr/testify/require" + "github.com/cosmos/ibc-go/v3/testing/simapp" "github.com/cosmos/ibc-go/v3/testing/simapp/simd/cmd" ) diff --git a/testing/simapp/simd/cmd/genaccounts.go b/testing/simapp/simd/cmd/genaccounts.go index 5c04059b7d2..b31b1c20fb4 100644 --- a/testing/simapp/simd/cmd/genaccounts.go +++ b/testing/simapp/simd/cmd/genaccounts.go @@ -6,8 +6,6 @@ import ( "errors" "fmt" - "github.com/spf13/cobra" - "github.com/cosmos/cosmos-sdk/client" "github.com/cosmos/cosmos-sdk/client/flags" "github.com/cosmos/cosmos-sdk/codec" @@ -19,6 +17,7 @@ import ( banktypes "github.com/cosmos/cosmos-sdk/x/bank/types" "github.com/cosmos/cosmos-sdk/x/genutil" genutiltypes "github.com/cosmos/cosmos-sdk/x/genutil/types" + "github.com/spf13/cobra" ) const ( diff --git a/testing/simapp/simd/cmd/genaccounts_test.go b/testing/simapp/simd/cmd/genaccounts_test.go index 756f6743125..0cdf365bf93 100644 --- a/testing/simapp/simd/cmd/genaccounts_test.go +++ b/testing/simapp/simd/cmd/genaccounts_test.go @@ -5,10 +5,6 @@ import ( "fmt" "testing" - "github.com/spf13/viper" - "github.com/stretchr/testify/require" - "github.com/tendermint/tendermint/libs/log" - "github.com/cosmos/cosmos-sdk/client" "github.com/cosmos/cosmos-sdk/client/flags" "github.com/cosmos/cosmos-sdk/server" @@ -16,6 +12,10 @@ import ( "github.com/cosmos/cosmos-sdk/types/module" "github.com/cosmos/cosmos-sdk/x/genutil" genutiltest "github.com/cosmos/cosmos-sdk/x/genutil/client/testutil" + "github.com/spf13/viper" + "github.com/stretchr/testify/require" + "github.com/tendermint/tendermint/libs/log" + "github.com/cosmos/ibc-go/v3/testing/simapp" simcmd "github.com/cosmos/ibc-go/v3/testing/simapp/simd/cmd" ) diff --git a/testing/simapp/simd/cmd/testnet.go b/testing/simapp/simd/cmd/testnet.go index d188253a632..019f534183b 100644 --- a/testing/simapp/simd/cmd/testnet.go +++ b/testing/simapp/simd/cmd/testnet.go @@ -10,13 +10,6 @@ import ( "os" "path/filepath" - "github.com/spf13/cobra" - tmconfig "github.com/tendermint/tendermint/config" - tmos "github.com/tendermint/tendermint/libs/os" - tmrand "github.com/tendermint/tendermint/libs/rand" - "github.com/tendermint/tendermint/types" - tmtime "github.com/tendermint/tendermint/types/time" - "github.com/cosmos/cosmos-sdk/client" "github.com/cosmos/cosmos-sdk/client/flags" "github.com/cosmos/cosmos-sdk/client/tx" @@ -32,6 +25,12 @@ import ( "github.com/cosmos/cosmos-sdk/x/genutil" genutiltypes "github.com/cosmos/cosmos-sdk/x/genutil/types" stakingtypes "github.com/cosmos/cosmos-sdk/x/staking/types" + "github.com/spf13/cobra" + tmconfig "github.com/tendermint/tendermint/config" + tmos "github.com/tendermint/tendermint/libs/os" + tmrand "github.com/tendermint/tendermint/libs/rand" + "github.com/tendermint/tendermint/types" + tmtime "github.com/tendermint/tendermint/types/time" ) var ( diff --git a/testing/simapp/simd/main.go b/testing/simapp/simd/main.go index ae4eb00bf23..79a7da2ac28 100644 --- a/testing/simapp/simd/main.go +++ b/testing/simapp/simd/main.go @@ -5,6 +5,7 @@ import ( "github.com/cosmos/cosmos-sdk/server" svrcmd "github.com/cosmos/cosmos-sdk/server/cmd" + "github.com/cosmos/ibc-go/v3/testing/simapp" "github.com/cosmos/ibc-go/v3/testing/simapp/simd/cmd" ) diff --git a/testing/simapp/state.go b/testing/simapp/state.go index cd82b7acfe0..86f20e2b115 100644 --- a/testing/simapp/state.go +++ b/testing/simapp/state.go @@ -8,9 +8,6 @@ import ( "math/rand" "time" - tmjson "github.com/tendermint/tendermint/libs/json" - tmtypes "github.com/tendermint/tendermint/types" - "github.com/cosmos/cosmos-sdk/codec" "github.com/cosmos/cosmos-sdk/crypto/keys/secp256k1" sdk "github.com/cosmos/cosmos-sdk/types" @@ -19,6 +16,9 @@ import ( authtypes "github.com/cosmos/cosmos-sdk/x/auth/types" banktypes "github.com/cosmos/cosmos-sdk/x/bank/types" stakingtypes "github.com/cosmos/cosmos-sdk/x/staking/types" + tmjson "github.com/tendermint/tendermint/libs/json" + tmtypes "github.com/tendermint/tendermint/types" + simappparams "github.com/cosmos/ibc-go/v3/testing/simapp/params" ) diff --git a/testing/simapp/test_helpers.go b/testing/simapp/test_helpers.go index f5c8b9107c9..11dcd85b515 100644 --- a/testing/simapp/test_helpers.go +++ b/testing/simapp/test_helpers.go @@ -9,13 +9,6 @@ import ( "testing" "time" - "github.com/stretchr/testify/require" - abci "github.com/tendermint/tendermint/abci/types" - "github.com/tendermint/tendermint/libs/log" - tmproto "github.com/tendermint/tendermint/proto/tendermint/types" - tmtypes "github.com/tendermint/tendermint/types" - dbm "github.com/tendermint/tm-db" - bam "github.com/cosmos/cosmos-sdk/baseapp" "github.com/cosmos/cosmos-sdk/client" "github.com/cosmos/cosmos-sdk/crypto/keys/ed25519" @@ -25,6 +18,13 @@ import ( authtypes "github.com/cosmos/cosmos-sdk/x/auth/types" banktypes "github.com/cosmos/cosmos-sdk/x/bank/types" minttypes "github.com/cosmos/cosmos-sdk/x/mint/types" + "github.com/stretchr/testify/require" + abci "github.com/tendermint/tendermint/abci/types" + "github.com/tendermint/tendermint/libs/log" + tmproto "github.com/tendermint/tendermint/proto/tendermint/types" + tmtypes "github.com/tendermint/tendermint/types" + dbm "github.com/tendermint/tm-db" + "github.com/cosmos/ibc-go/v3/testing/simapp/helpers" ) diff --git a/testing/simapp/types.go b/testing/simapp/types.go index 0e190af1bc9..fcb0b26b62d 100644 --- a/testing/simapp/types.go +++ b/testing/simapp/types.go @@ -1,12 +1,11 @@ package simapp import ( - abci "github.com/tendermint/tendermint/abci/types" - "github.com/cosmos/cosmos-sdk/codec" "github.com/cosmos/cosmos-sdk/server/types" sdk "github.com/cosmos/cosmos-sdk/types" "github.com/cosmos/cosmos-sdk/types/module" + abci "github.com/tendermint/tendermint/abci/types" ) // App implements the common methods for a Cosmos SDK-based application diff --git a/testing/simapp/utils.go b/testing/simapp/utils.go index 6e76f79f4a2..9abfc060b94 100644 --- a/testing/simapp/utils.go +++ b/testing/simapp/utils.go @@ -5,14 +5,14 @@ import ( "fmt" "io/ioutil" - "github.com/tendermint/tendermint/libs/log" - dbm "github.com/tendermint/tm-db" - "github.com/cosmos/cosmos-sdk/codec" sdk "github.com/cosmos/cosmos-sdk/types" "github.com/cosmos/cosmos-sdk/types/kv" "github.com/cosmos/cosmos-sdk/types/module" simtypes "github.com/cosmos/cosmos-sdk/types/simulation" + "github.com/tendermint/tendermint/libs/log" + dbm "github.com/tendermint/tm-db" + "github.com/cosmos/ibc-go/v3/testing/simapp/helpers" ) diff --git a/testing/simapp/utils_test.go b/testing/simapp/utils_test.go index 0240c482a55..7389c3a23bc 100644 --- a/testing/simapp/utils_test.go +++ b/testing/simapp/utils_test.go @@ -4,14 +4,13 @@ import ( "fmt" "testing" - "github.com/stretchr/testify/require" - "github.com/cosmos/cosmos-sdk/codec" "github.com/cosmos/cosmos-sdk/std" sdk "github.com/cosmos/cosmos-sdk/types" "github.com/cosmos/cosmos-sdk/types/kv" "github.com/cosmos/cosmos-sdk/types/module" authtypes "github.com/cosmos/cosmos-sdk/x/auth/types" + "github.com/stretchr/testify/require" ) func makeCodec(bm module.BasicManager) *codec.LegacyAmino { diff --git a/testing/solomachine.go b/testing/solomachine.go index 13a2397fef2..485fb75be0e 100644 --- a/testing/solomachine.go +++ b/testing/solomachine.go @@ -3,8 +3,6 @@ package ibctesting import ( "testing" - "github.com/stretchr/testify/require" - "github.com/cosmos/cosmos-sdk/codec" codectypes "github.com/cosmos/cosmos-sdk/codec/types" kmultisig "github.com/cosmos/cosmos-sdk/crypto/keys/multisig" @@ -12,6 +10,8 @@ import ( cryptotypes "github.com/cosmos/cosmos-sdk/crypto/types" "github.com/cosmos/cosmos-sdk/crypto/types/multisig" "github.com/cosmos/cosmos-sdk/types/tx/signing" + "github.com/stretchr/testify/require" + clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" commitmenttypes "github.com/cosmos/ibc-go/v3/modules/core/23-commitment/types" host "github.com/cosmos/ibc-go/v3/modules/core/24-host" From 57679db9dfea53aa83f5c9b12def3605dfd837e0 Mon Sep 17 00:00:00 2001 From: Damian Nolan Date: Tue, 11 Jan 2022 12:11:30 +0100 Subject: [PATCH 104/107] adding ICS 27 Interchain Accounts to README.md supported apps (#708) --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index e09a1c6376a..5a3cf3b7e7e 100644 --- a/README.md +++ b/README.md @@ -51,6 +51,8 @@ The Inter-Blockchain Communication protocol (IBC) allows blockchains to talk to 2.1 [ICS 20 Fungible Token Transfers](https://github.com/cosmos/ibc-go/tree/main/modules/apps/transfer) + 2.2 [ICS 27 Interchain Accounts](https://github.com/cosmos/ibc-go/tree/main/modules/apps/27-interchain-accounts) + 3. **Light Clients** 3.1 [ICS 07 Tendermint](https://github.com/cosmos/ibc-go/tree/main/modules/light-clients/07-tendermint) From e0cc81a21280e381c538fd4791d80c0eb4c68092 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Colin=20Axn=C3=A9r?= <25233464+colin-axner@users.noreply.github.com> Date: Wed, 12 Jan 2022 12:20:32 +0100 Subject: [PATCH 105/107] update imports to v3 --- modules/apps/29-fee/fee_test.go | 8 ++++---- modules/apps/29-fee/ibc_module.go | 10 +++++----- modules/apps/29-fee/ibc_module_test.go | 8 ++++---- modules/apps/29-fee/keeper/escrow.go | 4 ++-- modules/apps/29-fee/keeper/escrow_test.go | 6 +++--- modules/apps/29-fee/keeper/genesis.go | 2 +- modules/apps/29-fee/keeper/genesis_test.go | 6 +++--- modules/apps/29-fee/keeper/grpc_query.go | 2 +- modules/apps/29-fee/keeper/grpc_query_test.go | 6 +++--- modules/apps/29-fee/keeper/keeper.go | 8 ++++---- modules/apps/29-fee/keeper/keeper_test.go | 6 +++--- modules/apps/29-fee/keeper/msg_server.go | 4 ++-- modules/apps/29-fee/keeper/msg_server_test.go | 4 ++-- modules/apps/29-fee/module.go | 12 ++++++------ modules/apps/29-fee/types/expected_keepers.go | 4 ++-- modules/apps/29-fee/types/fee.pb.go | 2 +- modules/apps/29-fee/types/genesis.go | 2 +- modules/apps/29-fee/types/genesis_test.go | 6 +++--- modules/apps/29-fee/types/keys.go | 2 +- modules/apps/29-fee/types/keys_test.go | 2 +- modules/apps/29-fee/types/msgs.go | 4 ++-- modules/apps/29-fee/types/msgs_test.go | 2 +- modules/apps/29-fee/types/query.pb.go | 2 +- modules/apps/29-fee/types/tx.pb.go | 2 +- 24 files changed, 57 insertions(+), 57 deletions(-) diff --git a/modules/apps/29-fee/fee_test.go b/modules/apps/29-fee/fee_test.go index 87ebf4c758a..1b930db6456 100644 --- a/modules/apps/29-fee/fee_test.go +++ b/modules/apps/29-fee/fee_test.go @@ -7,10 +7,10 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" - "github.com/cosmos/ibc-go/modules/apps/29-fee/types" - transfertypes "github.com/cosmos/ibc-go/modules/apps/transfer/types" - clienttypes "github.com/cosmos/ibc-go/modules/core/02-client/types" - channeltypes "github.com/cosmos/ibc-go/modules/core/04-channel/types" + "github.com/cosmos/ibc-go/v3/modules/apps/29-fee/types" + transfertypes "github.com/cosmos/ibc-go/v3/modules/apps/transfer/types" + clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" + channeltypes "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types" ibctesting "github.com/cosmos/ibc-go/testing" ) diff --git a/modules/apps/29-fee/ibc_module.go b/modules/apps/29-fee/ibc_module.go index 22af7709cde..230c7da2cd0 100644 --- a/modules/apps/29-fee/ibc_module.go +++ b/modules/apps/29-fee/ibc_module.go @@ -5,11 +5,11 @@ import ( sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" capabilitytypes "github.com/cosmos/cosmos-sdk/x/capability/types" - "github.com/cosmos/ibc-go/modules/apps/29-fee/keeper" - "github.com/cosmos/ibc-go/modules/apps/29-fee/types" - channeltypes "github.com/cosmos/ibc-go/modules/core/04-channel/types" - porttypes "github.com/cosmos/ibc-go/modules/core/05-port/types" - "github.com/cosmos/ibc-go/modules/core/exported" + "github.com/cosmos/ibc-go/v3/modules/apps/29-fee/keeper" + "github.com/cosmos/ibc-go/v3/modules/apps/29-fee/types" + channeltypes "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types" + porttypes "github.com/cosmos/ibc-go/v3/modules/core/05-port/types" + "github.com/cosmos/ibc-go/v3/modules/core/exported" ) // IBCModule implements the ICS26 callbacks for the fee middleware given the fee keeper and the underlying application. diff --git a/modules/apps/29-fee/ibc_module_test.go b/modules/apps/29-fee/ibc_module_test.go index f95617a3dd0..bee6b693661 100644 --- a/modules/apps/29-fee/ibc_module_test.go +++ b/modules/apps/29-fee/ibc_module_test.go @@ -6,10 +6,10 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" capabilitytypes "github.com/cosmos/cosmos-sdk/x/capability/types" - "github.com/cosmos/ibc-go/modules/apps/29-fee/types" - transfertypes "github.com/cosmos/ibc-go/modules/apps/transfer/types" - channeltypes "github.com/cosmos/ibc-go/modules/core/04-channel/types" - host "github.com/cosmos/ibc-go/modules/core/24-host" + "github.com/cosmos/ibc-go/v3/modules/apps/29-fee/types" + transfertypes "github.com/cosmos/ibc-go/v3/modules/apps/transfer/types" + channeltypes "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types" + host "github.com/cosmos/ibc-go/v3/modules/core/24-host" ibctesting "github.com/cosmos/ibc-go/testing" "github.com/cosmos/ibc-go/testing/simapp" ) diff --git a/modules/apps/29-fee/keeper/escrow.go b/modules/apps/29-fee/keeper/escrow.go index 096d1f0ce3b..0dae91cea93 100644 --- a/modules/apps/29-fee/keeper/escrow.go +++ b/modules/apps/29-fee/keeper/escrow.go @@ -6,8 +6,8 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" - "github.com/cosmos/ibc-go/modules/apps/29-fee/types" - channeltypes "github.com/cosmos/ibc-go/modules/core/04-channel/types" + "github.com/cosmos/ibc-go/v3/modules/apps/29-fee/types" + channeltypes "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types" ) // EscrowPacketFee sends the packet fee to the 29-fee module account to hold in escrow diff --git a/modules/apps/29-fee/keeper/escrow_test.go b/modules/apps/29-fee/keeper/escrow_test.go index 103e3904f24..fb71461913d 100644 --- a/modules/apps/29-fee/keeper/escrow_test.go +++ b/modules/apps/29-fee/keeper/escrow_test.go @@ -4,9 +4,9 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" "github.com/tendermint/tendermint/crypto/secp256k1" - "github.com/cosmos/ibc-go/modules/apps/29-fee/types" - transfertypes "github.com/cosmos/ibc-go/modules/apps/transfer/types" - channeltypes "github.com/cosmos/ibc-go/modules/core/04-channel/types" + "github.com/cosmos/ibc-go/v3/modules/apps/29-fee/types" + transfertypes "github.com/cosmos/ibc-go/v3/modules/apps/transfer/types" + channeltypes "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types" ) func (suite *KeeperTestSuite) TestEscrowPacketFee() { diff --git a/modules/apps/29-fee/keeper/genesis.go b/modules/apps/29-fee/keeper/genesis.go index 7ce7f11970f..b817b33c9a4 100644 --- a/modules/apps/29-fee/keeper/genesis.go +++ b/modules/apps/29-fee/keeper/genesis.go @@ -3,7 +3,7 @@ package keeper import ( sdk "github.com/cosmos/cosmos-sdk/types" - "github.com/cosmos/ibc-go/modules/apps/29-fee/types" + "github.com/cosmos/ibc-go/v3/modules/apps/29-fee/types" ) // InitGenesis diff --git a/modules/apps/29-fee/keeper/genesis_test.go b/modules/apps/29-fee/keeper/genesis_test.go index 3fe9a3db38d..8332658cecd 100644 --- a/modules/apps/29-fee/keeper/genesis_test.go +++ b/modules/apps/29-fee/keeper/genesis_test.go @@ -1,9 +1,9 @@ package keeper_test import ( - "github.com/cosmos/ibc-go/modules/apps/29-fee/types" - transfertypes "github.com/cosmos/ibc-go/modules/apps/transfer/types" - channeltypes "github.com/cosmos/ibc-go/modules/core/04-channel/types" + "github.com/cosmos/ibc-go/v3/modules/apps/29-fee/types" + transfertypes "github.com/cosmos/ibc-go/v3/modules/apps/transfer/types" + channeltypes "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types" ibctesting "github.com/cosmos/ibc-go/testing" ) diff --git a/modules/apps/29-fee/keeper/grpc_query.go b/modules/apps/29-fee/keeper/grpc_query.go index 5c9a8037ab7..1dae09d9265 100644 --- a/modules/apps/29-fee/keeper/grpc_query.go +++ b/modules/apps/29-fee/keeper/grpc_query.go @@ -11,7 +11,7 @@ import ( sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" "github.com/cosmos/cosmos-sdk/types/query" - "github.com/cosmos/ibc-go/modules/apps/29-fee/types" + "github.com/cosmos/ibc-go/v3/modules/apps/29-fee/types" ) var _ types.QueryServer = Keeper{} diff --git a/modules/apps/29-fee/keeper/grpc_query_test.go b/modules/apps/29-fee/keeper/grpc_query_test.go index b8b13f36242..a2904234871 100644 --- a/modules/apps/29-fee/keeper/grpc_query_test.go +++ b/modules/apps/29-fee/keeper/grpc_query_test.go @@ -6,9 +6,9 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" "github.com/cosmos/cosmos-sdk/types/query" - "github.com/cosmos/ibc-go/modules/apps/29-fee/types" - transfertypes "github.com/cosmos/ibc-go/modules/apps/transfer/types" - channeltypes "github.com/cosmos/ibc-go/modules/core/04-channel/types" + "github.com/cosmos/ibc-go/v3/modules/apps/29-fee/types" + transfertypes "github.com/cosmos/ibc-go/v3/modules/apps/transfer/types" + channeltypes "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types" ibctesting "github.com/cosmos/ibc-go/testing" ) diff --git a/modules/apps/29-fee/keeper/keeper.go b/modules/apps/29-fee/keeper/keeper.go index 028841e8f2d..26d0d62f5e9 100644 --- a/modules/apps/29-fee/keeper/keeper.go +++ b/modules/apps/29-fee/keeper/keeper.go @@ -9,10 +9,10 @@ import ( paramtypes "github.com/cosmos/cosmos-sdk/x/params/types" "github.com/tendermint/tendermint/libs/log" - "github.com/cosmos/ibc-go/modules/apps/29-fee/types" - channeltypes "github.com/cosmos/ibc-go/modules/core/04-channel/types" - host "github.com/cosmos/ibc-go/modules/core/24-host" - ibcexported "github.com/cosmos/ibc-go/modules/core/exported" + "github.com/cosmos/ibc-go/v3/modules/apps/29-fee/types" + channeltypes "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types" + host "github.com/cosmos/ibc-go/v3/modules/core/24-host" + ibcexported "github.com/cosmos/ibc-go/v3/modules/core/exported" ) // Middleware must implement types.ChannelKeeper and types.PortKeeper expected interfaces diff --git a/modules/apps/29-fee/keeper/keeper_test.go b/modules/apps/29-fee/keeper/keeper_test.go index 7675bb127e3..40623262158 100644 --- a/modules/apps/29-fee/keeper/keeper_test.go +++ b/modules/apps/29-fee/keeper/keeper_test.go @@ -8,9 +8,9 @@ import ( "github.com/cosmos/cosmos-sdk/baseapp" sdk "github.com/cosmos/cosmos-sdk/types" - "github.com/cosmos/ibc-go/modules/apps/29-fee/types" - transfertypes "github.com/cosmos/ibc-go/modules/apps/transfer/types" - channeltypes "github.com/cosmos/ibc-go/modules/core/04-channel/types" + "github.com/cosmos/ibc-go/v3/modules/apps/29-fee/types" + transfertypes "github.com/cosmos/ibc-go/v3/modules/apps/transfer/types" + channeltypes "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types" ibctesting "github.com/cosmos/ibc-go/testing" ) diff --git a/modules/apps/29-fee/keeper/msg_server.go b/modules/apps/29-fee/keeper/msg_server.go index e3687b9d215..dec2f27e928 100644 --- a/modules/apps/29-fee/keeper/msg_server.go +++ b/modules/apps/29-fee/keeper/msg_server.go @@ -5,8 +5,8 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" - "github.com/cosmos/ibc-go/modules/apps/29-fee/types" - channeltypes "github.com/cosmos/ibc-go/modules/core/04-channel/types" + "github.com/cosmos/ibc-go/v3/modules/apps/29-fee/types" + channeltypes "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types" ) var _ types.MsgServer = Keeper{} diff --git a/modules/apps/29-fee/keeper/msg_server_test.go b/modules/apps/29-fee/keeper/msg_server_test.go index f7d5d8f8c59..9b6e0596b94 100644 --- a/modules/apps/29-fee/keeper/msg_server_test.go +++ b/modules/apps/29-fee/keeper/msg_server_test.go @@ -1,8 +1,8 @@ package keeper_test import ( - "github.com/cosmos/ibc-go/modules/apps/29-fee/types" - channeltypes "github.com/cosmos/ibc-go/modules/core/04-channel/types" + "github.com/cosmos/ibc-go/v3/modules/apps/29-fee/types" + channeltypes "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types" ) func (suite *KeeperTestSuite) TestRegisterCounterpartyAddress() { diff --git a/modules/apps/29-fee/module.go b/modules/apps/29-fee/module.go index ea370790dbc..c603bcf51ec 100644 --- a/modules/apps/29-fee/module.go +++ b/modules/apps/29-fee/module.go @@ -17,14 +17,14 @@ import ( "github.com/spf13/cobra" abci "github.com/tendermint/tendermint/abci/types" - "github.com/cosmos/ibc-go/modules/apps/29-fee/client/cli" - "github.com/cosmos/ibc-go/modules/apps/29-fee/keeper" - "github.com/cosmos/ibc-go/modules/apps/29-fee/types" + "github.com/cosmos/ibc-go/v3/modules/apps/29-fee/client/cli" + "github.com/cosmos/ibc-go/v3/modules/apps/29-fee/keeper" + "github.com/cosmos/ibc-go/v3/modules/apps/29-fee/types" - // "github.com/cosmos/ibc-go/modules/apps/29-fee/client/cli" - // "github.com/cosmos/ibc-go/modules/apps/29-fee/simulation" + // "github.com/cosmos/ibc-go/v3/modules/apps/29-fee/client/cli" + // "github.com/cosmos/ibc-go/v3/modules/apps/29-fee/simulation" - porttypes "github.com/cosmos/ibc-go/modules/core/05-port/types" + porttypes "github.com/cosmos/ibc-go/v3/modules/core/05-port/types" ) var ( diff --git a/modules/apps/29-fee/types/expected_keepers.go b/modules/apps/29-fee/types/expected_keepers.go index e7d5b60088e..b5bdc1fd87c 100644 --- a/modules/apps/29-fee/types/expected_keepers.go +++ b/modules/apps/29-fee/types/expected_keepers.go @@ -4,8 +4,8 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" "github.com/cosmos/cosmos-sdk/x/auth/types" capabilitytypes "github.com/cosmos/cosmos-sdk/x/capability/types" - channeltypes "github.com/cosmos/ibc-go/modules/core/04-channel/types" - ibcexported "github.com/cosmos/ibc-go/modules/core/exported" + channeltypes "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types" + ibcexported "github.com/cosmos/ibc-go/v3/modules/core/exported" ) // AccountKeeper defines the contract required for account APIs. diff --git a/modules/apps/29-fee/types/fee.pb.go b/modules/apps/29-fee/types/fee.pb.go index 038368c7ce8..d3c55514660 100644 --- a/modules/apps/29-fee/types/fee.pb.go +++ b/modules/apps/29-fee/types/fee.pb.go @@ -7,7 +7,7 @@ import ( fmt "fmt" github_com_cosmos_cosmos_sdk_types "github.com/cosmos/cosmos-sdk/types" types "github.com/cosmos/cosmos-sdk/types" - types1 "github.com/cosmos/ibc-go/modules/core/04-channel/types" + types1 "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types" _ "github.com/gogo/protobuf/gogoproto" proto "github.com/gogo/protobuf/proto" io "io" diff --git a/modules/apps/29-fee/types/genesis.go b/modules/apps/29-fee/types/genesis.go index 5a0ebdeb9d2..e1eea3b7fac 100644 --- a/modules/apps/29-fee/types/genesis.go +++ b/modules/apps/29-fee/types/genesis.go @@ -4,7 +4,7 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" - host "github.com/cosmos/ibc-go/modules/core/24-host" + host "github.com/cosmos/ibc-go/v3/modules/core/24-host" ) // NewGenesisState creates a 29-fee GenesisState instance. diff --git a/modules/apps/29-fee/types/genesis_test.go b/modules/apps/29-fee/types/genesis_test.go index 54af51e61fa..72382501442 100644 --- a/modules/apps/29-fee/types/genesis_test.go +++ b/modules/apps/29-fee/types/genesis_test.go @@ -7,9 +7,9 @@ import ( "github.com/stretchr/testify/require" "github.com/tendermint/tendermint/crypto/secp256k1" - "github.com/cosmos/ibc-go/modules/apps/29-fee/types" - transfertypes "github.com/cosmos/ibc-go/modules/apps/transfer/types" - channeltypes "github.com/cosmos/ibc-go/modules/core/04-channel/types" + "github.com/cosmos/ibc-go/v3/modules/apps/29-fee/types" + transfertypes "github.com/cosmos/ibc-go/v3/modules/apps/transfer/types" + channeltypes "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types" ibctesting "github.com/cosmos/ibc-go/testing" ) diff --git a/modules/apps/29-fee/types/keys.go b/modules/apps/29-fee/types/keys.go index 17e22df8530..c017af5d32f 100644 --- a/modules/apps/29-fee/types/keys.go +++ b/modules/apps/29-fee/types/keys.go @@ -3,7 +3,7 @@ package types import ( "fmt" - channeltypes "github.com/cosmos/ibc-go/modules/core/04-channel/types" + channeltypes "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types" ) const ( diff --git a/modules/apps/29-fee/types/keys_test.go b/modules/apps/29-fee/types/keys_test.go index 312188c5e21..b8329ecb206 100644 --- a/modules/apps/29-fee/types/keys_test.go +++ b/modules/apps/29-fee/types/keys_test.go @@ -6,7 +6,7 @@ import ( "github.com/stretchr/testify/require" - "github.com/cosmos/ibc-go/modules/apps/29-fee/types" + "github.com/cosmos/ibc-go/v3/modules/apps/29-fee/types" ) func TestKeyRelayerAddress(t *testing.T) { diff --git a/modules/apps/29-fee/types/msgs.go b/modules/apps/29-fee/types/msgs.go index 4653b69ce18..926da90de4e 100644 --- a/modules/apps/29-fee/types/msgs.go +++ b/modules/apps/29-fee/types/msgs.go @@ -4,8 +4,8 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" - channeltypes "github.com/cosmos/ibc-go/modules/core/04-channel/types" - host "github.com/cosmos/ibc-go/modules/core/24-host" + channeltypes "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types" + host "github.com/cosmos/ibc-go/v3/modules/core/24-host" ) // msg types diff --git a/modules/apps/29-fee/types/msgs_test.go b/modules/apps/29-fee/types/msgs_test.go index 16172969776..e6386dc91d4 100644 --- a/modules/apps/29-fee/types/msgs_test.go +++ b/modules/apps/29-fee/types/msgs_test.go @@ -4,7 +4,7 @@ import ( "testing" sdk "github.com/cosmos/cosmos-sdk/types" - channeltypes "github.com/cosmos/ibc-go/modules/core/04-channel/types" + channeltypes "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types" "github.com/stretchr/testify/require" "github.com/tendermint/tendermint/crypto/secp256k1" ) diff --git a/modules/apps/29-fee/types/query.pb.go b/modules/apps/29-fee/types/query.pb.go index 99f961652a4..6361527729d 100644 --- a/modules/apps/29-fee/types/query.pb.go +++ b/modules/apps/29-fee/types/query.pb.go @@ -7,7 +7,7 @@ import ( context "context" fmt "fmt" query "github.com/cosmos/cosmos-sdk/types/query" - types "github.com/cosmos/ibc-go/modules/core/04-channel/types" + types "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types" _ "github.com/gogo/protobuf/gogoproto" grpc1 "github.com/gogo/protobuf/grpc" proto "github.com/gogo/protobuf/proto" diff --git a/modules/apps/29-fee/types/tx.pb.go b/modules/apps/29-fee/types/tx.pb.go index 8602f2996c8..382779cc86e 100644 --- a/modules/apps/29-fee/types/tx.pb.go +++ b/modules/apps/29-fee/types/tx.pb.go @@ -6,7 +6,7 @@ package types import ( context "context" fmt "fmt" - _ "github.com/cosmos/ibc-go/modules/core/04-channel/types" + _ "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types" _ "github.com/gogo/protobuf/gogoproto" grpc1 "github.com/gogo/protobuf/grpc" proto "github.com/gogo/protobuf/proto" From 120fd767743583023ebb7528b14726d45cd04e24 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Colin=20Axn=C3=A9r?= <25233464+colin-axner@users.noreply.github.com> Date: Wed, 12 Jan 2022 12:20:59 +0100 Subject: [PATCH 106/107] regenerate proto files --- docs/ibc/proto-docs.md | 742 +++++++++++--------- go.mod | 10 +- go.sum | 4 + modules/core/04-channel/types/channel.pb.go | 117 +-- 4 files changed, 489 insertions(+), 384 deletions(-) diff --git a/docs/ibc/proto-docs.md b/docs/ibc/proto-docs.md index 7025ed11cef..6510b6b75f3 100644 --- a/docs/ibc/proto-docs.md +++ b/docs/ibc/proto-docs.md @@ -54,6 +54,25 @@ - [MsgRegisterCounterpartyAddressResponse](#ibc.applications.fee.v1.MsgRegisterCounterpartyAddressResponse) - [Msg](#ibc.applications.fee.v1.Msg) + +- [ibc/applications/interchain_accounts/controller/v1/controller.proto](#ibc/applications/interchain_accounts/controller/v1/controller.proto) + - [Params](#ibc.applications.interchain_accounts.controller.v1.Params) + +- [ibc/applications/interchain_accounts/controller/v1/query.proto](#ibc/applications/interchain_accounts/controller/v1/query.proto) + - [QueryParamsRequest](#ibc.applications.interchain_accounts.controller.v1.QueryParamsRequest) + - [QueryParamsResponse](#ibc.applications.interchain_accounts.controller.v1.QueryParamsResponse) + + - [Query](#ibc.applications.interchain_accounts.controller.v1.Query) + +- [ibc/applications/interchain_accounts/host/v1/host.proto](#ibc/applications/interchain_accounts/host/v1/host.proto) + - [Params](#ibc.applications.interchain_accounts.host.v1.Params) + +- [ibc/applications/interchain_accounts/host/v1/query.proto](#ibc/applications/interchain_accounts/host/v1/query.proto) + - [QueryParamsRequest](#ibc.applications.interchain_accounts.host.v1.QueryParamsRequest) + - [QueryParamsResponse](#ibc.applications.interchain_accounts.host.v1.QueryParamsResponse) + + - [Query](#ibc.applications.interchain_accounts.host.v1.Query) + - [ibc/applications/interchain_accounts/v1/account.proto](#ibc/applications/interchain_accounts/v1/account.proto) - [InterchainAccount](#ibc.applications.interchain_accounts.v1.InterchainAccount) @@ -98,17 +117,6 @@ - [ibc/applications/transfer/v2/packet.proto](#ibc/applications/transfer/v2/packet.proto) - [FungibleTokenPacketData](#ibc.applications.transfer.v2.FungibleTokenPacketData) -- [ibc/core/channel/v1/channel.proto](#ibc/core/channel/v1/channel.proto) - - [Acknowledgement](#ibc.core.channel.v1.Acknowledgement) - - [Channel](#ibc.core.channel.v1.Channel) - - [Counterparty](#ibc.core.channel.v1.Counterparty) - - [IdentifiedChannel](#ibc.core.channel.v1.IdentifiedChannel) - - [Packet](#ibc.core.channel.v1.Packet) - - [PacketState](#ibc.core.channel.v1.PacketState) - - - [Order](#ibc.core.channel.v1.Order) - - [State](#ibc.core.channel.v1.State) - - [ibc/core/channel/v1/genesis.proto](#ibc/core/channel/v1/genesis.proto) - [GenesisState](#ibc.core.channel.v1.GenesisState) - [PacketSequence](#ibc.core.channel.v1.PacketSequence) @@ -319,25 +327,12 @@ ### IncentivizedAcknowledgement IncentivizedAcknowledgement is the acknowledgement format to be used by applications wrapped in the fee middleware It contains the raw acknowledgement bytes, as well as the forward relayer address - -

Top

- -## ibc/applications/interchain_accounts/v1/account.proto - - - - - -### InterchainAccount -An InterchainAccount is defined as a BaseAccount & the address of the account owner on the controller chain | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | `result` | [bytes](#bytes) | | | | `forward_relayer_address` | [string](#string) | | | -| `base_account` | [cosmos.auth.v1beta1.BaseAccount](#cosmos.auth.v1beta1.BaseAccount) | | | -| `account_owner` | [string](#string) | | | @@ -516,7 +511,7 @@ NOTE: The field numbers 21 and 22 were explicitly chosen to avoid accidental conflicts with other protobuf message formats used for acknowledgements. The first byte of any message with this format will be the non-ASCII values `0xaa` (result) or `0xb2` (error). Implemented as defined by ICS: -https://github.com/cosmos/ics/tree/master/spec/ics-004-channel-and-packet-semantics#acknowledgement-envelope +https://github.com/cosmos/ibc/tree/master/spec/core/ics-004-channel-and-packet-semantics#acknowledgement-envelope | Field | Type | Label | Description | @@ -755,17 +750,6 @@ and an optional list of relayers that are permitted to receive the fee. ### FeeEnabledChannel Contains the PortID & ChannelID for a fee enabled channel - -

Top

- -## ibc/applications/interchain_accounts/v1/genesis.proto - - - - - -### ActiveChannel -ActiveChannel contains a pairing of port ID and channel ID for an active interchain accounts channel | Field | Type | Label | Description | @@ -782,28 +766,6 @@ ActiveChannel contains a pairing of port ID and channel ID for an active interch ### GenesisState GenesisState defines the fee middleware genesis state - - -### ControllerGenesisState -ControllerGenesisState defines the interchain accounts controller genesis state - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| `active_channels` | [ActiveChannel](#ibc.applications.interchain_accounts.v1.ActiveChannel) | repeated | | -| `interchain_accounts` | [RegisteredInterchainAccount](#ibc.applications.interchain_accounts.v1.RegisteredInterchainAccount) | repeated | | -| `ports` | [string](#string) | repeated | | -| `params` | [ibc.applications.interchain_accounts.controller.v1.Params](#ibc.applications.interchain_accounts.controller.v1.Params) | | | - - - - - - - - -### GenesisState -GenesisState defines the interchain accounts genesis state | Field | Type | Label | Description | @@ -811,8 +773,6 @@ GenesisState defines the interchain accounts genesis state | `identified_fees` | [IdentifiedPacketFee](#ibc.applications.fee.v1.IdentifiedPacketFee) | repeated | | | `fee_enabled_channels` | [FeeEnabledChannel](#ibc.applications.fee.v1.FeeEnabledChannel) | repeated | | | `registered_relayers` | [RegisteredRelayerAddress](#ibc.applications.fee.v1.RegisteredRelayerAddress) | repeated | | -| `controller_genesis_state` | [ControllerGenesisState](#ibc.applications.interchain_accounts.v1.ControllerGenesisState) | | | -| `host_genesis_state` | [HostGenesisState](#ibc.applications.interchain_accounts.v1.HostGenesisState) | | | @@ -823,36 +783,12 @@ GenesisState defines the interchain accounts genesis state ### RegisteredRelayerAddress Contains the address and counterparty address for a specific relayer (for distributing fees) - - -### HostGenesisState -HostGenesisState defines the interchain accounts host genesis state | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | `address` | [string](#string) | | | | `counterparty_address` | [string](#string) | | | -| `active_channels` | [ActiveChannel](#ibc.applications.interchain_accounts.v1.ActiveChannel) | repeated | | -| `interchain_accounts` | [RegisteredInterchainAccount](#ibc.applications.interchain_accounts.v1.RegisteredInterchainAccount) | repeated | | -| `port` | [string](#string) | | | -| `params` | [ibc.applications.interchain_accounts.host.v1.Params](#ibc.applications.interchain_accounts.host.v1.Params) | | | - - - - - - - - -### RegisteredInterchainAccount -RegisteredInterchainAccount contains a pairing of controller port ID and associated interchain account address - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| `port_id` | [string](#string) | | | -| `account_address` | [string](#string) | | | @@ -879,24 +815,12 @@ RegisteredInterchainAccount contains a pairing of controller port ID and associa ### QueryIncentivizedPacketRequest QueryIncentivizedPacketRequest is the request type for querying for all incentivized packets - -

Top

- -## ibc/applications/interchain_accounts/v1/packet.proto - - - - - -### CosmosTx -CosmosTx contains a list of sdk.Msg's. It should be used when sending transactions to an SDK host chain. | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | `packet_id` | [ibc.core.channel.v1.PacketId](#ibc.core.channel.v1.PacketId) | | PacketID | | `query_height` | [uint64](#uint64) | | Height to query at | -| `messages` | [google.protobuf.Any](#google.protobuf.Any) | repeated | | @@ -907,10 +831,6 @@ CosmosTx contains a list of sdk.Msg's. It should be used when sending transactio ### QueryIncentivizedPacketResponse QueryIncentivizedPacketsResponse is the response type for the incentivized packet RPC - - -### InterchainAccountPacketData -InterchainAccountPacketData is comprised of a raw transaction, type of transaction and optional memo field. | Field | Type | Label | Description | @@ -947,9 +867,6 @@ QueryIncentivizedPacketsResponse is the response type for the incentivized packe | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | `incentivized_packets` | [IdentifiedPacketFee](#ibc.applications.fee.v1.IdentifiedPacketFee) | repeated | Map of all incentivized_packets | -| `type` | [Type](#ibc.applications.interchain_accounts.v1.Type) | | | -| `data` | [bytes](#bytes) | | | -| `memo` | [string](#string) | | | @@ -1067,18 +984,6 @@ MsgRegisterCounterpartyAddressResponse defines the Msg/RegisterCounterypartyAddr - - -### Type -Type defines a classification of message issued from a controller chain to its associated interchain accounts -host - -| Name | Number | Description | -| ---- | ------ | ----------- | -| TYPE_UNSPECIFIED | 0 | Default zero value enumeration | -| TYPE_EXECUTE_TX | 1 | Execute a transaction on an interchain accounts host chain | - - @@ -1099,76 +1004,64 @@ Msg defines the ibc/fee Msg service. - +

Top

-## ibc/applications/transfer/v1/transfer.proto +## ibc/applications/interchain_accounts/controller/v1/controller.proto - + -### DenomTrace -DenomTrace contains the base denomination for ICS20 fungible tokens and the -source tracing information path. +### Params +Params defines the set of on-chain interchain accounts parameters. +The following parameters may be used to disable the controller submodule. | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| `path` | [string](#string) | | path defines the chain of port/channel identifiers used for tracing the source of the fungible token. | -| `base_denom` | [string](#string) | | base denomination of the relayed fungible token. | - +| `controller_enabled` | [bool](#bool) | | controller_enabled enables or disables the controller submodule. | - - -### Params -Params defines the set of IBC transfer parameters. -NOTE: To prevent a single token from being transferred, set the -TransfersEnabled parameter to true and then set the bank module's SendEnabled -parameter for the denomination to false. + + -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| `send_enabled` | [bool](#bool) | | send_enabled enables or disables all cross-chain token transfers from this chain. | -| `receive_enabled` | [bool](#bool) | | receive_enabled enables or disables all cross-chain token transfers to this chain. | + + + +

Top

- +## ibc/applications/interchain_accounts/controller/v1/query.proto - - - + +### QueryParamsRequest +QueryParamsRequest is the request type for the Query/Params RPC method. - -

Top

-## ibc/applications/transfer/v1/genesis.proto - + -### GenesisState -GenesisState defines the ibc-transfer genesis state +### QueryParamsResponse +QueryParamsResponse is the response type for the Query/Params RPC method. | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| `port_id` | [string](#string) | | | -| `denom_traces` | [DenomTrace](#ibc.applications.transfer.v1.DenomTrace) | repeated | | -| `params` | [Params](#ibc.applications.transfer.v1.Params) | | | +| `params` | [Params](#ibc.applications.interchain_accounts.controller.v1.Params) | | params defines the parameters of the module. | @@ -1180,195 +1073,269 @@ GenesisState defines the ibc-transfer genesis state + + + +### Query +Query provides defines the gRPC querier service. + +| Method Name | Request Type | Response Type | Description | HTTP Verb | Endpoint | +| ----------- | ------------ | ------------- | ------------| ------- | -------- | +| `Params` | [QueryParamsRequest](#ibc.applications.interchain_accounts.controller.v1.QueryParamsRequest) | [QueryParamsResponse](#ibc.applications.interchain_accounts.controller.v1.QueryParamsResponse) | Params queries all parameters of the ICA controller submodule. | GET|/ibc/apps/interchain_accounts/controller/v1/params| + - +

Top

-## ibc/applications/transfer/v1/query.proto +## ibc/applications/interchain_accounts/host/v1/host.proto - + -### QueryDenomHashRequest -QueryDenomHashRequest is the request type for the Query/DenomHash RPC -method +### Params +Params defines the set of on-chain interchain accounts parameters. +The following parameters may be used to disable the host submodule. | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| `trace` | [string](#string) | | The denomination trace ([port_id]/[channel_id])+/[denom] | - +| `host_enabled` | [bool](#bool) | | host_enabled enables or disables the host submodule. | +| `allow_messages` | [string](#string) | repeated | allow_messages defines a list of sdk message typeURLs allowed to be executed on a host chain. | - - -### QueryDenomHashResponse -QueryDenomHashResponse is the response type for the Query/DenomHash RPC -method. + + -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| `hash` | [string](#string) | | hash (in hex format) of the denomination trace information. | + + + +

Top

+## ibc/applications/interchain_accounts/host/v1/query.proto - -### QueryDenomTraceRequest -QueryDenomTraceRequest is the request type for the Query/DenomTrace RPC -method + -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| `hash` | [string](#string) | | hash (in hex format) of the denomination trace information. | +### QueryParamsRequest +QueryParamsRequest is the request type for the Query/Params RPC method. - + -### QueryDenomTraceResponse -QueryDenomTraceResponse is the response type for the Query/DenomTrace RPC -method. +### QueryParamsResponse +QueryParamsResponse is the response type for the Query/Params RPC method. | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| `denom_trace` | [DenomTrace](#ibc.applications.transfer.v1.DenomTrace) | | denom_trace returns the requested denomination trace information. | +| `params` | [Params](#ibc.applications.interchain_accounts.host.v1.Params) | | params defines the parameters of the module. | + - + -### QueryDenomTracesRequest -QueryConnectionsRequest is the request type for the Query/DenomTraces RPC -method + -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| `pagination` | [cosmos.base.query.v1beta1.PageRequest](#cosmos.base.query.v1beta1.PageRequest) | | pagination defines an optional pagination for the request. | + +### Query +Query provides defines the gRPC querier service. +| Method Name | Request Type | Response Type | Description | HTTP Verb | Endpoint | +| ----------- | ------------ | ------------- | ------------| ------- | -------- | +| `Params` | [QueryParamsRequest](#ibc.applications.interchain_accounts.host.v1.QueryParamsRequest) | [QueryParamsResponse](#ibc.applications.interchain_accounts.host.v1.QueryParamsResponse) | Params queries all parameters of the ICA host submodule. | GET|/ibc/apps/interchain_accounts/host/v1/params| + - + +

Top

-### QueryDenomTracesResponse -QueryConnectionsResponse is the response type for the Query/DenomTraces RPC -method. +## ibc/applications/interchain_accounts/v1/account.proto -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| `denom_traces` | [DenomTrace](#ibc.applications.transfer.v1.DenomTrace) | repeated | denom_traces returns all denominations trace information. | -| `pagination` | [cosmos.base.query.v1beta1.PageResponse](#cosmos.base.query.v1beta1.PageResponse) | | pagination defines the pagination in the response. | + +### InterchainAccount +An InterchainAccount is defined as a BaseAccount & the address of the account owner on the controller chain +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| `base_account` | [cosmos.auth.v1beta1.BaseAccount](#cosmos.auth.v1beta1.BaseAccount) | | | +| `account_owner` | [string](#string) | | | - -### QueryParamsRequest -QueryParamsRequest is the request type for the Query/Params RPC method. + + + + - -### QueryParamsResponse -QueryParamsResponse is the response type for the Query/Params RPC method. + + +

Top

+ +## ibc/applications/interchain_accounts/v1/genesis.proto + + + + + +### ActiveChannel +ActiveChannel contains a pairing of port ID and channel ID for an active interchain accounts channel | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| `params` | [Params](#ibc.applications.transfer.v1.Params) | | params defines the parameters of the module. | +| `port_id` | [string](#string) | | | +| `channel_id` | [string](#string) | | | - - + - +### ControllerGenesisState +ControllerGenesisState defines the interchain accounts controller genesis state - +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| `active_channels` | [ActiveChannel](#ibc.applications.interchain_accounts.v1.ActiveChannel) | repeated | | +| `interchain_accounts` | [RegisteredInterchainAccount](#ibc.applications.interchain_accounts.v1.RegisteredInterchainAccount) | repeated | | +| `ports` | [string](#string) | repeated | | +| `params` | [ibc.applications.interchain_accounts.controller.v1.Params](#ibc.applications.interchain_accounts.controller.v1.Params) | | | + + + + + + + + +### GenesisState +GenesisState defines the interchain accounts genesis state + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| `controller_genesis_state` | [ControllerGenesisState](#ibc.applications.interchain_accounts.v1.ControllerGenesisState) | | | +| `host_genesis_state` | [HostGenesisState](#ibc.applications.interchain_accounts.v1.HostGenesisState) | | | + + + + + + + + +### HostGenesisState +HostGenesisState defines the interchain accounts host genesis state + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| `active_channels` | [ActiveChannel](#ibc.applications.interchain_accounts.v1.ActiveChannel) | repeated | | +| `interchain_accounts` | [RegisteredInterchainAccount](#ibc.applications.interchain_accounts.v1.RegisteredInterchainAccount) | repeated | | +| `port` | [string](#string) | | | +| `params` | [ibc.applications.interchain_accounts.host.v1.Params](#ibc.applications.interchain_accounts.host.v1.Params) | | | + + + + + + + + +### RegisteredInterchainAccount +RegisteredInterchainAccount contains a pairing of controller port ID and associated interchain account address + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| `port_id` | [string](#string) | | | +| `account_address` | [string](#string) | | | -### Query -Query provides defines the gRPC querier service. -| Method Name | Request Type | Response Type | Description | HTTP Verb | Endpoint | -| ----------- | ------------ | ------------- | ------------| ------- | -------- | -| `DenomTrace` | [QueryDenomTraceRequest](#ibc.applications.transfer.v1.QueryDenomTraceRequest) | [QueryDenomTraceResponse](#ibc.applications.transfer.v1.QueryDenomTraceResponse) | DenomTrace queries a denomination trace information. | GET|/ibc/apps/transfer/v1/denom_traces/{hash}| -| `DenomTraces` | [QueryDenomTracesRequest](#ibc.applications.transfer.v1.QueryDenomTracesRequest) | [QueryDenomTracesResponse](#ibc.applications.transfer.v1.QueryDenomTracesResponse) | DenomTraces queries all denomination traces. | GET|/ibc/apps/transfer/v1/denom_traces| -| `Params` | [QueryParamsRequest](#ibc.applications.transfer.v1.QueryParamsRequest) | [QueryParamsResponse](#ibc.applications.transfer.v1.QueryParamsResponse) | Params queries all parameters of the ibc-transfer module. | GET|/ibc/apps/transfer/v1/params| -| `DenomHash` | [QueryDenomHashRequest](#ibc.applications.transfer.v1.QueryDenomHashRequest) | [QueryDenomHashResponse](#ibc.applications.transfer.v1.QueryDenomHashResponse) | DenomHash queries a denomination hash information. | GET|/ibc/apps/transfer/v1/denom_hashes/{trace}| + + + + + + + + - +

Top

-## ibc/applications/transfer/v1/tx.proto +## ibc/applications/interchain_accounts/v1/packet.proto - + -### MsgTransfer -MsgTransfer defines a msg to transfer fungible tokens (i.e Coins) between -ICS20 enabled chains. See ICS Spec here: -https://github.com/cosmos/ibc/tree/master/spec/app/ics-020-fungible-token-transfer#data-structures +### CosmosTx +CosmosTx contains a list of sdk.Msg's. It should be used when sending transactions to an SDK host chain. | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| `source_port` | [string](#string) | | the port on which the packet will be sent | -| `source_channel` | [string](#string) | | the channel by which the packet will be sent | -| `token` | [cosmos.base.v1beta1.Coin](#cosmos.base.v1beta1.Coin) | | the tokens to be transferred | -| `sender` | [string](#string) | | the sender address | -| `receiver` | [string](#string) | | the recipient address on the destination chain | -| `timeout_height` | [ibc.core.client.v1.Height](#ibc.core.client.v1.Height) | | Timeout height relative to the current block height. The timeout is disabled when set to 0. | -| `timeout_timestamp` | [uint64](#uint64) | | Timeout timestamp (in nanoseconds) relative to the current block timestamp. The timeout is disabled when set to 0. | +| `messages` | [google.protobuf.Any](#google.protobuf.Any) | repeated | | - + + +### InterchainAccountPacketData +InterchainAccountPacketData is comprised of a raw transaction, type of transaction and optional memo field. -### MsgTransferResponse -MsgTransferResponse defines the Msg/Transfer response type. + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| `type` | [Type](#ibc.applications.interchain_accounts.v1.Type) | | | +| `data` | [bytes](#bytes) | | | +| `memo` | [string](#string) | | | @@ -1376,45 +1343,97 @@ MsgTransferResponse defines the Msg/Transfer response type. + + + +### Type +Type defines a classification of message issued from a controller chain to its associated interchain accounts +host + +| Name | Number | Description | +| ---- | ------ | ----------- | +| TYPE_UNSPECIFIED | 0 | Default zero value enumeration | +| TYPE_EXECUTE_TX | 1 | Execute a transaction on an interchain accounts host chain | + + + + + + + +

Top

+ +## ibc/applications/transfer/v1/transfer.proto + + + + + +### DenomTrace +DenomTrace contains the base denomination for ICS20 fungible tokens and the +source tracing information path. + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| `path` | [string](#string) | | path defines the chain of port/channel identifiers used for tracing the source of the fungible token. | +| `base_denom` | [string](#string) | | base denomination of the relayed fungible token. | + + - -### Msg -Msg defines the ibc/transfer Msg service. -| Method Name | Request Type | Response Type | Description | HTTP Verb | Endpoint | -| ----------- | ------------ | ------------- | ------------| ------- | -------- | -| `Transfer` | [MsgTransfer](#ibc.applications.transfer.v1.MsgTransfer) | [MsgTransferResponse](#ibc.applications.transfer.v1.MsgTransferResponse) | Transfer defines a rpc handler method for MsgTransfer. | | + + + +### Params +Params defines the set of IBC transfer parameters. +NOTE: To prevent a single token from being transferred, set the +TransfersEnabled parameter to true and then set the bank module's SendEnabled +parameter for the denomination to false. + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| `send_enabled` | [bool](#bool) | | send_enabled enables or disables all cross-chain token transfers from this chain. | +| `receive_enabled` | [bool](#bool) | | receive_enabled enables or disables all cross-chain token transfers to this chain. | + + + + + + + + + + - +

Top

-## ibc/applications/transfer/v2/packet.proto +## ibc/applications/transfer/v1/genesis.proto - + -### FungibleTokenPacketData -FungibleTokenPacketData defines a struct for the packet payload -See FungibleTokenPacketData spec: -https://github.com/cosmos/ibc/tree/master/spec/app/ics-020-fungible-token-transfer#data-structures +### GenesisState +GenesisState defines the ibc-transfer genesis state | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| `denom` | [string](#string) | | the token denomination to be transferred | -| `amount` | [string](#string) | | the token amount to be transferred | -| `sender` | [string](#string) | | the sender address | -| `receiver` | [string](#string) | | the recipient address on the destination chain | +| `port_id` | [string](#string) | | | +| `denom_traces` | [DenomTrace](#ibc.applications.transfer.v1.DenomTrace) | repeated | | +| `params` | [Params](#ibc.applications.transfer.v1.Params) | | | @@ -1430,131 +1449,129 @@ https://github.com/cosmos/ibc/tree/master/spec/app/ics-020-fungible-token-transf - +

Top

-## ibc/core/channel/v1/channel.proto +## ibc/applications/transfer/v1/query.proto - + -### Acknowledgement -Acknowledgement is the recommended acknowledgement format to be used by -app-specific protocols. -NOTE: The field numbers 21 and 22 were explicitly chosen to avoid accidental -conflicts with other protobuf message formats used for acknowledgements. -The first byte of any message with this format will be the non-ASCII values -`0xaa` (result) or `0xb2` (error). Implemented as defined by ICS: -https://github.com/cosmos/ibc/tree/master/spec/core/ics-004-channel-and-packet-semantics#acknowledgement-envelope +### QueryDenomHashRequest +QueryDenomHashRequest is the request type for the Query/DenomHash RPC +method | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| `result` | [bytes](#bytes) | | | -| `error` | [string](#string) | | | +| `trace` | [string](#string) | | The denomination trace ([port_id]/[channel_id])+/[denom] | - + -### Channel -Channel defines pipeline for exactly-once packet delivery between specific -modules on separate blockchains, which has at least one end capable of -sending packets and one end capable of receiving packets. +### QueryDenomHashResponse +QueryDenomHashResponse is the response type for the Query/DenomHash RPC +method. | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| `state` | [State](#ibc.core.channel.v1.State) | | current state of the channel end | -| `ordering` | [Order](#ibc.core.channel.v1.Order) | | whether the channel is ordered or unordered | -| `counterparty` | [Counterparty](#ibc.core.channel.v1.Counterparty) | | counterparty channel end | -| `connection_hops` | [string](#string) | repeated | list of connection identifiers, in order, along which packets sent on this channel will travel | -| `version` | [string](#string) | | opaque channel version, which is agreed upon during the handshake | +| `hash` | [string](#string) | | hash (in hex format) of the denomination trace information. | - + -### Counterparty -Counterparty defines a channel end counterparty +### QueryDenomTraceRequest +QueryDenomTraceRequest is the request type for the Query/DenomTrace RPC +method | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| `port_id` | [string](#string) | | port on the counterparty chain which owns the other end of the channel. | -| `channel_id` | [string](#string) | | channel end on the counterparty chain | +| `hash` | [string](#string) | | hash (in hex format) of the denomination trace information. | - + -### IdentifiedChannel -IdentifiedChannel defines a channel with additional port and channel -identifier fields. +### QueryDenomTraceResponse +QueryDenomTraceResponse is the response type for the Query/DenomTrace RPC +method. | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| `state` | [State](#ibc.core.channel.v1.State) | | current state of the channel end | -| `ordering` | [Order](#ibc.core.channel.v1.Order) | | whether the channel is ordered or unordered | -| `counterparty` | [Counterparty](#ibc.core.channel.v1.Counterparty) | | counterparty channel end | -| `connection_hops` | [string](#string) | repeated | list of connection identifiers, in order, along which packets sent on this channel will travel | -| `version` | [string](#string) | | opaque channel version, which is agreed upon during the handshake | -| `port_id` | [string](#string) | | port identifier | -| `channel_id` | [string](#string) | | channel identifier | +| `denom_trace` | [DenomTrace](#ibc.applications.transfer.v1.DenomTrace) | | denom_trace returns the requested denomination trace information. | - + -### Packet -Packet defines a type that carries data across different chains through IBC +### QueryDenomTracesRequest +QueryConnectionsRequest is the request type for the Query/DenomTraces RPC +method | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| `sequence` | [uint64](#uint64) | | number corresponds to the order of sends and receives, where a Packet with an earlier sequence number must be sent and received before a Packet with a later sequence number. | -| `source_port` | [string](#string) | | identifies the port on the sending chain. | -| `source_channel` | [string](#string) | | identifies the channel end on the sending chain. | -| `destination_port` | [string](#string) | | identifies the port on the receiving chain. | -| `destination_channel` | [string](#string) | | identifies the channel end on the receiving chain. | -| `data` | [bytes](#bytes) | | actual opaque bytes transferred directly to the application module | -| `timeout_height` | [ibc.core.client.v1.Height](#ibc.core.client.v1.Height) | | block height after which the packet times out | -| `timeout_timestamp` | [uint64](#uint64) | | block timestamp (in nanoseconds) after which the packet times out | +| `pagination` | [cosmos.base.query.v1beta1.PageRequest](#cosmos.base.query.v1beta1.PageRequest) | | pagination defines an optional pagination for the request. | - + -### PacketState -PacketState defines the generic type necessary to retrieve and store -packet commitments, acknowledgements, and receipts. -Caller is responsible for knowing the context necessary to interpret this -state as a commitment, acknowledgement, or a receipt. +### QueryDenomTracesResponse +QueryConnectionsResponse is the response type for the Query/DenomTraces RPC +method. | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| `port_id` | [string](#string) | | channel port identifier. | -| `channel_id` | [string](#string) | | channel unique identifier. | -| `sequence` | [uint64](#uint64) | | packet sequence. | -| `data` | [bytes](#bytes) | | embedded data that represents packet state. | +| `denom_traces` | [DenomTrace](#ibc.applications.transfer.v1.DenomTrace) | repeated | denom_traces returns all denominations trace information. | +| `pagination` | [cosmos.base.query.v1beta1.PageResponse](#cosmos.base.query.v1beta1.PageResponse) | | pagination defines the pagination in the response. | + + + + + + + + +### QueryParamsRequest +QueryParamsRequest is the request type for the Query/Params RPC method. + + + + + + + + +### QueryParamsResponse +QueryParamsResponse is the response type for the Query/Params RPC method. + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| `params` | [Params](#ibc.applications.transfer.v1.Params) | | params defines the parameters of the module. | @@ -1562,34 +1579,113 @@ state as a commitment, acknowledgement, or a receipt. + - + -### Order -Order defines if a channel is ORDERED or UNORDERED -| Name | Number | Description | -| ---- | ------ | ----------- | -| ORDER_NONE_UNSPECIFIED | 0 | zero-value for channel ordering | -| ORDER_UNORDERED | 1 | packets can be delivered in any order, which may differ from the order in which they were sent. | -| ORDER_ORDERED | 2 | packets are delivered exactly in the order which they were sent | + +### Query +Query provides defines the gRPC querier service. +| Method Name | Request Type | Response Type | Description | HTTP Verb | Endpoint | +| ----------- | ------------ | ------------- | ------------| ------- | -------- | +| `DenomTrace` | [QueryDenomTraceRequest](#ibc.applications.transfer.v1.QueryDenomTraceRequest) | [QueryDenomTraceResponse](#ibc.applications.transfer.v1.QueryDenomTraceResponse) | DenomTrace queries a denomination trace information. | GET|/ibc/apps/transfer/v1/denom_traces/{hash}| +| `DenomTraces` | [QueryDenomTracesRequest](#ibc.applications.transfer.v1.QueryDenomTracesRequest) | [QueryDenomTracesResponse](#ibc.applications.transfer.v1.QueryDenomTracesResponse) | DenomTraces queries all denomination traces. | GET|/ibc/apps/transfer/v1/denom_traces| +| `Params` | [QueryParamsRequest](#ibc.applications.transfer.v1.QueryParamsRequest) | [QueryParamsResponse](#ibc.applications.transfer.v1.QueryParamsResponse) | Params queries all parameters of the ibc-transfer module. | GET|/ibc/apps/transfer/v1/params| +| `DenomHash` | [QueryDenomHashRequest](#ibc.applications.transfer.v1.QueryDenomHashRequest) | [QueryDenomHashResponse](#ibc.applications.transfer.v1.QueryDenomHashResponse) | DenomHash queries a denomination hash information. | GET|/ibc/apps/transfer/v1/denom_hashes/{trace}| - + -### State -State defines if a channel is in one of the following states: -CLOSED, INIT, TRYOPEN, OPEN or UNINITIALIZED. -| Name | Number | Description | -| ---- | ------ | ----------- | -| STATE_UNINITIALIZED_UNSPECIFIED | 0 | Default State | -| STATE_INIT | 1 | A channel has just started the opening handshake. | -| STATE_TRYOPEN | 2 | A channel has acknowledged the handshake step on the counterparty chain. | -| STATE_OPEN | 3 | A channel has completed the handshake. Open channels are ready to send and receive packets. | -| STATE_CLOSED | 4 | A channel has been closed and can no longer be used to send or receive packets. | + +

Top

+ +## ibc/applications/transfer/v1/tx.proto + + + + + +### MsgTransfer +MsgTransfer defines a msg to transfer fungible tokens (i.e Coins) between +ICS20 enabled chains. See ICS Spec here: +https://github.com/cosmos/ibc/tree/master/spec/app/ics-020-fungible-token-transfer#data-structures + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| `source_port` | [string](#string) | | the port on which the packet will be sent | +| `source_channel` | [string](#string) | | the channel by which the packet will be sent | +| `token` | [cosmos.base.v1beta1.Coin](#cosmos.base.v1beta1.Coin) | | the tokens to be transferred | +| `sender` | [string](#string) | | the sender address | +| `receiver` | [string](#string) | | the recipient address on the destination chain | +| `timeout_height` | [ibc.core.client.v1.Height](#ibc.core.client.v1.Height) | | Timeout height relative to the current block height. The timeout is disabled when set to 0. | +| `timeout_timestamp` | [uint64](#uint64) | | Timeout timestamp (in nanoseconds) relative to the current block timestamp. The timeout is disabled when set to 0. | + + + + + + + + +### MsgTransferResponse +MsgTransferResponse defines the Msg/Transfer response type. + + + + + + + + + + + + + + +### Msg +Msg defines the ibc/transfer Msg service. + +| Method Name | Request Type | Response Type | Description | HTTP Verb | Endpoint | +| ----------- | ------------ | ------------- | ------------| ------- | -------- | +| `Transfer` | [MsgTransfer](#ibc.applications.transfer.v1.MsgTransfer) | [MsgTransferResponse](#ibc.applications.transfer.v1.MsgTransferResponse) | Transfer defines a rpc handler method for MsgTransfer. | | + + + + + + +

Top

+ +## ibc/applications/transfer/v2/packet.proto + + + + + +### FungibleTokenPacketData +FungibleTokenPacketData defines a struct for the packet payload +See FungibleTokenPacketData spec: +https://github.com/cosmos/ibc/tree/master/spec/app/ics-020-fungible-token-transfer#data-structures + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| `denom` | [string](#string) | | the token denomination to be transferred | +| `amount` | [string](#string) | | the token amount to be transferred | +| `sender` | [string](#string) | | the sender address | +| `receiver` | [string](#string) | | the recipient address on the destination chain | + + + + + + diff --git a/go.mod b/go.mod index 3e5f606755d..2cfda348a7d 100644 --- a/go.mod +++ b/go.mod @@ -54,7 +54,6 @@ require ( github.com/dvsekhvalnov/jose2go v0.0.0-20200901110807-248326c1351b // indirect github.com/felixge/httpsnoop v1.0.1 // indirect github.com/fsnotify/fsnotify v1.5.1 // indirect - github.com/gin-gonic/gin v1.7.0 // indirect github.com/go-kit/kit v0.10.0 // indirect github.com/go-logfmt/logfmt v0.5.0 // indirect github.com/godbus/dbus v0.0.0-20190726142602-4481cbc300e2 // indirect @@ -87,8 +86,6 @@ require ( github.com/mitchellh/go-homedir v1.1.0 // indirect github.com/mitchellh/mapstructure v1.4.3 // indirect github.com/mtibben/percent v0.2.1 // indirect - github.com/opencontainers/image-spec v1.0.2 // indirect - github.com/opencontainers/runc v1.0.3 // indirect github.com/pelletier/go-toml v1.9.4 // indirect github.com/petermattis/goid v0.0.0-20180202154549-b0b1615b78e5 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect @@ -120,3 +117,10 @@ require ( gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b // indirect nhooyr.io/websocket v1.8.6 // indirect ) + +require ( + github.com/cosmos/ibc-go v1.2.5 + github.com/gin-gonic/gin v1.7.0 // indirect + github.com/opencontainers/image-spec v1.0.2 // indirect + github.com/opencontainers/runc v1.0.3 // indirect +) diff --git a/go.sum b/go.sum index 8342959fd77..65b440dd4a3 100644 --- a/go.sum +++ b/go.sum @@ -209,6 +209,8 @@ github.com/cosmos/go-bip39 v1.0.0 h1:pcomnQdrdH22njcAatO0yWojsUnCO3y2tNoV1cb6hHY github.com/cosmos/go-bip39 v1.0.0/go.mod h1:RNJv0H/pOIVgxw6KS7QeX2a0Uo0aKUlfhZ4xuwvCdJw= github.com/cosmos/iavl v0.17.3 h1:s2N819a2olOmiauVa0WAhoIJq9EhSXE9HDBAoR9k+8Y= github.com/cosmos/iavl v0.17.3/go.mod h1:prJoErZFABYZGDHka1R6Oay4z9PrNeFFiMKHDAMOi4w= +github.com/cosmos/ibc-go v1.2.5 h1:BiA48yKEDUcabBRkmp7qqSX41ZrgXTSNCtdjDURbLwE= +github.com/cosmos/ibc-go v1.2.5/go.mod h1:wkGkkX8Ou6yXgE8lO2xP9NOwo+Tl5x1dJaTTE6jBDpg= github.com/cosmos/ledger-cosmos-go v0.11.1 h1:9JIYsGnXP613pb2vPjFeMMjBI5lEDsEaF6oYorTy6J4= github.com/cosmos/ledger-cosmos-go v0.11.1/go.mod h1:J8//BsAGTo3OC/vDLjMRFLW6q0WAaXvHnVc7ZmE8iUY= github.com/cosmos/ledger-go v0.9.2 h1:Nnao/dLwaVTk1Q5U9THldpUMMXU94BOTWPddSmVB6pI= @@ -628,6 +630,7 @@ github.com/mitchellh/mapstructure v0.0.0-20160808181253-ca63d7c062ee/go.mod h1:F github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= github.com/mitchellh/mapstructure v1.3.3/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= github.com/mitchellh/mapstructure v1.4.1/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= +github.com/mitchellh/mapstructure v1.4.2/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= github.com/mitchellh/mapstructure v1.4.3 h1:OVowDSCllw/YjdLkam3/sm7wEtOy59d8ndGgCcyj8cs= github.com/mitchellh/mapstructure v1.4.3/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= github.com/moby/sys/mountinfo v0.4.1/go.mod h1:rEr8tzG/lsIZHBtN/JjGG+LMYx9eXgW2JI+6q0qou+A= @@ -1455,6 +1458,7 @@ gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMy gopkg.in/gcfg.v1 v1.2.3/go.mod h1:yesOnuUOFQAhST5vPY4nbZsb/huCgGGXlipJsBn0b3o= gopkg.in/ini.v1 v1.51.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= gopkg.in/ini.v1 v1.62.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= +gopkg.in/ini.v1 v1.63.2/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= gopkg.in/ini.v1 v1.66.2 h1:XfR1dOYubytKy4Shzc2LHrrGhU0lDCfDGG1yLPmpgsI= gopkg.in/ini.v1 v1.66.2/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= gopkg.in/natefinch/npipe.v2 v2.0.0-20160621034901-c1b8fa8bdcce/go.mod h1:5AcXVHNjg+BDxry382+8OKon8SEWiKktQR07RKPsv1c= diff --git a/modules/core/04-channel/types/channel.pb.go b/modules/core/04-channel/types/channel.pb.go index aa333852ef2..3ce5ce3a2e1 100644 --- a/modules/core/04-channel/types/channel.pb.go +++ b/modules/core/04-channel/types/channel.pb.go @@ -501,64 +501,65 @@ func init() { func init() { proto.RegisterFile("ibc/core/channel/v1/channel.proto", fileDescriptor_c3a07336710636a0) } var fileDescriptor_c3a07336710636a0 = []byte{ - // 911 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x55, 0xcd, 0x8e, 0xda, 0x56, - 0x14, 0xc6, 0x83, 0xf9, 0x3b, 0x0c, 0x0c, 0x73, 0xd3, 0x21, 0xae, 0x9b, 0x60, 0x62, 0x75, 0x31, - 0x4a, 0x15, 0xc8, 0x24, 0x51, 0xab, 0x66, 0xd5, 0xe1, 0x27, 0x1a, 0xab, 0x11, 0x8c, 0x0c, 0xb3, - 0x68, 0x36, 0x14, 0xec, 0x5b, 0xb0, 0x02, 0xbe, 0xd4, 0xbe, 0x30, 0x9a, 0x37, 0x88, 0x58, 0xf5, - 0x05, 0x90, 0x2a, 0x55, 0xed, 0x2b, 0xf4, 0x15, 0xb2, 0xcc, 0xb2, 0x2b, 0xab, 0x9a, 0x59, 0x74, - 0xcf, 0x0b, 0xb4, 0xf2, 0xbd, 0xd7, 0xfc, 0x4c, 0xa2, 0x2c, 0xbb, 0xca, 0x8a, 0x7b, 0xbe, 0xef, - 0x3b, 0x3f, 0x3e, 0xe7, 0x70, 0x2f, 0x3c, 0x70, 0x06, 0x56, 0xd5, 0x22, 0x1e, 0xae, 0x5a, 0xa3, - 0xbe, 0xeb, 0xe2, 0x71, 0x75, 0x7e, 0x12, 0x1d, 0x2b, 0x53, 0x8f, 0x50, 0x82, 0xee, 0x38, 0x03, - 0xab, 0x12, 0x4a, 0x2a, 0x11, 0x3e, 0x3f, 0x51, 0x3f, 0x1b, 0x92, 0x21, 0x61, 0x7c, 0x35, 0x3c, - 0x71, 0xa9, 0xaa, 0x6d, 0xa2, 0x8d, 0x1d, 0xec, 0x52, 0x16, 0x8c, 0x9d, 0xb8, 0x40, 0xff, 0x7d, - 0x0f, 0x52, 0x75, 0x1e, 0x05, 0x3d, 0x86, 0x84, 0x4f, 0xfb, 0x14, 0x2b, 0x52, 0x59, 0x3a, 0xce, - 0x3f, 0x51, 0x2b, 0x1f, 0xc8, 0x53, 0xe9, 0x84, 0x0a, 0x93, 0x0b, 0xd1, 0xd7, 0x90, 0x26, 0x9e, - 0x8d, 0x3d, 0xc7, 0x1d, 0x2a, 0x7b, 0x1f, 0x71, 0x6a, 0x87, 0x22, 0x73, 0xad, 0x45, 0xdf, 0xc3, - 0xbe, 0x45, 0x66, 0x2e, 0xc5, 0xde, 0xb4, 0xef, 0xd1, 0x2b, 0x25, 0x5e, 0x96, 0x8e, 0xb3, 0x4f, - 0x1e, 0x7c, 0xd0, 0xb7, 0xbe, 0x25, 0xac, 0xc9, 0x6f, 0x03, 0x2d, 0x66, 0xee, 0x38, 0xa3, 0x3a, - 0x1c, 0x58, 0xc4, 0x75, 0xb1, 0x45, 0x1d, 0xe2, 0xf6, 0x46, 0x64, 0xea, 0x2b, 0x72, 0x39, 0x7e, - 0x9c, 0xa9, 0xa9, 0xab, 0x40, 0x2b, 0x5e, 0xf5, 0x27, 0xe3, 0xe7, 0xfa, 0x2d, 0x81, 0x6e, 0xe6, - 0x37, 0xc8, 0x19, 0x99, 0xfa, 0x48, 0x81, 0xd4, 0x1c, 0x7b, 0xbe, 0x43, 0x5c, 0x25, 0x51, 0x96, - 0x8e, 0x33, 0x66, 0x64, 0x3e, 0x97, 0xdf, 0xfc, 0xaa, 0xc5, 0xf4, 0x7f, 0xf6, 0xe0, 0xd0, 0xb0, - 0xb1, 0x4b, 0x9d, 0x9f, 0x1c, 0x6c, 0x7f, 0xea, 0xd8, 0x47, 0x3a, 0x86, 0xee, 0x42, 0x6a, 0x4a, - 0x3c, 0xda, 0x73, 0x6c, 0x25, 0xc9, 0x98, 0x64, 0x68, 0x1a, 0x36, 0xba, 0x0f, 0x20, 0xca, 0x0c, - 0xb9, 0x14, 0xe3, 0x32, 0x02, 0x31, 0x6c, 0xd1, 0xe9, 0x4b, 0xd8, 0xdf, 0xfe, 0x00, 0xf4, 0xd5, - 0x26, 0x5a, 0xd8, 0xe5, 0x4c, 0x0d, 0xad, 0x02, 0x2d, 0xcf, 0x8b, 0x14, 0x84, 0xbe, 0xce, 0xf0, - 0x6c, 0x27, 0xc3, 0x1e, 0xd3, 0x1f, 0xad, 0x02, 0xed, 0x50, 0x7c, 0xd4, 0x9a, 0xd3, 0xdf, 0x4f, - 0xfc, 0x6f, 0x1c, 0x92, 0xe7, 0x7d, 0xeb, 0x35, 0xa6, 0x48, 0x85, 0xb4, 0x8f, 0x7f, 0x9e, 0x61, - 0xd7, 0xe2, 0xa3, 0x95, 0xcd, 0xb5, 0x8d, 0xbe, 0x81, 0xac, 0x4f, 0x66, 0x9e, 0x85, 0x7b, 0x61, - 0x4e, 0x91, 0xa3, 0xb8, 0x0a, 0x34, 0xc4, 0x73, 0x6c, 0x91, 0xba, 0x09, 0xdc, 0x3a, 0x27, 0x1e, - 0x45, 0xdf, 0x41, 0x5e, 0x70, 0x22, 0x33, 0x1b, 0x62, 0xa6, 0xf6, 0xf9, 0x2a, 0xd0, 0x8e, 0x76, - 0x7c, 0x05, 0xaf, 0x9b, 0x39, 0x0e, 0x44, 0xeb, 0xf6, 0x02, 0x0a, 0x36, 0xf6, 0xa9, 0xe3, 0xf6, - 0xd9, 0x5c, 0x58, 0x7e, 0x99, 0xc5, 0xf8, 0x62, 0x15, 0x68, 0x77, 0x79, 0x8c, 0xdb, 0x0a, 0xdd, - 0x3c, 0xd8, 0x82, 0x58, 0x25, 0x6d, 0xb8, 0xb3, 0xad, 0x8a, 0xca, 0x61, 0x63, 0xac, 0x95, 0x56, - 0x81, 0xa6, 0xbe, 0x1f, 0x6a, 0x5d, 0x13, 0xda, 0x42, 0xa3, 0xc2, 0x10, 0xc8, 0x76, 0x9f, 0xf6, - 0xd9, 0xb8, 0xf7, 0x4d, 0x76, 0x46, 0x3f, 0x42, 0x9e, 0x3a, 0x13, 0x4c, 0x66, 0xb4, 0x37, 0xc2, - 0xce, 0x70, 0x44, 0xd9, 0xc0, 0xb3, 0x3b, 0xfb, 0xce, 0x6f, 0xa2, 0xf9, 0x49, 0xe5, 0x8c, 0x29, - 0x6a, 0xf7, 0xc3, 0x65, 0xdd, 0xb4, 0x63, 0xd7, 0x5f, 0x37, 0x73, 0x02, 0xe0, 0x6a, 0x64, 0xc0, - 0x61, 0xa4, 0x08, 0x7f, 0x7d, 0xda, 0x9f, 0x4c, 0x95, 0x74, 0x38, 0xae, 0xda, 0xbd, 0x55, 0xa0, - 0x29, 0xbb, 0x41, 0xd6, 0x12, 0xdd, 0x2c, 0x08, 0xac, 0x1b, 0x41, 0x62, 0x03, 0xfe, 0x90, 0x20, - 0xcb, 0x37, 0x80, 0xfd, 0x67, 0xff, 0x87, 0xd5, 0xdb, 0xd9, 0xb4, 0xf8, 0xad, 0x4d, 0x8b, 0xba, - 0x2a, 0x6f, 0xba, 0x2a, 0x0a, 0x6d, 0xc3, 0xc1, 0xa9, 0xf5, 0xda, 0x25, 0x97, 0x63, 0x6c, 0x0f, - 0xf1, 0x04, 0xbb, 0x14, 0x29, 0x90, 0xf4, 0xb0, 0x3f, 0x1b, 0x53, 0xe5, 0x28, 0x94, 0x9f, 0xc5, - 0x4c, 0x61, 0xa3, 0x22, 0x24, 0xb0, 0xe7, 0x11, 0x4f, 0x29, 0x86, 0x35, 0x9d, 0xc5, 0x4c, 0x6e, - 0xd6, 0x00, 0xd2, 0x1e, 0xf6, 0xa7, 0xc4, 0xf5, 0xf1, 0xc3, 0x3f, 0x25, 0x48, 0x74, 0xc4, 0x05, - 0xa5, 0x75, 0xba, 0xa7, 0xdd, 0x66, 0xef, 0xa2, 0x65, 0xb4, 0x8c, 0xae, 0x71, 0xfa, 0xd2, 0x78, - 0xd5, 0x6c, 0xf4, 0x2e, 0x5a, 0x9d, 0xf3, 0x66, 0xdd, 0x78, 0x61, 0x34, 0x1b, 0x85, 0x98, 0x7a, - 0xb8, 0x58, 0x96, 0x73, 0x3b, 0x02, 0xa4, 0x00, 0x70, 0xbf, 0x10, 0x2c, 0x48, 0x6a, 0x7a, 0xb1, - 0x2c, 0xcb, 0xe1, 0x19, 0x95, 0x20, 0xc7, 0x99, 0xae, 0xf9, 0x43, 0xfb, 0xbc, 0xd9, 0x2a, 0xec, - 0xa9, 0xd9, 0xc5, 0xb2, 0x9c, 0x12, 0xe6, 0xc6, 0x93, 0x91, 0x71, 0xee, 0xc9, 0x98, 0x7b, 0xb0, - 0xcf, 0x99, 0xfa, 0xcb, 0x76, 0xa7, 0xd9, 0x28, 0xc8, 0x2a, 0x2c, 0x96, 0xe5, 0x24, 0xb7, 0x54, - 0xf9, 0xcd, 0x6f, 0xa5, 0xd8, 0xc3, 0x4b, 0x48, 0xb0, 0xbb, 0x12, 0x7d, 0x09, 0xc5, 0xb6, 0xd9, - 0x68, 0x9a, 0xbd, 0x56, 0xbb, 0xd5, 0xbc, 0x55, 0x2f, 0x0b, 0x19, 0xe2, 0x48, 0x87, 0x03, 0xae, - 0xba, 0x68, 0xb1, 0xdf, 0x66, 0xa3, 0x20, 0xa9, 0xb9, 0xc5, 0xb2, 0x9c, 0x59, 0x03, 0x61, 0xc1, - 0x5c, 0x13, 0x29, 0x44, 0xc1, 0xc2, 0xe4, 0x89, 0x6b, 0x9d, 0xb7, 0xd7, 0x25, 0xe9, 0xdd, 0x75, - 0x49, 0xfa, 0xfb, 0xba, 0x24, 0xfd, 0x72, 0x53, 0x8a, 0xbd, 0xbb, 0x29, 0xc5, 0xfe, 0xba, 0x29, - 0xc5, 0x5e, 0x7d, 0x3b, 0x74, 0xe8, 0x68, 0x36, 0xa8, 0x58, 0x64, 0x52, 0xb5, 0x88, 0x3f, 0x21, - 0x7e, 0xd5, 0x19, 0x58, 0x8f, 0x86, 0xa4, 0x3a, 0x7f, 0x5a, 0x9d, 0x10, 0x7b, 0x36, 0xc6, 0x3e, - 0x7f, 0x94, 0x1f, 0x3f, 0x7b, 0x14, 0xbd, 0xf2, 0xf4, 0x6a, 0x8a, 0xfd, 0x41, 0x92, 0xbd, 0xca, - 0x4f, 0xff, 0x0b, 0x00, 0x00, 0xff, 0xff, 0xa8, 0x31, 0x31, 0xe5, 0x06, 0x08, 0x00, 0x00, + // 925 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x56, 0xcd, 0x8e, 0x1a, 0x47, + 0x10, 0x66, 0x60, 0xf8, 0x2b, 0x16, 0x96, 0x6d, 0x67, 0xf1, 0x64, 0x62, 0x33, 0x78, 0x94, 0xc3, + 0xca, 0x91, 0xc1, 0x6b, 0x5b, 0x89, 0xe2, 0x53, 0x96, 0x1f, 0x6b, 0x47, 0xb1, 0x60, 0x35, 0xb0, + 0x87, 0xf8, 0x42, 0x60, 0xa6, 0x03, 0x23, 0xc3, 0x34, 0x99, 0x69, 0x58, 0xed, 0x1b, 0x58, 0x5c, + 0x92, 0x17, 0x40, 0x8a, 0x14, 0x25, 0xaf, 0x90, 0x57, 0xf0, 0xd1, 0xc7, 0x9c, 0x50, 0xb4, 0x7b, + 0xc8, 0x9d, 0x17, 0x48, 0x34, 0xdd, 0x3d, 0xfc, 0xac, 0xad, 0x3d, 0x26, 0x17, 0x9f, 0xe8, 0xaa, + 0xef, 0xab, 0xaa, 0x6f, 0xaa, 0x8a, 0x56, 0xc3, 0x03, 0xa7, 0x6f, 0x55, 0x2c, 0xe2, 0xe1, 0x8a, + 0x35, 0xec, 0xb9, 0x2e, 0x1e, 0x55, 0x66, 0xc7, 0xe1, 0xb1, 0x3c, 0xf1, 0x08, 0x25, 0xe8, 0x8e, + 0xd3, 0xb7, 0xca, 0x01, 0xa5, 0x1c, 0xfa, 0x67, 0xc7, 0xea, 0x27, 0x03, 0x32, 0x20, 0x0c, 0xaf, + 0x04, 0x27, 0x4e, 0x55, 0xb5, 0x4d, 0xb6, 0x91, 0x83, 0x5d, 0xca, 0x92, 0xb1, 0x13, 0x27, 0xe8, + 0xbf, 0x45, 0x21, 0x59, 0xe3, 0x59, 0xd0, 0x63, 0x88, 0xfb, 0xb4, 0x47, 0xb1, 0x22, 0x95, 0xa4, + 0xa3, 0xdc, 0x13, 0xb5, 0xfc, 0x81, 0x3a, 0xe5, 0x76, 0xc0, 0x30, 0x39, 0x11, 0x7d, 0x09, 0x29, + 0xe2, 0xd9, 0xd8, 0x73, 0xdc, 0x81, 0x12, 0xbd, 0x25, 0xa8, 0x15, 0x90, 0xcc, 0x35, 0x17, 0x7d, + 0x0b, 0x7b, 0x16, 0x99, 0xba, 0x14, 0x7b, 0x93, 0x9e, 0x47, 0x2f, 0x95, 0x58, 0x49, 0x3a, 0xca, + 0x3c, 0x79, 0xf0, 0xc1, 0xd8, 0xda, 0x16, 0xb1, 0x2a, 0xbf, 0x5d, 0x6a, 0x11, 0x73, 0x27, 0x18, + 0xd5, 0x60, 0xdf, 0x22, 0xae, 0x8b, 0x2d, 0xea, 0x10, 0xb7, 0x3b, 0x24, 0x13, 0x5f, 0x91, 0x4b, + 0xb1, 0xa3, 0x74, 0x55, 0x5d, 0x2d, 0xb5, 0xc2, 0x65, 0x6f, 0x3c, 0x7a, 0xae, 0xdf, 0x20, 0xe8, + 0x66, 0x6e, 0xe3, 0x39, 0x25, 0x13, 0x1f, 0x29, 0x90, 0x9c, 0x61, 0xcf, 0x77, 0x88, 0xab, 0xc4, + 0x4b, 0xd2, 0x51, 0xda, 0x0c, 0xcd, 0xe7, 0xf2, 0x9b, 0x5f, 0xb4, 0x88, 0xfe, 0x77, 0x14, 0x0e, + 0x0c, 0x1b, 0xbb, 0xd4, 0xf9, 0xc1, 0xc1, 0xf6, 0xc7, 0x8e, 0xdd, 0xd2, 0x31, 0x74, 0x17, 0x92, + 0x13, 0xe2, 0xd1, 0xae, 0x63, 0x2b, 0x09, 0x86, 0x24, 0x02, 0xd3, 0xb0, 0xd1, 0x7d, 0x00, 0x21, + 0x33, 0xc0, 0x92, 0x0c, 0x4b, 0x0b, 0x8f, 0x61, 0x8b, 0x4e, 0x5f, 0xc0, 0xde, 0xf6, 0x07, 0xa0, + 0x2f, 0x36, 0xd9, 0x82, 0x2e, 0xa7, 0xab, 0x68, 0xb5, 0xd4, 0x72, 0x5c, 0xa4, 0x00, 0xf4, 0x75, + 0x85, 0x67, 0x3b, 0x15, 0xa2, 0x8c, 0x7f, 0xb8, 0x5a, 0x6a, 0x07, 0xe2, 0xa3, 0xd6, 0x98, 0xfe, + 0x7e, 0xe1, 0x7f, 0x62, 0x90, 0x38, 0xeb, 0x59, 0xaf, 0x31, 0x45, 0x2a, 0xa4, 0x7c, 0xfc, 0xe3, + 0x14, 0xbb, 0x16, 0x1f, 0xad, 0x6c, 0xae, 0x6d, 0xf4, 0x15, 0x64, 0x7c, 0x32, 0xf5, 0x2c, 0xdc, + 0x0d, 0x6a, 0x8a, 0x1a, 0x85, 0xd5, 0x52, 0x43, 0xbc, 0xc6, 0x16, 0xa8, 0x9b, 0xc0, 0xad, 0x33, + 0xe2, 0x51, 0xf4, 0x0d, 0xe4, 0x04, 0x26, 0x2a, 0xb3, 0x21, 0xa6, 0xab, 0x9f, 0xae, 0x96, 0xda, + 0xe1, 0x4e, 0xac, 0xc0, 0x75, 0x33, 0xcb, 0x1d, 0xe1, 0xba, 0xbd, 0x80, 0xbc, 0x8d, 0x7d, 0xea, + 0xb8, 0x3d, 0x36, 0x17, 0x56, 0x5f, 0x66, 0x39, 0x3e, 0x5b, 0x2d, 0xb5, 0xbb, 0x3c, 0xc7, 0x4d, + 0x86, 0x6e, 0xee, 0x6f, 0xb9, 0x98, 0x92, 0x16, 0xdc, 0xd9, 0x66, 0x85, 0x72, 0xd8, 0x18, 0xab, + 0xc5, 0xd5, 0x52, 0x53, 0xdf, 0x4f, 0xb5, 0xd6, 0x84, 0xb6, 0xbc, 0xa1, 0x30, 0x04, 0xb2, 0xdd, + 0xa3, 0x3d, 0x36, 0xee, 0x3d, 0x93, 0x9d, 0xd1, 0xf7, 0x90, 0xa3, 0xce, 0x18, 0x93, 0x29, 0xed, + 0x0e, 0xb1, 0x33, 0x18, 0x52, 0x36, 0xf0, 0xcc, 0xce, 0xbe, 0xf3, 0x9b, 0x68, 0x76, 0x5c, 0x3e, + 0x65, 0x8c, 0xea, 0xfd, 0x60, 0x59, 0x37, 0xed, 0xd8, 0x8d, 0xd7, 0xcd, 0xac, 0x70, 0x70, 0x36, + 0x32, 0xe0, 0x20, 0x64, 0x04, 0xbf, 0x3e, 0xed, 0x8d, 0x27, 0x4a, 0x2a, 0x18, 0x57, 0xf5, 0xde, + 0x6a, 0xa9, 0x29, 0xbb, 0x49, 0xd6, 0x14, 0xdd, 0xcc, 0x0b, 0x5f, 0x27, 0x74, 0x89, 0x0d, 0xf8, + 0x5d, 0x82, 0x0c, 0xdf, 0x00, 0xf6, 0x9f, 0xfd, 0x0f, 0x56, 0x6f, 0x67, 0xd3, 0x62, 0x37, 0x36, + 0x2d, 0xec, 0xaa, 0xbc, 0xe9, 0xaa, 0x10, 0xfa, 0x93, 0x04, 0x29, 0x2e, 0xd4, 0xb0, 0xff, 0x67, + 0x95, 0x42, 0x51, 0x0b, 0xf6, 0x4f, 0xac, 0xd7, 0x2e, 0xb9, 0x18, 0x61, 0x7b, 0x80, 0xc7, 0xd8, + 0xa5, 0x48, 0x81, 0x84, 0x87, 0xfd, 0xe9, 0x88, 0x2a, 0x87, 0xc1, 0x07, 0x9c, 0x46, 0x4c, 0x61, + 0xa3, 0x02, 0xc4, 0xb1, 0xe7, 0x11, 0x4f, 0x29, 0x04, 0xf5, 0x4f, 0x23, 0x26, 0x37, 0xab, 0x00, + 0x29, 0x0f, 0xfb, 0x13, 0xe2, 0xfa, 0xf8, 0xe1, 0x1f, 0x12, 0xc4, 0xdb, 0xe2, 0xca, 0xd4, 0xda, + 0x9d, 0x93, 0x4e, 0xa3, 0x7b, 0xde, 0x34, 0x9a, 0x46, 0xc7, 0x38, 0x79, 0x69, 0xbc, 0x6a, 0xd4, + 0xbb, 0xe7, 0xcd, 0xf6, 0x59, 0xa3, 0x66, 0xbc, 0x30, 0x1a, 0xf5, 0x7c, 0x44, 0x3d, 0x98, 0x2f, + 0x4a, 0xd9, 0x1d, 0x02, 0x52, 0x00, 0x78, 0x5c, 0xe0, 0xcc, 0x4b, 0x6a, 0x6a, 0xbe, 0x28, 0xc9, + 0xc1, 0x19, 0x15, 0x21, 0xcb, 0x91, 0x8e, 0xf9, 0x5d, 0xeb, 0xac, 0xd1, 0xcc, 0x47, 0xd5, 0xcc, + 0x7c, 0x51, 0x4a, 0x0a, 0x73, 0x13, 0xc9, 0xc0, 0x18, 0x8f, 0x64, 0xc8, 0x3d, 0xd8, 0xe3, 0x48, + 0xed, 0x65, 0xab, 0xdd, 0xa8, 0xe7, 0x65, 0x15, 0xe6, 0x8b, 0x52, 0x82, 0x5b, 0xaa, 0xfc, 0xe6, + 0xd7, 0x62, 0xe4, 0xe1, 0x05, 0xc4, 0xd9, 0xed, 0x8d, 0x3e, 0x87, 0x42, 0xcb, 0xac, 0x37, 0xcc, + 0x6e, 0xb3, 0xd5, 0x6c, 0xdc, 0xd0, 0xcb, 0x52, 0x06, 0x7e, 0xa4, 0xc3, 0x3e, 0x67, 0x9d, 0x37, + 0xd9, 0x6f, 0xa3, 0x9e, 0x97, 0xd4, 0xec, 0x7c, 0x51, 0x4a, 0xaf, 0x1d, 0x81, 0x60, 0xce, 0x09, + 0x19, 0x42, 0xb0, 0x30, 0x79, 0xe1, 0x6a, 0xfb, 0xed, 0x55, 0x51, 0x7a, 0x77, 0x55, 0x94, 0xfe, + 0xba, 0x2a, 0x4a, 0x3f, 0x5f, 0x17, 0x23, 0xef, 0xae, 0x8b, 0x91, 0x3f, 0xaf, 0x8b, 0x91, 0x57, + 0x5f, 0x0f, 0x1c, 0x3a, 0x9c, 0xf6, 0xcb, 0x16, 0x19, 0x57, 0x2c, 0xe2, 0x8f, 0x89, 0x5f, 0x71, + 0xfa, 0xd6, 0xa3, 0x01, 0xa9, 0xcc, 0x9e, 0x56, 0xc6, 0xc4, 0x9e, 0x8e, 0xb0, 0xcf, 0x9f, 0x09, + 0x8f, 0x9f, 0x3d, 0x0a, 0xdf, 0x1d, 0xf4, 0x72, 0x82, 0xfd, 0x7e, 0x82, 0xbd, 0x13, 0x9e, 0xfe, + 0x1b, 0x00, 0x00, 0xff, 0xff, 0x47, 0xf5, 0x82, 0xa6, 0x98, 0x08, 0x00, 0x00, } func (m *Channel) Marshal() (dAtA []byte, err error) { From 0fbc6bbfab8676d6223cb99dd10a864c3cb7c93f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Colin=20Axn=C3=A9r?= <25233464+colin-axner@users.noreply.github.com> Date: Wed, 12 Jan 2022 13:04:31 +0100 Subject: [PATCH 107/107] fix build --- modules/apps/29-fee/fee_test.go | 7 +- modules/apps/29-fee/ibc_module.go | 23 ++--- modules/apps/29-fee/ibc_module_test.go | 86 ++++++------------- modules/apps/29-fee/keeper/genesis_test.go | 2 +- modules/apps/29-fee/keeper/grpc_query_test.go | 2 +- modules/apps/29-fee/keeper/keeper_test.go | 6 +- modules/apps/29-fee/types/genesis_test.go | 2 +- modules/apps/29-fee/types/keys_test.go | 2 +- .../apps/transfer/types/expected_keepers.go | 2 +- testing/simapp/app.go | 8 +- 10 files changed, 53 insertions(+), 87 deletions(-) diff --git a/modules/apps/29-fee/fee_test.go b/modules/apps/29-fee/fee_test.go index 1b930db6456..147bd0b01a4 100644 --- a/modules/apps/29-fee/fee_test.go +++ b/modules/apps/29-fee/fee_test.go @@ -3,15 +3,14 @@ package fee_test import ( "testing" - "github.com/stretchr/testify/suite" - sdk "github.com/cosmos/cosmos-sdk/types" + "github.com/stretchr/testify/suite" "github.com/cosmos/ibc-go/v3/modules/apps/29-fee/types" transfertypes "github.com/cosmos/ibc-go/v3/modules/apps/transfer/types" clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types" channeltypes "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types" - ibctesting "github.com/cosmos/ibc-go/testing" + ibctesting "github.com/cosmos/ibc-go/v3/testing" ) type FeeTestSuite struct { @@ -47,7 +46,7 @@ func (suite *FeeTestSuite) CreateICS20Packet(coin sdk.Coin) channeltypes.Packet fungibleTokenPacket := transfertypes.NewFungibleTokenPacketData( coin.Denom, - sdk.NewInt(100).Uint64(), + sdk.NewInt(100).String(), suite.chainA.SenderAccount.GetAddress().String(), suite.chainB.SenderAccount.GetAddress().String(), ) diff --git a/modules/apps/29-fee/ibc_module.go b/modules/apps/29-fee/ibc_module.go index 230c7da2cd0..d9044200528 100644 --- a/modules/apps/29-fee/ibc_module.go +++ b/modules/apps/29-fee/ibc_module.go @@ -64,32 +64,33 @@ func (im IBCModule) OnChanOpenTry( channelID string, chanCap *capabilitytypes.Capability, counterparty channeltypes.Counterparty, - version, counterpartyVersion string, -) error { - mwVersion, appVersion := channeltypes.SplitChannelVersion(version) +) (string, error) { cpMwVersion, cpAppVersion := channeltypes.SplitChannelVersion(counterpartyVersion) // Since it is valid for fee version to not be specified, the above middleware version may be for a middleware // lower down in the stack. Thus, if it is not a fee version we pass the entire version string onto the underlying // application. // If an invalid fee version was passed, we expect the underlying application to fail on its version negotiation. - if mwVersion == types.Version || cpMwVersion == types.Version { - if cpMwVersion != mwVersion { - return sdkerrors.Wrapf(types.ErrInvalidVersion, "fee versions do not match. self version: %s, counterparty version: %s", mwVersion, cpMwVersion) - } - + if cpMwVersion == types.Version { im.keeper.SetFeeEnabled(ctx, portID, channelID) } else { // middleware versions are not the expected version for this midddleware. Pass the full version strings along, // if it not valid version for any other lower middleware, an error will be returned by base application. - appVersion = version cpAppVersion = counterpartyVersion } // call underlying app's OnChanOpenTry callback with the app versions - return im.app.OnChanOpenTry(ctx, order, connectionHops, portID, channelID, - chanCap, counterparty, appVersion, cpAppVersion) + appVersion, err := im.app.OnChanOpenTry(ctx, order, connectionHops, portID, channelID, chanCap, counterparty, cpAppVersion) + if err != nil { + return "", err + } + + if im.keeper.IsFeeEnabled(ctx, portID, channelID) { + return channeltypes.MergeChannelVersions(types.Version, appVersion), nil + } + + return appVersion, nil } // OnChanOpenAck implements the IBCModule interface diff --git a/modules/apps/29-fee/ibc_module_test.go b/modules/apps/29-fee/ibc_module_test.go index bee6b693661..08087dbc9cb 100644 --- a/modules/apps/29-fee/ibc_module_test.go +++ b/modules/apps/29-fee/ibc_module_test.go @@ -10,8 +10,8 @@ import ( transfertypes "github.com/cosmos/ibc-go/v3/modules/apps/transfer/types" channeltypes "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types" host "github.com/cosmos/ibc-go/v3/modules/core/24-host" - ibctesting "github.com/cosmos/ibc-go/testing" - "github.com/cosmos/ibc-go/testing/simapp" + ibctesting "github.com/cosmos/ibc-go/v3/testing" + "github.com/cosmos/ibc-go/v3/testing/simapp" ) var ( @@ -107,42 +107,30 @@ func (suite *FeeTestSuite) TestOnChanOpenInit() { func (suite *FeeTestSuite) TestOnChanOpenTry() { testCases := []struct { name string - version string cpVersion string crossing bool expPass bool }{ { - "valid fee middleware and transfer version", - channeltypes.MergeChannelVersions(types.Version, transfertypes.Version), + "valid fee middleware version", channeltypes.MergeChannelVersions(types.Version, transfertypes.Version), false, true, }, { - "valid transfer version on try and counterparty", - transfertypes.Version, + "valid transfer version", transfertypes.Version, false, true, }, { - "valid fee middleware and transfer version, crossing hellos", - channeltypes.MergeChannelVersions(types.Version, transfertypes.Version), + "crossing hellos: valid fee middleware", channeltypes.MergeChannelVersions(types.Version, transfertypes.Version), true, true, }, { "invalid fee middleware version", - channeltypes.MergeChannelVersions("otherfee28-1", transfertypes.Version), - channeltypes.MergeChannelVersions(types.Version, transfertypes.Version), - false, - false, - }, - { - "invalid counterparty fee middleware version", - channeltypes.MergeChannelVersions(types.Version, transfertypes.Version), channeltypes.MergeChannelVersions("wrongfee29-1", transfertypes.Version), false, false, @@ -150,42 +138,6 @@ func (suite *FeeTestSuite) TestOnChanOpenTry() { { "invalid transfer version", channeltypes.MergeChannelVersions(types.Version, "wrongics20-1"), - channeltypes.MergeChannelVersions(types.Version, transfertypes.Version), - false, - false, - }, - { - "invalid counterparty transfer version", - channeltypes.MergeChannelVersions(types.Version, transfertypes.Version), - channeltypes.MergeChannelVersions(types.Version, "wrongics20-1"), - false, - false, - }, - { - "transfer version not wrapped", - types.Version, - channeltypes.MergeChannelVersions(types.Version, transfertypes.Version), - false, - false, - }, - { - "counterparty transfer version not wrapped", - channeltypes.MergeChannelVersions(types.Version, transfertypes.Version), - types.Version, - false, - false, - }, - { - "fee version not included on try, but included in counterparty", - transfertypes.Version, - channeltypes.MergeChannelVersions(types.Version, transfertypes.Version), - false, - false, - }, - { - "fee version not included", - channeltypes.MergeChannelVersions(types.Version, transfertypes.Version), - transfertypes.Version, false, false, }, @@ -222,7 +174,7 @@ func (suite *FeeTestSuite) TestOnChanOpenTry() { Ordering: channeltypes.UNORDERED, Counterparty: counterparty, ConnectionHops: []string{suite.path.EndpointA.ConnectionID}, - Version: tc.version, + Version: tc.cpVersion, } module, _, err := suite.chainA.App.GetIBCKeeper().PortKeeper.LookupModuleByPort(suite.chainA.GetContext(), ibctesting.TransferPort) @@ -231,13 +183,13 @@ func (suite *FeeTestSuite) TestOnChanOpenTry() { cbs, ok := suite.chainA.App.GetIBCKeeper().Router.GetRoute(module) suite.Require().True(ok) - err = cbs.OnChanOpenTry(suite.chainA.GetContext(), channel.Ordering, channel.GetConnectionHops(), - suite.path.EndpointA.ChannelConfig.PortID, suite.path.EndpointA.ChannelID, chanCap, counterparty, tc.version, tc.cpVersion) + _, err = cbs.OnChanOpenTry(suite.chainA.GetContext(), channel.Ordering, channel.GetConnectionHops(), + suite.path.EndpointA.ChannelConfig.PortID, suite.path.EndpointA.ChannelID, chanCap, counterparty, tc.cpVersion) if tc.expPass { - suite.Require().NoError(err, "unexpected error from version: %s", tc.version) + suite.Require().NoError(err) } else { - suite.Require().Error(err, "error not returned for version: %s", tc.version) + suite.Require().Error(err) } }) } @@ -656,17 +608,22 @@ func (suite *FeeTestSuite) TestOnAcknowledgementPacket() { if tc.expPass { suite.Require().NoError(err, "unexpected error for case: %s", tc.name) + + expectedAmt, ok := sdk.NewIntFromString("10000000000000000000") + suite.Require().True(ok) suite.Require().Equal( sdk.Coin{ Denom: ibctesting.TestCoin.Denom, - Amount: sdk.NewInt(100000000000000), + Amount: expectedAmt, }, suite.chainA.GetSimApp().BankKeeper.GetBalance(suite.chainA.GetContext(), suite.chainA.SenderAccount.GetAddress(), ibctesting.TestCoin.Denom)) } else { + expectedAmt, ok := sdk.NewIntFromString("9999999999999999400") + suite.Require().True(ok) suite.Require().Equal( sdk.Coin{ Denom: ibctesting.TestCoin.Denom, - Amount: sdk.NewInt(99999999999400), + Amount: expectedAmt, }, suite.chainA.GetSimApp().BankKeeper.GetBalance(suite.chainA.GetContext(), suite.chainA.SenderAccount.GetAddress(), ibctesting.TestCoin.Denom)) } @@ -762,17 +719,22 @@ func (suite *FeeTestSuite) TestOnTimeoutPacket() { if tc.expPass { suite.Require().NoError(err, "unexpected error for case: %s", tc.name) + + expectedAmt, ok := sdk.NewIntFromString("10000000000000000100") + suite.Require().True(ok) suite.Require().Equal( sdk.Coin{ Denom: ibctesting.TestCoin.Denom, - Amount: sdk.NewInt(100000000000100), + Amount: expectedAmt, }, suite.chainA.GetSimApp().BankKeeper.GetBalance(suite.chainA.GetContext(), suite.chainA.SenderAccount.GetAddress(), ibctesting.TestCoin.Denom)) } else { + expectedAmt, ok := sdk.NewIntFromString("9999999999999999500") + suite.Require().True(ok) suite.Require().Equal( sdk.Coin{ Denom: ibctesting.TestCoin.Denom, - Amount: sdk.NewInt(99999999999500), + Amount: expectedAmt, }, suite.chainA.GetSimApp().BankKeeper.GetBalance(suite.chainA.GetContext(), suite.chainA.SenderAccount.GetAddress(), ibctesting.TestCoin.Denom)) } diff --git a/modules/apps/29-fee/keeper/genesis_test.go b/modules/apps/29-fee/keeper/genesis_test.go index 8332658cecd..6833ed72816 100644 --- a/modules/apps/29-fee/keeper/genesis_test.go +++ b/modules/apps/29-fee/keeper/genesis_test.go @@ -4,7 +4,7 @@ import ( "github.com/cosmos/ibc-go/v3/modules/apps/29-fee/types" transfertypes "github.com/cosmos/ibc-go/v3/modules/apps/transfer/types" channeltypes "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types" - ibctesting "github.com/cosmos/ibc-go/testing" + ibctesting "github.com/cosmos/ibc-go/v3/testing" ) func (suite *KeeperTestSuite) TestInitGenesis() { diff --git a/modules/apps/29-fee/keeper/grpc_query_test.go b/modules/apps/29-fee/keeper/grpc_query_test.go index a2904234871..bef02669b04 100644 --- a/modules/apps/29-fee/keeper/grpc_query_test.go +++ b/modules/apps/29-fee/keeper/grpc_query_test.go @@ -9,7 +9,7 @@ import ( "github.com/cosmos/ibc-go/v3/modules/apps/29-fee/types" transfertypes "github.com/cosmos/ibc-go/v3/modules/apps/transfer/types" channeltypes "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types" - ibctesting "github.com/cosmos/ibc-go/testing" + ibctesting "github.com/cosmos/ibc-go/v3/testing" ) func (suite *KeeperTestSuite) TestQueryIncentivizedPacketI() { diff --git a/modules/apps/29-fee/keeper/keeper_test.go b/modules/apps/29-fee/keeper/keeper_test.go index 40623262158..40eeaed8d40 100644 --- a/modules/apps/29-fee/keeper/keeper_test.go +++ b/modules/apps/29-fee/keeper/keeper_test.go @@ -4,14 +4,14 @@ import ( "fmt" "testing" - "github.com/stretchr/testify/suite" - "github.com/cosmos/cosmos-sdk/baseapp" sdk "github.com/cosmos/cosmos-sdk/types" + "github.com/stretchr/testify/suite" + "github.com/cosmos/ibc-go/v3/modules/apps/29-fee/types" transfertypes "github.com/cosmos/ibc-go/v3/modules/apps/transfer/types" channeltypes "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types" - ibctesting "github.com/cosmos/ibc-go/testing" + ibctesting "github.com/cosmos/ibc-go/v3/testing" ) var ( diff --git a/modules/apps/29-fee/types/genesis_test.go b/modules/apps/29-fee/types/genesis_test.go index 72382501442..190edaab220 100644 --- a/modules/apps/29-fee/types/genesis_test.go +++ b/modules/apps/29-fee/types/genesis_test.go @@ -10,7 +10,7 @@ import ( "github.com/cosmos/ibc-go/v3/modules/apps/29-fee/types" transfertypes "github.com/cosmos/ibc-go/v3/modules/apps/transfer/types" channeltypes "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types" - ibctesting "github.com/cosmos/ibc-go/testing" + ibctesting "github.com/cosmos/ibc-go/v3/testing" ) var ( diff --git a/modules/apps/29-fee/types/keys_test.go b/modules/apps/29-fee/types/keys_test.go index b8329ecb206..fbe2c2bbdde 100644 --- a/modules/apps/29-fee/types/keys_test.go +++ b/modules/apps/29-fee/types/keys_test.go @@ -1,7 +1,7 @@ package types_test import ( - fmt "fmt" + "fmt" "testing" "github.com/stretchr/testify/require" diff --git a/modules/apps/transfer/types/expected_keepers.go b/modules/apps/transfer/types/expected_keepers.go index ee0254526d1..8ae670d27b2 100644 --- a/modules/apps/transfer/types/expected_keepers.go +++ b/modules/apps/transfer/types/expected_keepers.go @@ -38,7 +38,7 @@ type ChannelKeeper interface { // ClientKeeper defines the expected IBC client keeper type ClientKeeper interface { - GetClientConsensusState(ctx sdk.Context, clientID string) (connection exported.ConsensusState, found bool) + GetClientConsensusState(ctx sdk.Context, clientID string) (connection ibcexported.ConsensusState, found bool) } // ConnectionKeeper defines the expected IBC connection keeper diff --git a/testing/simapp/app.go b/testing/simapp/app.go index ff22c59d1a4..5fbda3bb931 100644 --- a/testing/simapp/app.go +++ b/testing/simapp/app.go @@ -207,6 +207,7 @@ type SimApp struct { ScopedIBCKeeper capabilitykeeper.ScopedKeeper ScopedTransferKeeper capabilitykeeper.ScopedKeeper ScopedIBCFeeKeeper capabilitykeeper.ScopedKeeper + ScopedFeeMockKeeper capabilitykeeper.ScopedKeeper ScopedICAControllerKeeper capabilitykeeper.ScopedKeeper ScopedICAHostKeeper capabilitykeeper.ScopedKeeper ScopedIBCMockKeeper capabilitykeeper.ScopedKeeper @@ -286,6 +287,7 @@ func NewSimApp( // NOTE: the IBC mock keeper and application module is used only for testing core IBC. Do // not replicate if you do not need to test core IBC or light clients. scopedIBCMockKeeper := app.CapabilityKeeper.ScopeToModule(ibcmock.ModuleName) + scopedFeeMockKeeper := app.CapabilityKeeper.ScopeToModule(ibcmock.ModuleName + ibcfeetypes.ModuleName) scopedICAMockKeeper := app.CapabilityKeeper.ScopeToModule(ibcmock.ModuleName + icacontrollertypes.SubModuleName) // seal capability keeper after scoping modules @@ -356,8 +358,10 @@ func NewSimApp( app.AccountKeeper, app.BankKeeper, scopedTransferKeeper, ) transferModule := transfer.NewAppModule(app.TransferKeeper) + transferIBCModule := transfer.NewIBCModule(app.TransferKeeper) + // create fee-wrapped transfer module - feeTransferModule := ibcfee.NewIBCModule(app.IBCFeeKeeper, transferModule) + feeTransferModule := ibcfee.NewIBCModule(app.IBCFeeKeeper, transferIBCModule) feeModule := ibcfee.NewAppModule(app.IBCFeeKeeper) @@ -366,7 +370,7 @@ func NewSimApp( // Pass IBCFeeKeeper for PortKeeper since fee middleware will wrap the IBCKeeper for underlying application. mockModule := ibcmock.NewAppModule(scopedIBCMockKeeper, &app.IBCFeeKeeper) // create fee wrapped mock module - feeMockModule := ibcfee.NewIBCModule(app.IBCFeeKeeper, &ibcmock.MockIBCApp{}) + feeMockModule := ibcfee.NewIBCModule(app.IBCFeeKeeper, ibcmock.NewIBCModule(nil, scopedFeeMockKeeper)) mockIBCModule := ibcmock.NewIBCModule(&ibcmock.MockIBCApp{}, scopedIBCMockKeeper)