Files
token-list/readme.md
T
2024-07-30 16:00:15 +03:00

144 lines
4.2 KiB
Markdown

# Vara Network token list
## Merge Request Requirements
### Overview
This document outlines the requirements for submitting a merge request related to the `Vara Network token list` project.
Ensure that all changes adhere to the specified guidelines to maintain consistency and integrity in the token data and
related assets.
### File Naming and Uniqueness
- **File Names**: All files must have unique names within their respective directories. File names are case-insensitive.
### JSON File Requirements (`data` Directory)
1. **File Naming**:
- The JSON file name must match the `contractAddress` property of the token and be in lowercase.
2. **File Extension**:
- The file extension must be `.json`.
3. **Schema Validation**:
- The JSON file must conform to the schema defined in `scripts/token-schema.json`. Below is the required schema:
```json
{
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "Token Schema",
"description": "Schema for validating token information in a blockchain context.",
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "The name of the token."
},
"ticker": {
"type": "string",
"description": "The short name of the token."
},
"title": {
"type": "string",
"description": "The full name of the network or token."
},
"iconFileName": {
"type": "string",
"description": "The icon file name for the token."
},
"infoURL": {
"type": "string",
"format": "uri",
"description": "URL for additional information about the token."
},
"contractAddress": {
"type": "string",
"description": "The smart contract address of the token."
},
"type": {
"type": "string",
"enum": [
"fungible",
"nft"
],
"description": "The type of token (fungible or NFT)."
},
"decimals": {
"type": "integer",
"description": "The number of decimal places."
},
"description": {
"type": "string",
"description": "A description of the token.",
"default": ""
},
"website": {
"type": "string",
"format": "uri",
"description": "Link to the project's website.",
"default": ""
},
"whitepaper": {
"type": "string",
"format": "uri",
"description": "Link to the project's whitepaper.",
"default": ""
},
"initialSupply": {
"type": "number",
"description": "The initial supply of tokens.",
"default": 0
},
"totalSupply": {
"type": "number",
"description": "The total supply of tokens.",
"default": 0
},
"maxSupply": {
"type": "number",
"description": "The maximum supply of tokens.",
"default": 0
}
},
"required": [
"name",
"ticker",
"title",
"iconFileName",
"infoURL",
"contractAddress",
"type",
"decimals"
],
"additionalProperties": false
}
```
### PNG File Requirements (`icons` Directory)
1. **File Naming**:
- The PNG file name must match the `contractAddress` property of the token and be in lowercase.
2. **File Extension**:
- The file extension must be `.png`.
3. **File Usage**:
- Each PNG file should be used in exactly one JSON file. However, it must be used in at least one JSON file.
4. **File Dimensions**:
- The PNG file must be square and have dimensions of at least 128x128 pixels (but no more than 1024x1024 pixels).
5. **File Format**:
- The file must be in PNG format.
### Creating a Merge Request
1. **Verify Functionality**:
- Before creating a merge request, ensure that everything works correctly by running the following command:
```sh
npm run check
```
- Make sure there are no errors and all functionalities are working as expected.
2. **Submit Merge Request**:
- Once you have verified that everything is working correctly, you can proceed to create a merge request.