UNPKG

@pontem/coins-registry

Version:

Liquidswap & Pontem Wallet coins & pools registry

149 lines (101 loc) 5.63 kB
<a name="readme-top"></a> <!-- PROJECT SHIELDS --> [![Contributors][contributors-shield]][contributors-url] [![Forks][forks-shield]][forks-url] [![Stargazers][stars-shield]][stars-url] [![Issues][issues-shield]][issues-url] [![MIT License][license-shield]][license-url] # LiquidSwap & Pontem Wallet Coins & Pools Registry We are developing our own Coin Registry file formats for [LiquidSwap](https://liquidswap.com) and [Pontem Wallet](https://pontemwallet.xyz/), which contains all the information about coins and pools in which coins can be exchanged. Currently, we use these files for data: - coins.json - pools.json - staking.json And an [index.js](src/index.js) file for easier usage of coins-registry in other projects. Through the interface, it is easy to get tokens or pools lists for the selected chain type. It provides two methods: `getCoinsFor`, `getPoolsFor` and `getStakingPoolsFor`. Each of these methods requires the network type as an argument. Possible values for network types: `mainnet` and `testnet`. <p align="right">(<a href="#readme-top">back to top</a>)</p> ## Coins Data Structure There is a coins list in coins.json. One coin can be presented as follows: ```JSON { "source": "aptos", "name": "Aptos Coin", "chainId": 1, "decimals": 8, "symbol": "APT", "symbol_with_bridge": "APT" "type": "0x1::aptos_coin::AptosCoin", "caution": false, "order": 1, "logo_url": "https://raw.githubusercontent.com/pontem-network/coins-registry/main/src/coins-logos/apt.svg" } ``` ### Fields Description ```source``` - enum data type with strict value check. If you’d like to add the new value into it, fill the form. Usually source is the name of a partner's company to add many coins into the list. We support now following sources: * ```aptos``` - for the native Aptos Coin. * ```partners``` - for other coins. * ```celer``` - for coins provided by Celer. * ```layerzero``` - for coins provided by Layer Zero. * ```wormhole``` - for coins provided by Wormhole. ```name``` - coins' full name. We update this value by a request to the node. It is used on Picture 1 as a bottom string after the dot (on the picture it is Bitcoin). ```chainId``` - for mainnet value is 1. Currently, testnet coins stored in the ```testnet``` branch of this repo. ```decimals``` - how many decimals supports your coin. We update this value by a request to the node. ```symbol``` - it is used to construct a coin alias, which can be equal to symbol as on Picture 1 in the top string. ```symbol_with_bridge``` - if the token is not connected to any bridge, then the symbol is duplicated, otherwise prefixes are added to the symbol. For example: layerzero USDT - zUSDT, celer USDT - ceUSDT, wormhole USDT - USDT (without a prefix). ```type``` - full type of coin. String with following structure ADDRESS::MODULE::COIN, e.g. ```0x1000000fa32d122c18a6a31c009ce5e71674f22d06a581bb0a15575e6addadcc::usda::USDA```. ```caution``` - if we need to show warning icon near the coin - we will add the caution field. ```order``` - order of coin in coins list. Current logic: ```logo_url``` - absolute path to coin logo from githubusercontent and this repo ``` 1 Apt 10 USDC 20 USDT 30 DAI 40 BTC 50 WETH 60 BUSD / BNB 1000 other coins ```` <p align="right">(<a href="#readme-top">back to top</a>)</p> ## Pools Data Structure ```JSON { "coinX": "0xf22bede237a07e121b56d91a491eb7bcdfd1f5907926a9e58338f964a01b17fa::asset::USDT", "coinY": "0x1::aptos_coin::AptosCoin", "curve": "unstable", "networkId": 1 } ``` ### Fields Description ```coinX``` - full type of coin. String with following structure ADDRESS::MODULE::COIN, e.g. ```0xf22bede237a07e121b56d91a491eb7bcdfd1f5907926a9e58338f964a01b17fa::asset::USDT```. ```coinY``` - full type of coin. String with following structure ADDRESS::MODULE::COIN, e.g. ```0x1::aptos_coin::AptosCoin```. > ⚠️ Coins should be sorted. ```curve``` - to strictly point curve type use the following values: * stable * unstable * selectable <p align="right">(<a href="#readme-top">back to top</a>)</p> ## Contribution You are welcome to fork the current repository and do a PR. The current repository maintaining under MIT license. <p align="right">(<a href="#readme-top">back to top</a>)</p> ## Tests Check formatting with ```shell yarn test ``` <p align="right">(<a href="#readme-top">back to top</a>)</p> ## License Distributed under the MIT License. See [`LICENSE`](LICENSE) for more information. <p align="right">(<a href="#readme-top">back to top</a>)</p> <!-- MARKDOWN LINKS & IMAGES --> <!-- https://www.markdownguide.org/basic-syntax/#reference-style-links --> [contributors-shield]: https://img.shields.io/github/contributors/pontem-network/coins-registry.svg?style=for-the-badge [contributors-url]: https://github.com/pontem-network/coins-registry/graphs/contributors [forks-shield]: https://img.shields.io/github/forks/pontem-network/coins-registry.svg?style=for-the-badge [forks-url]: https://github.com/pontem-network/coins-registry/network/members [stars-shield]: https://img.shields.io/github/stars/pontem-network/coins-registry.svg?style=for-the-badge [stars-url]: https://github.com/pontem-network/coins-registry/stargazers [issues-shield]: https://img.shields.io/github/issues/pontem-network/coins-registry.svg?style=for-the-badge [issues-url]: https://github.com/pontem-network/coins-registry/issues [license-shield]: https://img.shields.io/github/license/pontem-network/coins-registry.svg?style=for-the-badge [license-url]: https://github.com/pontem-network/coins-registry/blob/main/LICENSE