Git Product home page Git Product logo

gamedao-refinement's Issues

Language Selector

User Story

Create a dropdown to select languages. Add a 2nd language for testing purposes.

Acceptance Criteria

  1. Changing the language in the selector will immediately update the language and reload the page

Additional Information

Create Campaign

User Story

As a Organisation member ( tbd ) I want to be able to create campaigns so that i can get funded by the community

Acceptance Criteria

  1. User navigates to an Organisation they are in and clicks on the Campaigns Tab
  2. They get presented with the Campaign list ( campaign cards for now) or the empty state if there are no campaigns yet
  3. They find the call to action ( Create Campaign Button ) and start the Campaign Creation Flow ( Wizard with 3 Steps)
  4. The user is guided through the relevant steps to create a campaign and can cancel the flow at any time via the cancel button in the upper right
  5. To navigate through the steps Next and Back buttons are placed under the entry fields
  6. as well as a button to Save as Draft which allows the user to save their work for later editing
  7. When the user publishes the Campaign they get presented with a confirmation snackbar under the wallet
  8. The snackbar text is always helpful : when publish was successful
    Your Campaign has been published
    When sth went wrong : We couldn*t publish your Campaign ( and if we have a reason we might say it )
  9. The user is presented with the Campaign detail page

Additional Information

  • Detail page has to be designed

How to test

  1. Go to Organisation Page of an Org. you created
  2. Navigate to Campaigns via the Tab Navigation on page
  3. find the Campaign list or empty state
  4. click on the Create Campaign Button
  5. Start the Create campaign flow and follow the steps
  6. cancel the Create Campaign flow and lose all entered data
  7. start again and Create the Campaign
  8. see the snackbar with the helpful text
  9. get presented with the Campaign detail page

Link to Figma

https://www.figma.com/file/8xFCnDl6SlUOonFm1V20ne/GameDAO-Haiku-UI?node-id=793%3A56941

Settings Proposal

User Story

As user I want to change the DAO settings so I can influence the organisation rules.

Acceptance Criteria

  1. a new type of Proposal is available: Change Setting Proposal
  2. The Proposal is created when a user wants to change settings of the organisation
  3. Following input parameter the new extrinsic should have:
    3.1 orgID (the organisation ID)
    3.2 setting (the organisation setting to be changed)
    3.3 start (starting block)
    3.4 expiry (expiry block)
  4. majority type

Additional Information

Settings which can be changed

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.

How to test

  1. a
  2. b
  3. c
  4. d

define voting rules within pallet

Voting rules need to be defined within the pallet.
Currently anyone can vote.
Rules consist eg. of:

  • non dao members may vote on campaigns withdrawals but not general DAO votings
  • majority voting may not be accepted equals 50% but above 50%
  • etc..
  • to be defined....

Organisation Whitelist

User Story

As organisation PRIME I want to manage a whitelist so I can decide who can join my organisation.

Acceptance Criteria

  1. It is possible to create a list of addresses attached to an organisation
  2. When joining an organisation the users address will be checked against the whitelist address
    2.1 If the users wallet address is whitelisted, the user is able to join the organisation
    2.2 if the users wallet is not whitelisted, the user receives an error message: "Wallet is not invited to the organisation".
  3. If the organisation type is PRIME, the Prime role can add whitelisted addresses.
    3.1 If the organisation type is Community, the whitelist can be edited through membership proposal.

Additional Information

How to test

  1. a
  2. b
  3. c
  4. d

Proposals Configuration on Org Settings Page

User Story

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.

Acceptance Criteria

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)

Additional Information

How to test

  1. a
  2. b
  3. c
  4. d

[RAMP] fiat2 crypto payment process

User Story

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.

Acceptance Criteria

  1. ramp payment widget offers DOT & GAME token
  2. following the purchasing process on a test system leads to receiving the purchased amount in my test wallet

Additional Information

  • part of EPIC: #8

How to test

  1. call payment widget
  2. select dot
  3. perform payment
  4. receive correct amount of crypto in the wallet
  5. report other findings to product owner 😉

aggregate production data

User Story

As user I want to know what is going on GameDAO in terms of usage so I can keep track of the growth.

Acceptance Criteria

  1. read and track on a daily basis
    1.1. amount of organisations
    1.2 amount of organisation members
    1.3 amount of campaigns
    1.4 anmount of active/running campaigns
    1.5 amount of funded campaigns
    1.6 amount of funded campaign contributors (only
    1.7 sum of total value locked (TVL) in organisation treasuries
    1.8 sum of total value raised (TVR) in funded campaigns
    1.9 amount of proposals
    1.10 amount of accepted and declined proposals
    1.11 proposals exired without vote
  2. calcuate ratios
    2.1 campaigns success ratio [= funded campaigns / (campaigns - running campaigns)]
    2.2. contributors per funded campaign ratio [= contributors / funded campaigns]
    2.3 avg funding amount per contributor [= funded campaign contributors / funded campaigns]
    2.4 proposal acceptance ratio [= accepted propsals / proposals]
    2.5 proposals expired ratio [= proposals expired without vote / amount of proposals]
  3. the daily data can be visuaslied in a chart for
    3.1 TVL in Organisations
    3.2 TVR campaigns

Additional Information

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%

How to test

  1. a
  2. b
  3. c
  4. d

Have a centralised DB to store user specific data offchain

User Story

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.

Acceptance Criteria

  1. finding a way to store data on a centralised database so that
  • users can store eg. a campaign in maintenance mode or
  • data about cross notifications (eg. new proposal notification has been viewed)

Additional Information

How to test

  1. a
  2. b
  3. c
  4. d

earn XP

Context

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.

Tasks

[] 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

Additional Information

FigJam: https://www.figma.com/file/hfUxifHfF8Upr0NoXijSYp/XP%2C-REP%2C-TRUST?node-id=108%3A703

[RAMP] Feature Toggle to de/activate buy button

User Story

As GameDAO team we want to be able to activate or deactivate the fiat2crypto payment ramp so we stay flexible with our feature set.

Acceptance Criteria

  1. A configuration is set and connected with our GraphQL
  2. the confguration follows a nomenclature which is in line with the other configurations
  3. the configuration activates or deactivates the buy button for the fiat2crypto payment ramp
    3.1. the fiat2crypto payment ramp can also not be called in another way

Additional Information

  • part of EPIC: #8

How to test

  1. activating the configuration results in seeing the button
  2. deactivating the configuration results in removing the button
  3. when deactivated the feature cannot be called through any kind of other call through the browser

Organisations Settings Page

User Story

As organisation member I want to change DAO settings so I can set rules and appearance for my organisation.

Acceptance Criteria

  1. 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

  2. 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.

  3. 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.

  4. 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.

Additional Information

💡 Access Type, Member Type & Member limit forms already exist in create organisation process.

How to test

  1. go to organisations settings page
  2. see all values retrieved and prefilled
  3. when PRIME submits form, organisation settings can be changed.

Account Dashboard Page (1st iteration)

User Story

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.

Acceptance Criteria

Following elements should be visible on the Dashboard

  1. 3 Box elements in a row containing:
    1.1 Total value locked in DAOs where I am member in (GAME)
    1.2 Total contributions in campaigns (aUSD)
    1.3 Active Votings from DAOs I am a member in
  2. My Organisations box listing all Organisations where I am member in
    2.1 round shaped Organsation icon + Name and total members
    2.2 membership role (Owner, Treasurer, Member)
    2.3 Amount in Organisation treasury
    2.4 action links ("see details" --> link to org details; "manage" --> (only for owners & treasurers)
  3. My Contributions Box listing all Campaigns where I contributed to
    3.1. Campaign name + associated DAO
    3.2 Contributions (X aUSD out of Y aUSD)
    3.3 Participants
    3.4 Campaign Status (running, funded, failed, not started)
    3.5 action links
    3.5.1 "see details" --> link to campaign detail page
    3.5.2 "claim rewards" --> link to "not implemented yet" snack bar) - show only for funded campaigns (Fundraising protocol only)
  4. My Campaigns listing all Campaigns for all DAOs I created a campaign for (currently only visible for Owner role)
    4.1 Campaign name + associated DAO
    4.2 Funding Protocol (Grant, Fundraising, Lending, Shares)
    4.3 Contributions (X aUSD out of Y aUSD)
    4.4 Participants
    4.5 Campaign Status (running, funded, failed, not started)
    4.6 action links ("see details" --> link to campaign details page, "edit" --> link to "not implemented yet" snack bar))
  5. Tangrams Box listing all spawned Tangrams for my Account

Additional Information

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)

How to test

  1. a
  2. b
  3. c
  4. d

Create the "My Rewards" page for a Creator

Statement of Value

As a Creator
I want to create a reward
So that I will be able to add it to my campaign

———

Acceptance Criteria

  1. 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)

  2. 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

API description generator

Context

As developer I want to use an API description generator tool so I can develop efficiently.

  • Documentation tool should be compatible with substrate

Tasks

[]
[]

Additional Information

[ORG DETAIL] Campaigns

User Story

As user I want to see which campaigns are run by an organisation so I can see what this organisation is collecting funds for.

Acceptance Criteria

  1. A list page of all campaigns is listed below the "Campaigns" Link in the Organisation Detail Page
  2. Search Box searching for Campaign Title
  3. Filter with following options:
    3.1 active
    3.2 ended
    3.3 success
    3.4 failed
  4. Sorting
    4.1 Funding target (high - low)
    4.2 Backers
    4.3 Alphabetical
  5. Campaign cards from the Organisation are displayed according to the Campaigns List page
  6. Campaign cards linking to Campaign Detail Page

Additional Information

How to test

  1. go on org detail page
  2. click campaigns
  3. see campaign cards with all the information provided as in figma
  4. search campaigns
  5. filter campaigns
  6. sort campaigns
  7. click campaign and get to campaign url

Wrap up beta feedback findings

User Story

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

Acceptance Criteria

  1. analyse https://docs.google.com/spreadsheets/d/1CrAq5Y97rNH5PkjzSj4d5rvFX3fKB6iXTNqjGfl023s/edit#gid=0 beta and discord feedback
  2. consolidate feedback in form of a list
  3. mark actionable tasks and if we already covered them or not

Additional Information

  • prepare ideally for next sync on April 25th

How to test

  1. see list of consolidated feedback
  2. visualise if actionable task is already covered or not

Link to Notion

https://www.notion.so/zeroio/Beta-feedback-3405a1b072bb4cfbaa0bb939dd286280

add a deposit to proposal

User Story

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.

Acceptance Criteria

  1. add deposit to all Proposal extrinsics
  2. lock deposited amount over lifetime of Proposal
  3. return deposit after Proposal is either expired or voted on
  4. if the user does not have enough GAME token to deposit, an error message is thrown ("insufficient funds")

Additional Information

  • min deposit: 100 GAME

How to test

  1. Create a proposal without deposit --> get error (e.g. "not enough mana").
  2. Create a proposal for a future Blocktime --> see deposit reserved as collateral in wallet.
  3. Create a proposal, check reserved amount and wait for expiry--> see amount unlocked and transferable again.

organisations filter

User Story

As user I want to filter organisations to find the ones which suit to me better.

Acceptance Criteria

  1. Following filter options are available
    1.1. By organisation type: (Individual, Company, DAO, Hybrid) --> all checkboxes
    1.2. By member access: (open, private) --> radio buttons
    1.3. By fee model (fee, no fee) --> radio buttons
    1.4. By treasury size

Additional Information

Earn a reward

Statement of Value

As a Contributor
I want to earn a reward
So that I will be able to claim it after a campaign is successfully completed

———

Acceptance Criteria

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)

[RAMP] success / error message after payment

User Story

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.

Acceptance Criteria

  1. If ramp responds with a success, a success message is visible below the button onsite
  2. If there was an error, the respective error information coming from ramp is displayed below the button

Additional Information

  • part of EPIC: #8

How to test

  1. have a successful payment in widget and see success message below buy button onsite

  2. have an error during payment in widget and see error message below buy button onsite

  3. d

Search Engine Solution

Context

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.

Tasks

[] requires a searchable indexing of graph data by e.g. elasticsearch or algolia
[] requires name resolution for entity hashes (organisations, campaigns, propsals, members, descriptions)

Additional Information

foreign exchange values for currencies

User Story

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.

Acceptance Criteria

  1. All supported asset exchange rates can be retrieved through our Graph
  2. The Graph should act as it would get the data from an oracle
  3. Fx rates:
  • 1 ZERO = 10 USD
  • 1 GAME = 10 USD
  • 1 PLAY = 1 USD
  • 1 aUSD = 1 USD

trading pairs:

USDZERO
ZEROUSD
USDGAME
GAMEUSD
USDAUSD
AUSDUSD
USDPLAY
PLAYUSD

example query:

subscription {
  fx('USDZERO',value)
}
  1. The exchange rates should have a +/- 5% volatility for each unstable token (ZERO, GAME)
  2. the frontend Graph should consume the data fx rates and possibly index the corresponding fiat values of treasuries and wallets

Additional Information

  • this feature should enable us displaying the corresponding fiat values in my account and organisation treasuries properly to the user

How to test

  1. a
  2. b
  3. c
  4. d

Protocol: whitelist

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

[RAMP] Integrate Fiat2Crypto onramp on GameDAO

Context

As non-native-web3 user I want to buy crypto with credit card to:

  • fund campaigns with stable coins like aUSD, DAI, USDT
  • participate and interact within DAOs by using GAME token.

As GameDAO Business User I want to keep track of the reconcialiation

  • backend access to keep track of the transactions, fees and chargebacks

Tasks

  • configure a feature toggle for buying crypto via ramp #7
  • place a buy button which triggers the RAMP widget #6
  • integrate crypto payment process #5
  • cover purchase success with a success message on page #4
  • find a way to keep track of the transactions within ramp.network backoffice

Additional Information

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.

(Subsquid) User Activity log

User Story

As a frontend developer I want to query the data from GraphQL endpoint

Acceptance Criteria

  1. Subsquid GraphQL exposes activity log
  2. Filterable by user

Additional Information

  • The data will be displayed in the account dashboard

How to test

  1. Go to Subsquid GraphQL UI
  2. Query activity log (filtered by user)
  3. Check results

Better UX for wallet and portfolio data

I. User Story

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

II. Acceptance Criteria

  1. user can always find out easily ( e.g. involving one click not leaving the current context ) to see a,b,c,d,e
  2. user can find an overview of a-f and can learn about their composition (eg how TRUST builds up)
  3. user can find an overview with historic data showing a-f in a chart
  4. user can see an overview with g. collectables
  5. user can see an overview with h. licenses

III. Additional Information

This is possibly multiple features, views and components.
This story is about providing various components and integrate them:

  1. optimise wallet component
  2. create account view (rename wallet?)
  3. create generic components for portfolios to show tangram assets (please refine in here)

IV. How to test

  1. on the webapp see at anytime relevant balances
  2. with few clicks, user can get information about his porfolio structure

In case of questions please get back to @2075

Create a "Rewards" section on the “Campaign Details” page

Statement of Value

As a Contributor
I want to view a reward details
So that I will be aware of what I'll get for my contribution

———

Acceptance Criteria

  1. 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)

  2. 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

Flow V2

Context

Flow pallet needs further development to be fully functional and configurable.

  • campaign settlement
  • campaign creator deposit in governance currency
  • campaign completion and emptied treasury resulting in return of the deposit
  • campaign treasury accepting a configured payment currency for contributions
  • campaign creation only when requirements are met [ verified, min rep, min trust ]
  • unlock treasury based on vesting schedule
  • unlock treasury based on accepted milestone through an acceptance vote
  • unlock treasury based on accepted milestone through conviction vote
  • drop campaign specific item on campaign settlement to contributor
  • drop campaign specific item on project/milestone completion to contributor

Please add based on discovery of planned / required features.

Test E2E process

User Story

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

Acceptance Criteria

  1. Create a DAO
  2. Create a campaign and collect funds
  3. Submit a withdrawal voting
  4. See funds being transferred to DAO treasury
  5. See fees being transferred to GameDAO treasury.

Additional Information

Wallets before Funding:

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 -

Campaign created

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.

Campaign funded

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)

User Groups Research

User Story

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

Acceptance Criteria

  1. Find out about most urgent needs and pains of Gaming Guilds when interacting with DAOs and Liquidity (eg. our MOU partners)
    1.1 conduct interviews with at least 2 Gaming Guilds
    1.2 summarize and visualize results
    1.3 find top 5 most urgent needs and pains and possible overlaps of the different guilds
  2. Find out about most urgent needs and pains of Creator DAOs when interacting with DAOs, Liquidity and Content/Game creation
    2.1 conduct interviews with at least 3 (possible or existing) Creator DAOS (Publisher, GameStudios, Content Creators)
    2.2 summarize and visualize results
    2.3 find top 5 most urgent needs and pains and possible overlaps of the different Creator DAOs
  3. Find out about most urgent needs and pains of Investment Syndicates (Investors in all forms) when interacting with DAOs, Liquidity, investment strategies
    3.1 conduct interviews with at least 3 Investors / Investment Syndicates
    3.2 summarize and visualize results
    3.3 find top 5 most urgent needs and pains and possible overlaps of the different Creator DAOs
  4. Include the learnings into the product design

Additional Information

  • look out for most needed voting power mechanics, proposal types, user access management, treasury management, role concept, campaign needs and most important information for research.
  • try to find out about interoperability needs in the ecosystem
  • try to find out how "trust" and "identity" wants to be utilized from the various user groups
  • try to find out how much users would be ready to spend for the usage of protocols in any means

Interview Outcomes

  1. Gaming Guild Wave Esports: https://docs.google.com/document/d/1uh-knDrJOlLc_d7DvGWJ3OqgEIur44puHjF2tVO1AN4/edit?usp=sharing

Event bus

User Story

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.

Acceptance Criteria

  1. create listener for events (eg. proposal finished) send it to event bus. Bus triggers action (add XP to user)

Additional Information

How to test

  1. a
  2. b
  3. c
  4. d

Zero Chain EVM compatible

User Story

As engineer I want to deploy smart contracts on ZERO chain so I can use features which are written in solidity.

Acceptance Criteria

  1. check frontier pallet and integrate on ZERO chain
  2. deploy test smart contract interacting with ZERO chain data (eg. ZERO token balance)
  3. test the feature

Additional Information

  • to be checked: how to deploy smart contract as external dev?
  • block explorer to be EVM compatible

How to test

  1. a
  2. b
  3. c
  4. d

Withdrawals / Milestones Setup

Context

Today 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.

Some questions which came up

  • when a campaign has no milestones, is a withdrawal voting necessary?
  • how does it work when a proposal is declined? money goes back to backers? new withdrawal proposals until the outcome is a yes?
  • is there a way that contributors receive back their money? eg. rage quit voting with 2/3 majority?
  • how would a rage quit work (assuming that rage quit means that contributors receive the money back which is left)
  • if is there a way that contributors receive back their money? how to deal with market crashes and users who just want to find some stablecoins?
  • what are the criteria to pass a milestone? always freestyle or also hard facts?
  • how would a technical solution look like to ensure milestones are either met or milestone outcomes are triggered?
  • how can be ensured that if multiple parallel campaigns in an organisation are funded, which reserved funds in the treasury are voted on when a withdrawal voting appears for 1 of the n funded campaigns?

Additional Information

Apply for Organisation Membership Proposal

User Story

As a user I want to apply for a DAO membership if the DAO settings are created like that.

Acceptance Criteria

  1. If the org access type is not OPEN, and the user wallet address in on a whitelist, the join button appears on the org detail page
  2. If the users wallet address is not whitelisted an apply button appears instead of the join button
  3. Clicking this apply button allows me to create a proposal so that I can apply for membership
  4. The proposal form should contain
    3.1 Title
    3.2 Description
    3.3 Link (optional)
    3.4 Tribute offered which will be reserved from users wallet (all supported currencies or NFT) (optional)
    3.5 up to 3 different tributes can be offered (optional)
    3.6 currently connected wallet address is used for whitelist application
    3.7 Deposit (in GAME) (min. deposit amount can be configured in organisation settings) default: 5 GAME
  5. Majority type can be chosen for this propsal and is configurable per organisation (default: relative majority)
  6. The proposal duration can be configured per organisation in the settings (default: 1d)

Additional Information

image

How to test

  1. join with users who is not on the whitelist --> doesnt work
  2. put user on whitelist --> join --> works
  3. create proposal --> accept --> see address being on the whitelist
  4. create proposal, add tributes --> see funds reserved in users wallet --> accept --> see funds transferred to treasury
  5. try create proposal, add tributes which exceed users transferrable amounts --> proposal not created as of missing funds
  6. create proposal --> see that the configured value was used for proposal duration (eg. 1d)

[RAMP] page and button to ramp payment widget

User Story

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.

Acceptance Criteria

  1. A button appears (configurable via feature toggle) on the to be added page "/app/buy"
  2. The button triggers the ramp.network payment widget
  3. I can select DOT and start the process

Additional Information

  • part of EPIC: #8

How to test

  1. call page /app/buy
  2. click the button
  3. see the ramp widget
  4. close the ramp widget

Avatar & Profile Pic settings

User Story

As #user I want to #x so I can #y.

Acceptance Criteria

  1. a
  2. b
  3. c

Additional Information

wollen wir ein ticket in dem alle profile pics wie beim wallet entwedewr generated oder ein uploaded ist?

How to test

  1. a
  2. b
  3. c
  4. d

Campaign Flow

User Story

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.

Acceptance Criteria

  1. Campaign creators should have the possibility to create a "nice looking" campaign page containing elements which make users want to fund into the campaign
  2. Campaign creators can store the campaign in an edit mode and finish the campaign creation at a later stage - as campaign creators probably do not have all the information available at first shot of campaign creation
  3. No coding skills needed to create a campaign
  4. there should be conditions to be able to fund into a campaign (eg. minimum funding amount, xp, rep or trust level, etc)
  5. rewards can be configured for a campaign
    5.1 be creative with any type of rewards (memberships, NFTs, freebies on other pages etc...)
    5.2 to retrieve rewards the user should meet one or multiple conditions (such as minimum funding amount etc)
  6. users who have funded into the campaign should have an overview about their expected rewards and should be able to claim them when the time has come
  7. Milestones should be possible
  8. Anything which helps to gain the trust of potential funders should be configurable within the campaign configuration

Additional Information

  • check kickstarter, fig, forte.io, gamestarter, indiegogo for campaign concepts and develop something better for our users

How to test

  1. campaign creation is easy
  2. user is in full control about the campaign configurations
  3. user is fully aware of conditions and consequences once the campaign is on the blockchain
  4. all conditions and rewards are setup in a way that they cannot fail

Replace markdown Editor with craft.js

User Story

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

Acceptance Criteria

  1. use craft js to edit campaigns instead of markdown

Slug URLs for Organisations

User Story

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:

Acceptance Criteria

  1. 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.

  2. 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.

  3. 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

  4. 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.

Additional Information

How to test

  1. URLs follow above formats
  2. no duplicates appear

Identity Concept & Kilt

User Story

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

Acceptance Criteria

  1. An easy and clearly guided onboarding flow to claim a verified decentralised identity is provided
    1.1 Figma visuals in the MUI theme are available and tickets including detailed acceptance criteria are written
  2. A social media verification flow is provided where it is possible to verify the own twitter and discord handle via a third party (like KILT or KILT Social KYC: socialkyc.io)
    2.1 Requirements are taken in order to make it possible to show a "verified social media icon" (eg. Twitter and/or Discord) when users are connected with their wallet on GameDAO
    2.3 Figma visuals in the MUI theme are available and tickets including detailed acceptance criteria are written
  3. The concept also includes a verification level (Trust score) and the visualisation of it
    3.1 it is clearly visible for the user what is required to reach a higher level
    3.2 Gamification is used to motivate to reach a higher level
    3.3 Rewards are earned when a higher level is reached

Additional Information

  • be creative in Gamification, try different ideas without limits

How to test

  1. User starts claim identity and can achieve the task "in one go"
  2. the process is fun and engaging
  3. After claiming and verifying identity the user has a good feeling about the job done

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.