gamedaoco / gamedao-refinement Goto Github PK
View Code? Open in Web Editor NEWissues to be refined until ready for development
issues to be refined until ready for development
Create a dropdown to select languages. Add a 2nd language for testing purposes.
As a Organisation member ( tbd ) I want to be able to create campaigns so that i can get funded by the community
https://www.figma.com/file/8xFCnDl6SlUOonFm1V20ne/GameDAO-Haiku-UI?node-id=793%3A56941
As user I want to change the DAO settings so I can influence the organisation rules.
access: either open or private, if private a whitelist and/or application can be set
feeModel: no fee, transfer, reserve
fee: additional info if either transfer or reserve was used
memberLimit: an integer number
membership proposal minimum deposit: in GAME token (at least 1)
membership proposal duration: selectable timeframe transformed into blocktime amount
...
...
...
etc.
Voting rules need to be defined within the pallet.
Currently anyone can vote.
Rules consist eg. of:
As organisation PRIME I want to manage a whitelist so I can decide who can join my organisation.
As PRIME user or ORGANISATION MEMBER I want to view and change the rules and default settings of the organisation proposal types so I can govern the or initiate a rule change in the organisation.
Proposal Settings
1 General proposal settings to be chosen for this org:
1.1 majority type (default: relative) (options: free to choose, relative, simple, absolute)
1.2 deposit (default: 5 GAME, min 1 GAME)
1.3 proposal duration (default: 1d, 30min up to 30d)
2 Membership proposal settings to be chosen for this org:
2.1 majority type (default relative) (options: relative, simple, absolute)
2.2 deposit (default 5 GAME, min 1 GAME)
2.3 proposal duration (default: 1d, 30min up to 7d)
3 Spending proposal settings to be chosen for this org:
3.1 majority type (default relative) (options: relative, simple, absolute)
3.2 deposit (default 5 GAME, min 1 GAME)
3.3 proposal duration (default: 1d, 30min up to 30d)
As GameDAO user I want to be able to purchase GAME token (or DOT) on ramp.network payment widget and receive it into my web3 wallet so i can use the token on GameDAO.
As user I want to know what is going on GameDAO in terms of usage so I can keep track of the growth.
date | organisations | members | campaigns | running campaigns | funded campaigns | funded campaign contributors | tvl in trasuries | tvr campaigns | proposals | accepted proposals | proposals exired without vote |
---|---|---|---|---|---|---|---|---|---|---|---|
01.05.2022 | 91 | 345 | 124 | 60 | 40 | 1200 | 200000 | 1200000 | 104 | 81 | 11 |
02.05.2022 | 96 | 411 | 166 | 54 | 45 | 1400 | 240000 | 1700000 | 154 | 98 | 12 |
03.05.2022 | 102 | 544 | 178 | 43 | 61 | 1800 | 220000 | 2200000 | 218 | 166 | 13 |
date | campaigns success ratio | contributors per campaign ratio | avg funding amount per contributor | proposal acceptance ratio | proposals exired without vote |
---|---|---|---|---|---|
01.05.2022 | 62.5% | 9.67 | 100 | 77.88% | 10% |
As user I want to interact with GameDAO in a way that it does not require for transactions for each and any step I do on Gamedao so I can save trx costs and do not pollute the chain with unnecessary data.
As user I want to earn XP so I can get rewards from GameDAO and recognition from other users depending on my XP Level
As GameDAO platform we want to keep users engaged with the product in a gamified fashion so that users regularly interact with our protocols.
[] have a UI concept for events where I can earn XP so that I can see for what I got how much XP
[] display earned points, to be earned points, levels and potential rewards in the frontend.
[] be technically setup to assign points to users when doing certain transactions or being involved in blockchain events (such as finalization of campaigns/proposals etc.) by considering also Levels
FigJam: https://www.figma.com/file/hfUxifHfF8Upr0NoXijSYp/XP%2C-REP%2C-TRUST?node-id=108%3A703
As a Creator
I want to add a reward to the campaign
So that I will be able to publish it and attract contributors
———
Create the "Add a reward" section in the "Campaign creation" flow (please see the "Add a reward to a campaign" user flow (“Campaign creation” page))
As GameDAO team we want to be able to activate or deactivate the fiat2crypto payment ramp so we stay flexible with our feature set.
As organisation member I want to change DAO settings so I can set rules and appearance for my organisation.
One Form field directly influences the appearance of the organisation overviews "about" section:
1.1 description text can be updated
1.2 location can be set (all countries + "worldwide" can be selected, multi selections possible)
1.3 main language can be set (language select)
1.4 "Web" URL can be set
1.5 "Discord" URL can be set
1.6 "Twitter" URL can be set
1.7 Tags can be set (up to 6 tags, free to choose)
1.8 Tags need to be searchable in the organisation search
Access type can be changed
2.1 2 options (open or private), while the currently set option is preselected
2.2 if private is selected 2 checkboxes appear (Whitelist, Application)
2.3 if the organisation controller was an individual (Prime) the settings can be submitted without a proposal (CTA: Update organisation)
2.4 if the organisation controller was set to community, submitting the form results in a proposal (CTA: create proposal), in this case the user gets a transaction modal where he has to deposit GAME token.
Member type can be changed
3.1 2 options (no fee or fee), while the currently set option is preselected
3.2 if fee is selected 2 more radio buttons appear (transfer, reserve) and an input field for the fee
3.3 if the organisation controller was an individual (Prime) the settings can be submitted without a proposal (CTA: Update organisation)
3.4 if the organisation controller was set to community, submitting the form results in a proposal (CTA: create proposal), in this case the user gets a transaction modal where he has to deposit GAME token.
Member limit
4.1 1 input field for the member limit
4.3 if the organisation controller was an individual (Prime) the settings can be submitted without a proposal (CTA: Update organisation)
4.4 if the organisation controller was set to community, submitting the form results in a proposal (CTA: create proposal), in this case the user gets a transaction modal where he has to deposit GAME token.
💡 Access Type, Member Type & Member limit forms already exist in create organisation process.
As user I want to be able to store data without transaction fee so I can use the platform without paying all the time
As a user on GameDAO participating actively on GameDAO protocols I want to access a Dashboard so I can maintain an overview about relevant information happening around my interactions.
Following elements should be visible on the Dashboard
Figma-Link: https://www.figma.com/file/LmFOAGwKieWxmLtFVulChX/GameDAO-Frontend-Design?node-id=1025%3A6441
AC 3.6 includes a status "not started" --> it should be possible in a later stage to "bookmark" campaigns which did not start yet to list them in the dashboard, can be ignored for now.
AC 4.5 includes a status "not started" --> a campaign creator should be able to plan a campaign in advance - so far the campaign creation form does not provide this option but in a later stage we have to consider this, can be ignored for now)
As a Creator
I want to create a reward
So that I will be able to add it to my campaign
———
Create the "My Rewards" page where a Creator will be able to:
1.1. Create a reward (please see the "Create a reward" user flow)
1.2. Edit and delete a reward (please see the "Edit / delete a reward" user flow)
1.3. Add a reward to a campaign (please see the "Add a reward to a campaign" user flow)
A Creator must be able to see his rewards with the following statuses:
2.1. Draft
the reward is created, but not added to a campaign
or
the reward is created and added to a "Draft" campaign
2.2. Active
the reward is created and added to a campaign, which status is not "Draft"
and
the collectible “End time” hasn’t come yet
and
not all collectibles have been earned
and
campaign is not completed
2.3. Completed
the reward is created and added to a campaign and a campaign has been completed (campaign status is "Finalizing" / "Reverting" / "Success" / "Failed")
or
the “End time” of all collectibles added to a reward has come
or
all collectibles added to a reward have been earned
As developer I want to use an API description generator tool so I can develop efficiently.
[]
[]
As user I want to see which campaigns are run by an organisation so I can see what this organisation is collecting funds for.
As product manager focusing on user experience I want the user feedback summarized into actionable tasks so we can build the user interface according to user needs
https://www.notion.so/zeroio/Beta-feedback-3405a1b072bb4cfbaa0bb939dd286280
As protocol I want to protect market participants from protocol abuse, e.g. bad actors proposing destructive activity for GameDAO or any other DAO running on the protocol.
To achieve this we require creators of a Proposal to deposit a sound amount of collateral to their proposal. This disincentivizes bad actors from abuse and creates more transparency for the voters.
100 GAME
As user I want to filter organisations to find the ones which suit to me better.
As a Contributor
I want to earn a reward
So that I will be able to claim it after a campaign is successfully completed
———
A Contributor must be notified that he earned his reward if he invests more than a minimum funding amount or equal amount (please see the "Earn a reward" user flow)
As user I want to suggest a feature or report a bug so GameDAO can reason about it
As GameDAO user I want to receive feedback if the purchase of crypto has worked or not so I know what to expect and can react accordingly.
have a successful payment in widget and see success message below buy button onsite
have an error during payment in widget and see error message below buy button onsite
d
As gameDAO we want to offer a good search feature so that users can search all available content and data produced by different objects we have.
[] requires a searchable indexing of graph data by e.g. elasticsearch or algolia
[] requires name resolution for entity hashes (organisations, campaigns, propsals, members, descriptions)
As user I want to know how much value cryptocurrencies and tokens have in my local fiat currency so that I can put treasury portfolios or my own balance into context.
USDZERO
ZEROUSD
USDGAME
GAMEUSD
USDAUSD
AUSDUSD
USDPLAY
PLAYUSD
subscription {
fx('USDZERO',value)
}
users should be whitelisted to make use of gamedao protocol.
depending on their completed steps they should get an approval level resulting in different clearances for interactions with protocol and community.
0 - add zero identity
1 - complete liveness
2 - add social identifiers
3 - complete kyc/aml
As non-native-web3 user I want to buy crypto with credit card to:
As GameDAO Business User I want to keep track of the reconcialiation
docbase: https://docs.ramp.network/
staging key: sent via slack
releasing purchases manually: https://docs.ramp.network/tips-tricks/#releasing-purchases-manually
support page answering most questions: https://support.ramp.network/en/
more useful info: https://www.notion.so/ramp/Hello-1a3708b6d6dc4638a6279b9dc433d1f4
ℹ️ : please be ware that ramp has to perform due diligence on our company. Until this is finalized we have to release purchases manually. After they finalized the process we get credit cards enabled.
As a user I want to be able to verify my email and connect it to my wallet
As a frontend developer I want to query the data from GraphQL endpoint
As #user I want to know about my current portfolio value, available liquidity and standing in the community. depending on the context, I want to find out in an easy fashion:
a. my available balances ZERO PLAY GAME
b. my reserved balances ZERO GAME PLAY
c. my staked balances ZERO GAME PLAY
d. my XP
e. my REP
f. my TRUST score
g. COLLECTABLES
h. LICENSES
This is possibly multiple features, views and components.
This story is about providing various components and integrate them:
In case of questions please get back to @2075
As a Contributor
I want to view a reward details
So that I will be aware of what I'll get for my contribution
———
Create the "Rewards" section on the “Campaign Details” page where all details about a reward will be displayed.
1.1. All details about a reward can be found in the "Create a reward" user flow)
The "Rewards" section on the “Campaign Details” page will display rewards with the following statuses:
2.1. Active
the reward is created and added to a campaign, which status is not "Draft"
and
the collectible “End time” hasn’t come yet
and
not all collectibles have been earned
and
campaign is not completed
2.2. Completed
the reward is created and added to a campaign and a campaign has been completed (campaign status is "Finalizing" / "Reverting" / "Success" / "Failed")
or
the “End time” of all collectibles added to a reward has come
or
all collectibles added to a reward have been earned
Like discord report bot and https://docs.substrate.io/tutorials/v3/node-metrics/
Flow pallet needs further development to be fully functional and configurable.
Please add based on discovery of planned / required features.
As user I want to create a DAO, create a campaign, raise funds and withdraw them to spend it so I can reach my objective to build sth nice the community wants
Controller Wallet 1: 5mark
Wallet: | 3b2qZTPzhpJkJULMtMjtL5dsiYvmfVyh15Xxg3K83UwGpCJz | DAO Admin |
TOTAL: | 513.9296 ZERO | - |
TRANSFERRABLE: | 351.2126 ZERO | - |
LOCKED: | 10.0000 ZERO | - |
RESERVED: | 152.7069 ZERO | - |
treasury Wallet 2: Inan 2nd Wallet
Wallet: | 3bM6UuZYEQjDqSdsyevEWjdRqQbDTXahvLLvvFDnsnam8bN2 | DAO Treasury |
TOTAL: | 39.9999 ZERO | - |
TRANSFERRABLE: | 25.9989 ZERO | - |
LOCKED: | 0 ZERO | - |
RESERVED: | 14.0009 ZERO | - |
funding Wallet 3: Allchainsfunding
Wallet: | 3ZYcKFCPWN5tDFsaYJVEgvCJjV5EXxSKMXtD7HgdmhALrCG6 | DAO member |
TOTAL: | 74.9999 ZERO | - |
TRANSFERRABLE: | 56.4999 ZERO | - |
LOCKED: | 10.0000 ZERO | - |
RESERVED: | 18.5000 ZERO | - |
funding Wallet 4: Zero1
Wallet: | 3ZjAeLZWrhu1uFGxgFSPUuSBJmEJZpgHHM6qJUzuHb3B9ykb | DAO member |
TOTAL: | 29.9999 ZERO | - |
TRANSFERRABLE: | 18.9989 ZERO | - |
RESERVED: | 11.0010 ZERO | - |
funding Wallet 5: Zero2
Wallet: | 3Xg5B1ESG3pSRPejciW5RssF4LCKGqdow8A5gdhXUPmQ8Rb2 | DAO member |
TOTAL: | 5.9999 ZERO | - |
TRANSFERRABLE: | 4.9989 ZERO | - |
RESERVED: | 1.0010 ZERO | - |
funding Wallet 6: Zero3
Wallet: | 3ZJca4hGtBH68dzRLajMceUVSUhyvmhPu5yLM8CazwQoM4yk | not DAO member |
TOTAL: | 21.9999 ZERO | - |
TRANSFERRABLE: | 21.9989 ZERO | - |
RESERVED: | 0.0010 ZERO | - |
creating the Campaign resulted in that the treasury account also had 1 ZERO (Deposit) reserved. I was the owner of the account but I dont think that i approved or signed any transaction with that account. Not sure if it works same way if I would use a treasury account which is not my wallet.
Wallet: | 3bM6UuZYEQjDqSdsyevEWjdRqQbDTXahvLLvvFDnsnam8bN2 | DAO Treasury |
TOTAL: | 39.9999 ZERO | - |
TRANSFERRABLE: | 24.9989 ZERO | - |
LOCKED: | 0 ZERO | - |
RESERVED: | 15.0009 ZERO | - |
After funding each contributor had the funding amount shown as reserved in their own wallet.
After the campaign runtime expired and was declared successful the funds went to the DAO treasury account and were reserved (+10.000 ZERO)
Wallet: | 3bM6UuZYEQjDqSdsyevEWjdRqQbDTXahvLLvvFDnsnam8bN2 | DAO Treasury |
TOTAL: | 49.9999 ZERO | - |
TRANSFERRABLE: | 24.9989 ZERO | - |
LOCKED: | 0 ZERO | - |
RESERVED: | 25.0009 ZERO | - |
Proposal was created and Zero1 & Zero2 voted yes and the proposal was closed.
Zero3 who also funded but is not a DAO member was not able to vote.
This was logged:
gameDaoGovernance.WithdrawalGranted
Hash
0xdbe78a5958ceebd37ea12d816bfbfd2a549f6ba56d5131ec571943dfc5f2770d
Hash
0xab8534164222107b9a216ee12d80ac7dec0801b72034f0ad70ea09c8d2b1f845
Hash
0xec3ffcc4186aa7fefc00b81fd029958f90b6084d30d07e695bb655fa08f498b1
balances.Unreserved
Some balance was unreserved (moved from reserved to free). [who, value]
AccountId
INAN 2ND WALLET
3bM6UuZYEQjDqSdsyevEWjdRqQbDTXahvLLvvFDnsnam8bN2
Balance
10.0000
After the Vote was expired somehow the controller account received the funds:
Wallet: | 3b2qZTPzhpJkJULMtMjtL5dsiYvmfVyh15Xxg3K83UwGpCJz | DAO Admin |
TOTAL: | 521.9196 ZERO | - |
TRANSFERRABLE: | 359.2126 ZERO | - |
LOCKED: | 10.0000 ZERO | - |
RESERVED: | 152.7069 ZERO | - |
There are now 8 ZERO more on this account even though it should at least be 9.75 ZERO (10 minus GameDAO fee)
As GameDAO UX responsible I want to learn as much as possible about the needs and pains of my user base so I can consider this into the product design and be the ideal platform for this user group
As GameDAO protocol I want to trigger protocol actions in different pallets based on events so that our system is flexible enough to serve user needs.
As engineer I want to deploy smart contracts on ZERO chain so I can use features which are written in solidity.
When creating a proposal, inputfields do not allow for a proposal to start immediately.
now
until changed by userToday it is not very clear how the target picture for withdrawing of campaign funds should be. A chart with possible scenarios shall be drawn.
Today when a campaign is funded the finalization of the campaign triggers a transfer of reserved funds into the organisation treasury and reserves the funds there.
Only a successful withdrawal proposal can release (unreserve) funds in the organisation treasury.
As a user I want to apply for a DAO membership if the DAO settings are created like that.
As GameDAO user I want to see and click a button which leads me to a payment process where I can buy crypto so i can interact with GameDAO.
As #user I want to #x so I can #y.
As user I want to create a fundraising campaign easy so I can interact with my community efficiently to reach the ultimate goal to get my campaign funded.
As A User I find The Markdown Editor is ugly and boring.
Craftjs seems to have serializable state - so a replacement should be fairly easy
As GameDAO user and organisation member I want to have easy to read URLs so I can understand what to expect when clicking a link.
URLs should be globally represented and resolved through a slug derived from the title of the organization:
Organisation Slug: Flight of the P1nk Sn4ke
becomes flight-of-the-p1nk-sn4ke
and the root page would read like this: https://{haiku,app}.gamedao.co/org/flight-of-the-p1nk-sn4ke
. The root page is also the Overview page which in turn is for a non member the promotional page of the DAO and for a member the Dashboard view.
Pages below the Organisation would follow the URL scheme:
2.1 https://{haiku,app}.gamedao.co/org/flight-of-the-p1nk-sn4ke/dashboard
2.2 https://{haiku,app}.gamedao.co/org/flight-of-the-p1nk-sn4ke/settings
2.3 https://{haiku,app}.gamedao.co/org/flight-of-the-p1nk-sn4ke/campaigns
2.4 https://{haiku,app}.gamedao.co/org/flight-of-the-p1nk-sn4ke/proposals
2.5 https://{haiku,app}.gamedao.co/org/flight-of-the-p1nk-sn4ke/members
2.6 https://{haiku,app}.gamedao.co/org/flight-of-the-p1nk-sn4ke/treasury
etc.
In case of proposals and campaigns, there should be sluggified deeplinks, like this:
3.1 specific proposal: https://{haiku,app}.gamedao.co/org/flight-of-the-p1nk-sn4ke/proposals/i-want-new-shoes
3.2 specific campaign: https://{haiku,app}.gamedao.co/org/flight-of-the-p1nk-sn4ke/campaigns/our-great-campaign
Account specific pages
4.1 https://{haiku,app}.gamedao.co/account/dashboard
4.2 https://{haiku,app}.gamedao.co/account/campaigns
4.3https://{haiku,app}.gamedao.co/account/organisations
4.4 https://{haiku,app}.gamedao.co/account/wallet
4.5 https://{haiku,app}.gamedao.co/account/settings
etc.
As user I want to make sure that I comply with the identity requirements on GameDAO so I can use the offered services and gain trust from community members
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.