-
Notifications
You must be signed in to change notification settings - Fork 29
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
Hyperlane Developer Experience Demo #90
Hyperlane Developer Experience Demo #90
Conversation
thanks for the PR! @nambrot we're going to flesh out in a bit what the best pattern should look like for 3rdparty integrations. I'm thinking of having experimental flags that can enable features. For example
I'm thinking would be great if the integration could take care of deployment (likely only important for non-forking) and also pull in the pinned 3rdparty binaries needed to make the integration just work. wdyt? Will source some more thoughts and come up with a better plan as we wrap up the interop integrations |
HyperlaneDevExDemo.md
Outdated
@@ -0,0 +1,27 @@ | |||
# Hyperlane DevEx Demo |
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.
We've been spelling it "DevX", can this be changed? I can't rename the Discord channel, I know that's DevEx but its an outlier. 😄
@nambrot this is so great! Thank you for trying out Supersim and putting this together. ❤️ I agree with @hamdiallam it would be really cool to have a I like your suggested Future Improvements! In particular, I think integrating native interop into the ISM that is used would be really neat! Is your team already working on that and can Supersim be useful in your testing? If there are features or other products that would help you accomplish this we'd love to see if we can help. I also think it would be nice to automate everything that can be automated (like deployment of Hyperlane contracts on the desired chains). Would love to see that added. |
Thanks @hamdiallam @fainashalts for the feedback! Definitely interested in figuring out how make this work out of the box on supersim, though tbh i didn't find the additional CLI commands to be that cumbersome either, and given the different stack it might be all around easier with this integration scope. Really comes down to how you think people would like to leverage this + how you have been thinking about other integrations. Regarding the ISM work, I think the best path forward would be to
wdyt? |
i'm coming around to the relayer being run as a separate process rather than pulling it into one command that could make things tricky to configure and convolute supersim. However I think a good integration here for something like For (1), the changes have landed and the e2e tests for them are in. Going to push in a couple last changes by early next week after a review we did this week |
@hamdiallam if in Vanilla mode, my main concern is we lose forking, which I think would be really useful. What do you think? |
@nambrot yes I think your plan makes sense, and I think we could keep it a separate process. Then y'all could add instructions for using Supersim with Hyperlane in your docs, and we could add instructions for Hyperlane on our side (I'm envisioning a little "app store" of integrations with Interop launch partners with instructions & links for each). Does that align with what you're imagining? |
Support for forking is definitely apart of this! I think I poorly worded it. I was mainly trying to say that with the in development interop hyperlane contracts, there's different methods to use to get the existing forked contracts updated with the dev ones locally |
Sounds good to me, let me know once 1) lands and we can try it out on our side. Definitely agree that vanilla + fork support is ideal. Definitely let us know what else we can do! |
Hi @nambrot you should be able to use Supersim for native interop already! Let me know if you want to chat about it! |
749eb8a
to
9dc9df3
Compare
@hamdiallam @fainashalts I update the guide to include our prototype of the SuperchainHook and SuperchainISM. Here is a quick loom about it as well https://www.loom.com/share/e3e4937d1e294ddfb570da1ea2166d68?sid=5aae8464-68f1-4c19-b8be-5bec00f9eeca. You can find the diff that we needed to support on our tooling side here https://github.com/hyperlane-xyz/hyperlane-monorepo/compare/nambrot/superchain-ism, as you can see its pretty minimal. |
nice! we don't need to overengineer this right now but it would be great if we had more dynamic scripts such that if supersim is run in fork mode, this integration could seamlessly work when the spun up chains an differ. I can help make that change though when some time is free. Probably will also scope these added dirs to |
Moved the files to an |
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.
Sweet!
Last comment: can the config
folder also be in /integrations
. Doesn't have to be within hyperlane but ./integrations/configs
Moved! |
ty!! @nambrot |
Description
This PR outlines a demo of what the developer experience could be when using Hyperlane as a wrapper over OP's Native Interop. Figured a PR with a README and config is the most appropriate but happy to do it in a different way. Here is a video recording of the demo https://www.loom.com/share/05ec7dbbd3ff406d8819fefb1af741b4?sid=330f2f86-1487-4cc9-8819-9c4fa5e7b6f1