Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* deps: sdk v0.50-beta (#3883) * update SetupWithGenesisValSet func * sdk 50 first go * add go workspace * make proto-gen, cleanup * additiona cleanup of imports * updates... * handle expedited proposal bools * restructure modules * pre revert commit * Revert "restructure modules" This reverts commit 4580f76. * correctly migrate modules * migrate parameter store * fix calls to NewContext * tidy and enable thelper * use thelper and disable depguard * use latest golangci-lint in ci * upgrade to go 1.20 and newer protobuf builder to reduce v50 changeset * more cleanup, 5% of tests pass * add go work * bumps * set up rootmultistore in the new way and address WrongArgCount lints * fixing * Merge branch 'sdk-50' of https://github.com/notional-labs/ibc-go into sdk-50 * register modulebasicmanager in app.go * add module register in app.go * Merge branch 'sdk-50' of https://github.com/notional-labs/ibc-go into sdk-50 * fix the upgrade module's return * all errors now checked * update FinalizeBlock height input * update FinalizeBlock height input * revert changes to the capability module path * add circuit breaker * Begin to use modulebasicmanager * rename Marshaler to Codec * account for modulebasicmanager * fix setup() * fix import cycle * use appcodec for setuptestingapp * add missing IBCKeeper initialize and remove unused module from module Manager * update SetupWithGenesisValSet func * fixups * remove argument from NewContext * remove unused code * refactor FundAccount usage * fix test * coins.IsEqual -> coins.Equal * replace errorsmod path * fix SetupTest * remove unused variable * change function origin * sdk -> storetypes * replace name * cleanup app.go like goland diff ~/ibc-go/testing/simapp ~/cosmos-sdk/simapp * ModuleManager * add makeCommit func * fixing * minor * remove double imports * linting * add interface registry for ibc light client * register client state * bump cometbft to the latest commit from the v0.38.x branch * parallel tests * parallelize one more test * undeprecate stuff * unwrap sdk context: deprecated * big ctx unwrapping * accountI * undeprecate events * amino * 29-fee amino * add interface registry solomachine * change to legacy context * add dockerfile * try debugging * eliminate changes to .github * Revert "parallel tests" This reverts commit 69933c3. * make some of the changes suggested by @alpe / review wasmd's implementation of code similar to testing/chain.go * push changes to chain.go w/ attribution * correctly eliminate changes from .github * remove the compatiblity test matrices * remove all of .github * re-add .github checked out from the feature branch * revert gitignore changes * remove .dockerignore * ensure no changes to docs and ci config * fix setup * revert the addition of go.work * lint * fix .github * uncomment * sync * remove go.work.sum * tidy * fix issue in GetSimApp * correct number of variables in export.go * sdk.Context -> context.Context * begin to fix queries for ica * this commit will allow us to separate capability * break out capability * fix * fix accountkeeper * fix call to clear validator historical rewards in export.go * fix transfer_authorization.go * fix authz types in transfer_authorization_test.go * lint * fix: apply SDK app hash fix * go mod tidy in capability * tidy * handle errors in export * fix lint in root.go * refactor: change sdk.Events usage to []abci.Event * fix: e2e build * bumps and fix the proposal test * bumps for capability * use 0.13.3 proto-gen * bring in new changes to app.go and follow @alpe's advice on versioning and go-metrics * add an abci.go file * various bumps to resolve the go-metrics issue * tidy capability module * actually tidy capability module * various updates, linting * add attributeKeyData to emitted events * begin with the acknowledgement * Update modules/apps/27-interchain-accounts/module.go Co-authored-by: Marko <marko@baricevic.me> * Update modules/capability/module.go Co-authored-by: Marko <marko@baricevic.me> * Update modules/apps/27-interchain-accounts/module.go Co-authored-by: Marko <marko@baricevic.me> * return nil error in the capability module's beginblock * use sdk's mustsortjson * use the sdk's MustSortJSON * lint * fix: test fixes in 02-client * fix: update mock priv val to match cometbft * update storetypes from the sdk types library * lint * improvement(api)!: remove unused `EventTypeTimeoutPacketOnClose` (#3806) * testing: add function `RelayPacketWithResults` (#3986) * build(deps): Bump bufbuild/buf-setup-action from 1.23.0 to 1.23.1 (#3994) Bumps [bufbuild/buf-setup-action](https://github.com/bufbuild/buf-setup-action) from 1.23.0 to 1.23.1. <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/bufbuild/buf-setup-action/commit/a2450ddf330ebcbbb88645837933e7141568fd09"><code>a2450dd</code></a> Release v1.23.1 (<a href="https://github.com/bufbuild/buf-setup-action/issues/136">#136</a>)</li> <li>See full diff in <a href="https://github.com/bufbuild/buf-setup-action/compare/v1.23.0...v1.23.1">compare view</a></li> </ul> </details> <br /> [![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=bufbuild/buf-setup-action&package-manager=github_actions&previous-version=1.23.0&new-version=1.23.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details> * abcitxresult * feat(ica)!: support json tx encoding for interchain accounts (#3796) * feat(ica): added EncodingJson to supported encodings * imp(ica): changed the type of cdc to Codec in ica/host * imp(ica): changed the type of cdc to Codec in ica/controller * imp(ica.test): added a test cases for EncodingJSON * imp(ica): created invalid encoding err * feat(ica)!: first prototype of json supporting DeserializeCosmosTx * docs(ica): updated godoc of DeserializeCosmosTx * docs(ica): added comments to DeserializeCosmosTx * fix(ica.test): fixed tests for DeserializeCosmosTx * fix(ica): fixed 'OnRecvPacket' in relay.go * fix(ica): fixed unhandled error * style(ica): made DeserializeCosmosTx more compact * fix(ica/host.cli.test): fixed a cli test * style(ica): ran gofumpt * style(ica): changed err message * feat(ica): first prototype of SerializeCosmosTx is implemented * fix(ica): fixed codec tests * fix(ica/host.test): fix test * fix(ica/host.test): fix test * fix(ica/host.cli): cli always uses protobuf * nil(ica/host.test): removed unneeded comment * fix(ica/controller.test): fix test * fix(ica/controller.test): fix test * fix(ica/controller.test): fix test * fix(fee.test): fix test * nit: temporary save commit * fix(ica): fixed json serde tests not passing * fix(ica): fix panic if message does not implement sdk.Msg * imp(ica): improved json serde functions * style(ica): pleased the linter * style(ica): ran gofumpt * fix(e2e): fix compilation errors by adding icatypes.EncodingProtobuf arg to serde functions * feat(ica.test): added important wip test for deserializing directly from cosmwasm * imp(ica.test): added a new test case to cw codec unit test * imp(ica): added another test case * imp(ica.test): added another test case * imp(ica.test): added another test case * style(ica.test): improved test style * style(ica.test): improved test style * style(ica.test): ran gofumpt * imp(ica.test): added json encoding version string for testing * imp(ica.test): added new 'NewJSONICAPath' function * imp(ica.test): added encoding field to ica test setup functions * fix(ica.test): fixed test setups using the new encoding field * feat(ica.test): added json test case * style(ica.test): ran gofumpt * feat(ica.test): got two cases of cosmwasm tests working in relay * style(ica.test): ran gofumpt * feat(ica): started progress on recursive handling of Anys * imp(ica.test): added a new test case for ica json encoding, this fails * feat(ica): achieved total json serialization (excluding any lists) * refactor(ica): made function shorter and removed duplicated code * style(ica): ran gofumpt * imp(ica): added more err handling code * refactor(ica): made deserialize code shorter * style(ica): made linter a bit more happy * fix(ica.test): fixed one codec test case * feat(ica): added []Any handling code * fix(ica): added more safety * nit: deleted testing codec.go * feat(ica): all works * style(ica): ran gofumpt * style(ica): made linter happy * refactor(ica): reduced code duplication * nit(ica): uncommented some test cases * imp(ica.test): added more test cases * feat(ica.test): finished test cases * style(ica.test): reorganized test cases * refactor(ica.test): combined the two test cases into one * style(ica.test): ran gofumpt * style(ica.test): renamed wallet address * fix(ica.test): fixed test case names * imp(ica.test): added more test cases * style(ica.test): ran gofumpt * test(ica): added more codec test cases * style(ica.test): ran gofumpt * feat(ica): removed JSONAny and JSONCosmosTx types * feat(ica): implemented json encoding using module codec * fix(ica.test): tests now match the new codec implementation * fix(ica.test): fixed the tests to the new implementation * style(ica.test): reorgenized the order of tests so that git diff makes sense * imp(ica/controller): controller codec need not be codec.Codec * imp(ica): replaced BinaryCodec with Codec * test(ica): fixed codec test * docs(ica.test): codec comment updated * docs(ica.test): updated comments * style(ica.test): removed 'from cosmwasm' from test case name as it is aparent from test name * style(ica.test): ran gofumpt * fix: fix merge error * deps(ica): replaced sdk.NewInt with sdkmath.NewInt * style(ica): ran 'gofumpt' * imp(ica): removed redundant cosmwasm tests * revert: "imp(ica): removed redundant cosmwasm tests" This reverts commit 5123fba. * imp(ica.test): made codec_test human readable * imp(ica.test): made relay_test human readable * style(ica.test): ran 'golanci-lint run --fix' * imp(ica/host): created 'GetAppMetadata' function * refactor(ica/host): used GetAppMetadata function * imp(ica.test): removed unneeded encoding argument * imp(ica): removed ErrUnsupportedEncoding * imp(ica.test): used suite chainB height instead of clienttypes.NewHeight(1, 100) * imp(ica.test): add nil check for unsupported encoding * imp(ica.test): added a empty/nil checks * style(ica.test): renamed version variable to TestVersionWithJSONEncoding * imp(ica): wrapped some errors * style(ica): ran 'golanci-lint run --fix' * style(ica)!: renamed EncodingJSON to EncodingProto3JSON * docs(ica): improved godocs * imp(ica): passing codec instead of binary codec * style(ica): improved error messages and godocs * docs(ica.test): improved godocs for tests * imp(ica.test): improved unsupported encoding test case slightly * style(ica.test): test style improvements * imp(ica.test): added expError to some codec tests * imp(ica.test): added more error type checks to codec tests * style(ica.test): ran 'golangci-lint run --fix' * imp(ica/host.test): added 'TestMetadataNotFound' * imp(ica/host.test): reduce test size * docs(ica/host.test): updated godocs for test * docs(ica/host): improved godoc * imp(ica/host): made GetAppMetadata private --------- Co-authored-by: Carlos Rodriguez <carlos@interchain.io> * cleanup after merging json support * lint * imp: refactor simapp to more closely resemble the style used in cosmos-sdk (#3874) * fix testpb * post-merge cleanup * Revert "Merge remote-tracking branch 'origin/main' into ibc-go-sdk-50-mark-2" This reverts commit 0bebbc1, reversing changes made to a6f3e97. * remove testing/simapp/abci.go * remove dummy vote extension handler * remove copylocks * revert unneeded changes * add GetMemKey again * restore all use of getmemkey * bump sdk's libraries, cleanup (#214) * sync * tidy root and capability * update sdk's dependencies to ensure we are using the latest revision before debugging * use "the cosmic condom" (replaces at the end of go.mod) just in case * Update genesis_test.go * revert a memkey change * memstorekey change * Update modules/apps/27-interchain-accounts/host/client/cli/cli.go Co-authored-by: Marko <marko@baricevic.me> * Update keeper_test.go * don't add tests (reduce diff) (#215) * don't add tests (reduce diff) * Update keeper_test.go * Update grpc_query_test.go * Update capability_test.go * use the separated capability module * sync * tidy * remove an unneeded import * fix ics27 tests * fix: add back signer and validate basic checks * fix: coordinator no longer updates time before committing a block * fix: handle querying validator set for current block * fix: correctly parse channelID from solomachine * remove print statement * Merge feature branch * bump capability module to v1.0.0-rc2 * fix fee event test * linter fixes * comment about replace directive * merge fix for client test * remove unused import * fix capability imports * adjust timeout * potentially a better way to test for the event * Update modules/core/04-channel/keeper/events.go Co-authored-by: Alexander Peters <alpe@users.noreply.github.com> * build(deps): Bump bufbuild/buf-setup-action from 1.23.1 to 1.24.0 (#4090) Bumps [bufbuild/buf-setup-action](https://github.com/bufbuild/buf-setup-action) from 1.23.1 to 1.24.0. - [Release notes](https://github.com/bufbuild/buf-setup-action/releases) - [Commits](bufbuild/buf-setup-action@v1.23.1...v1.24.0) --- updated-dependencies: - dependency-name: bufbuild/buf-setup-action dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Use alpine as base image for building simd. (#4067) Co-authored-by: Carlos Rodriguez <carlos@interchain.io> * fix: undo unnecessary capability changes * testing: simplify ica codec setup * refactor: remove unnecessary begin blocka and end block functions * fix: add back removed events * test: add back commented test with fixed logic * nit: move context unwrapping to callsite * nit: rename found to err * nit: remove unnecessary client state registration in solo machine * nit: formatting * nit: undo merge conflict change * fix: grpc err check * nit: error formatting * nit: add back linter check to reduce review diffs * test: fixup channel tests * test: add back missing tests * simapp: match sdk structure * refactor: remove unnecessary code * remove: unnecessary file * fix: add back simapp upgrades * fix: remove added changes from merge conflict * update sdk * tidy * cleanup and add to capbability * cleanup staking keeper, account keeper, and gov router * remove height from keeper test * update proto builder version * revert changes to the misbehaviour test * eliminate unnecessary aliases * tidy capabilities * bump deps again (to be sure) * cleanup with changes from sdk upstream * fix minor delegation address setup in SetupWithGenesisValSet * minor * switch to ext vote set * resolve transfer timeout-height flag redefined on cmd test err * bump sdk * tidy * fix a linting issue in app.go * use abci instead of abcitypes * remove named returns * use latest capability module * rm unnecessary import alias: pkg context * updating to latest buf tag for cosmos-sdk * imp: add in-code docs to ica message authentication * test: simplify test logic * nit: testing fixes * refactor: slim down necessary changes in testing pkg * refactor: format upgrade handlers properly * refactor: simapp app.go cleanup * fix: fix build issue and simplify test code * rm: root_v2.go depinject is not supported for ibc-go yet This file did not build * refactor: remove unnecessary functions in test_helpers.go * fix: simd cmd registration * fix: use AND concatentation for event queries * go mod tidy --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: sontrinh16 <trinhleson2000@gmail.com> Co-authored-by: Ruslan Akhtariev <rakhtariev@icloud.com> Co-authored-by: GnaD13 <cpt.meoz@gmail.com> Co-authored-by: Colin Axnér <25233464+colin-axner@users.noreply.github.com> Co-authored-by: sontrinh16 <48055119+sontrinh16@users.noreply.github.com> Co-authored-by: Marko <marko@baricevic.me> Co-authored-by: Carlos Rodriguez <carlos@interchain.io> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: srdtrk <59252793+srdtrk@users.noreply.github.com> Co-authored-by: Alexander Peters <alpe@users.noreply.github.com> Co-authored-by: Jim Fasarakis-Hilliard <d.f.hilliard@gmail.com> Co-authored-by: Damian Nolan <damiannolan@gmail.com> * tidy * update cosmos-sdk * fix changes * lint the v50 branch and update linter version used * chore: update sdk 50 branch from main (#4316) * build(deps): Bump bufbuild/buf-setup-action from 1.25.0 to 1.25.1 (#4286) Bumps [bufbuild/buf-setup-action](https://github.com/bufbuild/buf-setup-action) from 1.25.0 to 1.25.1. - [Release notes](https://github.com/bufbuild/buf-setup-action/releases) - [Commits](bufbuild/buf-setup-action@v1.25.0...v1.25.1) --- updated-dependencies: - dependency-name: bufbuild/buf-setup-action dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * deps: bump golangci-lint to v1.53.3 (#4276) Co-authored-by: Damian Nolan <damiannolan@gmail.com> * testing: fix usage on TimeoutPacket to use counterparty portID/channelID in nextSeqRecv query (#4319) * build(deps): Bump bufbuild/buf-setup-action from 1.25.1 to 1.26.0 (#4321) Bumps [bufbuild/buf-setup-action](https://github.com/bufbuild/buf-setup-action) from 1.25.1 to 1.26.0. - [Release notes](https://github.com/bufbuild/buf-setup-action/releases) - [Commits](bufbuild/buf-setup-action@v1.25.1...v1.26.0) --- updated-dependencies: - dependency-name: bufbuild/buf-setup-action dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * use go1.21 * bump cosmos-sdk * increase golangci timeout --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Damian Nolan <damiannolan@gmail.com> Co-authored-by: colin axnér <25233464+colin-axner@users.noreply.github.com> * Implement appmodule.AppModule interface for ibc-go packages' modules (#4332) * implement for ica * implement for fee * implement for transfer * implement for core * remove usage of basic manager in commands * remove basic managers from tx/q cmds arguments * Fix linting issues. --------- Co-authored-by: DimitrisJim <d.f.hilliard@gmail.com> * update cosmos-sdk in v50 feature branch (#4392) * update cosmos-sdk * update cosmos-sdk's submodules * updadte to sdk with updated modules * update capability module * update to the latest versions of modules in sdk 50 * fix * revert change to golangci-lint timeout * Update testing/simapp/export.go Co-authored-by: Carlos Rodriguez <carlos@interchain.io> * eliminate redundant call * re-add status command * fix build issues * Update golangci.yml --------- Co-authored-by: sontrinh16 <trinhleson2000@gmail.com> Co-authored-by: Carlos Rodriguez <carlos@interchain.io> * deps: update the sdk 50 branch to main (#4391) * build(deps): Bump bufbuild/buf-setup-action from 1.25.0 to 1.25.1 (#4286) Bumps [bufbuild/buf-setup-action](https://github.com/bufbuild/buf-setup-action) from 1.25.0 to 1.25.1. - [Release notes](https://github.com/bufbuild/buf-setup-action/releases) - [Commits](bufbuild/buf-setup-action@v1.25.0...v1.25.1) --- updated-dependencies: - dependency-name: bufbuild/buf-setup-action dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * deps: bump golangci-lint to v1.53.3 (#4276) Co-authored-by: Damian Nolan <damiannolan@gmail.com> * testing: fix usage on TimeoutPacket to use counterparty portID/channelID in nextSeqRecv query (#4319) * build(deps): Bump bufbuild/buf-setup-action from 1.25.1 to 1.26.0 (#4321) Bumps [bufbuild/buf-setup-action](https://github.com/bufbuild/buf-setup-action) from 1.25.1 to 1.26.0. - [Release notes](https://github.com/bufbuild/buf-setup-action/releases) - [Commits](bufbuild/buf-setup-action@v1.25.1...v1.26.0) --- updated-dependencies: - dependency-name: bufbuild/buf-setup-action dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * imp: use `types.MetadataFromVersion` helper function for callback handlers (#4290) * feat(callbacks): adr8 implementation (#3939) * imp(callbacks.test): added 'TestUnmarshalPacketData' * docs(callbacks): simapp comment for callback stacks updated * imp(callbacks.test): added 'TestOnChanCloseInit' * fix(simapp): passed feeKeeper as channel keeper to callbacks middleware * imp(callbacks.test): added 'TestSendPacket' * imp(callbacks.test): added TestWriteAcknowledgement * imp(callbacks.test): added 'TestOnChanCloseConfirm' * imp(callbacks.test): added 'TestOnAcknowledgementPacketError' * imp(callbacks.test): added 'TestOnTimeoutPacketError' * imp(callbacks.test): added export_test.go * imp(callbacks.test): added 'TestProcessCallbackDataGetterError' * imp(callbacks.test): added events tests * imp(callbacks): using PacketDataUnmarshaler to unmarshal instead of the full app * imp(callbacks): updated the api of getCallbackData functions * imp(callbacks): added TestGetSourceCallbackDataTransfer and TestGetDestCallbackDataTransfer * imp(callbacks.test): added export_test for type tests * imp(callbacks.test): added 'TestGetCallbackDataErrors' * imp(fee_test): added 'TestUnmarshalPacketDataError' * style(adr8): renamed the contract api functions * feat(callbacks.test): added incentivized transfer tests * imp(callbacks_test): added timeout test case to fee test * style(ica.adr8): updated godocs * style(ica.adr8): updated godocs * feat(adr8): replaced PacketDataUnmarshaller with PacketInfoProvider * imp(callbacks): added sender and receiver addresses to ContractKeeper interface * docs(ica): godocs updated * style(adr8): renamed PacketDataUnmarshaler to PacketInfoProvider * style(callbacks): renamed channel to ics4Wrapper * docs(callbacks): updated godocs * imp(adr8_test): tested new GetPacketSender and GetPacketReceiver interface functions * feat(adr8): added IBCSendPacketCallback to ContractKeeper * imp(testing/mock): added callback counter helpers * imp(ica, transfer): added WithICS4Wrapper api function * feat(callbacks_test): SendPacket tests are now passing * imp(fee_test): added more tests to TestPacketInfoProviderInterfaceError * style(callbacks): renamed PacketUnmarshalerIBCModule to PacketInfoProviderIBCModule * feat(callbacks): added maxGas param to middleware * fix(callbacks): fixed SendPacket * feat(callbacks): implemented WriteAcknowledgement callbacks * style(mock): updated the name of callback counter * fix(callbacks): fixed using channelID instead of portID * feat(callbacks): all acknowledgements implemented * style(ica.adr8): used more consistent formating in ica and transfer * docs(ica, transfer): updated 'WithICS4Wrapper's godocs * imp(callbacks_test): improved WriteAcknowledgement tests * tests(mock, callbacks): moved mock PacketUnmarshaller logic to mock module * tests(callbacks): added mock async ack test * ci: CODEOWNERS updated to include callbacks * docs(callbacks_test): updated godocs * imp(callbacks): only handling oog panic in recovery now * style(callbacks): fix variable name * imp(mock): mock panic is now a real oog panic * tests(adr8): added state reversal test * style(callbacks): renamed hasEnoughGas to remainingGasIsAtGasLimit * tests(adr8): moved panic and error treshold to 400k and 500k gas respectively * fix(callbacks): fixed panic handling * imp(callbacks_test): added a low relayer gas test * fix(transfer_test.adr8): fixed a typo in a test case * docs(callbacks): improved godocs * imp(callbacks): added CommitGasLimit to CallbackData for events * imp(callbacks): AttributeKeyCallbackCommitGasLimit added to events * fix(callbacks): fixed major gas panic issue * imp(callbacks_test): improved the oog panic test * style(callbacks): used '.GetData()' instead of '.Data' * docs(adr8): updated some godocs * style(ica/host_test): fixed test case memo styling * style(ica/controller): docs and style fixes * imp(ica/host): adr8 removed from icahost * docs(adr8): updated godocs for withics4wrapper * docs(adr8): updated godocs for gasLimit specs * style(adr8_test): fixed test case naming * docs(adr8): updated godocs for some interface functions * style(fee.adr8): renamed unmarshaler to provider in some cases * imp(adr8_test): improved mock unmarshaler * docs(transfer.adr8): updated godocs * docs(adr8): updated godocs * docs(adr8): updated godocs * docs(callbacks): updated godocs * style(callbacks): moved SendPacket func to top * docs(callbacks): updated godocs * imp(callbacks): logging to debug instead of info * style(callbacks): renamed remainingGasIsAtGasLimit -> commitTxIfOutOfGas * docs(callbacks): updated godocs * docs(callbacks): updated event docs * fix(callbacks): added CallbackTypeSendPacket to events * imp(callbacks): events emit port and channel id based on src vs dest * docs(callbacks): updated godocs * imp(callbacks): changed some event to a log * imp(callbacks): improved log * docs(callbacks): updated godocs * imp(callbacks): unsuccessful ack now bypasses callback in 'OnRecvPacket' * imp(callbacks_test): added mock logger * imp(mock): created mock logger * style: ran 'golangci-lint run --fix' * style(callbacks): made code more concise * style(callbacks): renamed PacketInfoProviderIBCModule to CallbacksCompatibleModule * style(callbacks): improved they style of getCallbackData and negated the bool for better readability * style(callbacks): used constants for 'success' and 'failure' attributes * docs(adr8): updated godocs * style(ica/controller): added more explicit prefix check * imp(adr8): moved 'GetPacketSender' and 'GetPacketReceiver' to 'CallbackPacketData' interface * style(adr8): renamed PacketInfoProvider to PacketDataUnmarshaler * imp(callbacks_test): switched hostStack for controllerStack * imp(callbacks_test): added missing test case * imp(callbacks): callbacks can now reject SendPacket * imp(callbacks_test): added TestSendPacketReject * style(callbacks_test): using TestCoin instead * imp(callbacks_test): added TestWriteAcknowledgementOogError and TestOnTimeoutPacketOogError * imp(callbacks_test): added TestOnAcknowledgementPacketOogError * imp(adr8): removed packetReceiver concept * imp(adr8): removed srcChannelID from GetPacketSender interface * imp(callbacks): oogError is now simply oogPanic * imp(callbacks): added more mw initialization notnil checks * docs(callbacks): updated godocs * feat(adr8): moved adr8 logic to callbacks middleware * style(callbacks): replaced AuthAddr -> SenderAddr * imp(callbacks_test): increased codecov * docs(adr8): improved some godocs around AdditionalPacketDataProvider interface * revert(docs): reverted changes to adr8 specs, this needs a seperate PR * imp(callbacks_test): improved tests slightly * docs(callbacks): improved godocs for keys.go * docs(mock.adr8): updated godocs for mock logger * imp(adr8): changed GetAdditionalData function signature * imp(callbacks): split AdditionalPacketDataProvider into two interfaces * style(mock): used interface impl convention * tests: removed ErrorMock * style(callbacks_test): improved test style * style(callbacks_test): improved test name * style(core, apps): renamed PacketSenderRetriever to PacketData * style(adr8): conforming to revive linter * fix(transfer_test, ica/controller_test): fixed failing tests * style: conforming to revive linter * nit(ica): removed uneeded diffs * style(callbacks): some style updates * docs(callbacks): updated godocs * imp(callbacks): added 'WithICS4Wrapper' * style(callbacks): rename GasLimit -> ExecutionGasLimit * imp(callbacks): allowRetry was removed * style(callbacks): moved callbackAddr code block above gas logic * style(callbacks): renamed ContractAddr,SenderAddr -> ContractAddress,SenderAddress * style(callbacks): updated godocs and var names for keys and errors * docs(callbacks): updated godocs for contract keeper * test: remove unnecessary code * test: apply review code suggestions * test: move SendPacket test up in layout * refactor: panic with errors in NewIBCMiddleware * test: refactor TestWithICS4Wrapper to simplify and reduce LOC * chore: rm mock logger and usage in tests * nit: explicitly return 0 sequence when error is not nil * lint: make use of unused test var maxCallbackGas * imp(callbacks): reduced case logic for eventTrigger * style(callbacks): improved event keys * refactor(callbacks): refactored gas logic * imp(callbacks): empty address returns an error now * style(callbacks): styled function arguments * refactor: simplify testing setup for callbacks * rename: mock's keeper.go to contract_keeper.go * refactor: remove mock keeper, use only mock contract keeper * rename: StateCounter -> StateEntryCounter * nit: simapp in-code docs * refactor: simplify mock contract keeper process callback * test: remove unnecessary test cases in transfer/fee integration tests * imp(callbacks): moved 'callbackDataGetter' logic up a level * refactor(callbacks): moved emit event logic up a level * style(callbacks): styled function arguments * docs(callbacks): improved godocs of contract keeper * style: renamed CallbackTypeAcknowledgement -> CallbackTypeAcknowledgementPacket * docs(callbacks): fixed events godocs * style(callbacks_test): fixed typo * style(callbacks): rename timeout -> timeout_packet * style(callbacks): rename ContractAddress -> CallbackAddress * imp(callbacks): don't handle panics for SendPacket * style: renamed CallbackTypeWriteAcknowledgement -> CallbackTypeReceivePacket * style: renamed CallbackType -> CallbackTrigger * style(callbacks_test): fixed typo in test case * docs(mock.adr8): updated godocs of contract keeper * imp(callbacks): moved logging after possible retry * style(callbacks): renamed function argument callbackType -> callbackTrigger * imp(callbacks): fixed logger name * imp(callbacks): 'LogDebugWithPacket' added * refactor(ibc_middleware_test): turn SendPacket into table test * test: add test cases for SendPacket table test * refactor(ibc_middleware_test): turn OnAcknowledgementPacket tests into table tests * test(OnAcknowledgement): add counter and state entry checks * test(ica_test): remove duplicate tests Remove tests which relied on older assertion in mock contract keeper Tests for contract execution failure can be added with issue #4390 * testing: fix usage on TimeoutPacket to use counterparty portID/channelID in nextSeqRecv query * test(ica_test): simplify timeout logic * test(types/callback_test.go): remove unused testing bool * style: ran golangci-lint * style: renamed CallbackTrigger -> CallbackType * refactor(ibc_middleware_test): turn OnTimeout into a table test * refactor(ibc_middleware_test): turn OnRecvPacket into a table test * style(callbacks_test): added nolint comments * style(callbacks_test): fixed some typos * imp(callbacks_test): added table tests for WriteAcknowledgement' * imp(callbacks_test): removed dest_callback test cases for ica as it is not supported * fix(callbacks): fixed send_packet panic handling * fix(callbacks_test): fix failing tests due to SendPacket panic * imp(callbacks): added 'AllowRetry' function * imp(callbacks): processCallback panic recovery logic is simplified * style(callbacks): updated style of the comment * fix(callbacks_test): removed potential premature return * docs(callbacks_test): updated inline comment * imp(callbacks_test): 'TestProcessCallback' added * imp(callbacks): upgraded the panic on timeout logic * docs(callbacks): added inline comments * imp(callbacks): removed 'LogDebugWithPacket' * docs(callbacks): updated godocs and inline comments * imp(callbacks): prevent maxCallbackGas from being 0 * imp(callbacks): removed logger * imp(callbacks): added 'ErrCannotUnmarshalPacketData' * imp(callbacks_test): created ''TestGetCallbackData * imp(callbacks_test): improved 'TestNewIBCMiddleware' * imp(callbacks): issue#4323 - add strings.Trimspace * docs(callbacks): issue#4325 - inline comment added for explaining why nil is returned on error * style(callbacks): passing nil instead of err to events in SendPacket * docs(callbacks): issue#4325 - added inline comments explaining why some error are only used for event emissions * imp(callbacks_test): added test cases for '0' user defined gas limit * imp(simapp): removed unneeded comment * imp(callbacks_test): using testAccAddress for transfer tests now --------- Co-authored-by: colin axner <25233464+colin-axner@users.noreply.github.com> Co-authored-by: Damian Nolan <damiannolan@gmail.com> * Duplicate SimApp into callbacks directory (#4337) * Remove callbacks wiring in ibc go simapp (#4340) * Give callbacks its own go.mod (#4341) * imp(callbacks): remove reconstructed packet logic from 'SendPacket' (#4343) * style: ran golangci-lint * imp(callbacks): removed unused packet param from processCallback * imp(callbacks): removed packet from event functions * imp(callbacks): removed packet from callbackDataGetter functions * style(callbacks): reorder func arguments for more consistency * imp(callbacks_test): using ibcmock.PortID for testing instead of empty string * style(callbacks): renamed packetData to data in 'GetCallbackData' functions * fix(callbacks): reordered EmitCallbackEvents parameters during usage * fix(proto): fix nested msg signer annoation (#4336) Co-authored-by: Damian Nolan <damiannolan@gmail.com> Co-authored-by: Carlos Rodriguez <carlos@interchain.io> * switched back to cosmos/relayer (#4345) * build(deps): Bump golangci/golangci-lint-action from 3.6.0 to 3.7.0 (#4349) Bumps [golangci/golangci-lint-action](https://github.com/golangci/golangci-lint-action) from 3.6.0 to 3.7.0. - [Release notes](https://github.com/golangci/golangci-lint-action/releases) - [Commits](golangci/golangci-lint-action@v3.6.0...v3.7.0) --- updated-dependencies: - dependency-name: golangci/golangci-lint-action dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * build(deps): Bump bufbuild/buf-setup-action from 1.26.0 to 1.26.1 (#4350) Bumps [bufbuild/buf-setup-action](https://github.com/bufbuild/buf-setup-action) from 1.26.0 to 1.26.1. - [Release notes](https://github.com/bufbuild/buf-setup-action/releases) - [Commits](bufbuild/buf-setup-action@v1.26.0...v1.26.1) --- updated-dependencies: - dependency-name: bufbuild/buf-setup-action dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Carlos Rodriguez <carlos@interchain.io> * chore: use IsOpen method in missed places (#4354) * end of life for v4.1, v4.2, v4.3 (#4335) * Add linting for callbacks submodule. (#4355) * docs(simapp): fixed inline middleware wiring comments (#4361) * docs(callbacks/simapp): fixed inline stack documentation * docs(testing/simapp): fixed inline stack documentation * docs(testing/simapp): fixed icacontroller inline stack documentation * docs(simapp): improved icaController stack's documentation * docs(callbacks/simapp): review fixes * bump golangci-lint to latest version * tidy * update cosmos-sdk * update cosmos-sdk's submodules * updadte to sdk with updated modules * update capability module * update to the latest versions of modules in sdk 50 * fix * revert change to golangci-lint timeout * Update go.work.example (#4397) * refactor(ica): packet data unmarshaling logic refactored (#4232) * refactor(ica): refactored packet data's unmarshal logic * fix(ica_test): made tests pass * imp(ica): changed to UnmarshalJSON api * docs(ica): added godocs to iapd's 'UnmarshalJSON' method * test(callbacks): checking that processCallback consumes gas (#4381) * imp(callbacks_test): checking that processCallback consumes gas from callback execution * imp(callbacks_test): simplified success test case a bit * build(deps): Bump cosmossdk.io/math from 1.0.1 to 1.1.2 (#4407) * build(deps): Bump cosmossdk.io/math from 1.0.1 to 1.1.1 Bumps [cosmossdk.io/math](https://github.com/cosmos/cosmos-sdk) from 1.0.1 to 1.1.1. - [Release notes](https://github.com/cosmos/cosmos-sdk/releases) - [Changelog](https://github.com/cosmos/cosmos-sdk/blob/main/CHANGELOG.md) - [Commits](cosmos/cosmos-sdk@math/v1.0.1...math/v1.1.1) --- updated-dependencies: - dependency-name: cosmossdk.io/math dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> * Bump in e2e, callbacks, tidy. * bump cosmossdk.io/math to v1.1.2 across all go modules --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: DimitrisJim <d.f.hilliard@gmail.com> Co-authored-by: Damian Nolan <damiannolan@gmail.com> * deps: update all modules to go 1.21 (#4398) * refactor: add unparam linter (#4333) * add unparam linter * remove unused-param from revive, add comments. --------- Co-authored-by: Carlos Rodriguez <carlos@interchain.io> Co-authored-by: Jim Fasarakis-Hilliard <d.f.hilliard@gmail.com> * Update testing/simapp/export.go Co-authored-by: Carlos Rodriguez <carlos@interchain.io> * eliminate redundant call * re-add status command * Add callbacks to dependabot. (#4410) Co-authored-by: Carlos Rodriguez <carlos@interchain.io> * correct applications -> apps (#4414) Co-authored-by: Damian Nolan <damiannolan@gmail.com> * deps: proto image builder and golangci-lint (#4413) * bump the proto image builder and golangci-lint * address implicit memory aliasing --------- Co-authored-by: Jim Fasarakis-Hilliard <d.f.hilliard@gmail.com> * fix build issues * Bump golangci for callbacks, fix complaints from unparam. (#4417) * docs(callbacks): added godocs for defensive send packet validation (#4358) * docs(callbacks): added godocs for send packet validation * docs(callbacks): improved godocs * docs(callbacks): used colin and damian suggested doc string * docs(callbacks): fixed typo * docs(callbacks): improved a minor typo * deps: update sdk to latest sdk v0.50 release candidate in mod/capability (#4399) * update all modules to go 1.2.1 * update golang in the Dockerfile * update cosmos-sdk in capability module --------- Co-authored-by: colin axnér <25233464+colin-axner@users.noreply.github.com> * fix: sdk update for callbacks * fix: update ante handler in callbacks simapp * fix: recopy ibc-go simapp * fix: various sdk update issues * test(callbacks): simplified mock contract keeper's processCallback logic (#4375) * imp(callbacks/mock/contract_keeeper): improved contract keeper logic * imp(callbacks_test): fixed transfer_test.go * imp(callbacks_test): fixed ica_test.go * imp(callbacks_test): fixed fee_transfer_test.go * style(callbacks_test): removed unneeded gas_limit * style: ran golangci-lint * imp(callbacks_test): implemented simplified logic * imp(callbacks_test): removed unneeded variable * imp(callbacks): implemented some review feedback * docs(callbacks/simapp): updated godocs of mock contract keeper functions * Support e2e tests for callback module SimApp (#4406) * deps: update interchaintest to latest upstream code (#4396) * update interchaintest to latest upstream code * update all modules to go 1.2.1 * update golang in the Dockerfile * use sdk math in the right places * math to int64 where needed * additional patches * attempt (again) * test the fix * correct earlier errors * update incorrect updates * update incorrect iavl * update incorrect iavl version * re-introdue "the bug" * use int instead of math.Int in GetAndFundTestUsers * fix TestInterchainAccountsGroupsTest * fix TestAuthz_InvalidTransferAuthorizations * fix the rest of the tests ? * convert to int64 * convert actualBalance to int64 * Revert "convert actualBalance to int64" This reverts commit e4df8f3. * convert balance to int64 in ica localhost test * convert balance in interchain accounts base_test.go line 222 * convert actualBalance in line 109 of transfer's base_test.go to int64 * can we use zeroint like that? * preassign zero * use sdkmath.NewInt * properly call sdkmath.ZeroInt() --------- Co-authored-by: catShaark <gundamaster5@gmail.com> Co-authored-by: khanh-notional <50263489+catShaark@users.noreply.github.com> Co-authored-by: colin axnér <25233464+colin-axner@users.noreply.github.com> Co-authored-by: Jim Fasarakis-Hilliard <d.f.hilliard@gmail.com> * docs: add docs for PacketData, PacketDataProvider, and PacketDataUnmarshaler interfaces (#4435) * docs: add docs for PacketData and PacketDataProvider * docs: add docs for PacketDataUnmarshaler * Apply suggestions from code review Co-authored-by: srdtrk <59252793+srdtrk@users.noreply.github.com> --------- Co-authored-by: srdtrk <59252793+srdtrk@users.noreply.github.com> * e2e: optimise running of params tests/set default allowed clients conditionally on version (#4428) * wip: fixing failing params test * fine tuned host enabled params test * Use slices.DeleteFunc, fix LocalhostClientFeatureReleases docstring. --------- Co-authored-by: DimitrisJim <d.f.hilliard@gmail.com> * fix: update callbacks tests to v0.50 sdk * lint * fix: copy over root.go * go mod tidy * copy over main.go from simd * fix merge conflict * fix(callback/types): update test file to sdk v0.50 * fix: remove toolchain directive workflow for splitting files cannot read toolchain directive --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Damian Nolan <damiannolan@gmail.com> Co-authored-by: colin axnér <25233464+colin-axner@users.noreply.github.com> Co-authored-by: Sishir Giri <sis1001@berkeley.edu> Co-authored-by: srdtrk <59252793+srdtrk@users.noreply.github.com> Co-authored-by: Cian Hatton <cian@interchain.io> Co-authored-by: Julien Robert <julien@rbrt.fr> Co-authored-by: Carlos Rodriguez <carlos@interchain.io> Co-authored-by: Jim Fasarakis-Hilliard <d.f.hilliard@gmail.com> Co-authored-by: sontrinh16 <trinhleson2000@gmail.com> Co-authored-by: catShaark <gundamaster5@gmail.com> Co-authored-by: khanh-notional <50263489+catShaark@users.noreply.github.com> * fix: callbacks types test for events * testing: e2e support for sdkv50 (#4485) Co-authored-by: Jacob Gadikian <jacobgadikian@gmail.com> Co-authored-by: sontrinh16 <trinhleson2000@gmail.com> Co-authored-by: Ruslan Akhtariev <rakhtariev@icloud.com> Co-authored-by: GnaD13 <cpt.meoz@gmail.com> Co-authored-by: Colin Axnér <25233464+colin-axner@users.noreply.github.com> Co-authored-by: Jim Fasarakis-Hilliard <d.f.hilliard@gmail.com> * Apply suggestions from code review * nits: self review * chore: make relayer selection work correctly when determining from environmental variables * chore: correcting string checks * nit: switch golang lint timeout to 10m * refactor: ccmtservice -> consensusService * refactor: remove upgrade logic from callbacks simapp * apply mega nits * refactor: remove usage of extended commits in testing pkg * review: add pointer receiver to registerUpgradeHandlers * e2e-fixes: add back intertx types and set hermes as default relayer * run linter * move intertx to it's orignal registration location * fix: use type not tag in e2e testconfig * chore: updating sample file to use custom hermes image * e2e: call unsafe reset all in genesis test --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: Jacob Gadikian <jacobgadikian@gmail.com> Co-authored-by: sontrinh16 <trinhleson2000@gmail.com> Co-authored-by: Ruslan Akhtariev <rakhtariev@icloud.com> Co-authored-by: GnaD13 <cpt.meoz@gmail.com> Co-authored-by: sontrinh16 <48055119+sontrinh16@users.noreply.github.com> Co-authored-by: Marko <marko@baricevic.me> Co-authored-by: Carlos Rodriguez <carlos@interchain.io> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: srdtrk <59252793+srdtrk@users.noreply.github.com> Co-authored-by: Alexander Peters <alpe@users.noreply.github.com> Co-authored-by: Jim Fasarakis-Hilliard <d.f.hilliard@gmail.com> Co-authored-by: Damian Nolan <damiannolan@gmail.com> Co-authored-by: Ruslan Akhtariev <46343690+pysel@users.noreply.github.com> Co-authored-by: Sishir Giri <sis1001@berkeley.edu> Co-authored-by: Cian Hatton <cian@interchain.io> Co-authored-by: Julien Robert <julien@rbrt.fr> Co-authored-by: catShaark <gundamaster5@gmail.com> Co-authored-by: khanh-notional <50263489+catShaark@users.noreply.github.com> Co-authored-by: Charly <charly@interchain.io> Co-authored-by: chatton <github.qpeyb@simplelogin.fr>
- Loading branch information