-
Notifications
You must be signed in to change notification settings - Fork 673
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: channel upgradability #1613
Merged
+25,797
−3,464
Merged
Changes from 1 commit
Commits
Show all changes
346 commits
Select commit
Hold shift + click to select a range
c769d22
Add hasInflightPackets. (#3836)
DimitrisJim 1b0edff
bump ubuntu (#3857)
charleenfei c0943cc
Add ChanUpgradeCancel core handler (#3846)
chatton 3fc6954
WriteUpgradeTimeout (#3797)
charleenfei e201873
update app, middleware and 05-port modules with ChanUpgradeTimeout f…
charleenfei 1625adb
`ChanUpgradeTimeout` handler for 04-channel (#3829)
charleenfei ccb00fc
updat MsgUpgradeTimeout resp, add getter directives (#3858)
charleenfei dc69cd5
ChanUpgradeOpen callback should not return an error. (#3899)
DimitrisJim e2784ca
chore: pr review followups (#3901)
colin-axner 4e71da3
Remove error return from OnChanUpgradeRestore. (#3902)
DimitrisJim 0766486
chore: refactor `chanUpgradeAck` tests to use expected errors (#3843)
damiannolan 6453bd4
adding result to MsgChannelUpgradeAckResponse (#3845)
damiannolan 4f5f627
update upgrade seq comparison in `ChanUpgradeTimeout` (#3905)
charleenfei 7c5384f
Implement MsgChannelUpgradeCancel message server handler (#3848)
chatton 26daed9
`ChanUpgradeTimeout` `msg_server` function (#3855)
charleenfei ea0ded0
rm Equal directive (#3908)
charleenfei f734e49
feat: adding msg server implementation for `ChannelUpgradeAck` (#3849)
damiannolan 742b4bb
chore: make error wrapping and logging consistent for upgrade try msg…
damiannolan 27b39ae
chore: use new version return in transfer app for testing relayers (#…
damiannolan 9af46f7
Remove generation of getters for upgrade types. (#3951)
DimitrisJim 7f3b04d
Add a check for connection state in UpgradeAck. (#3954)
DimitrisJim 86bb6bf
update WriteUpgradeTry to change flush status to `FLUSHCOMPLETE` if t…
charleenfei 16ed527
Add flush status check in SendPacket (#3912)
chatton 32930e7
Add ChanUpgradeOpen core handler. (#3844)
DimitrisJim a7793bc
Add flushing check to WriteUpgradeAckChannel (#3976)
chatton e81d2f8
remove depguard from golangci-lint (#4000)
chatton 25fcad4
Set channel state to NOTINFLUSH when Closing (#3995)
chatton 5767ad7
Set Counterparty Last Sequence Send (#4005)
chatton 92f9e56
Add FlushStatus Checks to RecvPacket (#3914)
chatton 118cb71
Add implementation for message server handling of ChanUpgradeOpen. (#…
DimitrisJim c249e1e
helper function for validating a counterparty upgrade against the sel…
chatton 05c43dc
Make AbortUpgrade panic on failure (#4011)
chatton dffdb92
Amend AcknowledgePacket to handle flushing (#3922)
DimitrisJim 3203f07
Amend timeout to handle in-flight packets. (#3923)
DimitrisJim 641ad00
change comment
crodriguezvega ef239b4
chore: adding callback for OnChanUpgradeRestore in abort scenarios (#…
damiannolan fcd8ded
Pass in counterparty portID, channelID when verifying channel in Chan…
DimitrisJim af76ade
Remove manual setting of flush status in ChanUpgradeOpen. (#4064)
DimitrisJim 8e53c77
Use counterparty portid, channelid when verifying channel upgrade err…
DimitrisJim f731de5
feat: adding `OnChanUpgradeInit` handler implementation to `29-fee` (…
damiannolan 0e7e57e
feat: adding `OnChanUpgradeTry` handler implementation for `29-fee` (…
damiannolan 42c79ad
feat: adding `OnChanUpgradeAck` handler implementation to `29-fee` (#…
damiannolan 82ea953
Use counterparty connection hops when verifying channel state (#4074)
DimitrisJim dcc004f
chore: adding comment to 29-fee OnChanUpgradeOpen callback (#4123)
damiannolan c39b53e
Add tests for WriteUpgradeOpenChannel. (#4077)
DimitrisJim 98db69b
Add tests for WriteUpgradeCancel. (#4076)
DimitrisJim ac1acbb
Move channel to OPEN if all in-flight packets have been flushed in Up…
DimitrisJim 347346b
imp: use HasInflightPackets to check if channel has finished flushing…
DimitrisJim c2bd97b
feat: adding `OnChanUpgradeInit` implementation to transfer (#4126)
damiannolan edd0cc1
Remove superfluous ignore directive. (#4158)
DimitrisJim ec2a8c8
feat: adding OnChanUpgradeTry implementation to transfer (#4137)
damiannolan ace3acd
Call app callback after writting state in Cancel and Timeout. (#4166)
DimitrisJim 4072cbd
helper function to clear state stored during an upgrade (#4147)
crodriguezvega d9e8131
add `IsUpgradError` func for readability (#4144)
crodriguezvega 65511d2
add check that channel exists in upgrade gRPCs (#4156)
crodriguezvega f3c9539
consistent connection lookup calls in 04-channel (#4146)
crodriguezvega e00fb0f
nit: error formatting improvements for channel upgrades (#4097)
crodriguezvega bf87c3d
added test for event emission (#4020)
chatton 4c3e57e
feat: implement `OnChanUpgradeAck` for transfer (#4215)
damiannolan c862d24
refactor: simplify OnChanUpgradeTry transfer testing to call module c…
damiannolan 157896d
test: adding test for events in channel upgrade try (#4226)
chatton e7c54e5
Add store functions for counterparty upgrade. (#4293)
DimitrisJim 9886cbd
Add FLUSHING/FLUSHCOMPLETE to Channel state. (#4300)
DimitrisJim 99a537d
feat: adding `ChannelUpgradeConfirm` rpc and msgs (#4302)
damiannolan 7735de1
chore: move verification before startFlushUpgradeHandshake (#4285)
chatton d5e63d4
rebase `04-channel-upgrades` branch (#4160)
crodriguezvega a8b36fa
Revert "rebase `04-channel-upgrades` branch (#4160)"
damiannolan 200f4b5
Merge branch 'main' into 04-channel-upgrades
damiannolan 3dac601
rm unnecessary test matrix file
damiannolan a02c059
make lint-fix
damiannolan 2f25298
satisfy revive linter
damiannolan 18b64e8
updating feature banch ci workflow for golangci-lint
damiannolan ac86b3d
bumping golangci-lint action to v3.6.0
damiannolan 1daa1d8
define go version as string in workflow
damiannolan 5721b4d
Delete counterparty upgrade in deleteUpgradeInfo. Move function to ke…
DimitrisJim e7d651d
Remove check for counterparty timeout in ChanUpgradeTry. (#4301)
DimitrisJim 9d9fb4e
Store counterparty upgrade after ack finishes. (#4299)
DimitrisJim 8fa23dc
call verification of counterparty channel, upgrade in upgradetry. (#4…
DimitrisJim e7ea589
Add verification calls in ChanUpgradeAck. (#4312)
DimitrisJim 99282a4
Add ChanUpgradeConfirm to endpoint. (#4314)
DimitrisJim b7573a3
Merge branch 'main' into 04-channel-upgrades
damiannolan ce03b99
Remove verification calls in StartFlushUpgradeHandshake (#4317)
DimitrisJim edef7c9
test: add events test for ChannelUpgradeTimeout (#4284)
chatton b048943
test: add event emission test for ChanUpgradeCancel (#4281)
chatton 0d6d9f1
Check counterparty timeout hasn't elapsed in ChanUpgradeAck. (#4305)
DimitrisJim 5478216
refactor: modify `ChannelUpgradeInit` to only store upgrade fields (#…
damiannolan 4bb551c
Add test for event emission ChanUpgradeAck (#4228)
chatton 65c5a7e
Adding test for events for ChanUpgradeOpen (#4230)
chatton 2b221e6
Move check to fail on incompatible upgrade after proof verification. …
DimitrisJim d5b35a7
Add functions checkForUpgradeCompatibility and syncUpgradeSequence (#…
chatton 7cd3ddf
refactor: modify upgrade init to not change channel state (#4357)
damiannolan f648383
refactor: cleanup upgrade init app callback args (#4359)
damiannolan e6139d0
Add WriteUpgradeConfirm function. (#4303)
DimitrisJim 09e144c
Modify startFlushUpgradeHandshake to be used as a write function (#4360)
chatton bf37961
Remove restore logic in upgrade TRY handler (#4362)
chatton b43711d
refactor: remove `FlushStatus` from ack handler and msg (#4364)
damiannolan 61d9853
Amend checkForUpgradeCompatibility to check that versions match (#4366)
DimitrisJim cd62620
refactor: modify ack handler expected channel state (#4371)
damiannolan e2c8326
Channel Upgrade Ack (#4372)
chatton 2e8b370
feat: adding `chanUpgradeConfirm` implementation to `04-channel` (#4373)
damiannolan cd250cb
feat: adding msg server implementation for `ChanUpgradeConfirm` (#4376)
damiannolan e78a308
Remove check on flush status for send packet. (#4384)
DimitrisJim c0fd304
Channel Upgrade Open (#4379)
chatton 0f431ca
Implement Channel Upgrade Cancel (#4404)
chatton 2c17724
Refactor `TestWriteUpgradeCancelChannel` (#4424)
ThanhNhann 5c12378
Refactor `TestWriteUpgradeOpenChannel` (#4431)
ThanhNhann f1e8ae8
refactor: acknowledgePacket handling flushing / flush complete state …
damiannolan f230633
Add UpgradeTimeout as a params field in the channel submodule (#4411)
chatton 5b1071d
Refactor TestWriteUpgradeTry to remove flush status checks (#4430)
chatton 9c54f23
refactor: use `expResult` in acknowledgePacket tests (#4439)
damiannolan 7302d9b
Implement ChanUpgradeTimeout with spec changes (#4438)
chatton 9372c6c
Amend recvPacket as per spec. (#4386)
DimitrisJim d6469e0
Update error receipt event emission to use correct event type (#4451)
chatton f638139
Account for moving channel state to flush complete in timeout process…
chatton b1131d2
Remove init, try, ack upgrade states (#4455)
chatton b1ef4c1
refactor: remove `FlushStatus` from channel end (#4457)
damiannolan 404da25
Refactor channel upgradability msgs to reflect updated spec (#4456)
chatton 9d7ddac
Amend timeoutPacket to allow timeouts on any channel state. (#4367)
DimitrisJim 656e1e1
Refactor recvPacket tests to use expError. (#4471)
DimitrisJim 03c55bd
refactor: remove counterparty last sequence send state entry (#4473)
damiannolan 9401a2b
Don't write channel to state when not modified. (#4495)
DimitrisJim 5847b84
refactor: rename channel upgradability flush states (#4488)
damiannolan 0369df2
Don't emit event information for unchanged upgrade. (#4492)
DimitrisJim efd4321
Add tests for WriteUpgradeConfirm. (#4490)
DimitrisJim d1df1c6
Allow receiving of packets if the counterparty latest sequence send h…
DimitrisJim 22dc59d
chore: re-enable disabled test case in `chanUpgradeTry` (#4501)
damiannolan 5b58962
Resolve commented out testcases for Channel Upgrades (#4474)
chatton 312d217
refactor: adding additional upgrade fields args to onChanUpgradeOpen …
damiannolan 0851a7a
tests: adding followup tests for in-flight packets on chanUpgradeConf…
damiannolan c67918f
Use only timestamp only for upgrade timeouts. (#4482)
chatton b5a3937
Timing out packets on ordered channels when in flushing state aborts …
chatton f035200
Change UpgradeTimeout to from absolute to relative (#4511)
chatton e8f9268
refactor: fee middleware onChanUpgradeInit callback (#4514)
damiannolan 633de7e
refactor: fee middleware onChanUpgradeTry callback (#4515)
damiannolan 23a16f2
refactor: implementation for onChanUpgradeAck ics29 (#4523)
damiannolan 81be4fe
feat: adding fee middleware onChanUpgradeOpen callback impl (#4524)
damiannolan 10a6b0c
Merge branch 'main' into 04-channel-upgrades
chatton b0cb9f1
Merge branch 'main' into 04-channel-upgrades
chatton a1db4e0
test: adding integration test for fee transfer channel upgrade (#4533)
damiannolan 4383d62
Merge branch 'main' into 04-channel-upgrades
chatton 63c3010
Merge branch 'main' into 04-channel-upgrades
damiannolan b6e9bd2
fix: check that `MsgChannelUpgradeInit` is signed by authority (#4773)
charleenfei 75da9f5
Chore: consistent argument order (#4545)
ThanhNhann 658b00f
Add ParseProposalIDFromEvents helper function (#4942)
ThanhNhann 34cbe05
imp: remove `LatestSequenceSend` (#5108)
sangier fa3f92f
chore: rebase 04-channel-upgrades feature branch (#5085)
crodriguezvega 081646c
chore: propagate IBC authority to 04-channel keeper to be used within…
charleenfei b41b510
Merge branch 'main' into 04-channel-upgrades
chatton 6b9d1e9
Amend validation of upgrade fields to use variable holding supported …
DimitrisJim ee240e2
refactor: adapt testing endpoint query for channel upgrade proofs (#5…
damiannolan 690e885
test: adding test for crossing hello trys with historical proofs (#5143)
damiannolan 39df8d2
chore: replace dummy error with correct error type (#5177)
chatton afc82cd
Remove incorrect godoc (#5203)
chatton 0cfd4e5
chore: correct returned error (#5205)
chatton bbfbcc4
chore: adding comment to add clarity to returned upgrade (#5214)
chatton 4cfd509
Verify channel upgrade can be completed after cancellation is success…
chatton 6fb0f79
Remove last packet sent from new upgrade constructor. (#5210)
DimitrisJim 743b6da
Reorder call to application callback so it happens after we write sta…
DimitrisJim 30fb5af
chore: allow authorized senders to submit empty error receipt proof (…
chatton 6506d9d
remove incorect code (#5235)
GNaD13 fa97576
chore: panic instead of return err (#5246)
hieuvubk b3c5164
chore: add comment about version assignment (#5239)
chatton eaabb85
Add to docstring with explanation about channel state (#5236)
chatton ff90976
Chore: replace `fmt.Sprintf` with `fmt.Errorf` in `upgrades.go` (#5291)
ThanhNhann 63d7fc1
fix: add event and event emission for `FLUSHCOMPLETE` (#5245)
sontrinh16 3c396ee
Remove setting counterparty upgrade info in upgrade try (#5238)
chatton f23dfef
fix: allow error receipt to be nil in case of the msg sender is the a…
charleenfei 25c8247
Move events to message server layer instead of core level (#5264)
chatton a394cc6
imp: use MetadataFromVersion function in 27-interchain-accounts (#5300)
vishal-kanna 181bd1a
remove channel id (#5307)
GNaD13 f48f46d
remove comment that unused (#5308)
GNaD13 b3ecc31
Implement OnChanUpgradeInit on Controller Chain for interchain-accoun…
chatton b193740
Add a helper function to create a mock contract. (#5162)
DimitrisJim f620584
docs: improved channel closure docs (#5170)
srdtrk 1b67482
chore: use `GetPrefixedDenom` to create IBC token denom (#5175)
0xstepit fa2b6c8
build(deps): Bump DavidAnson/markdownlint-cli2-action from 13 to 14 (…
dependabot[bot] 63e9660
docs: readme improvements (#5171)
crodriguezvega 147f976
chore(08-wasm): `Pin` code during app initialisation (#5161)
vuong177 e784660
e2e: timeout transfer with grandpa light client (#5018)
charleenfei cd1684a
Change to StoreCodeUnchecked in Genesis and snapshotter (#5167)
GNaD13 89514b1
build(deps): Bump JamesIves/github-pages-deploy-action from 4.4.3 to …
dependabot[bot] d3acbcd
build(deps): Bump github.com/hashicorp/go-metrics from 0.5.2 to 0.5.3…
dependabot[bot] 920670d
build(deps): Bump github.com/cometbft/cometbft from 0.38.1 to 0.38.2 …
dependabot[bot] a7a6de2
build(deps): Bump github.com/spf13/cast from 1.5.1 to 1.6.0 (#5181)
dependabot[bot] 0f414ce
docs: add IBC overview diagram (#5166)
crodriguezvega 24d0a25
Drop step installing tparse. (#5191)
DimitrisJim 42b3bf2
Add capability to dependabot. (#5193)
DimitrisJim b81f11b
build(deps): Bump sigs.k8s.io/yaml in /modules/capability (#5194)
dependabot[bot] 58fb0fe
build(deps): Bump github.com/cometbft/cometbft in /modules/capability…
dependabot[bot] 52bc5bd
build(deps): Bump cosmossdk.io/store from 1.0.0 to 1.0.1 (#5199)
dependabot[bot] fe77a0f
update mergify labels for 08-wasm release branches
crodriguezvega afd5b52
imp: use bytes in wasm contract api instead of wrapped types (#5154)
crodriguezvega 1d56642
build(deps): Bump docker/metadata-action from 5.0.0 to 5.1.0 (#5277)
dependabot[bot] 52d2aa1
Add workflow to build wasm simapp (#5286)
chatton 30ba757
ci: workflow to trigger wasm E2Es with a specific tag (#5288)
chatton 4575cc3
feat: add custom queries to wasm module (#5261)
aeryz 3dfbf1c
mergify task for callbacks v0.2.x and ibc-go v8.0.x (#5295)
crodriguezvega 9a67c36
build(deps): Bump docker/metadata-action from 5.1.0 to 5.2.0 (#5297)
dependabot[bot] 1ecb112
Update CODEOWNERS for 08-wasm (#5296)
DimitrisJim a1ae8ea
update roadmap
crodriguezvega 6a4493c
build(deps): Bump docker/metadata-action from 5.2.0 to 5.3.0 (#5301)
dependabot[bot] be5ecc6
Don't panic during any store operations. (#5294)
DimitrisJim b4f9340
Support wasm tests on forks (#5234)
chatton c3ab069
docs: remove redundant code examples (#5309)
lukema95 c1fe926
fix: remove 08-wasm from 02-client exported (#5306)
crodriguezvega 21a1729
Remove pr labeler. (#5302)
DimitrisJim 9eef6ac
Merge branch 'main' into 04-channel-upgrades
damiannolan 4a3d0a5
fix: require authority to pass proof if channel state is in FLUSHCOMP…
charleenfei 73181ec
docs: document MsgChannelUpgradeCancel (#5274)
chatton 1dfc9b7
ChannelUpgradeInit refactor (#5289)
hieuvubk d6ca63e
Merge branch 'main' into 04-channel-upgrades
crodriguezvega fed5372
Implement OnChanUpgradeTry on Host Chain for interchain-accounts (#5144)
chatton b36d112
Merge branch 'main' into 04-channel-upgrades
crodriguezvega 0f8b4f8
Remove `GetSigners` from module 04-channel (#5352)
ThanhNhann 40ace04
fix markdown lint error
crodriguezvega e1d4b20
Merge branch 'main' into 04-channel-upgrades
crodriguezvega 8865e29
imp: rm app upgrade interface from IBCModule and use type assertions …
damiannolan 6718e3c
Implement OnChanUpgradeAck on Controller Chain for interchain-account…
chatton b3f5fc1
update error strings
crodriguezvega a99c84c
chore: adding interface assertions for app upgrade interface (#5390)
damiannolan 0323942
Make sure that the error receipt we write always has a sequence great…
chatton baa0318
refactor: remove unnecessary decrement when fast forwarding upgrade s…
ThanhNhann 20ae53a
Merge branch 'main' into 04-channel-upgrades
crodriguezvega 72a3d09
Allow verification of channels on TimeoutonClose and ChanCloseConfirm…
DimitrisJim 355d401
imp: add passthrough handlers for callbacks mw module (#5376)
charleenfei 3eef53f
Remove ResponseResult from UpgradeTimeout response, channel-id from U…
DimitrisJim da415f5
fix: set upgrade sequence correctly in channel recovery (#5374)
charleenfei d6408a3
docs: `ChanUpgradeInit` and governance gating (#5347)
charleenfei 868ec7f
Add key for pruning sequence, get/set ops for storing/getting it. (#5…
DimitrisJim 1ccb724
Add proto message for pruning acks, msgs, stubs for keeper/msg-server…
DimitrisJim 914a78d
feat: add grpc/CLI for channel params query (#5430)
crodriguezvega c88abcc
e2e: successful test where the channel is upgraded and fee middleware…
crodriguezvega 7967cfd
chore: update channel upgrades default timeout to 10 mins (#5433)
damiannolan beb46ae
imp: add upgrade sequence to identified channel (#5436)
crodriguezvega 4d2ce43
docs: reasoning and use cases for channel upgradability (#5346)
charleenfei 9c346c5
revert "imp: remove `LatestSequenceSend` (#5108)" (#5432)
charleenfei 9782bef
disallow ICA upgrades that change channel order + increase test cover…
crodriguezvega 7445417
panic wrap error
crodriguezvega 26fbb37
Merge branch 'main' into 04-channel-upgrades
crodriguezvega 5ec221a
refactor: restructure timeout type (#5404)
colin-axner 2ef99d1
Move order check in keeper function for host/controller. (#5464)
DimitrisJim 5bad8f2
Pass appVersion to callback if version can be parsed. (#5468)
DimitrisJim ef9a479
Move cast to Upgradable module after checking app is set. (#5465)
DimitrisJim ab1f96f
ICS4: Fix Sequencing logic in UpgradeTry (#5419)
AdityaSripal 21a2cbf
Add implementations for OnChanUpgradeOpen and OnChanUpgradeRestore fo…
DimitrisJim 34edc2e
imp: add logic for setting `NextSeqRecv`, `NextSeqAck` in `OnChanUpgr…
charleenfei bb58693
check counterparty `nextSequenceSend` in `recvPacket` (#5469)
crodriguezvega 09c4de8
update swagger
crodriguezvega 6c0db8d
Merge branch 'main' into 04-channel-upgrades
crodriguezvega 01c3699
Add pruning logic, implementation in message server. (#5444)
DimitrisJim File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
update WriteUpgradeTry to change flush status to
FLUSHCOMPLETE
if t…
…here are no packet commitments left (#3964)
commit 86bb6bf6d931aa17bcf5f5c3ab28dc8f86369c5a
There are no files selected for viewing
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
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
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.
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.
Should we be checking timeout and nextpacketsend set?
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.
This test calls
WriteUpgradeTryChannel
and the timeout and sequence send are set instartFlushing
, so I think it's not possible to check either value here.