Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

deps: sdk50 and ibc8 with wasm client #4675

Closed
wants to merge 126 commits into from

Conversation

faddat
Copy link
Contributor

@faddat faddat commented Sep 16, 2023

Description

This PR is an attempt at ibc-8 with the wasm client. The only issue seems to be CheckForMisbehaviour.

Note: I'm aware that this is not a merge priority, and am happy to wait for review.

Commit Message / Changelog Entry

deps: wasm clients with ibc8 and sdk50

see the guidelines for commit messages. (view raw markdown for examples)

Contains

Status

Everything except for the misbehaviour tests seems to work.


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.

  • Targeted PR against correct branch (see CONTRIBUTING.md).
  • Linked to Github issue with discussion and accepted design OR link to spec that describes this work.
  • Code follows the module structure standards and Go style guide.
  • Wrote unit and integration tests.
  • Updated relevant documentation (docs/) or specification (x/<module>/spec/).
  • Added relevant godoc comments.
  • Provide a commit message to be used for the changelog entry in the PR description for review.
  • Re-reviewed Files changed in the Github PR explorer.
  • Review Codecov Report in the comment section below once CI passes.

misko9 and others added 30 commits July 6, 2023 08:34
…s#3486)

Co-authored-by: Jack Zampolin <[email protected]>
Co-authored-by: antstalepresh <[email protected]>
Co-authored-by: Vladislav Markushin <[email protected]>
Co-authored-by: Blas Rodriguez Irizar <[email protected]>
Co-authored-by: Jacob Gadikian <[email protected]>
Co-authored-by: vuong <[email protected]>
Co-authored-by: Carlos Rodriguez <[email protected]>
* 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 <[email protected]>
* 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. (cosmos#4065)

* Use alpine for building simd in docker. Link statically. (cosmos#4066)

---------

Co-authored-by: Charly <[email protected]>
Co-authored-by: Jim Fasarakis-Hilliard <[email protected]>
* 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 <[email protected]>
* 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 <[email protected]>

---------

Co-authored-by: Damian Nolan <[email protected]>
* renaming to align with x/wasm naming

* fix typo

* Update docs/architecture/adr-027-ibc-wasm.md

Co-authored-by: Damian Nolan <[email protected]>

* address review comments

* review comment

---------

Co-authored-by: Damian Nolan <[email protected]>
* 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 <[email protected]>

---------

Co-authored-by: Jim Fasarakis-Hilliard <[email protected]>
…n `initialize` to contract (cosmos#4033)

* remove calls to set client state and consensus state from initialize

* linting

* Update contracts

* use errorsmod

---------

Co-authored-by: Vladislav Markushin <[email protected]>
…etrieve it (cosmos#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 (cosmos#4171)

* Use hasConsensusState instead of GetConsensusState.

* Use wasmQuery for the rest of the query functions. (cosmos#4176)

* Use wasmQuery for the rest of the query functions.

---------

Co-authored-by: Carlos Rodriguez <[email protected]>

* review comments

* Remove check for consensus state.

* Add linting for 08-wasm module (cosmos#4206)

* Add linting for 08-wasm.

* Go mod tidy.

* Please the linter.

* add 08-wasm global store key (cosmos#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 <[email protected]>

---------

Co-authored-by: Jim Fasarakis-Hilliard <[email protected]>

* solve conflicts

* review comments/fix linter warnings

* address comments

* add missing check

* remove check that was wrong

---------

Co-authored-by: Jim Fasarakis-Hilliard <[email protected]>
…our` (cosmos#4049)

* imp: merge header and misbehaviour types

* remove unused code
…calls (cosmos#4133)

* defined query and sudo message types to encapsulate all variants for calls

* pass client message

* add ClientMessage from cosmos#4049

* address review comments

* linter

* gofumpt

* review comment

* more gofumpt
…ce (cosmos#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 <[email protected]>

* review comments

* rename constructor function

* address review comments

* set contract debug mode to false

---------

Co-authored-by: Cian Hatton <[email protected]>
TestInitializeTendermint(), remove unnecessary test from
TestConsensusStateValidateBasic(), change the update state result's
height type.
* Rename from call to wasmCall.

* Move wasmQuery, wasmCall into vm.

* Add wasmInit, mirroring wasmCall and wasmQuery.

* Directly return after wasmInit.
@codecov-commenter
Copy link

codecov-commenter commented Sep 16, 2023

Codecov Report

Merging #4675 (3acd9d4) into main (f4e1f71) will decrease coverage by 0.09%.
The diff coverage is 30.00%.

Additional details and impacted files

Impacted file tree graph

@@            Coverage Diff             @@
##             main    #4675      +/-   ##
==========================================
- Coverage   79.66%   79.58%   -0.09%     
==========================================
  Files         188      188              
  Lines       13201    13216      +15     
==========================================
+ Hits        10517    10518       +1     
- Misses       2253     2265      +12     
- Partials      431      433       +2     
Files Changed Coverage Δ
modules/core/02-client/types/params.go 100.00% <ø> (ø)
modules/core/keeper/keeper.go 91.48% <ø> (-0.18%) ⬇️
modules/core/02-client/keeper/keeper.go 77.70% <22.22%> (-3.73%) ⬇️
modules/core/03-connection/keeper/handshake.go 88.58% <100.00%> (ø)

"crypto/sha256"
"encoding/hex"
"fmt"
"reflect"

Check notice

Code scanning / CodeQL

Sensitive package import Note

Certain system packages contain functions which may be a possible source of non-determinism
testing/simapp/simd/cmd/root.go Fixed Show fixed Hide fixed
testing/simapp/simd/cmd/root.go Fixed Show fixed Hide fixed
@colin-axner
Copy link
Contributor

colin-axner commented Oct 4, 2023

The feature branch is now on v0.50, so I think we can close this pr? Thanks for your time and effort regardless

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.