This repository maintains the official registry of bridged tokens in the Treasure ecosystem, supporting ERC20, ERC721, and ERC1155 tokens across multiple networks.
The repository organizes token registries by network and token standard. In the data
directory
you'll find
mainnet/
: Production token configurationstestnet/
: Test network token configurations
Each directory contains three JSON files:
erc20.json
: ERC20 token configurationserc721.json
: ERC721 token configurationserc1155.json
: ERC1155 token configurations
Each token entry requires the following mandatory fields:
{
"name": "Token Name",
"srcChainId": 1234,
"destChainId": 5678,
"srcTokenAddress": "0x...",
"destTokenAddress": "0x...",
"isNft": false,
"isCollateral": false
}
Additional Required Fields:
- For NFTs (
isNft: true
):nftStandard
: Either "ERC721" or "ERC1155"nftBatchSignature
: The function signature for batch operations
- For Collateral Tokens (
isCollateral: true
):underlyingTokenAddress
: The address of the underlying token
The repository implements automatic validation through CI/CD pipelines. All token configurations must comply with the JSON schema defined in schemas/tokenSchema.json
. The validation ensures:
- All required fields are present
- Addresses follow the correct format
- NFT configurations include necessary NFT-specific fields
- Collateral tokens specify their underlying token address
- Fork the repository
- Add your token configuration to the appropriate JSON file
- Ensure your configuration passes schema validation
- Submit a Pull Request
- Contact your Treasure representative to review and approve your submission
To validate configurations locally:
go run main.go
This command will check all JSON files against the schema and report any validation errors.
- Go 1.22 or higher
For questions or assistance with token registration, please reach out to your Treasure point of contact. All submissions must go through proper review channels to ensure ecosystem security and stability.