wbnns / superchaintokens.xyz

A token list registry for the Superchain

Home Page:https://superchaintokens.xyz

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Superchain Tokens

Use yarn and yarn start to develop.

Please note that by adding a token to the list we aren’t making any claims about the token itself; tokens are not reviewed for their quality, merits, or soundness as investments.

Superchain Token List

This package includes a JSON schema for superchaintokens.xyz, and TypeScript utilities for working with lists from superchaintokens.xyz.

The JSON schema represents the technical specification for a token list which can be used in an onchain app interface.

What are token lists?

Superchaintokens.xyz provides a specification for lists of token metadata (e.g. address, decimals, ...) that can be used by any onchain app interfaces that needs one or more lists of tokens.

Anyone can create and maintain a token list, as long as they are for a network on the Superchain and follow the specification.

Specifically an instance of a token list is a JSON blob that contains a list of ERC20 token metadata for use in onchain app user interfaces.

Authoring token lists

Manual

The best way to manually author token lists is to use an editor that supports JSON schema validation. Most popular code editors do, such as IntelliJ or VSCode. Other editors can be found here.

The schema is registered in the SchemaStore, and any file that matches the pattern *.tokenlist.json should automatically utilize the JSON schema for the supported text editors.

In order for your token list to be able to be used, it must pass all JSON schema validation.

Semantic versioning

Lists include a version field, which follows semantic versioning.

List versions must follow the rules:

  • Increment major version when tokens are removed
  • Increment minor version when tokens are added
  • Increment patch version when tokens already on the list have minor details changed (name, symbol, logo URL, decimals)

Changing a token address or chain ID is considered both a remove and an add, and should be a major version update.

Note that list versioning is used to improve the user experience, but not for security, i.e. list versions are not meant to provide protection against malicious updates to a token list; i.e. the list semver is used as a lossy compression of the diff of list updates. List updates may still be diffed in the client dApp.

Deploying your list

Once you have authored the list, you can make it available at any URI. If hosted on HTTPS, make sure the endpoint is configured to send an access-control-allow-origin header to avoid CORS errors.

About

A token list registry for the Superchain

https://superchaintokens.xyz

License:MIT License


Languages

Language:JavaScript 73.9%Language:Python 7.5%Language:TypeScript 6.7%Language:HTML 6.6%Language:CSS 5.3%