-
Notifications
You must be signed in to change notification settings - Fork 593
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
test(callbacks): checking that processCallback consumes gas #4381
Merged
srdtrk
merged 3 commits into
main
from
serdar/issue#4331-test-process-callback-consumes-gas
Aug 21, 2023
Merged
test(callbacks): checking that processCallback consumes gas #4381
srdtrk
merged 3 commits into
main
from
serdar/issue#4331-test-process-callback-consumes-gas
Aug 21, 2023
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
srdtrk
added
testing
Testing package and unit/integration tests
callbacks middleware
Issues for callbacks middleware
labels
Aug 17, 2023
srdtrk
requested review from
colin-axner,
AdityaSripal and
damiannolan
as code owners
August 17, 2023 16:30
srdtrk
changed the title
imp(callbacks_test): checking that processCallback consumes gas
test(callbacks): checking that processCallback consumes gas
Aug 21, 2023
damiannolan
approved these changes
Aug 21, 2023
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good to me! LGTM
DimitrisJim
approved these changes
Aug 21, 2023
srdtrk
deleted the
serdar/issue#4331-test-process-callback-consumes-gas
branch
August 21, 2023 14:48
colin-axner
added a commit
that referenced
this pull request
Aug 24, 2023
* 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] <[email protected]> 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 <[email protected]> * 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] <[email protected]> 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 <[email protected]> Co-authored-by: Damian Nolan <[email protected]> * 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 <[email protected]> Co-authored-by: Carlos Rodriguez <[email protected]> * 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] <[email protected]> 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] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Carlos Rodriguez <[email protected]> * 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] <[email protected]> * Bump in e2e, callbacks, tidy. * bump cosmossdk.io/math to v1.1.2 across all go modules --------- Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: DimitrisJim <[email protected]> Co-authored-by: Damian Nolan <[email protected]> * 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 <[email protected]> Co-authored-by: Jim Fasarakis-Hilliard <[email protected]> * Update testing/simapp/export.go Co-authored-by: Carlos Rodriguez <[email protected]> * eliminate redundant call * re-add status command * Add callbacks to dependabot. (#4410) Co-authored-by: Carlos Rodriguez <[email protected]> * correct applications -> apps (#4414) Co-authored-by: Damian Nolan <[email protected]> * 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 <[email protected]> * 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 <[email protected]> * 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 <[email protected]> Co-authored-by: khanh-notional <[email protected]> Co-authored-by: colin axnér <[email protected]> Co-authored-by: Jim Fasarakis-Hilliard <[email protected]> * 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 <[email protected]> --------- Co-authored-by: srdtrk <[email protected]> * 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 <[email protected]> * 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] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Damian Nolan <[email protected]> Co-authored-by: colin axnér <[email protected]> Co-authored-by: Sishir Giri <[email protected]> Co-authored-by: srdtrk <[email protected]> Co-authored-by: Cian Hatton <[email protected]> Co-authored-by: Julien Robert <[email protected]> Co-authored-by: Carlos Rodriguez <[email protected]> Co-authored-by: Jim Fasarakis-Hilliard <[email protected]> Co-authored-by: sontrinh16 <[email protected]> Co-authored-by: catShaark <[email protected]> Co-authored-by: khanh-notional <[email protected]>
colin-axner
added a commit
that referenced
this pull request
Sep 4, 2023
* 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 <[email protected]> * Update modules/capability/module.go Co-authored-by: Marko <[email protected]> * Update modules/apps/27-interchain-accounts/module.go Co-authored-by: Marko <[email protected]> * 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://redirect.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 <[email protected]> * 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 <[email protected]> * 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 <[email protected]> * 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] <[email protected]> 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 <[email protected]> * 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] <[email protected]> Co-authored-by: sontrinh16 <[email protected]> Co-authored-by: Ruslan Akhtariev <[email protected]> Co-authored-by: GnaD13 <[email protected]> Co-authored-by: Colin Axnér <[email protected]> Co-authored-by: sontrinh16 <[email protected]> Co-authored-by: Marko <[email protected]> Co-authored-by: Carlos Rodriguez <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: srdtrk <[email protected]> Co-authored-by: Alexander Peters <[email protected]> Co-authored-by: Jim Fasarakis-Hilliard <[email protected]> Co-authored-by: Damian Nolan <[email protected]> * 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] <[email protected]> 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 <[email protected]> * 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] <[email protected]> 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] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Damian Nolan <[email protected]> Co-authored-by: colin axnér <[email protected]> * 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 <[email protected]> * 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 <[email protected]> * eliminate redundant call * re-add status command * fix build issues * Update golangci.yml --------- Co-authored-by: sontrinh16 <[email protected]> Co-authored-by: Carlos Rodriguez <[email protected]> * 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] <[email protected]> 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 <[email protected]> * 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] <[email protected]> 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 <[email protected]> Co-authored-by: Damian Nolan <[email protected]> * 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 <[email protected]> Co-authored-by: Carlos Rodriguez <[email protected]> * 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] <[email protected]> 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] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Carlos Rodriguez <[email protected]> * 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] <[email protected]> * Bump in e2e, callbacks, tidy. * bump cosmossdk.io/math to v1.1.2 across all go modules --------- Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: DimitrisJim <[email protected]> Co-authored-by: Damian Nolan <[email protected]> * 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 <[email protected]> Co-authored-by: Jim Fasarakis-Hilliard <[email protected]> * Update testing/simapp/export.go Co-authored-by: Carlos Rodriguez <[email protected]> * eliminate redundant call * re-add status command * Add callbacks to dependabot. (#4410) Co-authored-by: Carlos Rodriguez <[email protected]> * correct applications -> apps (#4414) Co-authored-by: Damian Nolan <[email protected]> * 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 <[email protected]> * 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 <[email protected]> * 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 <[email protected]> Co-authored-by: khanh-notional <[email protected]> Co-authored-by: colin axnér <[email protected]> Co-authored-by: Jim Fasarakis-Hilliard <[email protected]> * 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 <[email protected]> --------- Co-authored-by: srdtrk <[email protected]> * 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 <[email protected]> * 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] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Damian Nolan <[email protected]> Co-authored-by: colin axnér <[email protected]> Co-authored-by: Sishir Giri <[email protected]> Co-authored-by: srdtrk <[email protected]> Co-authored-by: Cian Hatton <[email protected]> Co-authored-by: Julien Robert <[email protected]> Co-authored-by: Carlos Rodriguez <[email protected]> Co-authored-by: Jim Fasarakis-Hilliard <[email protected]> Co-authored-by: sontrinh16 <[email protected]> Co-authored-by: catShaark <[email protected]> Co-authored-by: khanh-notional <[email protected]> * fix: callbacks types test for events * testing: e2e support for sdkv50 (#4485) Co-authored-by: Jacob Gadikian <[email protected]> Co-authored-by: sontrinh16 <[email protected]> Co-authored-by: Ruslan Akhtariev <[email protected]> Co-authored-by: GnaD13 <[email protected]> Co-authored-by: Colin Axnér <[email protected]> Co-authored-by: Jim Fasarakis-Hilliard <[email protected]> * 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] <[email protected]> Co-authored-by: Jacob Gadikian <[email protected]> Co-authored-by: sontrinh16 <[email protected]> Co-authored-by: Ruslan Akhtariev <[email protected]> Co-authored-by: GnaD13 <[email protected]> Co-authored-by: sontrinh16 <[email protected]> Co-authored-by: Marko <[email protected]> Co-authored-by: Carlos Rodriguez <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: srdtrk <[email protected]> Co-authored-by: Alexander Peters <[email protected]> Co-authored-by: Jim Fasarakis-Hilliard <[email protected]> Co-authored-by: Damian Nolan <[email protected]> Co-authored-by: Ruslan Akhtariev <[email protected]> Co-authored-by: Sishir Giri <[email protected]> Co-authored-by: Cian Hatton <[email protected]> Co-authored-by: Julien Robert <[email protected]> Co-authored-by: catShaark <[email protected]> Co-authored-by: khanh-notional <[email protected]> Co-authored-by: Charly <[email protected]> Co-authored-by: chatton <[email protected]>
charleenfei
added a commit
that referenced
this pull request
Sep 6, 2023
* 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] <[email protected]> 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 <[email protected]> * 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] <[email protected]> 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 <[email protected]> Co-authored-by: Damian Nolan <[email protected]> * 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 <[email protected]> Co-authored-by: Carlos Rodriguez <[email protected]> * 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] <[email protected]> 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] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Carlos Rodriguez <[email protected]> * 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] <[email protected]> * Bump in e2e, callbacks, tidy. * bump cosmossdk.io/math to v1.1.2 across all go modules --------- Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: DimitrisJim <[email protected]> Co-authored-by: Damian Nolan <[email protected]> * 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 <[email protected]> Co-authored-by: Jim Fasarakis-Hilliard <[email protected]> * Update testing/simapp/export.go Co-authored-by: Carlos Rodriguez <[email protected]> * eliminate redundant call * re-add status command * Add callbacks to dependabot. (#4410) Co-authored-by: Carlos Rodriguez <[email protected]> * correct applications -> apps (#4414) Co-authored-by: Damian Nolan <[email protected]> * 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 <[email protected]> * 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 <[email protected]> * 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 <[email protected]> Co-authored-by: khanh-notional <[email protected]> Co-authored-by: colin axnér <[email protected]> Co-authored-by: Jim Fasarakis-Hilliard <[email protected]> * 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 <[email protected]> --------- Co-authored-by: srdtrk <[email protected]> * 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 <[email protected]> * 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] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Damian Nolan <[email protected]> Co-authored-by: colin axnér <[email protected]> Co-authored-by: Sishir Giri <[email protected]> Co-authored-by: srdtrk <[email protected]> Co-authored-by: Cian Hatton <[email protected]> Co-authored-by: Julien Robert <[email protected]> Co-authored-by: Carlos Rodriguez <[email protected]> Co-authored-by: Jim Fasarakis-Hilliard <[email protected]> Co-authored-by: sontrinh16 <[email protected]> Co-authored-by: catShaark <[email protected]> Co-authored-by: khanh-notional <[email protected]>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
callbacks middleware
Issues for callbacks middleware
testing
Testing package and unit/integration tests
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
This PR modifies
TestProcessCallback
so that it checks whether or notprocessCallback
consumes the correct amount of gas in each test case.closes: #4331
Commit Message / Changelog Entry
see the guidelines for commit messages. (view raw markdown for examples)
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.
Updated relevant documentation (docs/
) or specification (x/<module>/spec/
).Added relevantgodoc
comments.Files changed
in the Github PR explorer.Codecov Report
in the comment section below once CI passes.