This README provides instructions for third parties on how to add their gauge, token, or validator to our application.
Before you begin, ensure you have:
- A GitHub account
- Basic knowledge of JSON and Git
- Details for your gauge, token, or validator
You only need to provide assets if they're not already in the src/assets folder or if you're introducing new elements (e.g., a new protocol or token). For any new or missing assets:
Add any new token assets to /src/assets/tokens and new protocol assets to src/assets/protocols.
- You should use an SVG file.
- If you absolutely do not have an SVG file add a png to
src/assets/tokens/neworsrc/assets/protocols/new. Ensure it is larger than 128x128 and is very high quality.
-
Navigate to
src/gauges/{network}/defaultGaugeList.jsonwhere{network}is the network you're adding to (e.g., "bartio" for the Bartio testnet). -
Add your gauge to the
gaugesarray in the JSON file. Follow this structure:{ "beraRewardsVault": "0x...", "lpTokenAddress": "0x...", "mintUrl": "https://your-protocol-url.com/provide-liquidity", "name": "Your Gauge Name", "protocol": "your_protocol_id", "types": ["type1", "type2"], "underlyingTokens": ["0x...", "0x..."] }Ensure that:
- The
mintUrlfield is a direct link to provide liquidity for the LP token protocolmatches anidin theprotocolsarraytypescontains valid types from thetypesobject- All
underlyingTokensare listed in the token list (src/tokens/{network}/defaultTokenList.json)
- The
-
If your protocol is not listed in the
protocolsarray, add it:{ "description": "A brief description of your protocol.", "id": "your_unique_protocol_id", "image": "your-protocol-image.svg", "name": "Your Protocol Name", "url": "https://your-protocol-url.com" }Ensure you've added the protocol image to the
src/assets/protocolsfolder if it's not already there. -
If your gauge uses tokens not in the token list, add them to
src/tokens/{network}/defaultTokenList.json:{ "address": "0x...", "chainId": 80084, "decimals": 18, "image": "your-token-image.svg", "name": "Your Token Name", "symbol": "XYZ", "tags": ["tag1", "tag2"] }Add the token image to the
src/assets/tokensfolder if it's not already present. -
Commit your changes and push to your forked repository.
-
Create a Pull Request (PR) from your fork to this repository.
- Ensure all addresses are valid and correctly formatted.
- Use clear, descriptive names for your gauge, protocol, and tokens.
- Provide accurate and concise descriptions.
- Use appropriate tags and types.
- The
urlfield for gauges should be a direct link to provide liquidity for the LP token. - Make sure you're updating the correct network-specific files (replace
{network}with the appropriate network name).
After submitting your PR:
- Our team will review your submission.
- We may request changes or clarifications if needed.
- Once approved, your gauge will be merged into the main list and become visible in the app for the specified network.
Thank you for contributing to our ecosystem!
If a png/webp image is submitted, ensure a svg has been generated. If not, ensure the assets are in the assets/*/new folder and run convert-new-assets-to-svg. If the svg looks good and is smaller than the webp then use it, otherwise use the webp.