Skip to content

Conversation

@0xfirefist
Copy link
Contributor

This PR contains

  • the compiled wormhole code. we don't have to re comply it.
  • the script to deploy wormhole stubs to cosmos chains
  • the deployed result for sei, neutron, and osmosis 5 testnets.
  • to help managing the results and everything, i have implemented a pipeline.

@vercel
Copy link

vercel bot commented May 1, 2023

The latest updates on your projects. Learn more about Vercel for Git ↗︎

2 Ignored Deployments
Name Status Preview Comments Updated (UTC)
example-oracle-amm ⬜️ Ignored (Inspect) May 3, 2023 3:03pm
xc-admin-frontend ⬜️ Ignored (Inspect) May 3, 2023 3:03pm

@0xfirefist 0xfirefist requested review from ali-behjati and jayantk and removed request for ali-behjati May 1, 2023 07:53
Copy link
Collaborator

@ali-behjati ali-behjati left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think @jayantk is more familiar with your progress on this and is more suitable to review this PR.

I like the pipeline concept but the implementation seems very complex and I cannot understand the rationale behind it. I think we can make it simpler while preserving the good behaviours that it has.

We can use the same thing for ETH too.

p.s: fun fact: pipeline here (with a single step) reminds me of Migrations in truffle :D The difference is that they store the last executed step on-chain instead of a local file :))

Copy link
Contributor

@jayantk jayantk left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I read through this and I think there are many ways you can simplify this. It's probably better discussed live, but here's a quick summary:

  1. Instead of parallelizing across steps (which are chains) within the Stages of the Pipeline, it would be simpler to instantiate a separate Pipeline for each chain, then run those pipelines asynchronously in parallel. If you make this change, it will simplify a lot of things, and it will let you move a lot of application-specific logic out of the generic pipeline code.
  2. pipeline.run() should be idempotent, so if it fails, you can rerun it and it automatically picks up where it left off. You're already storing the state it produces in the filesystem, so you should build the processing logic around that (read the filesystem, decide what to do, run a step, write out, then loop). You can name the steps something like 1_deploy_wormhole to make it easy to figure out what's next. (also, if you do this, you should commit the migration results to the repo, so that anyone can pick up the code and resume migrating from where you left off)

This would actually be a good thing to pair on if we can find some time later today or tomorrow.

Copy link
Collaborator

@ali-behjati ali-behjati left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Amazing ser. 🚢 it

Copy link
Contributor

@jayantk jayantk left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

awesome this is much clearer this way. I left you some minor comments but feel free to merge whenever you're ready.

@0xfirefist 0xfirefist merged commit 079828f into main May 3, 2023
@0xfirefist 0xfirefist deleted the wormhole-stub branch May 3, 2023 15:18
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.

4 participants