cli icon indicating copy to clipboard operation
cli copied to clipboard

feat(templates): add fee abstraction into the scaffold chain template

Open trungnt1811 opened this issue 1 year ago • 2 comments

Closes: https://github.com/ignite/cli/issues/4171

trungnt1811 avatar Jun 07 '24 05:06 trungnt1811

Hi @julienrbrt, could you take a look at this PR? Thanks

trungnt1811 avatar Jun 28 '24 02:06 trungnt1811

@faddat the chain template including feeabs generated from the CLI is working well. Please take a look at this, sir

trungnt1811 avatar Jul 01 '24 04:07 trungnt1811

Does ignite currently have the ability to run IBC tests?

Basically I think it's the best way to test this might actually be against the live osmosis testnet? What are your thoughts there?

I get what you mean about the flag too, actually it would be really neat to be able to scaffold a chain with the flag --fee-abstraction and have FA.

I suppose that the only reason to make this default behavior, is to support greater IBC connectivity overall.

Thoughts?

faddat avatar Jul 05 '24 08:07 faddat

@julienrbrt I propose creating a new template that includes modules with fee-abstraction, which can be scaffolded using the --fee-abstraction flag. The command would be: ignite scaffold chain example --fee-abstraction. What do you think?

trungnt1811 avatar Jul 08 '24 02:07 trungnt1811

As discussed above, I have created a new template named "files-feeabs" that includes the fee abstraction module. The chain can be scaffolded using the --fee-abstraction flag. For example: ignite scaffold chain example --fee-abstraction. @julienrbrt please help me review this PR, sir

trungnt1811 avatar Jul 12 '24 07:07 trungnt1811

As discussed above, I have created a new template named "files-feeabs" that includes the fee abstraction module. The chain can be scaffolded using the --fee-abstraction flag. For example: ignite scaffold chain example --fee-abstraction. @julienrbrt please help me review this PR, sir

This is a good temporary solution, thank you! When we have the module registry ready, we can make this fallback to the app.

julienrbrt avatar Jul 12 '24 09:07 julienrbrt

You actually only need to copy the files that are different from files/ instead of having everything. Other than that lgtm.

Thank you so much. I have removed the redundant template. Please take a look at this, sir.

trungnt1811 avatar Jul 12 '24 16:07 trungnt1811

thanks! I think it is good for now. In a follow-up we should refactor this to improve the UX and have a --external-modules flag instead of a fee abstraction modules. As currently this module is mutually exclusive with the other, while it would be best if it was additive.

We can accept this on main, but we'll need to fix the UX before backporting on v28

What do you think @Pantani / @toschdev ?

IMHO, we should only add official modules. This way, we have more modules to maintain and add support; the fee abstraction module still needs some updates to be in the last stack. Let's add this integration as an app/extension

Pantani avatar Aug 21 '24 12:08 Pantani

thanks! I think it is good for now. In a follow-up we should refactor this to improve the UX and have a --external-modules flag instead of a fee abstraction modules. As currently this module is mutually exclusive with the other, while it would be best if it was additive.

We can accept this on main, but we'll need to fix the UX before backporting on v28

What do you think @Pantani / @toschdev ?

IMHO, we should only add official modules. This way, we have more modules to maintain and add support; the fee abstraction module still needs some updates to be in the last stack. Let's add this integration as an app/extension

100% agree, however to I wouldn't create an app per custom module but I more general app. This is someone I will be building. So to ship this faster maybe we should include it as it in v28 and improve it for v29 (like we will do for the consumer app).

julienrbrt avatar Aug 25 '24 07:08 julienrbrt

Hi, we just discussed this in our team call, we like this feature and want to integrate it right now. However, we won't integrate it as it stands (directly into ignite cli), as we have a policy to only integrate cosmos sdk / ibc modules. Other scaffolding capabilities should be implemented as Ignite App as @Pantani mentioned.

@Pantani is integrating this module as an Ignite App using hooks on the scaffold chain commands as we speak. I'll be closing this in the meantime.

julienrbrt avatar Aug 27 '24 13:08 julienrbrt