Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: add fee-abs docker tests #787

Merged
merged 74 commits into from
Oct 1, 2024
Merged
Show file tree
Hide file tree
Changes from 64 commits
Commits
Show all changes
74 commits
Select commit Hold shift + click to select a range
cf56c42
add fee abs module
atheeshp Aug 19, 2024
5a90925
fix tests
atheeshp Aug 27, 2024
e355a38
fix tests
atheeshp Aug 27, 2024
dcf202d
fix tests
atheeshp Aug 27, 2024
291ad7f
fix tests
atheeshp Aug 27, 2024
89c3505
feat: integrated feemarket
vishal-kanna Aug 27, 2024
321ae23
add fee abs keeper in HandlerOptions
atheeshp Aug 27, 2024
5d403ad
fix tests
atheeshp Aug 28, 2024
2c0ae04
add logs
atheeshp Aug 28, 2024
defe327
chore: updated anteHandler and postHandler
vishal-kanna Aug 28, 2024
5e33e65
chore: use replace for feemarket in go.mod
vishal-kanna Aug 28, 2024
d5667f0
chore: changed go version in docker file
vishal-kanna Aug 29, 2024
8684ce9
fix : fix testing in antehandler
vishal-kanna Aug 29, 2024
ea06beb
fix: fix lint issues
vishal-kanna Aug 29, 2024
d09e816
chore: updated antehandler
vishal-kanna Aug 29, 2024
adcd9f3
fix: fix lint issues
vishal-kanna Aug 29, 2024
e2f6a74
fix: fix lint issues
vishal-kanna Aug 29, 2024
f016460
fix: lint issus
vishal-kanna Aug 29, 2024
36202e4
chore: updated ante and fix test cases
vishal-kanna Aug 30, 2024
945b3cc
fix: gofumt errors
vishal-kanna Aug 30, 2024
74089c2
fix: golint issues
vishal-kanna Aug 30, 2024
4256d7f
chore: updated postHandler
vishal-kanna Aug 30, 2024
acd8d74
testing
vishal-kanna Sep 3, 2024
4779b6a
chore: added test cases
vishal-kanna Sep 4, 2024
9557978
fix
vishal-kanna Sep 4, 2024
044bc3d
fix
vishal-kanna Sep 4, 2024
b2b8502
fix: golint issues
vishal-kanna Sep 4, 2024
e2866fb
fix : fix testcase
vishal-kanna Sep 5, 2024
9bcd0cb
fix: fix lint issues
vishal-kanna Sep 5, 2024
64c505d
disable update tests
vishal-kanna Sep 5, 2024
b05f6ee
disable report test
vishal-kanna Sep 5, 2024
9af6f82
fix: added response check in tests
vishal-kanna Sep 5, 2024
6181458
fix
vishal-kanna Sep 5, 2024
33403e1
chore: added param subsace for feemarket
vishal-kanna Sep 6, 2024
9a5c9d8
add unit tests
atheeshp Sep 6, 2024
98d86ea
fix test
atheeshp Sep 9, 2024
358cdb0
fix lint
atheeshp Sep 9, 2024
3827e97
remove comment
atheeshp Sep 9, 2024
05fa0ec
addressed review comments
vishal-kanna Sep 10, 2024
281af5e
chore: merged feemarket integration PR
vishal-kanna Sep 10, 2024
0c5a67b
fix
vishal-kanna Sep 10, 2024
1fd19a2
fix
vishal-kanna Sep 10, 2024
cb727e6
fix
vishal-kanna Sep 10, 2024
611e181
TODO in app.go
vishal-kanna Sep 10, 2024
af939e1
fix: golint error
vishal-kanna Sep 10, 2024
3bb51c1
add go mod
atheeshp Sep 11, 2024
b4c7afe
Merge branch 'vishal/integrate-antehandler' of github.com:cheqd/cheqd…
atheeshp Sep 11, 2024
999d9bb
cheqd changes
atheeshp Sep 17, 2024
2a1528a
go.mod
atheeshp Sep 17, 2024
98e903b
go mod
atheeshp Sep 17, 2024
6ea0b87
add tests
atheeshp Sep 19, 2024
c3f2bb1
integrate ICQ module
atheeshp Sep 23, 2024
788ff70
fix lint
atheeshp Sep 23, 2024
39c4450
fix go mod
atheeshp Sep 23, 2024
c08c09d
add extra case
atheeshp Sep 26, 2024
365a01b
fix failing test case
atheeshp Sep 26, 2024
1f9f3c5
add tests for fee-abs
atheeshp Sep 26, 2024
647198f
go mod changes
atheeshp Sep 26, 2024
4096c9e
change build name
atheeshp Sep 26, 2024
378f349
Merge branch 'develop' of github.com:cheqd/cheqd-node into add-icq-mo…
atheeshp Sep 26, 2024
c77d003
fix test
atheeshp Sep 26, 2024
828e938
fix tests
atheeshp Sep 26, 2024
566bbd7
fix lint
atheeshp Sep 26, 2024
8403ffa
fix tests
atheeshp Sep 26, 2024
98db46c
update gitignore
atheeshp Sep 26, 2024
3f11abc
Apply suggestions from code review
atheeshp Sep 26, 2024
a6937ba
fix lint
atheeshp Sep 26, 2024
2e301c9
Merge branch 'add-icq-module' of github.com:cheqd/cheqd-node into add…
atheeshp Sep 26, 2024
dc49f8f
Update tests/fee-abs/cheqd/proposal.json
atheeshp Sep 26, 2024
82a9c83
Update tests/fee-abs/osmosis/pool.json
atheeshp Sep 26, 2024
052ab37
Update .gitignore
atheeshp Sep 26, 2024
9e47655
remove icq, fee-abs is not depending on it.
atheeshp Sep 26, 2024
b50990d
Merge branch 'add-icq-module' of github.com:cheqd/cheqd-node into add…
atheeshp Sep 26, 2024
53c42fb
Removed redundant
Eengineer1 Oct 1, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
79 changes: 71 additions & 8 deletions ante/fee_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -1192,10 +1192,6 @@ var _ = Describe("Fee abstraction along with fee market", func() {
})

It("Ensure native tx fee txns are working", func() {
err := s.app.FeeabsKeeper.SetHostZoneConfig(s.ctx, mockHostZoneConfig)
Expect(err).ToNot(HaveOccurred())
s.app.FeeabsKeeper.SetTwapRate(s.ctx, "ibcfee", sdk.NewDec(1))

anteHandler := sdk.ChainAnteDecorators(decorators...)

priv1, _, addr1 := testdata.KeyTestPubAddr()
Expand Down Expand Up @@ -1324,11 +1320,78 @@ var _ = Describe("Fee abstraction along with fee market", func() {
Expect(feeCollectorBalance.Amount).To(Equal(reward.AmountOf(didtypes.BaseMinimalDenom)), "Reward was not sent to the fee collector")
})

It("Ensure taxable txn working fine after integrating the fee-abs", func() {
// err := s.app.FeeabsKeeper.SetHostZoneConfig(s.ctx, mockHostZoneConfig)
// Expect(err).ToNot(HaveOccurred())
// s.app.FeeabsKeeper.SetTwapRate(s.ctx, "ibcfee", sdk.NewDec(1))
It("Ensure to convert the IBC Denom to native fee for non taxable txn", func() {
err := s.app.FeeabsKeeper.SetHostZoneConfig(s.ctx, mockHostZoneConfig)
Expect(err).ToNot(HaveOccurred())
ibcDenom := "ibcfee"
s.app.FeeabsKeeper.SetTwapRate(s.ctx, ibcDenom, sdk.NewDec(1))

anteHandler := sdk.ChainAnteDecorators(decorators...)

priv1, _, addr1 := testdata.KeyTestPubAddr()

// msg and signatures
msg := testdata.NewTestMsg(addr1)
feeAmount := sdk.NewCoins(sdk.NewCoin(ibcDenom, sdk.NewInt(50_000_000_000)))
gasLimit := testdata.NewTestGasLimit()
Expect(s.txBuilder.SetMsgs(msg)).To(BeNil())
s.txBuilder.SetFeeAmount(feeAmount)
s.txBuilder.SetGasLimit(gasLimit)
s.txBuilder.SetFeePayer(addr1)

privs, accNums, accSeqs := []cryptotypes.PrivKey{priv1}, []uint64{0}, []uint64{0}
tx, err := s.CreateTestTx(privs, accNums, accSeqs, s.ctx.ChainID())
Expect(err).To(BeNil())

// set account with sufficient funds
acc := s.app.AccountKeeper.NewAccountWithAddress(s.ctx, addr1)
s.app.AccountKeeper.SetAccount(s.ctx, acc)
amount := sdk.NewInt(50_000_000_000)
err = testutil.FundAccount(s.app.BankKeeper, s.ctx, addr1, sdk.NewCoins(sdk.NewCoin(ibcDenom, amount)))
Expect(err).To(BeNil())

err = testutil.FundModuleAccount(s.app.BankKeeper, s.ctx, types.ModuleName, sdk.NewCoins(sdk.NewCoin("ncheq", amount)))
Expect(err).To(BeNil())

taxDecorator := cheqdpost.NewTaxDecorator(s.app.AccountKeeper, s.app.BankKeeper, s.app.FeeGrantKeeper, s.app.DidKeeper, s.app.ResourceKeeper, s.app.FeeMarketKeeper)
posthandler := sdk.ChainPostDecorators(taxDecorator)

// get supply before tx
supplyBefore, _, err := s.app.BankKeeper.GetPaginatedTotalSupply(s.ctx, &query.PageRequest{})
Expect(err).To(BeNil())

newCtx, err := anteHandler(s.ctx, tx, true)
Expect(err).To(BeNil())

_, _, proposer := testdata.KeyTestPubAddr()
s.ctx = newCtx
a := s.ctx.BlockHeader()
a.ProposerAddress = proposer
newCtx = s.ctx.WithBlockHeader(a)
s.ctx = newCtx

_, err = posthandler(s.ctx, tx, false, true)
Expect(err).To(BeNil(), "Tx errored when fee payer had sufficient funds and provided sufficient fee while subtracting tax on deliverTx")

// check balance of fee payer
balance := s.app.BankKeeper.GetBalance(s.ctx, addr1, ibcDenom)
Expect(amount.Sub(sdk.NewInt(feeAmount.AmountOf(ibcDenom).Int64())).Equal(balance.Amount)).To(BeTrue(), "Fee amount subtracted was not equal to fee amount required for non-taxable tx")

// get supply after tx
supplyAfter, _, err := s.app.BankKeeper.GetPaginatedTotalSupply(s.ctx, &query.PageRequest{})
Expect(err).To(BeNil())

// check that supply was not deflated
Expect(supplyBefore).To(Equal(supplyAfter), "Supply was deflated")

// check that reward has been sent to the fee collector
feeCollector := s.app.AccountKeeper.GetModuleAddress(feemarkettypes.FeeCollectorName)
feeCollectorBalance := s.app.BankKeeper.GetBalance(s.ctx, feeCollector, didtypes.BaseMinimalDenom)

Expect((feeCollectorBalance.Amount).GT(math.NewInt(0)))
})

It("Ensure taxable txn working fine after integrating the fee-abs", func() {
anteHandler := sdk.ChainAnteDecorators(decorators...)

priv1, _, addr1 := testdata.KeyTestPubAddr()
Expand Down
22 changes: 10 additions & 12 deletions api/go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -3,22 +3,20 @@ module github.com/cheqd/cheqd-node/api/v2
go 1.21

require (
github.com/cosmos/cosmos-proto v1.0.0-beta.4
github.com/cosmos/cosmos-proto v1.0.0-beta.5
github.com/cosmos/cosmos-sdk/api v0.1.0
github.com/cosmos/gogoproto v1.4.10
google.golang.org/genproto/googleapis/api v0.0.0-20231212172506-995d672761c0
google.golang.org/grpc v1.60.1
google.golang.org/protobuf v1.32.0
github.com/cosmos/gogoproto v1.5.0
google.golang.org/genproto/googleapis/api v0.0.0-20240610135401-a8a62080eff3
google.golang.org/grpc v1.65.0
google.golang.org/protobuf v1.34.2
)

require (
github.com/gogo/protobuf v1.3.2 // indirect
github.com/golang/protobuf v1.5.3 // indirect
github.com/google/go-cmp v0.6.0 // indirect
golang.org/x/exp v0.0.0-20230905200255-921286631fa9 // indirect
golang.org/x/net v0.21.0 // indirect
golang.org/x/sys v0.18.0 // indirect
golang.org/x/text v0.14.0 // indirect
google.golang.org/genproto v0.0.0-20240102182953-50ed04b92917 // indirect
google.golang.org/genproto/googleapis/rpc v0.0.0-20240108191215-35c7eff3a6b1 // indirect
golang.org/x/exp v0.0.0-20240404231335-c0f41cb1a7a0 // indirect
golang.org/x/net v0.28.0 // indirect
golang.org/x/sys v0.23.0 // indirect
golang.org/x/text v0.17.0 // indirect
google.golang.org/genproto/googleapis/rpc v0.0.0-20240709173604-40e1e62336c5 // indirect
)
42 changes: 40 additions & 2 deletions app/app.go
Original file line number Diff line number Diff line change
Expand Up @@ -102,6 +102,9 @@ 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"
icq "github.com/cosmos/ibc-apps/modules/async-icq/v7"
icqkeeper "github.com/cosmos/ibc-apps/modules/async-icq/v7/keeper"
icqtypes "github.com/cosmos/ibc-apps/modules/async-icq/v7/types"
ica "github.com/cosmos/ibc-go/v7/modules/apps/27-interchain-accounts"
icacontroller "github.com/cosmos/ibc-go/v7/modules/apps/27-interchain-accounts/controller"
icacontrollerkeeper "github.com/cosmos/ibc-go/v7/modules/apps/27-interchain-accounts/controller/keeper"
Expand Down Expand Up @@ -175,6 +178,7 @@ var (
transfer.AppModuleBasic{},
ica.AppModuleBasic{},
upgrade.AppModuleBasic{},
icq.AppModuleBasic{},
evidence.AppModuleBasic{},
vesting.AppModuleBasic{},
feegrantmodule.AppModuleBasic{},
Expand All @@ -193,6 +197,7 @@ var (
authtypes.FeeCollectorName: nil,
distrtypes.ModuleName: nil,
icatypes.ModuleName: nil,
icqtypes.ModuleName: nil,
minttypes.ModuleName: {authtypes.Minter},
stakingtypes.BondedPoolName: {authtypes.Burner, authtypes.Staking},
stakingtypes.NotBondedPoolName: {authtypes.Burner, authtypes.Staking},
Expand Down Expand Up @@ -243,6 +248,7 @@ type App struct {
IBCFeeKeeper ibcfeekeeper.Keeper
ICAControllerKeeper icacontrollerkeeper.Keeper
ICAHostKeeper icahostkeeper.Keeper
ICQKeeper *icqkeeper.Keeper
EvidenceKeeper evidencekeeper.Keeper
TransferKeeper ibctransferkeeper.Keeper
FeeGrantKeeper feegrantkeeper.Keeper
Expand All @@ -258,6 +264,8 @@ type App struct {
ScopedICAControllerKeeper capabilitykeeper.ScopedKeeper
ScopedICAHostKeeper capabilitykeeper.ScopedKeeper
ScopedResourceKeeper capabilitykeeper.ScopedKeeper
ScopedICQKeeper capabilitykeeper.ScopedKeeper
SCopedFeeabsKeeper capabilitykeeper.ScopedKeeper
FeeabsKeeper feeabskeeper.Keeper

DidKeeper didkeeper.Keeper
Expand Down Expand Up @@ -362,6 +370,7 @@ func New(
scopedICAHostKeeper := app.CapabilityKeeper.ScopeToModule(icahosttypes.SubModuleName)
scopedResourceKeeper := app.CapabilityKeeper.ScopeToModule(resourcetypes.ModuleName)
scopedFeeabsKeeper := app.CapabilityKeeper.ScopeToModule(feeabstypes.ModuleName)
scopedICQKeeper := app.CapabilityKeeper.ScopeToModule(icqtypes.ModuleName)

// Applications that wish to enforce statically created ScopedKeepers should call `Seal` after creating
// their scoped modules in `NewApp` with `ScopeToModule`
Expand Down Expand Up @@ -484,7 +493,7 @@ func New(
scopedIBCKeeper,
)

app.FeeMarketKeeper = feemarketkeeper.NewKeeper(appCodec, keys[feemarkettypes.StoreKey], app.AccountKeeper, &cheqdante.DenomResolverImpl{}, authtypes.NewModuleAddress(govtypes.ModuleName).String())
app.FeeMarketKeeper = feemarketkeeper.NewKeeper(appCodec, keys[feemarkettypes.StoreKey], app.AccountKeeper, &feemarkettypes.TestDenomResolver{}, authtypes.NewModuleAddress(govtypes.ModuleName).String())
// IBC Fee Module keeper
app.IBCFeeKeeper = ibcfeekeeper.NewKeeper(
appCodec,
Expand Down Expand Up @@ -522,6 +531,25 @@ func New(
// Create IBC Router
ibcRouter := porttypes.NewRouter()

// ICQ Keeper
icqKeeper := icqkeeper.NewKeeper(
appCodec,
app.keys[icqtypes.StoreKey],
app.IBCKeeper.ChannelKeeper,
app.IBCKeeper.ChannelKeeper, // may be replaced with middleware
&app.IBCKeeper.PortKeeper,
app.ScopedICQKeeper,
bApp.GRPCQueryRouter(),
authtypes.NewModuleAddress(govtypes.ModuleName).String(),
)
app.ICQKeeper = &icqKeeper

// Create Async ICQ module
icqModule := icq.NewIBCModule(*app.ICQKeeper)

// Add icq modules to IBC router
ibcRouter.AddRoute(icqtypes.ModuleName, icqModule)

// Middleware Stacks

// Create Transfer Keeper and pass IBCFeeKeeper as expected Channel and PortKeeper
Expand Down Expand Up @@ -550,6 +578,8 @@ func New(
scopedFeeabsKeeper,
)

feeabsModule := feeabsmodule.NewAppModule(appCodec, app.FeeabsKeeper)
feeabsIBCModule := feeabsmodule.NewIBCModule(appCodec, app.FeeabsKeeper)
app.FeeMarketKeeper.SetDenomResolver(&cheqdante.DenomResolverImpl{
StakingKeeper: app.StakingKeeper,
FeeabsKeeper: app.FeeabsKeeper,
Expand Down Expand Up @@ -607,7 +637,8 @@ func New(
// Add host, controller & ica auth modules to IBC router
ibcRouter.
AddRoute(icacontrollertypes.SubModuleName, icaControllerStack).
AddRoute(icahosttypes.SubModuleName, icaHostStack)
AddRoute(icahosttypes.SubModuleName, icaHostStack).
AddRoute(feeabstypes.ModuleName, feeabsIBCModule)

// x/resource
app.ResourceKeeper = *resourcekeeper.NewKeeper(
Expand Down Expand Up @@ -686,6 +717,7 @@ func New(
// cheqd modules
did.NewAppModule(appCodec, app.DidKeeper),
resource.NewAppModule(appCodec, app.ResourceKeeper, app.DidKeeper),
feeabsModule,
)

// During begin block slashing happens after distr.BeginBlocker so that
Expand Down Expand Up @@ -720,6 +752,7 @@ func New(
resourcetypes.ModuleName,
consensusparamtypes.ModuleName,
feemarkettypes.ModuleName,
icqtypes.ModuleName,
)

app.ModuleManager.SetOrderEndBlockers(
Expand Down Expand Up @@ -749,6 +782,7 @@ func New(
ibcfeetypes.ModuleName,
consensusparamtypes.ModuleName,
feemarkettypes.ModuleName,
icqtypes.ModuleName,
)

// NOTE: The genutils module must occur after staking so that pools are
Expand All @@ -773,6 +807,7 @@ func New(
ibctransfertypes.ModuleName,
feeabstypes.ModuleName,
icatypes.ModuleName,
icqtypes.ModuleName,
ibcfeetypes.ModuleName,
feegrant.ModuleName,
group.ModuleName,
Expand Down Expand Up @@ -866,6 +901,8 @@ func New(
app.ScopedICAControllerKeeper = scopedICAControllerKeeper
app.ScopedICAHostKeeper = scopedICAHostKeeper
app.ScopedResourceKeeper = scopedResourceKeeper
app.ScopedICQKeeper = scopedICQKeeper
app.SCopedFeeabsKeeper = scopedFeeabsKeeper

return app
}
Expand Down Expand Up @@ -1046,6 +1083,7 @@ func initParamsKeeper(appCodec codec.BinaryCodec, legacyAmino *codec.LegacyAmino
paramsKeeper.Subspace(ibcexported.ModuleName)
paramsKeeper.Subspace(icacontrollertypes.SubModuleName)
paramsKeeper.Subspace(icahosttypes.SubModuleName)
paramsKeeper.Subspace(icqtypes.ModuleName)
paramsKeeper.Subspace(didtypes.ModuleName).WithKeyTable(didtypes.ParamKeyTable())
paramsKeeper.Subspace(resourcetypes.ModuleName).WithKeyTable(resourcetypes.ParamKeyTable())
paramsKeeper.Subspace(feeabstypes.ModuleName).WithKeyTable(feeabstypes.ParamKeyTable())
Expand Down
3 changes: 1 addition & 2 deletions go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ require (
github.com/cosmos/cosmos-proto v1.0.0-beta.5
github.com/cosmos/cosmos-sdk v0.47.13
github.com/cosmos/gogoproto v1.5.0
github.com/cosmos/ibc-apps/modules/async-icq/v7 v7.1.1
github.com/cosmos/ibc-go/v7 v7.4.0
github.com/gabriel-vasile/mimetype v1.4.3
github.com/go-ozzo/ozzo-validation/v4 v4.3.0
Expand Down Expand Up @@ -232,11 +233,9 @@ replace (
// TODO Remove it: https://github.com/cosmos/cosmos-sdk/issues/10409
github.com/gin-gonic/gin => github.com/gin-gonic/gin v1.9.0

// github.com/osmosis-labs/fee-abstraction/v7 => /home/vitwit/go/src/github.com/cheqd/fee-abstraction
github.com/osmosis-labs/fee-abstraction/v7 => github.com/cheqd/fee-abstraction/v7 v7.0.3-0.20240919093501-645e58a8252d

github.com/skip-mev/feemarket => github.com/cheqd/feemarket v1.0.4-sdk47.0.20240919093317-104ec7d7b634
// github.com/skip-mev/feemarket => /home/vitwit/go/src/github.com/cheqd/feemarket

// replace broken goleveldb
github.com/syndtr/goleveldb => github.com/syndtr/goleveldb v1.0.1-0.20210819022825-2ae1ddf74ef7
Expand Down
2 changes: 2 additions & 0 deletions go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -354,6 +354,8 @@ github.com/cosmos/gogoproto v1.4.10 h1:QH/yT8X+c0F4ZDacDv3z+xE3WU1P1Z3wQoLMBRJoK
github.com/cosmos/gogoproto v1.4.10/go.mod h1:3aAZzeRWpAwr+SS/LLkICX2/kDFyaYVzckBDzygIxek=
github.com/cosmos/ibc-apps/middleware/packet-forward-middleware/v7 v7.1.2 h1:6zjj+yIpMbCTRI2eJ2fXuflElENs3mrUSLH/TSWL8fk=
github.com/cosmos/ibc-apps/middleware/packet-forward-middleware/v7 v7.1.2/go.mod h1:UvDmcGIWJPIytq+Q78/ff5NTOsuX/7IrNgEugTW5i0s=
github.com/cosmos/ibc-apps/modules/async-icq/v7 v7.1.1 h1:02RCbih5lQ8aGdDMSvxhTnk5JDLEDitn17ytEE1Qhko=
github.com/cosmos/ibc-apps/modules/async-icq/v7 v7.1.1/go.mod h1:LvVkEXTORVgd87W2Yu7ZY3acKKeTMq/txdTworn8EZI=
github.com/cosmos/ibc-go/v7 v7.4.0 h1:8FqYMptvksgMvlbN4UW9jFxTXzsPyfAzEZurujXac8M=
github.com/cosmos/ibc-go/v7 v7.4.0/go.mod h1:L/KaEhzV5TGUCTfGysVgMBQtl5Dm7hHitfpk+GIeoAo=
github.com/cosmos/ics23/go v0.10.0 h1:iXqLLgp2Lp+EdpIuwXTYIQU+AiHj9mOC2X9ab++bZDM=
Expand Down
Loading
Loading