dxgovernance / davi Goto Github PK
View Code? Open in Web Editor NEWDAVI - Decentralised Autonomous Voting Interface
Home Page: https://project-davi.dev
License: GNU Affero General Public License v3.0
DAVI - Decentralised Autonomous Voting Interface
Home Page: https://project-davi.dev
License: GNU Affero General Public License v3.0
Description
When I try to enter amount in balance field and delete "0.0" As soon as I enter one digit the ".0" is being added, In order to add 2 digits number I have to navigate cursor to the left
Steps to Reproduce
Expected behavior
Should be able to enter two digits number
Screenrecord
https://user-images.githubusercontent.com/37701286/176949510-7ff3cc9d-6c80-4687-91a3-eef2a219a497.mp4
Device Information
OS: MacOs
Browser GoogleChrome, Brave
Device: MacOS Monterey v12.4
Additional context
Added screenrecord for better understanding.
Description
It seems our bytecode matching is not working for goerli and needs updated, might be fixed once updating after this is merged? DXgovernance/dxdao-contracts#147
Steps to Reproduce
Steps to reproduce the behavior:
Expected behavior
For swapr guild we should have default against in creation and snapshot voting messages when voting etc
We want an input type that shows a list of options and a search.
The first implementation will be to show a list of swapr pools for selection but the component should be generic for future use.
We can look at the current token picker for inspiration as it will likely be very similar
This should likely be a more generic list input that takes in a config.
The swapr pair list will be fetched from swapr subgraph then passing pairs and maybe their images and when clicked on returning the address of the pair.
{ pairs { poolAddress: id, token0 { address: id symbol name } token1 { address: id symbol name } } }
Description:
When on any Guild page user should be able to access portfolio page of that Guild
Steps to Reproduce:
Actual behaviour:
Redirected to Landing page
Expected behavior:
User should be redirected to Guilds Portfolio page
Device Information
Additional context
The same behaviour is for the all Guilds. This is an feature that is not developed or connected, it's not a bug
Description
Steps to Reproduce
For bugs 1 and 2: set the size of the window to 768px.
For bug 3:
Expected behavior
As a security measure for configurations we store on IPFS and access via ens we need some easy way of verifying json files as someone could very easily sneak in small changes to rich contract json for a malicious attack.
On the UI we will determine if the new and old ipfs files are json when updating ens and then display this component to show a diff of the changes, much like what github does.
It should be very clear and easy to view, maybe in the action dropdown.
After splitting the DAVI and dxvote repos, there's a lot of legacy code left in the DAVI repo around the web3 integration. We should refactor and cleanup the existing code, with a focus on making it simpler and easier to maintain.
We should also look at upgrading to web3-react v8 or wagmi. Both of these libraries are hooks-first, and better suits our current architecture better,
We have an edit button but currently it does not do anything. We should show the edit modal that was used to create that action from the very start (including any approvals)
Description
When user click on Search field bar at Guild Page, then can see cursor next to magnifying glass icon. But when user enter some title, ENS or address, then nothing appears in field. User should be able to submit title, ENS or address and to see results from search.
Steps to Reproduce
Steps to reproduce the behavior:
Expected behavior
Title, ENS or address which enter appear in search field bar. User can search it when press 'Enter', and should see search results.
Actual behavior
Title, ENS or address which enter don't appear in search field bar and User can't search it
Device Information
Additional context
Expect from Search bar to work and can do some input
On the main page of guilds right now we show just active proposals in a large card with proposal details. These will of course have their own discussions but I think its important also to separate discussions which are not yet on chain proposals.
Perhaps this should be a list underneath? This can include key metrics like most recent post time, number of comments, tags and in future even how many times the discussion has gone to a vote.
We have a bot problem and need to remove the private keys we use for dev testing from gh public files.
https://goerli.etherscan.io/tx/0x8f93e46d95a1c90b0c577256a27d601059a15cade363be7c91e0b7a6a75c5c24
The suspect: https://goerli.etherscan.io/address/0xe1c5b0f5b85f0fad577377cb242098f5d730dead
We can make these env variables to still boot up the localhost server. Then we can just store the keys on notion or ipfs.
Description:
When on any Guild page user should be able to access the settings page of that Guild
Steps to Reproduce:
Actual behaviour:
Redirected to Landing page
Expected behavior:
User should be redirected to Guilds Settings page
Device Information
Additional context
The same behaviour is for the all Guilds. This is an feature that is not developed or connected, it's not a bug
We did not have time to go through all of the cases where we had exhaustive deps warnings with eslint but wanted a clean console so have disabled it.
We have to go through and make sure which cases should actually have this disabled and which we should be adding or fixing to prevent the warning.
#6
99eb7a5
Description
When I select option to vote for, confirm transaction i do not see any changes on proposal page, under vote section
Steps to Reproduce
Expected behavior
Vote should impact the selected option on vote section, there should be visible change
Actual behavior
No visible changes on voting section, not even after page refresh
Device Information
OS: MacOs
Browser GoogleChrome, Brave
Device: MacOS Monterey v12.4
Additional context
Transaction is visible under Recent transactions (top-right corner, account address icon)
In stake modal we see the transaction complete well before the UI updates to allow locking of tokens causing confusion to the user. We should be able to fix this by updating SWR polling rate for this specifically I think.
We have a branch that Carl was working on previously (https://github.com/DXgovernance/DAVI/tree/feature/forum) but it seems there is an inherit issue with orbit DB working, replicating data. It probably needs someone to take a proper deep dive.
Previously we had signed voting also using orbit db working in dxvote but that also seems broken, maybe @AugustoL you could have a look as the one with most IPFS knowledge?
I also tried connecting orbit db to my personal ipfs node locally and on my dappnode but didn't get very far, maybe we could use a list of our nodes in dxdao to support this.
We need some way of sorting for guilds and dxvote DAOs on the DAVI landing page. We only have guilds right now but in future they ill be mixed together.
We could also do with a label to highlight which type is shown if they are all mixed together with no filtering
Currently when creating a proposal in an enforced binary guild we have the against option but it shows "1 on-chain action" in the action overview. We should check for data 0x0 to address 0x0 with value 0 and mark that as 0 on chain actions
EDIT
Turning this into the issue for adapting to the new default base guild working as an enforced guild
The current duration picker component is an uncontrolled input component. While this is not bad, our current implementation for the action builder dynamic form renderer expects input components to be controlled components. Right now this means when editing an action in the action builder, the existing values are not shown for the duration picker.
We should refactor the duration picker to be controlled. (It should take the value and onChange props as input and shouldn't keep an internal state.)
Description
When on any Guild page user should be able to access the list of all proposals within that Guild
Steps to Reproduce
Actual behavior
Redirected to Landing page
Expected behavior
User should be redirected to Guilds Proposal page
Device Information
OS: MacOs
Browser GoogleChrome, Brave
Device: MacOS Monterey v12.4
Additional context
The same behaviour is for the all Guilds. This is an feature that is not developed or connected, it's not a bug
We have the UI elements and component logic for filtering but we don't actually do any to the list of proposals.
For this we will need to populate the filter drop downs with actual options:
State: Use enum ProposalState (not contractState)
Type: Lets rename this "Actions" and for now add our list of core actions (transfer+permissions+ens) we will then check against the proposals list of actions.
Currency: Use token list and check against tokens being transferred in the actions list
Description
It seems occasionally we get an error creating proposals when uploading metadata to ipfs. On localhost this appears as a full error "non-base58". Not sure how to reliably replicate
Steps to Reproduce
Steps to reproduce the behavior:
Expected behavior
Creates transaction and description is viewable in proposal page after
As one of the core actions available like with transfer and mint we should have an action to update ens
This needs to take:
to
addressCurrently, we match contracts via addresses and this is great when we have one type of contract to interact with.
But when we have contracts to interact with that are created by factories like with uniswap v2 (bad example as we will solve this with swapr SDK but good for visualisation) we don't have one specific address to match.
We then cant rely on function signatures due to it not being unique.
But instead, we can use bytecode to match this. We'll need to add an additional hashed bytecode value to rich contract data and for these configs we will just leave network addresses blank for each network to signify that it is a factory generated contract.
Dependent on #657
Once we have decoded proposal actions we can implement sorting on specific tokens
https://www.figma.com/proto/cjLng0AbOKuDj9r5oZVDmR/Wireframe?page-id=4101%3A14133&node-id=4101%3A14280&viewport=241%2C48%2C0.13&scaling=min-zoom&starting-point-node-id=4101%3A14280
This should just check for any action with an action with the matching token address or to value
Description
It seems occasionally when clicking around the UI it is possible to go back then click on a link which appends a double // to the URL causing the app to break
Description
After user hase connected his wallet to MetaMask he should be able to inspect his account on Block Explorer
Steps to Reproduce
Steps to reproduce the behavior:
Expected behavior
User should be redirected to explorer
Actual behavior
Redirected to Landing page of Guilds
Device Information
Additional context
Just wondering, do we have some explorer where user need to be redirected or it's in WIP? If it's in WIP, this is not a bug just feature
Description
Members are displayed below Guild title, but should be displayed at top-left corner of Guild main box.
Information button is missing. Should be displayed at top right corner of Guild main box.
Steps to Reproduce
Device Information
OS: MacOs
Browser GoogleChrome, Brave
Device: MacOS Monterey v12.4
Description
When Stake form is open "Lock SWPR" button is visible (screenshot1), if I delete digits from Balance field button changes name to "Approve SWPR Spending" (screenshot2), then changes back again as soon as I enter any digit
Steps to Reproduce
Expected behavior
Button name should be the same
Actual behavior
Button name changes when I delete amount from the field, and changes back again when I enter amount in Balance field
Device Information
OS: MacOs
Browser GoogleChrome, Brave
Device: MacOS Monterey v12.4
Additional context
The same behaviour is for the all Guilds.
Description
When user click on Search Guild field bar, then can see cursor next to magnifying glass icon. But when user enter some word, that word doesn't appear in field. User should be able to submit word and to see results from search.
Steps to Reproduce
Steps to reproduce the behavior:
Expected behavior
Word which enter appear in Search Guild field bar. User can search it when press 'Enter', and should see search results.
Actual behavior
Word which enter don't appear in Search Guild field bar and User can't search it
Device Information
Additional context
Expect from Search bar to work and can do some input
We need to make a start on cache refactors and I think the best way to do that will be to go over it again as a group to discuss how to go about it to further split up future sections.
We'll schedule this once UI refactors are complete.
Description:
When I join the guild it says staking period is 5min but after that it says it is unlocked in 1h
Steps to Reproduce:
Actual behaviour:
Staking period lasts 1h
Expected behavior:
Staking period should be 5 min
Screenshots:
286/176540581-738f5135-9707-4189-af2a-3e234bb83c53.png">
Device Information
Additional context
Expecting to be 5min but it's 1h. Maybe is something with config file
Refactor Modal component
Currently, the transaction builder is only able to add actions and edit actions but not remove actions from the Actions - Widget
. We need to add a button to allow actions to be removed. You can play around with the playground HERE .
Remove - Button
from the action component in the Actions - Widget
we need an additional user confirmation.confirm removal
which will remove the action from the Actions - Widget
Description:
When on any Guild page user should be able to access the list of all users within that Guild
Steps to Reproduce:
Actual behaviour:
Redirected to Landing page
Expected behavior:
User should be redirected to Guilds Members page
Device Information
Additional context
The same behaviour is for the all Guilds. This is an feature that is not developed or connected, it's not a bug
Description
We seem to be inconsistent about hpw we represent indexes for choices when voting.
On the SC as it currently stands (may change soon):
0: Unused option (don't show ever)
1: First option
2: Second option
...
(Enforced guild always uses last index as against)
We should ensure this happens everywhere, voting for option 1 uses index 1 and shows in the UI as voting for the first option.
Currently when you select option 2 it will vote for option 1 I believe, we just need to make this correct and consistent.
You can check in the block explorer on goerli to see what option is being sent to the contract
Steps to Reproduce
Steps to reproduce the behavior:
Expected behavior
A clear and concise description of what you expected to happen.
Description
We need to ensure indexes are shown in option labels in both voting box and proposal actions components and that these are always exactly the same.
This will happen when ipfs is loading or breaks and very important for security
Steps to Reproduce
Steps to reproduce the behavior:
Expected behavior
These should match
Description
Given I am creating proposal and I create two actions for proposal, then on Proposal page, I notice that third action has been added automaticallly
Steps to Reproduce
Expected behavior
On Proposal page there should be a number of actions that was added while creating proposal itself
Actual behavior
Third action appears as voting option without being added previoulsy when creating proposal
Device Information
OS: MacOs
Browser GoogleChrome, Brave
Device: MacOS Monterey v12.4
Additional context
This happens when I create proposal in any Guild
Hey guys, I´ve added a Disconnect flow to our connection process. Therefor, we need to add a disconnect button to the Network Modal. You can play around with the connect/disconnect process here! The Network Modal will have two states, Disconnected and Connected:
Disconnect - Button
the modal closes and we change the header to:Connect Wallet - Button
we will show him the network modal in the disconnected state:We have a basic input component borrowed from proposal creation but we also need some designs around how existing comments will look bellow.
Ideally these should allow for nested conversations and replies that can be automatically minimised. Each of the comments should also be able to react to.
Ideally I think it makes sense to highlight a user's voting power somewhere in the design and if it is an active proposal then which option they voted for also.
Guilds are able to do on-chain function calls which we call actions. We are going to use tenderly to simulate the defined actions to check if they are actually executable once a proposal has passed. Please go through the playground before you start working on this issue HERE. To make this step transparent we are gonna add a Verify Action - Modal
to the Add Action - Flow
:
Add Action - Button
in the add action process.Go to Tenderly - Button
is opening up a new tab with the actual tenderly simulation.Go to tenderly - Button
.Actions - Widget
Go to tenderly - Button
or close the modal with the close icon.Description
When creating a proposal to set permissions we can see the correct summary line when creating but when decoding on the created proposal page it shows unknown action. We must be decoding incorrectly. It works for transfer just not permissions.
Also test this with other permission types pls
Steps to Reproduce
Steps to reproduce the behavior:
Expected behavior
The summary line in action builder creation should be shown in proposal page as well
In some palces in the UI if going back via browser navigation then clicking links we sometimes see double slashes in the URL breaking the app.
Maybe we can just check for double slashes and remove, think the issue is from hash router maybe.
Will try to add more details if seen again
We should add some examples:
Core
The issue is with generic calls, since we need to deploy the contracts first to get the addresses to use in rich contract config usually pulled from ipfs. We can have a check for localhost and if it is found then we generate additional rich contract data for testing.
There may be some we currently use that are not showing properly, in which case a new issue should be opened to fix these
Description
Create Guild button is disabled and doesn't respond to a click. User should be able to click on Create Guild button and to be redirected to Create Guild Page
Steps to Reproduce
Steps to reproduce the behavior:
Expected behavior
Create Guild button should not be visible on Landing Page
Device Information
Additional context
This button should not be present and atm it redirects to broken page
Since we have forked we dont need a lot of dxvote code. Some may be left to be refactored but otherwise we should just refer back to the dxvote repo
Description
When loading a Guild, you can click on loading proposal skeleton and it redirects to:
/guilds/:chainId/:guildAddress/proposal/undefined
Steps to Reproduce
Steps to reproduce the behavior:
Expected behavior
You shouldn't be able to click them, or not be redirected to another page.
We have a search component but it does not do anything. For now we can just search against:
to
field of actionsLikely we can just reuse dxvote's search engine
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.