juno icon indicating copy to clipboard operation
juno copied to clipboard

Integrate ICA changes

Open the-frey opened this issue 2 years ago • 18 comments

This one is going to need a bunch of testing.

At first blush, no regressions, though there's some caveats with auth impl, and I guess we won't know if it really works until we test it, huh?

the-frey avatar May 23 '22 16:05 the-frey

We probably need to implement intertx, like in wasmd.

I think that serves as the "controller auth" piece.

faddat avatar May 24 '22 05:05 faddat

Cool, will look at that today 👍

the-frey avatar May 24 '22 08:05 the-frey

2nd nb: intertx has a bunch of cigarette label esque warnings on it.

That said I am ~95% sure that it's being integrated because afaik, you can have a host without it, but cannot do the controller bit.

@catShaark may be able to clarify to some degree.

faddat avatar May 24 '22 09:05 faddat

Yeah, I guess my thinking here was:

  • finish integrating
  • work out some way of testing this on uni-3 and/or using strangelove's amazing IBC-a-tron
  • change it if we find bugs

Sound reasonable?

Will have this PR done with intertx in a few mins. 🕐

the-frey avatar May 24 '22 09:05 the-frey

I think it's likely there will be another version of intertx we will need to upgrade to... but hey, should be enough to test for now.

the-frey avatar May 24 '22 11:05 the-frey

If this is not a requirement for integration, I'm happy to Approve this PR.

Ah, intertx is satisfying the IBCModule interface (but like barebones as can be)

joeabbey avatar May 24 '22 12:05 joeabbey

Yeah, that's my understanding. Hence why I suspect it might:

a) fall over in the wild b) have a series of changes as people find issues

So we will likely have to change this before primetime

the-frey avatar May 24 '22 13:05 the-frey

Ah, I think you're right. I guess we also need to add some wasm message types into that registration block. Will look at it in a sec.

the-frey avatar May 24 '22 14:05 the-frey

Question: do we want to allow ICA to access all wasm message types? In the absence of a firm feeling, I added the available ones but there might be a drawback that I'm missing.

EDIT: I think we almost certainly don't want all these. Maybe just Execute for now?

the-frey avatar May 24 '22 14:05 the-frey

Also @joeabbey there's also the question of whether we go with just the first half of this (i.e. Host implementation) first, so we don't have to worry about the auth part. But it does feel like Juno has many use cases for being the controller chain.

the-frey avatar May 25 '22 21:05 the-frey

So - proposal here @joeabbey and @faddat is to park this branch for now and just integrate the ICA host portion (i.e. the very first couple of commits), with the required registration handler for the native modules we want, plus wasm execute only.

Then we have a scaffold for then investigating auth further for the controller part.

Thoughts?

the-frey avatar May 27 '22 10:05 the-frey

Have also converted to draft while we discuss.

the-frey avatar May 27 '22 15:05 the-frey

So - proposal here @joeabbey and @faddat is to park this branch for now and just integrate the ICA host portion (i.e. the very first couple of commits), with the required registration handler for the native modules we want, plus wasm execute only.

Then we have a scaffold for then investigating auth further for the controller part.

Thoughts?

That make sense to me, to keep it simple initially. I know we'll be somewhat limited in the functionality we can exercise.. but I think that's best as I continue to observe other chains adoption.

joeabbey avatar May 27 '22 16:05 joeabbey

oh dear. I did something wrong. I will fix your branch, sorry!

faddat avatar Jun 07 '22 15:06 faddat

All fixed. @the-frey should we try and maybe consult with the ibc-go team or the wasmd team on this?

It has always felt fundamentally okay to me, but I understand the decision to go with the more conservative approach so am somewhat of mixed minds.

faddat avatar Jun 07 '22 15:06 faddat

I think let's not rush it and look to integrate ICA host now & do ICA controller in v8 unless somebody tells me I'm being overly paranoid. Will ask the Confio guys for advice

the-frey avatar Jun 07 '22 16:06 the-frey

Works for me.

Btw:

  • #207

is now completed, and if ya don't mind having a glance, I think we're now ready to ship juno v7.

faddat avatar Jun 13 '22 00:06 faddat

this will be in #232 though still not 100% certain what the net effect will be

faddat avatar Aug 04 '22 18:08 faddat

@the-frey Can we look at getting this over the line again soon? Kujira ecosystem would love to integrate with Juno using ICA!

fluffydonkey avatar Dec 06 '22 02:12 fluffydonkey

On ICA v0.1.7, we can move to v0.2.5 for IBC v4 once we merge wasmd30+ IBCv4 + IBCFees PR #387

Reecepbcups avatar Dec 06 '22 23:12 Reecepbcups

Thanks @Reecepbcups for bringing this up-to-date with the new juno structure.

I think the outstanding questions we had on this were:

  • comfort level with running chain as controller
  • comfort level with maturity of intertx (anybody running it in prod yet?)

Other than that I guess we need an upgrade handler to whitelist messages and then to update the command that adds those to genesis files for utility purposes 🤔

the-frey avatar Dec 09 '22 09:12 the-frey

Personally, happy to run the chain as a controller, still mildly concerned about intertx

the-frey avatar Dec 09 '22 09:12 the-frey

@the-frey

  • upgrade handler is also done
  • Running as controller for Uni, enaled in upgradehandler
  • The command things were already done in the add-ica-config yes?

image

Reecepbcups avatar Dec 12 '22 18:12 Reecepbcups

Yep, so the add ica config is basically called when genesis files need the current mainnet messages added. So er, after or at the time/tag that an upgrade handler adds those to mainnet then they should be additionally added to the CLI cmd

the-frey avatar Dec 13 '22 14:12 the-frey

I guess the messages we want will all already be enabled in this case yes derp

the-frey avatar Dec 13 '22 14:12 the-frey