-
Notifications
You must be signed in to change notification settings - Fork 586
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: adding e2e for grandpa client recovery test #5027
Conversation
Co-authored-by: Jack Zampolin <jack.zampolin@gmail.com> Co-authored-by: antstalepresh <stalepresh121@outlook.com> Co-authored-by: Vladislav Markushin <negigic@gmail.com> Co-authored-by: Blas Rodriguez Irizar <rodrigblas@gmail.com> Co-authored-by: Jacob Gadikian <jacobgadikian@gmail.com> Co-authored-by: vuong <nguyenvuong1122000@gmail.com> Co-authored-by: Carlos Rodriguez <carlos@interchain.io>
* new error * changed all the errors * feat: Changed some more erros from sdkerrors to errorsmod * added ibcerrors * fixes and linting --------- Co-authored-by: Carlos Rodriguez <carlos@interchain.io>
* imp: add separate go.mod for 08-wasm * fix e2e build * remove import * lint * Amend CI testing to not build on arm, correctly cross compile on arm64. (#4065) * Use alpine for building simd in docker. Link statically. (#4066) --------- Co-authored-by: Charly <charly@interchain.berlin> Co-authored-by: Jim Fasarakis-Hilliard <d.f.hilliard@gmail.com>
* remove code ID key from genesis type * address review comment
* bump wasmvm to v1.2.4 * go mod tidy e2e * Update Dockerfile * update libwasm sha * more go mod tidy --------- Co-authored-by: Jim Fasarakis-Hilliard <d.f.hilliard@gmail.com>
* build and test wasm-client on pull request * add arm64 for wasm build only
* merge functions * address review comment
* pin code to the wasm VM cache * follow ibc-go error wrapping standards * Update modules/light-clients/08-wasm/keeper/keeper.go Co-authored-by: Reece Williams <31943163+Reecepbcups@users.noreply.github.com> --------- Co-authored-by: Damian Nolan <damiannolan@gmail.com>
* renaming to align with x/wasm naming * fix typo * Update docs/architecture/adr-027-ibc-wasm.md Co-authored-by: Damian Nolan <damiannolan@gmail.com> * address review comments * review comment --------- Co-authored-by: Damian Nolan <damiannolan@gmail.com>
* disallow submessage execution * fix error code * alignment * fix
# Conflicts: # Dockerfile # testing/chain.go
* Add linting for 08-wasm. * Go mod tidy. * Please the linter.
* add 08-wasm global store key * Update client_state.go * Update modules/light-clients/08-wasm/types/vm.go Co-authored-by: Jim Fasarakis-Hilliard <d.f.hilliard@gmail.com> --------- Co-authored-by: Jim Fasarakis-Hilliard <d.f.hilliard@gmail.com>
…n `initialize` to contract (#4033) * remove calls to set client state and consensus state from initialize * linting * Update contracts * use errorsmod --------- Co-authored-by: Vladislav Markushin <negigic@gmail.com>
…etrieve it (#4034) * imp: remove timestamp from consensus state * more linting * make types unexported * make proto-all * code hash for code id * Use hasConsensusState instead of GetConsensusState (#4171) * Use hasConsensusState instead of GetConsensusState. * Use wasmQuery for the rest of the query functions. (#4176) * Use wasmQuery for the rest of the query functions. --------- Co-authored-by: Carlos Rodriguez <carlos@interchain.io> * review comments * Remove check for consensus state. * Add linting for 08-wasm module (#4206) * Add linting for 08-wasm. * Go mod tidy. * Please the linter. * add 08-wasm global store key (#4185) * add 08-wasm global store key * Update client_state.go * Update modules/light-clients/08-wasm/types/vm.go Co-authored-by: Jim Fasarakis-Hilliard <d.f.hilliard@gmail.com> --------- Co-authored-by: Jim Fasarakis-Hilliard <d.f.hilliard@gmail.com> * solve conflicts * review comments/fix linter warnings * address comments * add missing check * remove check that was wrong --------- Co-authored-by: Jim Fasarakis-Hilliard <d.f.hilliard@gmail.com>
…our` (#4049) * imp: merge header and misbehaviour types * remove unused code
…ce (#4109) * add constructor that accepts pointer to Wasm VM instance * typo * add functions that returns wasm config with default values * review comment * Apply suggestions from code review Co-authored-by: Cian Hatton <cian@interchain.io> * review comments * rename constructor function * address review comments * set contract debug mode to false --------- Co-authored-by: Cian Hatton <cian@interchain.io>
* Rename from call to wasmCall. * Move wasmQuery, wasmCall into vm. * Add wasmInit, mirroring wasmCall and wasmQuery. * Directly return after wasmInit.
# Conflicts: # testing/config.go
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 is just so damn good! Well done, guys!
* imp: unpin contract when removing code hash * test: add cov for failing unpin. * add test case for failed contract pin * Update modules/light-clients/08-wasm/keeper/msg_server_test.go Co-authored-by: Charly <charly@interchain.io> --------- Co-authored-by: DimitrisJim <d.f.hilliard@gmail.com> Co-authored-by: Charly <charly@interchain.io>
* imp: client is unauthorized if code hash not stored * change comment
* add 08-wasm code owners * fix
* Add an error-ing implementation for GoAPI. * Move var to top level, add assertions in tests. * Clean up responses in sucess cases.
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.
Excellent work as always 🙏 Will need a rebase before merge
@@ -13,7 +13,7 @@ service Query { | |||
option (google.api.http).get = "/ibc/lightclients/wasm/v1/checksums"; | |||
} | |||
|
|||
// Get Wasm code for given code hash | |||
// Get Wasm code for given checksum |
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 like there's an inconsistency on main here. I re-ran make proto-all
when resolving conflicts which produced a change in the .pb.go
godocs with checksum -> code hash. I believe it should be "checksum", right?
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.
ah yea, seems I missed this when opening original PR, added it in the docs PR a few minutes ago too fc64b79
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.
LGTM glad we have this passing ❤️
Description
This PR adds an e2e test using ibc-go-simd with 08-wasm and a polkadot/substrate counterparty for testing client recovery - i.e. an active client expires and can use a substitute client of the same type to return it to an active state.
This leverages the new contract
sudo
entrypointMigrateClientStore
.closes: #4970
How to run the test
dev-configs
insidee2e
e2e-grandpa.yml
and drop the content inside.make e2e-test
and select the confige2e-grandpa.yml
and search forTestRecoverClient_Succeeds_GrandpaContract
- note the test is long running ~20 minsBefore 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.
docs/
) or specification (x/<module>/spec/
).godoc
comments.Files changed
in the Github PR explorer.Codecov Report
in the comment section below once CI passes.