-
Notifications
You must be signed in to change notification settings - Fork 2
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
Investigate new introspection capabilities of the Wizard UI #28
Comments
Wasm doesnt have a stack trace, but I guess Soroban may have a custom solution as its possible. Putting a pin on this. |
Yeah, i have read that |
I am wondering whether parsing |
My thoughts here :) AFAIK, the Probably this issue is missing this in description but, would it be good to have the On my mind that would require to:
Said that, this is a research issue, we should also discuss if this is something interesting or not IMO. Maybe involve community also. Let me know your thoughts. |
Sure, we could add a dropdown with a method to invoke and params list (let say the |
Guys, but one cannot invoke from the wizard, I think this is in Pulsar if am not wrong. |
Specifically the invoke part. |
I think we are only referring to the CLI command generation (the string) . Correct if am wrong :) |
Yes, it's only for building the invoke command :) |
I think we need to remove it. |
Reading contracts from repo would still be needed anyway for dynamically loading their code. As for the invoke - if we are going to remove this, then the UI with setting up the params would also be useless. |
I think if we include invoke, we have to include build and deploy. |
Build and Deploy are IDE functionalities so I would not add them here. And then - the Invoke command and the UI to setup invoke params could be also moved to IDE. |
Invoke is an IDE functionality too. |
Monaco implements an onhover monaco.languages.registerHoverProvider('rust', {
provideHover: function(model, position) {
// Log the current word in the console, we need to check if its an invoke-able method
console.log(model.getWordAtPosition(position));
}
}); |
Yep, that was my idea few comments back - to have a dropdown with all public functions for which the invoke could be generated. And then the UI would need to be refreshed with inputs for each method params whenever user selects something from the dropdown. |
What about we use the hover feature above to draw above the function and give you the command and input if need be. |
So the invoke command would be static without user inputs? |
This is a basic rough drawing, the idea being the params will show up on hover of a function. |
I've made some initial design of the hover (only graphical design, not in the code). I think I would get rid of user defined inputs at all for the invoke. Two reasons for that:
|
Yeah, i dont know. On my mind (my 2 cents), allowing users to just copy and paste directly to terminal and execute, adds value. Specially to those who are not very technical. If i am not mistaken, by having to replace the default values, probably users would need to copy the command first to a text editor, edit it , copy it , paste into the terminal. Would that add an usage barrier ? But thats only my opinion. Lets wait maybe for others feedback or even request it from community :) |
But remember it's still only a wizard. The invoke dialog is just an example how a particular function of the contract can be called. User will not be able to run the contract from wizard anyway - he will have to compile and deploy it first using the IDE. And I would move the param settings there. Let's not duplicate the functionalities between wizard and IDE :) |
Agreed :) i see your point. Lets defer that complexity for the IDE. An example on how to invoke is probably generous enough for the wizard 👍 |
Context
Actually the wizard UI, has an
invoke
button that once clicked it provides the needed CLI command for deploying the contract:Currently this commands are just hardcoded in the UI, there is no code introspection capabilities in the current Wizard UI prototype.
Goals
Research in how to make the UI smarter, do experiments, report results on this issue.
The text was updated successfully, but these errors were encountered: