-
Notifications
You must be signed in to change notification settings - Fork 596
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
Custom self client validation for 08-wasm tendermint clients #5853
Comments
It would be nice if we could support both 08-wasm tendermint as well as 07-tendermint (native go) in one implementation. It would be possible to do for switch cs := clientState.(type) {
case *ibctm.ClientState:
return w.tm.ValidateSelfClient(ctx, cs)
case *wasm.ClientState:
// unmarshal cs.Data to tmClientState
return w.tm.ValidateSelfClient(ctx, tmClientState)
} But for |
Just an idea, but feel free to discard it's no good: could we have a stack of And another idea, what about separating the |
Thanks for digging up that branch @crodriguezvega, was meaning to follow up on that this week. It's a good point that From the progress made on the 02-client routing work we have also discussed the ability for wasm clients to be able to store their |
@crodriguezvega @damiannolan the stack idea is nice, and can actually already be implemented using the same interface. All that would be required is an implementation which contains a Happy to consider changing the interface though if something else makes a little more sense. |
Going to close this issue as this was meant to track this smaller piece of work as a stepping stone in the greater picture of #5315 I'm not sure if I'd want to make some an opinionated design or api decision solely to support this encoding problem between a native golang 07-tendermint client and a wasm tendermint client. I think that issue can be solved elsewhere. Let's move any additional discussion to #5315. |
Summary
Wire up 08-wasm simapp with a custom
SelfClientValidator
, using the changes made in #5836.Branch off the PR linked above.
We need an implementation of this interface (below), which unwraps the bytes stored in the 08-wasm ClientState to a 07-tendermint ClientState, and performs the same logic as is done here. (same logic for
GetSelfConsensusState
)Something like the following should allow us to connection two simapps using wasm tendermint contracts:
For Admin Use
The text was updated successfully, but these errors were encountered: