N3developertoolkit / neo3-visual-tracker

Neo N3 blockchain explorer that is directly available within Visual Studio Code for developer usage and development scenarios.
https://marketplace.visualstudio.com/items?itemName=ngd-seattle.neo3-visual-tracker
MIT License
7 stars 11 forks source link

[UX] Smart contracts panel ideas #133

Open ixje opened 2 years ago

ixje commented 2 years ago
  1. Add an inline trash can icon to delete the specific contract from storage. Or a right click context menu to delete it. make sure to add a warning telling the user that all contract data (including any potential storage) will get lost, so there is no confusion.
  2. When clicking on a contract it currently only shows Hash and in some cases Supported Standards in the tab that opens. My first time looking at this panel I considered it a smart contract explorer. I can see which contracts exist and when I click on it I want to see relevant information. Under that assumption I think showing the public functions (extracted from the manifest) would be very valuable. Then from there we can do more cool stuff like add a button behind a function "insert code" that would insert a contract call to this exact function in the contract you might currently be developing (or just at cursor). E.g. if our contract was a python contract it would add the following code
    from boa3.builtin.nativecontract.stdlib import StdLib
    ...
    StdLib.json_serialize()
robliou commented 2 years ago

Besides contract destruction, there are likely more than a few public functions that could be well-served to have their own buttons...

robliou commented 2 years ago

As I am still figuring out inline icons, for now, I have created a 'Delete' button within the body of the main contract panel, which anyhow stands out much more than an icon would. However, it is not yet functional. I would need your or Harry's help to write the method to destroy contracts as that is a bit beyond the scope of what I am capable of at this point (unless it entails copying and pasting what is available on the NEO docs website)?

A8

Other buttons/functionality that we could consider adding to the sidebar would include, as you say, a smart contract explorer, as well as a governance enabler (voting, candidate registration), wallet functions, data science functions, fees querying, oracle querying, etc.