[Proposal:Generic Scheme] dxDAO Token Curated Registry

Hey everyone,

with the launch of the first dxDAO DeFi products and the active governance role of the DAO for additional protocols, the need for a standardized process rises to manage token integrations across multiple applications.

In order to manage multiple integrations from one single place, a DAOstack GenericScheme has been developed that let us create and manage token lists via DAOstack proposals.

Before actually submitting the proposal to the dxDAO I am seeking feedback from the community.

Short overview of the functionality that will be provided:

Token integration governance via dxDAO GenericScheme:
Add List: Additional lists can be created
Add Tokens: Add one or multiple ERC20 tokens to a given list.
Remove Tokens: Remove one or multiple tokens from a given list.

Contract functionalities used by application contracts and front-ends:
getTokens: Get all tokens tracked by a token list
getTokensRange: Get active tokens from a list, within a specified index range.
isTokenActive: Check if a given token address is active on a list.
getTokenIndex: Returns the array index of a given token address.
getTokensData: Convenience method to get ERC20 metadata for given tokens.
getExternalBalances: Convenience method to get account balances for given tokens.

The GenericScheme “Token Registry” can be tested on this Test-DAO:

Repo is available here:

Verified contract:

The GenericScheme will be deployed with adjusted proposal VotingParams in order to ensure fast decision making:

  • boostedVotePeriodLimit: 129600 (1.5 days)
  • daoBountyConst: 10
  • minimumDaoBountyGWei: 1 (obligatory set to 1 as 0 is not possible)
  • queuedVotePeriodLimit: 604800 (7 days)
  • queuedVoteRequiredPercentage: 50 (50%)
  • preBoostedVotePeriodLimit: 43200 (12 hours)
  • proposingRepRewardGwei: 0
  • quietEndingPeriod: 86400 (1 day)
  • thresholdConst: 1200
  • voteOnBehalf: 0x0000000000000000000000000000000000000000
  • votersReputationLossRatio: 0
  • activationTime: 0
2 Likes

Disclosure: I work on Kleros who created the registry.

This does look to serve similar purposes as the Token² Curated Registry which is currently used in the DutchX which also provides convenience for adding tokens and does not require governance when adding a token is consensual (i.e. non disputed).

Creating a new badge (with listing criterion controlled by the dxDAO) is quite easy and the list of tokens already well populated (~500 tokens) and there people watching providing extreme due diligence to what is submitted (for the little story, I did make a typo while adding a token during a live and demo and it was almost immediately challenged).

The space is still quite young and unexplored that I think we should focus on bringing new infrastructure bricks which are much needed.

If you think the dxDAO would have more token listing needs, we’ll be happy to work and partner with the dxDAO on those topics.

Note that it is definitively useful for in protocol listing of tokens in assets the dxDAO control (like DutchX) and needed to make governance decisions (i.e. subjective ones) but just want to be sure the plan is not to be a general purpose token curated registry in order to support it.