Skip to content
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

Create a tool that simulates proposal as a tx going to the block #5

Open
roleengineer opened this issue Apr 11, 2022 · 2 comments
Open
Assignees
Labels
Bounty Size L 550 to 900 / DAI

Comments

@roleengineer
Copy link
Collaborator

roleengineer commented Apr 11, 2022

⚡️ Challenge:

We need a tool that will be running in a back and simulating proposals in a sense of constructive and destructive influence on the contract state.

🦋 Desired Outcome

  • have a tool running in a back, that is listening contract events and if new proposal is created, than run function that checks the state changes, saves them to db;
  • having api to make calls to this tool, few functions that reading data from db and responds to api calls with related data
  • front end should make calls to the api of the tool (out of the scope for this one, next bounty) and show user related messages

🎯 Action Points:

  • implement event listener
  • implement function that takes the input (proposal.destinationAddress, proposal.value, proposal.data) and simulates tx { from: diamondAddress } to the current state of the blockchain and as output gives the resulted state
  • implement function that takes resulted states and analyze it
  • have tree of the possible state changes (e.g. no state changes, this variable changes value -> (good proposal, bad proposal), several variables changes, contract addresses (facets) changes and etc.)
  • save data to db
  • implement few functions for api calls (for example, function that takes as an input diamondAddress and reads db and checks if the proposal is still active and gives response with the relative msg from db)

🏆 Reward + Contributor involved

This bounty can be a pair programming bounty:

Bounty Size: L
900 DAI

Gardener - @roleengineer 0%
Worker - @marcocastignoli 80%
Reviewer - @roleengineer 20%

@roleengineer roleengineer added the Bounty Size L 550 to 900 / DAI label Apr 11, 2022
@roleengineer
Copy link
Collaborator Author

i would love to assign you guys @marcocastignoli @tjvsx to implement this bounty scope, if you want to do that. just let me know or just assign yourself. if the size is not big enough, just tell me, i'll upsize this bounty or do it yourself

@tjvsx
Copy link
Member

tjvsx commented Apr 13, 2022

@marcocastignoli maybe this tool could work as a Gemcutter API / server instance(s), as with Gemcutter we can already-

  1. fork live networks with ganache and manipulate block state
  2. post/fetch metadata/sourcecode via sourcify

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Bounty Size L 550 to 900 / DAI
Projects
None yet
Development

No branches or pull requests

3 participants