-
Notifications
You must be signed in to change notification settings - Fork 3.8k
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
client: reduce the amount of magic #560
Comments
Having magic is important is some regard to help offload logic from the new application developers side. The whole paradigm of client is that is can wrap transaction/query commands to add viper, and then also take care of handling the logic associated with those flags that it has created - This is positive as much of this logic with come totally standard many transactions and should not need to be explicitly defined by a new application. Right now I've taken on a few additions to the existing client structure which was (I reckon) originally imported from SDK1 - I haven't really done any major wholistic refactors of
^ probably missing some stuff this is just off the top of my head - thoughts? I can take this on this week |
Yes I'm interested in explicitly clarifying where calls to global assets are happening. Just want the code to be easier to grok and reason about, which it currently is not with the global viper/cobra calls everywhere |
Here is an idea - let's remove global viper calls all together - why we even need them?! |
Note this is blocking on #544 |
This is the only kind of magic I want to keep around: https://www.youtube.com/watch?v=UqyT8IEBkvY |
Tiny amount of work done towards this in #624 Still needs lots more |
Replaced by #721 |
Using cobra and viper makes for a lot of magic that can be hard to follow.
It would be nice if functions came with more clarity about what kind of global/external state they are accessing.
Only a very few/small number of functions should utilize global/external state and should be well documented to be doing so.
The text was updated successfully, but these errors were encountered: