Coder Social home page Coder Social logo

ibc-app-solidity-template's Issues

add isUniversal flag to config, work towards support for multiple config files

Right now, a lot of the just commands take a flag for universal channel or not.

This could be avoided if adding a flag to the config and separating out config files for different sets of contracts in one repo.

Expected outcomes:

  • will make commands even more easy
  • will reduce user input error
  • should provide automated check to see if contracts set match with the isUniversal flag

Make switching clients less error prone

The switch-client.js script now flips the config values first before updating the vibc addresses (dispatcher or universal channel handler). So it does reverse flipping the config when an error occurs on the update scripts

This can lead to errors requiring the user to update manually and/or do multiple switches

add sanity check just recipe to ensure correct setup of dispatcher and uc handler

I've noticed there's potentially some hard to debug situations when for some reason the dApp developer's contracts are pointing to a different dispatcher address and uc handler than in their env variables

In a future with proxy contracts likely this will minimize but still it makes sense to do add some just recipe that queries the involved contracts and checks if the addresses match the env variables

Note: this is meant to happen post deployment, but prior to creating channels / sending packets

order of events incorrect

I'm seeing a lot of the packet lifecycle events on the termnial come out of order (or dropped altogether).

TODO: check if the calls need to be delayed some to log

add support for constructor arguments without overhead

Right now, the deployment scripts only take in the dispatcher address or the universal channel handler

In realistic situations, there will be extra constructor arguments. We should enable passing in the arguments from the just command to deploy.

Put config path into hardhat config

With PR #73 we are moving towards adding most of the config into Hardhat (and later Foundry) config file. So we need to move the config path there as well, so that .env remains only for private info

Error cannot find some module

I've got an error "Cannot find module './_get-vibc-sc.js' " . I've use v18.19.1. After trying to install package by using "npm install", but it's not working. so, I figured out the error has occurred because there is no _get-vibc-sc.js file available on "scripts" folder.

Clone failure on Windows

I get the following error while cloning on Windows:

photo_2024-06-27_16-05-51

I believe it might be because of the colon in the file name (chains/eip155:11155420.json)

Add just recipe to deploy + verify

Some follow-up work from #72

Another change we could add is an extra just recipe, just deploy-verify SOURCE DESTINATION which is similar to deploy recipe but uses the verify script automatically after deployment to verify both contracts being deployed. I'll leave up to you if you want to implement this or if we should pick this up in a separate PR...

Originally posted by @tmsdkeys in #72 (review)

add just set-contracts command

Add a just set-contracts command to the Justfile that sets the contracts to be deployed in the config.json.

Motivation: the developer right now could ignore the config file for every step but updating the config for which contracts to be deployed... it would make sense to also abstract it away for that step

implementation:
just set-contracts CHAIN CONTRACT: sets the contract type in the config.deploy field for the designated chain

Contructor args in arguments.js

Right now, the arguments.js file enables devs to define constructor args arrays. It assumes that the application will alwyas either inherit UniversalChanIbcApp.sol or CustomChanIbcApp.sol and have dispatcher / middleware as their first contructor arg.

It lets devs define additonal args in arguments.js, while constructing a concatenated array with the dispatcher/mw when deploying, but arguably this is confusing.

Could look into different ways of ensuring constructor args are correctly added...

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.