OpenSquare treasury proposal for develiered features and new features development for dotreasury, subsquare and statescan
Treasury
3 Comments
Awarded

Beneficiary: OpenSquare(12sNU8BXivMj1xQmcd4T39ugCyHjmhir8jkPqfAw5ZDESrx4)
Date: 07/20/2022
Requested Allocation: $143,760(18,854 DOT by the EMA30 price of 08.03.2022 on subscan)


OpenSquare has been actively developing new features for products including dotreasury, subsquare, statescan, off-chain voting. This is a proposal for some delivered features and new development plans.

Delivered

Child bounties(dotreasury + subsquare)

We implemented child bounties feature for both dotreasury and subsquare. The supported user stories includes:

  1. As a user, I can see all child bounties of one parent bounty.
  2. As a user, I can see the list of all child bounties.
  3. As a user, I can see the child bounty detail, while it includes the child bounty metadata, timeline.
  4. As a user, I can give comments about one child bounty.
  5. As a user, I can go directly from dotreasury to subsquare to view the child bounty context where the child bounty curator can edit the context.

Please check the time we have spent on the development.

Development Estimated hours memo
Design 32 1 FTE * 4 days
Scan scripts 60 1 FTE * 1.5 weeks
Backend server 40 1 FTE * 1 week
Fronted 160 2 FTE * 2 weeks

Total: 292 hours.

Subsquare polkadot integration

Check here for the deployment. Generally the work includes:

  • Data indexing for historical governance workflow
  • Basic stuff design.
  • Add code to support polkadot.
  • Server setup.

Usually we request $10k for each chain integration and basic setup.

There are also some common features we have delivered since this deployment. The features includes:

  • Setting a banner for my post and proposals.
  • Adding a poll for my raised discussion.
  • Support any of the signatories to edit the proposal context. Previously only the signatory who submits the extrinsic can edit.
  • New editor and markdown renderer. We can show the latest polkadot account identity with them after we mention a polkadot account on a post or comment.

We will not request specific fund for above common features. Part of the cost can be covered by the routine maintenance fee we requested from each deployments.

Statescan on-chain NFT metadata support

Problems: Statescan supports NFT defined by JSON object hosted by IPFS, but there is NFT format whose metadata and image info are defined on chain. We can not recognize it before this feature. Please check the details on this issue.

For development, the main work includes:

  • Block business indexing to find the target NFT definition.
  • Refactor and add the onchain NFT metadata parsing business to NFT parsing scripts.
  • Fronted pages adaption to this onchain NFT format.
Development Estimated hours memo
On-chain NFT metadata 60 1 FTE * 1.5 weeks

Cost

Taking hour rate $80.

Item Hours memo
Child bounties for dotreasury and subsquare 292 $23,360
Statescan on-chain NFT metadata 60 $4,800
Polkadot subsquare integration and setup - $10,000
Total - $38,160

New features plan

Dotreasury

Problems

Dotreasury serves very well as a treasury dashboard and we received lots of praise for its well designed UX, but it still has following problems:

  1. Users have to signup to leave comments, but we should make a web3 oriented product.
  2. Subsquare, as another product of OpenSquare, also supports proposals' discussion. It may cause a dispersion problem. So we may remove comments from dotreasury and redirect users to subsquare.
  3. It's more like an explorer, but it will be better if we can make it a Dapp where users can interact with chain, like proposing proposals/tips/bounties, closing tips, claiming bounties, etc.
  4. Dotreasury should provide more statistic data, like councilor, beneficiary and proposer's behaviors or related data.
  5. It's not tracking treasury proposal pipeline through democracy.
  6. There are still some polish work we can do, for example, we should show a counting down component for a bounty/child bounty pending payout.

Web3 oriented development

Less web2, more web3 ๐Ÿš€.

  • Remove interfaces for user signup and login with email or username.
  • Add connect with polkadot key. It should support polkadot.js extension, subwallet, talisman and nova wallet.
  • Remove comments and redirect users to Subsquare if they want, but the legacy comments will be kept.
  • Users can still grade with the connected account while every grade still can have a comment.
  • Connected account can manage the proposal title, category, status and urls as an admin if the account is the proposal proposer or beneficiary.

Dapp

Dotreasury now has about 8k unique vistors per month on average, and we are sure it could be a good candidate interface for users to do treasury related actions. The planned features includes:

  • Treasury proposal
    1. Create new treasury proposal.
    2. Vote a proposal on proposal detail page when there is a motion.
  • Tip
    1. Create new tip including TipNew and ReportAwesome calls
    2. Retract a tip
    3. Endorse a tip
    4. Batch new tips and batch endorsement
  • Bounty
    1. New bounty and new child bounty(still no multisig support in this plan)
    2. Accept curator
    3. Claim a bounty/child bounty

More statistics

There should be more statistics data besides current data. We want to add more participants' data in this plan.

  • A participant list page which each line contains the participant and his/her roles, while the role can be councilor, proposer, beneficiary.
  • A participant detail page. Users can switch the role of this participant.
    • As a councilor, we can see the renure, motion/tip attendance.
    • As a proposer, we can all the proposed proposals, bounties and tips.
    • As a beneficiary, we can see all the related proposals, bounties and tips. We can also see the calculated total benefited crypto/fiat value.
  • Users can grade any participant on the corresponding detail page.

Please check the design of councilor page and check the figma source file here.

Enhancement and polishment

  • Currently we only track treasury proposal process by council motions, it's not engouth. We will track the process through democracy in this proposal.
  • We will polish some counting down components for bounty pending payout and tip closing.

Budget

Item Estimated Hours
Design 40
Web3 oriented development 40
Dapp 160
More statistics 200
Enhancement and polishment 120
Total 560

Subsquare

Problems

Subsquare is a governance platform designed for substrate based chains. It indexs the on-chain governance data and provides interfaces for community to discuss and make calls to propose, second, vote, etc. It works well serving kusama and polkadot, but it can be still improved with following issues:

  • It syncs proposal context from polkassembly, but it will better if it can sync comments and discussions, so it will be more convenient for users to view more governance data without leaving subsquare.
  • It will be good if we can notify users specific governance proposal timepoint and context with email.
  • We need a user profile page to show the basic user information, participated treasury/democracy proposals, raised discussions and list of comments.
  • Treasury proposal decided by democracy should be in the proposal timeline.
  • Support login with subwallet/talisman.
  • Dark mode

Sync and load polkassembly

We have plans to create a protocol for governance data decentralization, but it will be big change and we may begin to do it after the implementation of governance 2. Syncing and loading data from polkassembly will be a solution to benefit users better view governance context and discussions. Work includes:

  • Load comments for proposals and show them on a specific tab on proposal detail page.
  • Sync all discussion topics and load comments on the discussion detail page.

In this proposal we will not implement login with polkassembly account on subsquare, while we think data decentralization and web3 should be the correct direction. If users want to leave comments for posts from polkassembly, subsquare will redirect user to the polkassembly page.

Subscription and notification

This feature enables user to subscirbe a governance event and subsquare will notify users when it happens. We know some tools like web3alert provides services to subscribe a on-chain event, but solution of subsquare differs in following ways:

  • It provides off-chain governance events like a proposal context is provided.
  • Notification of on-chain events will provide more related information, for example subsquare will also provide the pipeline info when a referendum started, so users can know this governance proposal full timeline, not just a event with the referendum index.
  • Subsquare send the notification by email.

Planned subscription and notification items includes:

  • Treasury(proposal, tip, bounties) lifecycle events and related context.
  • Motion(Council, Tech. Comm.) lifecycle events and related context.
  • Democracy(referendum, public proposals, external proposals) lifecycle events and related context.

User profile page

We need this profile page to view users' participation to governance. It will provides:

  • Baisc user info address, links to explorers, email(if it's public), username(if registered via email and username).
  • All created discussions.
  • Proposed treasury/democracy proposals.

Enhancement and polishment

There are several improvements similar with those we proposed with dotreasury, but budget of implementation on subsquare will be much lower since it shares part of the logic and code.

  • Add democracy process to the treasury proposal timeline.
  • Support login with subwallet/talisman.
  • Add counting down for bounty pending payout and tip closing. User can claim a bounty or close a tip when the counting down is over.
  • Add create new tip interface.
  • Dark mode.

Budget

Item Estimated hours memo
Sync and load polkassembly 112 2 FTE * 7 days
Subscription and notification 160 2 FTE * 10 days
User profile page 60 1 FTE * 7.5 days
Enhancement except dark mode 40 1 FTE * 5 days
Dark mode 60 1 FTE * 7.5 days
Total 432

Off-chain voting

OpenSquare off-chain voting is a common good product which provides off-chain democracy tools for polkadot ecosystem. It has helped projects collecting voting for over 45 proposals. It acts like snapshot in the ethereum ecosystem, but it provides different features.

  • It supports substrate based chains.
  • It supports multiple asset types including substrate native asset, ORML asset, statemine/statemint asset, ERC20 token.
  • It supports substrate biased voting strategy.
  • It can be configured to support voting from different assets like one proposal vote from $KSM or $DOT.

Problems

  • Users have to contact OpenSquare team to add a space for them. Check here for details.
  • Users can not be notified when a new proposal is created.

Space creation and configuration

We'd plan to provide users interfaces to seamlessly create spaces for their off-chain voting.

  • User can add a new substrate based chain with multiple endpoints.
  • User can add an asset for a chain, choose the asset type, and the backgroud job will check the asset availability.
  • User can create a space, while the attributes include id, name, symbol, decimals, threshould to create/vote proposals, vote strategies, log/sns cover, etc.
  • User can add/remove supported asset when creating a space.
  • A space author can add maintainers for the space. Evenry maintainer has same authority with the author.
  • A space maintainer can edit the space configurations.
  • A space maintainer can delete the space.

In site notifications

  • Users have to join a space to receive notifications.
  • Users can config the notification types they may want to receive. The first batch of notification types includes new proposal created, new vote, close to a proposal voting end, proposal closed/terminated.
  • Users will get in-site notifications when the subscribed events happen.

Budget

Item Estimated hours memo
Space creation and configuration 288 3 FTE * 12 days
In site notifications 40 1 FTE * 5 days
Total 328

Total budget

Taking hour rate $80, please check the budget list. For details of each item, please check above sections.

Item Estimated hours Fiat cost
Delivered features on dotreasury/subsquare/statescan 352 + polkadot subsquare integration $38,160
Dotreasury new features development 560 $44,800
Subsquare new features development 432 $34,560
Off-chain voting new features development 328 $26,240
Total $143,760
  • Beneficiary: 12sNU8BXivMj1xQmcd4T39ugCyHjmhir8jkPqfAw5ZDESrx4(identity is OpenSquare)
  • We will update the allocated DOT by the price of subscan on the submission date.

Possible questions

Dotreasury and Subsquare shares some business, what's the plan for these 2 products direction?

  • Dotreasury will foucus on the treasury mechanism. It will provides more statistics data about treasury income, output and participation.
  • We still insist that the treasury need a retrospective mechanism which means there should be ways for community's supervision. We will promote current treasury spend grade method and seek more ways to help the community supervision.
  • It will be a dapp besides a treasury dashboard.
  • Subsquare is designed to help the whole on-chain governance process. Some treasury details like estimated fiat value and statistics data won't be provided.

Is the code of subsquare open source?

Currently still not. We have plans to open it when we have enough deployments and the grant will be closed to our development cost. OpenSquare team has been actively developing subsquare for over 10 months. Though we have gotten grants from dotsama and other para-chains, they are not enough to cover our cost. Requesting treasury from dotsama to cover all the cost sounds not the best idea. We beg the understanding that OpenSquare team has to keep alive before contributing more features.

What's your next plans for subsquare?

Gov 2.0 implementation and data decentralization. Data decentralization will be after the implementation of governance 2.0. We may refer to OpenSquare qa spec to make a protocol for governance discussion data decentralization.

There are few polkadot/kusama proposals on off-chain voting platform, so how do you make sure this platform will benefit dotsama?

  • We're drafting some off-chain proposals with which we aim to collect the community opinions and trigger topics the community may think deeply.
  • The ecosystem governance activeness will help the dotsama itself.
Edited
Reply
Up
Share
  • Metadata
  • Timeline2
Comments

Please check following tables for our delivery status.

Subsquare

Item Status
Show Polkassembly discussions and comments โœ…
Dark mode โœ…
Subscription and notification: treasury & council motions โœ…
Subscription and notification: Democracy & TC motioins โœ…
User profile page โœ…
Add democracy process to the treasury proposal timeline โœ…
Add interface to login with subwallet/talisman โœ…
Add counting down component for bounty pending payout and tip closing โœ…
Support claiming bounty โœ…
Add creating new tip interface. โœ…

Dotreasury

Item Status
Track treasury proposal vote process by democracy โœ…
Web3 oriented development โœ…
Dapp features: claim bounty/child-bounty, new tip, endorse/close/endorse tip โœ…
Dapp features: new treasury proposal, new bounty, new child bounty, batch tip โœ…
More statistics: user list page โœ…
More statistics: user detail page โœ…
Counting down components for bounty and tip โœ…

Off-chain voting

Item Status
Space creation and configuration by user 85%
Event subscription and in site notifications โœ…
Edited
Reply
Up