mirror of
https://github.com/Instadapp/trustwallet-assets.git
synced 2024-07-29 22:37:31 +00:00
[Internal] Coin info's: Include in checks; perform socials->links migration (#10707)
* Include coin info.json's in checks as well * Put all chain coin cheks into one check step * Socials->links adaptation in coin info.json's Co-authored-by: Catenocrypt <catenocrypt@users.noreply.github.com>
This commit is contained in:
parent
d1d2523f9d
commit
e3d5d8ed79
|
@ -21,5 +21,19 @@
|
|||
"symbol": "AE",
|
||||
"type": "COIN",
|
||||
"decimals": 18,
|
||||
"status": "active"
|
||||
"status": "active",
|
||||
"links": [
|
||||
{
|
||||
"name": "github",
|
||||
"url": "https://github.com/aeternity"
|
||||
},
|
||||
{
|
||||
"name": "twitter",
|
||||
"url": "https://twitter.com/aeternity"
|
||||
},
|
||||
{
|
||||
"name": "reddit",
|
||||
"url": "https://reddit.com/r/Aeternity"
|
||||
}
|
||||
]
|
||||
}
|
|
@ -21,5 +21,19 @@
|
|||
"symbol": "AION",
|
||||
"type": "COIN",
|
||||
"decimals": 18,
|
||||
"status": "active"
|
||||
"status": "active",
|
||||
"links": [
|
||||
{
|
||||
"name": "github",
|
||||
"url": "https://github.com/aionnetwork"
|
||||
},
|
||||
{
|
||||
"name": "twitter",
|
||||
"url": "https://twitter.com/Aion_OAN"
|
||||
},
|
||||
{
|
||||
"name": "reddit",
|
||||
"url": "https://reddit.com/r/AionNetwork"
|
||||
}
|
||||
]
|
||||
}
|
|
@ -24,5 +24,19 @@
|
|||
"status": "active",
|
||||
"tags": [
|
||||
"staking-native"
|
||||
],
|
||||
"links": [
|
||||
{
|
||||
"name": "github",
|
||||
"url": "https://github.com/algorand"
|
||||
},
|
||||
{
|
||||
"name": "twitter",
|
||||
"url": "https://twitter.com/AlgoFoundation"
|
||||
},
|
||||
{
|
||||
"name": "reddit",
|
||||
"url": "https://reddit.com/r/AlgorandOfficial"
|
||||
}
|
||||
]
|
||||
}
|
|
@ -21,5 +21,19 @@
|
|||
"symbol": "ARK",
|
||||
"type": "COIN",
|
||||
"decimals": 8,
|
||||
"status": "abandoned"
|
||||
"status": "abandoned",
|
||||
"links": [
|
||||
{
|
||||
"name": "github",
|
||||
"url": "https://github.com/ArkEcosystem"
|
||||
},
|
||||
{
|
||||
"name": "twitter",
|
||||
"url": "https://twitter.com/ArkEcosystem"
|
||||
},
|
||||
{
|
||||
"name": "reddit",
|
||||
"url": "https://reddit.com/r/ArkEcosystem"
|
||||
}
|
||||
]
|
||||
}
|
|
@ -16,5 +16,15 @@
|
|||
"symbol": "AYA",
|
||||
"type": "COIN",
|
||||
"decimals": 8,
|
||||
"status": "abandoned"
|
||||
"status": "abandoned",
|
||||
"links": [
|
||||
{
|
||||
"name": "github",
|
||||
"url": "https://github.com/Aryacoin/Aryacoin"
|
||||
},
|
||||
{
|
||||
"name": "twitter",
|
||||
"url": "https://twitter.com/AryacoinAYA"
|
||||
}
|
||||
]
|
||||
}
|
|
@ -7,10 +7,16 @@
|
|||
"explorer": "https://explorer.avax.network",
|
||||
"research": "https://research.binance.com/en/projects/avalanche",
|
||||
"symbol": "AVAX",
|
||||
"type": "coin",
|
||||
"type": "COIN",
|
||||
"decimals": 9,
|
||||
"status": "active",
|
||||
"tags": [
|
||||
"staking-native"
|
||||
],
|
||||
"links": [
|
||||
{
|
||||
"name": "github",
|
||||
"url": "https://github.com/ava-labs"
|
||||
}
|
||||
]
|
||||
}
|
|
@ -7,10 +7,16 @@
|
|||
"explorer": "https://explorer.avax.network",
|
||||
"research": "https://research.binance.com/en/projects/avalanche",
|
||||
"symbol": "AVAX",
|
||||
"type": "coin",
|
||||
"type": "COIN",
|
||||
"decimals": 9,
|
||||
"status": "active",
|
||||
"tags": [
|
||||
"staking-native"
|
||||
],
|
||||
"links": [
|
||||
{
|
||||
"name": "github",
|
||||
"url": "https://github.com/ava-labs"
|
||||
}
|
||||
]
|
||||
}
|
|
@ -7,10 +7,16 @@
|
|||
"explorer": "https://explorer.avax.network",
|
||||
"research": "https://research.binance.com/en/projects/avalanche",
|
||||
"symbol": "AVAX",
|
||||
"type": "coin",
|
||||
"type": "COIN",
|
||||
"decimals": 9,
|
||||
"status": "active",
|
||||
"tags": [
|
||||
"staking-native"
|
||||
],
|
||||
"links": [
|
||||
{
|
||||
"name": "github",
|
||||
"url": "https://github.com/ava-labs"
|
||||
}
|
||||
]
|
||||
}
|
|
@ -21,5 +21,19 @@
|
|||
"symbol": "BAND",
|
||||
"type": "COIN",
|
||||
"decimals": 6,
|
||||
"status": "active"
|
||||
"status": "active",
|
||||
"links": [
|
||||
{
|
||||
"name": "github",
|
||||
"url": "https://github.com/bandprotocol/bandchain"
|
||||
},
|
||||
{
|
||||
"name": "twitter",
|
||||
"url": "https://twitter.com/bandprotocol"
|
||||
},
|
||||
{
|
||||
"name": "reddit",
|
||||
"url": "https://reddit.com/r/bandprotocol/"
|
||||
}
|
||||
]
|
||||
}
|
|
@ -24,5 +24,19 @@
|
|||
"status": "active",
|
||||
"tags": [
|
||||
"staking-native"
|
||||
],
|
||||
"links": [
|
||||
{
|
||||
"name": "github",
|
||||
"url": "https://github.com/binance-chain/"
|
||||
},
|
||||
{
|
||||
"name": "twitter",
|
||||
"url": "https://twitter.com/binance_dex"
|
||||
},
|
||||
{
|
||||
"name": "reddit",
|
||||
"url": "https://reddit.com/r/BinanceExchange"
|
||||
}
|
||||
]
|
||||
}
|
|
@ -21,5 +21,19 @@
|
|||
"symbol": "BTC",
|
||||
"type": "COIN",
|
||||
"decimals": 8,
|
||||
"status": "active"
|
||||
"status": "active",
|
||||
"links": [
|
||||
{
|
||||
"name": "github",
|
||||
"url": "https://github.com/bitcoin"
|
||||
},
|
||||
{
|
||||
"name": "twitter",
|
||||
"url": "https://twitter.com/Bitcoin"
|
||||
},
|
||||
{
|
||||
"name": "reddit",
|
||||
"url": "https://reddit.com/r/Bitcoin"
|
||||
}
|
||||
]
|
||||
}
|
|
@ -21,5 +21,19 @@
|
|||
"symbol": "BCH",
|
||||
"type": "COIN",
|
||||
"decimals": 8,
|
||||
"status": "active"
|
||||
"status": "active",
|
||||
"links": [
|
||||
{
|
||||
"name": "github",
|
||||
"url": "https://github.com/bitcoincashorg/"
|
||||
},
|
||||
{
|
||||
"name": "twitter",
|
||||
"url": "https://twitter.com/BITCOlNCASH"
|
||||
},
|
||||
{
|
||||
"name": "reddit",
|
||||
"url": "https://reddit.com/r/Bitcoincash"
|
||||
}
|
||||
]
|
||||
}
|
|
@ -21,5 +21,19 @@
|
|||
"symbol": "BTG",
|
||||
"type": "COIN",
|
||||
"decimals": 8,
|
||||
"status": "active"
|
||||
"status": "active",
|
||||
"links": [
|
||||
{
|
||||
"name": "github",
|
||||
"url": "https://github.com/BTCGPU/BTCGPU"
|
||||
},
|
||||
{
|
||||
"name": "twitter",
|
||||
"url": "https://twitter.com/bitcoingold"
|
||||
},
|
||||
{
|
||||
"name": "reddit",
|
||||
"url": "https://reddit.com/r/BitcoinGoldHQ"
|
||||
}
|
||||
]
|
||||
}
|
|
@ -21,5 +21,19 @@
|
|||
"symbol": "BLZ",
|
||||
"type": "COIN",
|
||||
"decimals": 6,
|
||||
"status": "active"
|
||||
"status": "active",
|
||||
"links": [
|
||||
{
|
||||
"name": "github",
|
||||
"url": "https://github.com/bluzelle"
|
||||
},
|
||||
{
|
||||
"name": "twitter",
|
||||
"url": "https://twitter.com/BluzelleHQ"
|
||||
},
|
||||
{
|
||||
"name": "reddit",
|
||||
"url": "https://reddit.com/r/Bluzelle/"
|
||||
}
|
||||
]
|
||||
}
|
|
@ -20,5 +20,19 @@
|
|||
"symbol": "CLO",
|
||||
"type": "COIN",
|
||||
"decimals": 18,
|
||||
"status": "active"
|
||||
"status": "active",
|
||||
"links": [
|
||||
{
|
||||
"name": "github",
|
||||
"url": "https://github.com/EthereumCommonwealth"
|
||||
},
|
||||
{
|
||||
"name": "twitter",
|
||||
"url": "https://twitter.com/CallistoSupport"
|
||||
},
|
||||
{
|
||||
"name": "reddit",
|
||||
"url": "https://reddit.com/r/CallistoCrypto"
|
||||
}
|
||||
]
|
||||
}
|
|
@ -21,5 +21,19 @@
|
|||
"symbol": "ADA",
|
||||
"type": "COIN",
|
||||
"decimals": 6,
|
||||
"status": "active"
|
||||
"status": "active",
|
||||
"links": [
|
||||
{
|
||||
"name": "github",
|
||||
"url": "https://github.com/input-output-hk/cardano-sl/"
|
||||
},
|
||||
{
|
||||
"name": "twitter",
|
||||
"url": "https://twitter.com/cardano"
|
||||
},
|
||||
{
|
||||
"name": "reddit",
|
||||
"url": "https://reddit.com/r/cardano"
|
||||
}
|
||||
]
|
||||
}
|
|
@ -21,5 +21,15 @@
|
|||
"symbol": "CELO",
|
||||
"type": "COIN",
|
||||
"decimals": 8,
|
||||
"status": "abandoned"
|
||||
"status": "abandoned",
|
||||
"links": [
|
||||
{
|
||||
"name": "github",
|
||||
"url": "https://github.com/celo-org/celo-blockchain"
|
||||
},
|
||||
{
|
||||
"name": "twitter",
|
||||
"url": "https://twitter.com/CeloOrg"
|
||||
}
|
||||
]
|
||||
}
|
|
@ -21,5 +21,19 @@
|
|||
"symbol": "ETC",
|
||||
"type": "COIN",
|
||||
"decimals": 18,
|
||||
"status": "active"
|
||||
"status": "active",
|
||||
"links": [
|
||||
{
|
||||
"name": "github",
|
||||
"url": "https://github.com/ethereumclassic/"
|
||||
},
|
||||
{
|
||||
"name": "twitter",
|
||||
"url": "https://twitter.com/eth_classic"
|
||||
},
|
||||
{
|
||||
"name": "reddit",
|
||||
"url": "https://reddit.com/r/EthereumClassic"
|
||||
}
|
||||
]
|
||||
}
|
|
@ -24,5 +24,19 @@
|
|||
"status": "active",
|
||||
"tags": [
|
||||
"staking-native"
|
||||
],
|
||||
"links": [
|
||||
{
|
||||
"name": "github",
|
||||
"url": "https://github.com/cosmos"
|
||||
},
|
||||
{
|
||||
"name": "twitter",
|
||||
"url": "https://twitter.com/cosmos"
|
||||
},
|
||||
{
|
||||
"name": "reddit",
|
||||
"url": "https://reddit.com/r/cosmosnetwork"
|
||||
}
|
||||
]
|
||||
}
|
|
@ -23,5 +23,19 @@
|
|||
"status": "active",
|
||||
"tags": [
|
||||
"staking-native"
|
||||
],
|
||||
"links": [
|
||||
{
|
||||
"name": "github",
|
||||
"url": "https://github.com/crypto-org-chain"
|
||||
},
|
||||
{
|
||||
"name": "twitter",
|
||||
"url": "https://twitter.com/cryptocom"
|
||||
},
|
||||
{
|
||||
"name": "reddit",
|
||||
"url": "https://reddit.com/r/Crypto_com/"
|
||||
}
|
||||
]
|
||||
}
|
|
@ -21,5 +21,19 @@
|
|||
"symbol": "DASH",
|
||||
"type": "COIN",
|
||||
"decimals": 8,
|
||||
"status": "active"
|
||||
"status": "active",
|
||||
"links": [
|
||||
{
|
||||
"name": "github",
|
||||
"url": "https://github.com/dashpay/dash"
|
||||
},
|
||||
{
|
||||
"name": "twitter",
|
||||
"url": "https://twitter.com/Dashpay"
|
||||
},
|
||||
{
|
||||
"name": "reddit",
|
||||
"url": "https://reddit.com/r/dashpay"
|
||||
}
|
||||
]
|
||||
}
|
|
@ -21,5 +21,19 @@
|
|||
"symbol": "DCR",
|
||||
"type": "COIN",
|
||||
"decimals": 8,
|
||||
"status": "active"
|
||||
"status": "active",
|
||||
"links": [
|
||||
{
|
||||
"name": "github",
|
||||
"url": "https://github.com/decred"
|
||||
},
|
||||
{
|
||||
"name": "twitter",
|
||||
"url": "https://twitter.com/decredproject"
|
||||
},
|
||||
{
|
||||
"name": "reddit",
|
||||
"url": "https://reddit.com/r/decred"
|
||||
}
|
||||
]
|
||||
}
|
|
@ -21,5 +21,19 @@
|
|||
"symbol": "DGB",
|
||||
"type": "COIN",
|
||||
"decimals": 8,
|
||||
"status": "active"
|
||||
"status": "active",
|
||||
"links": [
|
||||
{
|
||||
"name": "github",
|
||||
"url": "https://github.com/DigiByte-Core"
|
||||
},
|
||||
{
|
||||
"name": "twitter",
|
||||
"url": "https://twitter.com/DigiByteCoin"
|
||||
},
|
||||
{
|
||||
"name": "reddit",
|
||||
"url": "https://reddit.com/r/Digibyte"
|
||||
}
|
||||
]
|
||||
}
|
|
@ -21,5 +21,19 @@
|
|||
"symbol": "DOGE",
|
||||
"type": "COIN",
|
||||
"decimals": 8,
|
||||
"status": "active"
|
||||
"status": "active",
|
||||
"links": [
|
||||
{
|
||||
"name": "github",
|
||||
"url": "https://github.com/dogecoin/dogecoin"
|
||||
},
|
||||
{
|
||||
"name": "twitter",
|
||||
"url": "https://twitter.com/dogecoin"
|
||||
},
|
||||
{
|
||||
"name": "reddit",
|
||||
"url": "https://reddit.com/r/dogecoin"
|
||||
}
|
||||
]
|
||||
}
|
|
@ -20,5 +20,19 @@
|
|||
"symbol": "ELLA",
|
||||
"type": "COIN",
|
||||
"decimals": 8,
|
||||
"status": "abandoned"
|
||||
"status": "abandoned",
|
||||
"links": [
|
||||
{
|
||||
"name": "github",
|
||||
"url": "https://github.com/ellaism"
|
||||
},
|
||||
{
|
||||
"name": "twitter",
|
||||
"url": "https://twitter.com/ellaismproject"
|
||||
},
|
||||
{
|
||||
"name": "reddit",
|
||||
"url": "https://reddit.com/r/ellaism"
|
||||
}
|
||||
]
|
||||
}
|
|
@ -21,5 +21,19 @@
|
|||
"symbol": "EOS",
|
||||
"type": "COIN",
|
||||
"decimals": 4,
|
||||
"status": "active"
|
||||
"status": "active",
|
||||
"links": [
|
||||
{
|
||||
"name": "github",
|
||||
"url": "https://github.com/eosio"
|
||||
},
|
||||
{
|
||||
"name": "twitter",
|
||||
"url": "https://twitter.com/block_one_"
|
||||
},
|
||||
{
|
||||
"name": "reddit",
|
||||
"url": "https://reddit.com/r/EOS"
|
||||
}
|
||||
]
|
||||
}
|
|
@ -20,5 +20,19 @@
|
|||
"symbol": "ETHO",
|
||||
"type": "COIN",
|
||||
"decimals": 18,
|
||||
"status": "abandoned"
|
||||
"status": "abandoned",
|
||||
"links": [
|
||||
{
|
||||
"name": "github",
|
||||
"url": "https://github.com/Ether1Project"
|
||||
},
|
||||
{
|
||||
"name": "twitter",
|
||||
"url": "https://twitter.com/Ether1Official"
|
||||
},
|
||||
{
|
||||
"name": "reddit",
|
||||
"url": "https://reddit.com/r/etho1/"
|
||||
}
|
||||
]
|
||||
}
|
|
@ -21,5 +21,19 @@
|
|||
"symbol": "ETH",
|
||||
"type": "COIN",
|
||||
"decimals": 18,
|
||||
"status": "active"
|
||||
"status": "active",
|
||||
"links": [
|
||||
{
|
||||
"name": "github",
|
||||
"url": "https://github.com/ethereum"
|
||||
},
|
||||
{
|
||||
"name": "twitter",
|
||||
"url": "https://twitter.com/ethereum"
|
||||
},
|
||||
{
|
||||
"name": "reddit",
|
||||
"url": "https://reddit.com/r/ethereum"
|
||||
}
|
||||
]
|
||||
}
|
|
@ -21,5 +21,19 @@
|
|||
"symbol": "FIRO",
|
||||
"type": "COIN",
|
||||
"decimals": 8,
|
||||
"status": "active"
|
||||
"status": "active",
|
||||
"links": [
|
||||
{
|
||||
"name": "github",
|
||||
"url": "https://github.com/firoorg/firo"
|
||||
},
|
||||
{
|
||||
"name": "twitter",
|
||||
"url": "https://twitter.com/firoorg"
|
||||
},
|
||||
{
|
||||
"name": "reddit",
|
||||
"url": "https://reddit.com/r/FiroProject/"
|
||||
}
|
||||
]
|
||||
}
|
|
@ -21,5 +21,19 @@
|
|||
"symbol": "GO",
|
||||
"type": "COIN",
|
||||
"decimals": 18,
|
||||
"status": "active"
|
||||
"status": "active",
|
||||
"links": [
|
||||
{
|
||||
"name": "github",
|
||||
"url": "https://github.com/gochain"
|
||||
},
|
||||
{
|
||||
"name": "twitter",
|
||||
"url": "https://twitter.com/go_chain"
|
||||
},
|
||||
{
|
||||
"name": "reddit",
|
||||
"url": "https://reddit.com/r/OfficialGoChain"
|
||||
}
|
||||
]
|
||||
}
|
|
@ -21,5 +21,19 @@
|
|||
"symbol": "GRS",
|
||||
"type": "COIN",
|
||||
"decimals": 8,
|
||||
"status": "active"
|
||||
"status": "active",
|
||||
"links": [
|
||||
{
|
||||
"name": "github",
|
||||
"url": "https://github.com/Groestlcoin"
|
||||
},
|
||||
{
|
||||
"name": "twitter",
|
||||
"url": "https://twitter.com/GroestlcoinTeam"
|
||||
},
|
||||
{
|
||||
"name": "reddit",
|
||||
"url": "https://reddit.com/r/groestlcoin"
|
||||
}
|
||||
]
|
||||
}
|
|
@ -21,5 +21,19 @@
|
|||
"symbol": "ONE",
|
||||
"type": "COIN",
|
||||
"decimals": 18,
|
||||
"status": "active"
|
||||
"status": "active",
|
||||
"links": [
|
||||
{
|
||||
"name": "github",
|
||||
"url": "https://github.com/harmony-one"
|
||||
},
|
||||
{
|
||||
"name": "twitter",
|
||||
"url": "https://twitter.com/harmonyprotocol"
|
||||
},
|
||||
{
|
||||
"name": "reddit",
|
||||
"url": "https://reddit.com/r/harmony_one"
|
||||
}
|
||||
]
|
||||
}
|
|
@ -21,5 +21,19 @@
|
|||
"symbol": "ICX",
|
||||
"type": "COIN",
|
||||
"decimals": 18,
|
||||
"status": "active"
|
||||
"status": "active",
|
||||
"links": [
|
||||
{
|
||||
"name": "github",
|
||||
"url": "https://github.com/icon-project"
|
||||
},
|
||||
{
|
||||
"name": "twitter",
|
||||
"url": "https://twitter.com/helloiconworld"
|
||||
},
|
||||
{
|
||||
"name": "reddit",
|
||||
"url": "https://reddit.com/r/helloicon"
|
||||
}
|
||||
]
|
||||
}
|
|
@ -21,5 +21,19 @@
|
|||
"symbol": "IOST",
|
||||
"type": "COIN",
|
||||
"decimals": 8,
|
||||
"status": "abandoned"
|
||||
"status": "abandoned",
|
||||
"links": [
|
||||
{
|
||||
"name": "github",
|
||||
"url": "https://github.com/iost-official/go-iost"
|
||||
},
|
||||
{
|
||||
"name": "twitter",
|
||||
"url": "https://twitter.com/iostoken"
|
||||
},
|
||||
{
|
||||
"name": "reddit",
|
||||
"url": "https://reddit.com/r/IOStoken"
|
||||
}
|
||||
]
|
||||
}
|
|
@ -21,5 +21,19 @@
|
|||
"symbol": "IOTX",
|
||||
"type": "COIN",
|
||||
"decimals": 18,
|
||||
"status": "active"
|
||||
"status": "active",
|
||||
"links": [
|
||||
{
|
||||
"name": "github",
|
||||
"url": "https://github.com/iotexproject"
|
||||
},
|
||||
{
|
||||
"name": "twitter",
|
||||
"url": "https://twitter.com/iotex_io"
|
||||
},
|
||||
{
|
||||
"name": "reddit",
|
||||
"url": "https://reddit.com/r/IoTex"
|
||||
}
|
||||
]
|
||||
}
|
|
@ -24,5 +24,15 @@
|
|||
"status": "active",
|
||||
"tags": [
|
||||
"staking-native"
|
||||
],
|
||||
"links": [
|
||||
{
|
||||
"name": "github",
|
||||
"url": "https://github.com/kava-labs"
|
||||
},
|
||||
{
|
||||
"name": "twitter",
|
||||
"url": "https://twitter.com/kava_labs"
|
||||
}
|
||||
]
|
||||
}
|
|
@ -20,5 +20,19 @@
|
|||
"symbol": "KIN",
|
||||
"type": "COIN",
|
||||
"decimals": 5,
|
||||
"status": "active"
|
||||
"status": "active",
|
||||
"links": [
|
||||
{
|
||||
"name": "github",
|
||||
"url": "https://github.com/kinecosystem"
|
||||
},
|
||||
{
|
||||
"name": "twitter",
|
||||
"url": "https://twitter.com/kin_foundation"
|
||||
},
|
||||
{
|
||||
"name": "reddit",
|
||||
"url": "https://reddit.com/r/KinFoundation"
|
||||
}
|
||||
]
|
||||
}
|
|
@ -20,5 +20,19 @@
|
|||
"symbol": "KSM",
|
||||
"type": "COIN",
|
||||
"decimals": 12,
|
||||
"status": "active"
|
||||
"status": "active",
|
||||
"links": [
|
||||
{
|
||||
"name": "github",
|
||||
"url": "https://github.com/kusamanetwork"
|
||||
},
|
||||
{
|
||||
"name": "twitter",
|
||||
"url": "https://twitter.com/kusamanetwork"
|
||||
},
|
||||
{
|
||||
"name": "reddit",
|
||||
"url": "https://reddit.com/r/Kusama"
|
||||
}
|
||||
]
|
||||
}
|
|
@ -21,5 +21,19 @@
|
|||
"symbol": "LTC",
|
||||
"type": "COIN",
|
||||
"decimals": 8,
|
||||
"status": "active"
|
||||
"status": "active",
|
||||
"links": [
|
||||
{
|
||||
"name": "github",
|
||||
"url": "https://github.com/litecoin-project/litecoin"
|
||||
},
|
||||
{
|
||||
"name": "twitter",
|
||||
"url": "https://twitter.com/LitecoinProject"
|
||||
},
|
||||
{
|
||||
"name": "reddit",
|
||||
"url": "https://reddit.com/r/litecoin"
|
||||
}
|
||||
]
|
||||
}
|
|
@ -20,5 +20,19 @@
|
|||
"symbol": "LOOM",
|
||||
"type": "COIN",
|
||||
"decimals": 8,
|
||||
"status": "abandoned"
|
||||
"status": "abandoned",
|
||||
"links": [
|
||||
{
|
||||
"name": "github",
|
||||
"url": "https://github.com/loomnetwork"
|
||||
},
|
||||
{
|
||||
"name": "twitter",
|
||||
"url": "https://twitter.com/loomnetwork"
|
||||
},
|
||||
{
|
||||
"name": "reddit",
|
||||
"url": "https://reddit.com/r/loomnetwork"
|
||||
}
|
||||
]
|
||||
}
|
|
@ -21,5 +21,19 @@
|
|||
"symbol": "NANO",
|
||||
"type": "COIN",
|
||||
"decimals": 30,
|
||||
"status": "active"
|
||||
"status": "active",
|
||||
"links": [
|
||||
{
|
||||
"name": "github",
|
||||
"url": "https://github.com/nanocurrency"
|
||||
},
|
||||
{
|
||||
"name": "twitter",
|
||||
"url": "https://twitter.com/nano"
|
||||
},
|
||||
{
|
||||
"name": "reddit",
|
||||
"url": "https://reddit.com/r/nanocurrency"
|
||||
}
|
||||
]
|
||||
}
|
|
@ -21,5 +21,19 @@
|
|||
"symbol": "NEAR",
|
||||
"type": "COIN",
|
||||
"decimals": 24,
|
||||
"status": "active"
|
||||
"status": "active",
|
||||
"links": [
|
||||
{
|
||||
"name": "github",
|
||||
"url": "https://github.com/nearprotocol/nearcore"
|
||||
},
|
||||
{
|
||||
"name": "twitter",
|
||||
"url": "https://twitter.com/nearprotocol"
|
||||
},
|
||||
{
|
||||
"name": "reddit",
|
||||
"url": "https://reddit.com/r/nearprotocol/"
|
||||
}
|
||||
]
|
||||
}
|
|
@ -21,5 +21,19 @@
|
|||
"symbol": "NAS",
|
||||
"type": "COIN",
|
||||
"decimals": 18,
|
||||
"status": "active"
|
||||
"status": "active",
|
||||
"links": [
|
||||
{
|
||||
"name": "github",
|
||||
"url": "https://github.com/nebulasio"
|
||||
},
|
||||
{
|
||||
"name": "twitter",
|
||||
"url": "https://twitter.com/nebulasio"
|
||||
},
|
||||
{
|
||||
"name": "reddit",
|
||||
"url": "https://reddit.com/r/nebulas"
|
||||
}
|
||||
]
|
||||
}
|
|
@ -21,5 +21,19 @@
|
|||
"symbol": "NEO",
|
||||
"type": "COIN",
|
||||
"decimals": 8,
|
||||
"status": "active"
|
||||
"status": "active",
|
||||
"links": [
|
||||
{
|
||||
"name": "github",
|
||||
"url": "https://github.com/neo-project"
|
||||
},
|
||||
{
|
||||
"name": "twitter",
|
||||
"url": "https://twitter.com/neo_blockchain"
|
||||
},
|
||||
{
|
||||
"name": "reddit",
|
||||
"url": "https://reddit.com/r/NEO"
|
||||
}
|
||||
]
|
||||
}
|
|
@ -20,5 +20,19 @@
|
|||
"symbol": "CKB",
|
||||
"type": "COIN",
|
||||
"decimals": 8,
|
||||
"status": "abandoned"
|
||||
"status": "abandoned",
|
||||
"links": [
|
||||
{
|
||||
"name": "github",
|
||||
"url": "https://github.com/nervosnetwork"
|
||||
},
|
||||
{
|
||||
"name": "twitter",
|
||||
"url": "https://twitter.com/nervosnetwork"
|
||||
},
|
||||
{
|
||||
"name": "reddit",
|
||||
"url": "https://reddit.com/r/NervosNetwork"
|
||||
}
|
||||
]
|
||||
}
|
|
@ -20,5 +20,19 @@
|
|||
"symbol": "NIM",
|
||||
"type": "COIN",
|
||||
"decimals": 5,
|
||||
"status": "active"
|
||||
"status": "active",
|
||||
"links": [
|
||||
{
|
||||
"name": "github",
|
||||
"url": "https://github.com/nimiq"
|
||||
},
|
||||
{
|
||||
"name": "twitter",
|
||||
"url": "https://twitter.com/nimiq"
|
||||
},
|
||||
{
|
||||
"name": "reddit",
|
||||
"url": "https://reddit.com/r/Nimiq"
|
||||
}
|
||||
]
|
||||
}
|
|
@ -21,5 +21,19 @@
|
|||
"symbol": "NULS",
|
||||
"type": "COIN",
|
||||
"decimals": 8,
|
||||
"status": "active"
|
||||
"status": "active",
|
||||
"links": [
|
||||
{
|
||||
"name": "github",
|
||||
"url": "https://github.com/nuls-io/nuls"
|
||||
},
|
||||
{
|
||||
"name": "twitter",
|
||||
"url": "https://twitter.com/nuls"
|
||||
},
|
||||
{
|
||||
"name": "reddit",
|
||||
"url": "https://reddit.com/r/nulsservice"
|
||||
}
|
||||
]
|
||||
}
|
|
@ -26,5 +26,23 @@
|
|||
"symbol": "ROSE",
|
||||
"type": "COIN",
|
||||
"decimals": 8,
|
||||
"status": "abandoned"
|
||||
"status": "abandoned",
|
||||
"links": [
|
||||
{
|
||||
"name": "github",
|
||||
"url": "https://github.com/oasisprotocol/"
|
||||
},
|
||||
{
|
||||
"name": "twitter",
|
||||
"url": "https://twitter.com/oasisprotocol"
|
||||
},
|
||||
{
|
||||
"name": "telegram",
|
||||
"url": "https://t.me/oasisprotocolcommunity"
|
||||
},
|
||||
{
|
||||
"name": "medium",
|
||||
"url": "https://medium.com/oasis-protocol-project"
|
||||
}
|
||||
]
|
||||
}
|
|
@ -21,5 +21,19 @@
|
|||
"symbol": "ONT",
|
||||
"type": "COIN",
|
||||
"decimals": 0,
|
||||
"status": "active"
|
||||
"status": "active",
|
||||
"links": [
|
||||
{
|
||||
"name": "github",
|
||||
"url": "https://github.com/ontio"
|
||||
},
|
||||
{
|
||||
"name": "twitter",
|
||||
"url": "https://twitter.com/OntologyNetwork"
|
||||
},
|
||||
{
|
||||
"name": "reddit",
|
||||
"url": "https://reddit.com/r/OntologyNetwork"
|
||||
}
|
||||
]
|
||||
}
|
|
@ -21,5 +21,19 @@
|
|||
"symbol": "POA",
|
||||
"type": "COIN",
|
||||
"decimals": 18,
|
||||
"status": "active"
|
||||
"status": "active",
|
||||
"links": [
|
||||
{
|
||||
"name": "github",
|
||||
"url": "https://github.com/poanetwork"
|
||||
},
|
||||
{
|
||||
"name": "twitter",
|
||||
"url": "https://twitter.com/poanetwork"
|
||||
},
|
||||
{
|
||||
"name": "reddit",
|
||||
"url": "https://reddit.com/r/POA"
|
||||
}
|
||||
]
|
||||
}
|
|
@ -21,5 +21,19 @@
|
|||
"symbol": "DOT",
|
||||
"type": "COIN",
|
||||
"decimals": 10,
|
||||
"status": "active"
|
||||
"status": "active",
|
||||
"links": [
|
||||
{
|
||||
"name": "github",
|
||||
"url": "https://github.com/w3f"
|
||||
},
|
||||
{
|
||||
"name": "twitter",
|
||||
"url": "https://twitter.com/polkadotnetwork"
|
||||
},
|
||||
{
|
||||
"name": "reddit",
|
||||
"url": "https://reddit.com/r/dot"
|
||||
}
|
||||
]
|
||||
}
|
|
@ -18,5 +18,23 @@
|
|||
}
|
||||
],
|
||||
"explorer": "https://explorer.matic.network/",
|
||||
"research": "https://docs.matic.network/"
|
||||
"research": "https://docs.matic.network/",
|
||||
"type": "COIN",
|
||||
"symbol": "MATIC",
|
||||
"decimals": 18,
|
||||
"status": "active",
|
||||
"links": [
|
||||
{
|
||||
"name": "github",
|
||||
"url": "https://github.com/celo-org/celo-blockchain"
|
||||
},
|
||||
{
|
||||
"name": "twitter",
|
||||
"url": "https://twitter.com/0xPolygon"
|
||||
},
|
||||
{
|
||||
"name": "reddit",
|
||||
"url": "https://reddit.com/r/maticnetwork/"
|
||||
}
|
||||
]
|
||||
}
|
|
@ -21,5 +21,19 @@
|
|||
"symbol": "QTUM",
|
||||
"type": "COIN",
|
||||
"decimals": 8,
|
||||
"status": "active"
|
||||
"status": "active",
|
||||
"links": [
|
||||
{
|
||||
"name": "github",
|
||||
"url": "https://github.com/qtumproject/qtum"
|
||||
},
|
||||
{
|
||||
"name": "twitter",
|
||||
"url": "https://twitter.com/qtumOfficial"
|
||||
},
|
||||
{
|
||||
"name": "reddit",
|
||||
"url": "https://reddit.com/r/Qtum"
|
||||
}
|
||||
]
|
||||
}
|
|
@ -21,5 +21,19 @@
|
|||
"symbol": "RVN",
|
||||
"type": "COIN",
|
||||
"decimals": 8,
|
||||
"status": "active"
|
||||
"status": "active",
|
||||
"links": [
|
||||
{
|
||||
"name": "github",
|
||||
"url": "https://github.com/RavenProject/Ravencoin"
|
||||
},
|
||||
{
|
||||
"name": "twitter",
|
||||
"url": "https://twitter.com/ravencoin"
|
||||
},
|
||||
{
|
||||
"name": "reddit",
|
||||
"url": "https://reddit.com/r/Ravencoin"
|
||||
}
|
||||
]
|
||||
}
|
|
@ -21,5 +21,19 @@
|
|||
"symbol": "XRP",
|
||||
"type": "COIN",
|
||||
"decimals": 6,
|
||||
"status": "active"
|
||||
"status": "active",
|
||||
"links": [
|
||||
{
|
||||
"name": "github",
|
||||
"url": "https://github.com/ripple"
|
||||
},
|
||||
{
|
||||
"name": "twitter",
|
||||
"url": "https://twitter.com/Ripple"
|
||||
},
|
||||
{
|
||||
"name": "reddit",
|
||||
"url": "https://reddit.com/r/Ripple"
|
||||
}
|
||||
]
|
||||
}
|
|
@ -21,5 +21,20 @@
|
|||
"research": "https://docs.smartbch.org/smartbch/",
|
||||
"symbol": "BCH",
|
||||
"type": "COIN",
|
||||
"decimals": 18
|
||||
"decimals": 18,
|
||||
"status": "active",
|
||||
"links": [
|
||||
{
|
||||
"name": "github",
|
||||
"url": "https://github.com/smartbch/smartbch"
|
||||
},
|
||||
{
|
||||
"name": "twitter",
|
||||
"url": "https://twitter.com/SmartBCH"
|
||||
},
|
||||
{
|
||||
"name": "reddit",
|
||||
"url": "https://reddit.com/user/SmartBCH"
|
||||
}
|
||||
]
|
||||
}
|
|
@ -21,5 +21,19 @@
|
|||
"symbol": "SOL",
|
||||
"type": "COIN",
|
||||
"decimals": 9,
|
||||
"status": "active"
|
||||
"status": "active",
|
||||
"links": [
|
||||
{
|
||||
"name": "github",
|
||||
"url": "https://github.com/solana-labs"
|
||||
},
|
||||
{
|
||||
"name": "twitter",
|
||||
"url": "https://twitter.com/solana"
|
||||
},
|
||||
{
|
||||
"name": "reddit",
|
||||
"url": "https://reddit.com/r/solana"
|
||||
}
|
||||
]
|
||||
}
|
|
@ -21,5 +21,19 @@
|
|||
"symbol": "STEEM",
|
||||
"type": "COIN",
|
||||
"decimals": 8,
|
||||
"status": "abandoned"
|
||||
"status": "abandoned",
|
||||
"links": [
|
||||
{
|
||||
"name": "github",
|
||||
"url": "https://github.com/steemit/steem"
|
||||
},
|
||||
{
|
||||
"name": "twitter",
|
||||
"url": "https://twitter.com/Steemit"
|
||||
},
|
||||
{
|
||||
"name": "reddit",
|
||||
"url": "https://reddit.com/r/steemit"
|
||||
}
|
||||
]
|
||||
}
|
|
@ -21,5 +21,19 @@
|
|||
"symbol": "XLM",
|
||||
"type": "COIN",
|
||||
"decimals": 7,
|
||||
"status": "active"
|
||||
"status": "active",
|
||||
"links": [
|
||||
{
|
||||
"name": "github",
|
||||
"url": "https://github.com/stellar"
|
||||
},
|
||||
{
|
||||
"name": "twitter",
|
||||
"url": "https://twitter.com/StellarOrg"
|
||||
},
|
||||
{
|
||||
"name": "reddit",
|
||||
"url": "https://reddit.com/r/stellar"
|
||||
}
|
||||
]
|
||||
}
|
|
@ -21,5 +21,15 @@
|
|||
"symbol": "LUNA",
|
||||
"type": "COIN",
|
||||
"decimals": 6,
|
||||
"status": "active"
|
||||
"status": "active",
|
||||
"links": [
|
||||
{
|
||||
"name": "github",
|
||||
"url": "https://github.com/terra-project"
|
||||
},
|
||||
{
|
||||
"name": "twitter",
|
||||
"url": "https://twitter.com/terra_money"
|
||||
}
|
||||
]
|
||||
}
|
|
@ -24,5 +24,19 @@
|
|||
"status": "active",
|
||||
"tags": [
|
||||
"staking-native"
|
||||
],
|
||||
"links": [
|
||||
{
|
||||
"name": "source_code",
|
||||
"url": "https://gitlab.com/tezos/tezos"
|
||||
},
|
||||
{
|
||||
"name": "twitter",
|
||||
"url": "https://twitter.com/tezos"
|
||||
},
|
||||
{
|
||||
"name": "reddit",
|
||||
"url": "https://reddit.com/r/tezos"
|
||||
}
|
||||
]
|
||||
}
|
|
@ -21,5 +21,19 @@
|
|||
"symbol": "THETA",
|
||||
"type": "COIN",
|
||||
"decimals": 18,
|
||||
"status": "active"
|
||||
"status": "active",
|
||||
"links": [
|
||||
{
|
||||
"name": "github",
|
||||
"url": "https://github.com/thetatoken"
|
||||
},
|
||||
{
|
||||
"name": "twitter",
|
||||
"url": "https://twitter.com/Theta_Network"
|
||||
},
|
||||
{
|
||||
"name": "reddit",
|
||||
"url": "https://reddit.com/r/theta_network"
|
||||
}
|
||||
]
|
||||
}
|
|
@ -21,5 +21,19 @@
|
|||
"symbol": "TT",
|
||||
"type": "COIN",
|
||||
"decimals": 18,
|
||||
"status": "active"
|
||||
"status": "active",
|
||||
"links": [
|
||||
{
|
||||
"name": "github",
|
||||
"url": "https://github.com/thundertoken"
|
||||
},
|
||||
{
|
||||
"name": "twitter",
|
||||
"url": "https://twitter.com/ThunderProtocol"
|
||||
},
|
||||
{
|
||||
"name": "reddit",
|
||||
"url": "https://reddit.com/r/thundertoken"
|
||||
}
|
||||
]
|
||||
}
|
|
@ -21,5 +21,19 @@
|
|||
"symbol": "TOMO",
|
||||
"type": "COIN",
|
||||
"decimals": 18,
|
||||
"status": "active"
|
||||
"status": "active",
|
||||
"links": [
|
||||
{
|
||||
"name": "github",
|
||||
"url": "https://github.com/tomochain"
|
||||
},
|
||||
{
|
||||
"name": "twitter",
|
||||
"url": "https://twitter.com/TomoChainANN"
|
||||
},
|
||||
{
|
||||
"name": "reddit",
|
||||
"url": "https://reddit.com/r/Tomochain"
|
||||
}
|
||||
]
|
||||
}
|
|
@ -20,5 +20,11 @@
|
|||
"symbol": "GRAM",
|
||||
"type": "COIN",
|
||||
"decimals": 9,
|
||||
"status": "abandoned"
|
||||
"status": "abandoned",
|
||||
"links": [
|
||||
{
|
||||
"name": "github",
|
||||
"url": "https://github.com/ton-blockchain/ton"
|
||||
}
|
||||
]
|
||||
}
|
|
@ -24,5 +24,19 @@
|
|||
"status": "active",
|
||||
"tags": [
|
||||
"staking-native"
|
||||
],
|
||||
"links": [
|
||||
{
|
||||
"name": "github",
|
||||
"url": "https://github.com/tronprotocol"
|
||||
},
|
||||
{
|
||||
"name": "twitter",
|
||||
"url": "https://twitter.com/Tronfoundation"
|
||||
},
|
||||
{
|
||||
"name": "reddit",
|
||||
"url": "https://reddit.com/r/Tronix"
|
||||
}
|
||||
]
|
||||
}
|
|
@ -21,5 +21,19 @@
|
|||
"symbol": "VET",
|
||||
"type": "COIN",
|
||||
"decimals": 18,
|
||||
"status": "active"
|
||||
"status": "active",
|
||||
"links": [
|
||||
{
|
||||
"name": "github",
|
||||
"url": "https://github.com/vechain"
|
||||
},
|
||||
{
|
||||
"name": "twitter",
|
||||
"url": "https://twitter.com/vechainofficial"
|
||||
},
|
||||
{
|
||||
"name": "reddit",
|
||||
"url": "https://reddit.com/r/vechain"
|
||||
}
|
||||
]
|
||||
}
|
|
@ -21,5 +21,19 @@
|
|||
"symbol": "VIA",
|
||||
"type": "COIN",
|
||||
"decimals": 8,
|
||||
"status": "active"
|
||||
"status": "active",
|
||||
"links": [
|
||||
{
|
||||
"name": "github",
|
||||
"url": "https://github.com/viacoin/viacoin"
|
||||
},
|
||||
{
|
||||
"name": "twitter",
|
||||
"url": "https://twitter.com/viacoin"
|
||||
},
|
||||
{
|
||||
"name": "reddit",
|
||||
"url": "https://reddit.com/r/viacoin"
|
||||
}
|
||||
]
|
||||
}
|
|
@ -21,5 +21,19 @@
|
|||
"symbol": "WAN",
|
||||
"type": "COIN",
|
||||
"decimals": 18,
|
||||
"status": "active"
|
||||
"status": "active",
|
||||
"links": [
|
||||
{
|
||||
"name": "github",
|
||||
"url": "https://github.com/wanchain"
|
||||
},
|
||||
{
|
||||
"name": "twitter",
|
||||
"url": "https://twitter.com/wanchain_org"
|
||||
},
|
||||
{
|
||||
"name": "reddit",
|
||||
"url": "https://reddit.com/r/wanchain"
|
||||
}
|
||||
]
|
||||
}
|
|
@ -21,5 +21,19 @@
|
|||
"symbol": "WAVES",
|
||||
"type": "COIN",
|
||||
"decimals": 8,
|
||||
"status": "active"
|
||||
"status": "active",
|
||||
"links": [
|
||||
{
|
||||
"name": "github",
|
||||
"url": "https://github.com/wavesplatform"
|
||||
},
|
||||
{
|
||||
"name": "twitter",
|
||||
"url": "https://twitter.com/wavesplatform"
|
||||
},
|
||||
{
|
||||
"name": "reddit",
|
||||
"url": "https://reddit.com/r/Wavesplatform"
|
||||
}
|
||||
]
|
||||
}
|
|
@ -19,7 +19,21 @@
|
|||
"explorer": "https://blockscout.com/poa/xdai",
|
||||
"research": "https://research.binance.com/en/projects/poa-network",
|
||||
"symbol": "xDAI",
|
||||
"type": "ERC20",
|
||||
"type": "COIN",
|
||||
"decimals": 18,
|
||||
"status": "abandoned"
|
||||
"status": "abandoned",
|
||||
"links": [
|
||||
{
|
||||
"name": "github",
|
||||
"url": "https://github.com/xdaichain"
|
||||
},
|
||||
{
|
||||
"name": "twitter",
|
||||
"url": "https://twitter.com/xdaichain"
|
||||
},
|
||||
{
|
||||
"name": "reddit",
|
||||
"url": "https://reddit.com/r/POA"
|
||||
}
|
||||
]
|
||||
}
|
|
@ -20,5 +20,19 @@
|
|||
"symbol": "XDC",
|
||||
"type": "COIN",
|
||||
"decimals": 10,
|
||||
"status": "abandoned"
|
||||
"status": "abandoned",
|
||||
"links": [
|
||||
{
|
||||
"name": "github",
|
||||
"url": "https://github.com/XinFinORG"
|
||||
},
|
||||
{
|
||||
"name": "twitter",
|
||||
"url": "https://twitter.com/XinFin_Official"
|
||||
},
|
||||
{
|
||||
"name": "reddit",
|
||||
"url": "https://reddit.com/r/xinfin"
|
||||
}
|
||||
]
|
||||
}
|
|
@ -21,5 +21,19 @@
|
|||
"symbol": "ZEC",
|
||||
"type": "COIN",
|
||||
"decimals": 8,
|
||||
"status": "active"
|
||||
"status": "active",
|
||||
"links": [
|
||||
{
|
||||
"name": "github",
|
||||
"url": "https://github.com/zcash/zcash"
|
||||
},
|
||||
{
|
||||
"name": "twitter",
|
||||
"url": "https://twitter.com/electriccoinco"
|
||||
},
|
||||
{
|
||||
"name": "reddit",
|
||||
"url": "https://reddit.com/r/zec/"
|
||||
}
|
||||
]
|
||||
}
|
|
@ -20,5 +20,19 @@
|
|||
"symbol": "FLUX",
|
||||
"type": "COIN",
|
||||
"decimals": 8,
|
||||
"status": "active"
|
||||
"status": "active",
|
||||
"links": [
|
||||
{
|
||||
"name": "github",
|
||||
"url": "https://github.com/zelcash/zelcash"
|
||||
},
|
||||
{
|
||||
"name": "twitter",
|
||||
"url": "https://twitter.com/flux"
|
||||
},
|
||||
{
|
||||
"name": "reddit",
|
||||
"url": "https://reddit.com/r/RunOnFlux"
|
||||
}
|
||||
]
|
||||
}
|
|
@ -21,5 +21,19 @@
|
|||
"symbol": "ZIL",
|
||||
"type": "COIN",
|
||||
"decimals": 12,
|
||||
"status": "active"
|
||||
"status": "active",
|
||||
"links": [
|
||||
{
|
||||
"name": "github",
|
||||
"url": "https://github.com/Zilliqa/Zilliqa"
|
||||
},
|
||||
{
|
||||
"name": "twitter",
|
||||
"url": "https://twitter.com/zilliqa"
|
||||
},
|
||||
{
|
||||
"name": "reddit",
|
||||
"url": "https://reddit.com/r/zilliqa"
|
||||
}
|
||||
]
|
||||
}
|
|
@ -2,7 +2,9 @@ import {
|
|||
allChains,
|
||||
getChainAssetsList,
|
||||
getChainAssetsPath,
|
||||
getChainAssetInfoPath
|
||||
getChainAssetInfoPath,
|
||||
getChainInfoPath,
|
||||
getChainCoinInfoPath
|
||||
} from "./repo-structure";
|
||||
import { isPathExistsSync } from "./filesystem";
|
||||
import { arrayDiff } from "./types";
|
||||
|
@ -13,7 +15,8 @@ import { isValidStatusValue } from "../generic/status-values";
|
|||
import { isValidTagValues } from "../generic/tag-values";
|
||||
import * as bluebird from "bluebird";
|
||||
|
||||
const requiredKeys = ["name", "type", "symbol", "decimals", "description", "website", "explorer", "status", "id"];
|
||||
const requiredKeysCoin = ["name", "type", "symbol", "decimals", "description", "website", "explorer", "status"];
|
||||
const requiredKeysToken = [...requiredKeysCoin, "id"];
|
||||
|
||||
// Supported keys in links, and their mandatory prefix
|
||||
const linksKeys = {
|
||||
|
@ -38,8 +41,9 @@ const linksKeys = {
|
|||
const linksKeysString = Object.keys(linksKeys).reduce(function (agg, item) { return agg + item + ","; }, '');
|
||||
const linksMediumContains = 'medium.com';
|
||||
|
||||
function isAssetInfoHasAllKeys(info: unknown, path: string): [boolean, string] {
|
||||
function isAssetInfoHasAllKeys(info: unknown, path: string, isCoin: boolean): [boolean, string] {
|
||||
const infoKeys = Object.keys(info);
|
||||
const requiredKeys = isCoin ? requiredKeysCoin : requiredKeysToken;
|
||||
|
||||
const hasAllKeys = requiredKeys.every(k => Object.prototype.hasOwnProperty.call(info, k));
|
||||
|
||||
|
@ -47,24 +51,35 @@ function isAssetInfoHasAllKeys(info: unknown, path: string): [boolean, string] {
|
|||
}
|
||||
|
||||
// return error, warning, and fixed into if applicable
|
||||
function isAssetInfoValid(info: unknown, path: string, address: string, chain: string, checkOnly: boolean): [string, string, unknown?] {
|
||||
function isAssetInfoValid(info: unknown, path: string, address: string, chain: string, isCoin: boolean, checkOnly: boolean): [string, string, unknown?] {
|
||||
let fixedInfo: unknown|null = null;
|
||||
const isKeys1CorrectType =
|
||||
typeof info['name'] === "string" && info['name'] !== "" &&
|
||||
typeof info['type'] === "string" && info['type'] !== "" &&
|
||||
typeof info['symbol'] === "string" && info['symbol'] !== "" &&
|
||||
typeof info['decimals'] === "number" && //(info['description'] === "-" || info['decimals'] !== 0) &&
|
||||
typeof info['status'] === "string" && info['status'] !== "" &&
|
||||
typeof info['id'] === "string" && info['id'] !== ""
|
||||
typeof info['status'] === "string" && info['status'] !== ""
|
||||
;
|
||||
if (!isKeys1CorrectType) {
|
||||
return [`Field missing or invalid; name '${info['name']}' type '${info['type']}' symbol '${info['symbol']}' decimals '${info['decimals']}' id '${info['id']}' ${path}`, "", fixedInfo];
|
||||
return [`Field missing or invalid; name '${info['name']}' type '${info['type']}' symbol '${info['symbol']}' decimals '${info['decimals']}' ${path}`, "", fixedInfo];
|
||||
}
|
||||
if (!isCoin) {
|
||||
const isIdKeyCorrectType = typeof info['id'] === "string" && info['id'] !== "";
|
||||
if (!isIdKeyCorrectType) {
|
||||
return [`Field 'id' missing or invalid, '${info['id']}' ${path}`, "", fixedInfo];
|
||||
}
|
||||
}
|
||||
|
||||
// type
|
||||
if (isCoin) {
|
||||
if (info['type'] !== 'COIN' ) {
|
||||
return [`Incorrect value for type '${info['type']}', should be 'COIN' ${path}`, "", fixedInfo];
|
||||
}
|
||||
} else {
|
||||
if (chainFromAssetType(info['type'].toUpperCase()) !== chain ) {
|
||||
return [`Incorrect value for type '${info['type']}' '${chain}' ${path}`, "", fixedInfo];
|
||||
}
|
||||
}
|
||||
if (info['type'] !== info['type'].toUpperCase()) {
|
||||
// type is correct value, but casing is wrong, fix
|
||||
if (checkOnly) {
|
||||
|
@ -75,6 +90,7 @@ function isAssetInfoValid(info: unknown, path: string, address: string, chain: s
|
|||
fixedInfo['type'] = info['type'].toUpperCase();
|
||||
}
|
||||
|
||||
if (!isCoin) {
|
||||
// id, should match address
|
||||
if (info['id'] != address) {
|
||||
if (checkOnly) {
|
||||
|
@ -88,6 +104,7 @@ function isAssetInfoValid(info: unknown, path: string, address: string, chain: s
|
|||
if (!fixedInfo) { fixedInfo = info; }
|
||||
fixedInfo['id'] = address;
|
||||
}
|
||||
}
|
||||
|
||||
// status
|
||||
if (!isValidStatusValue(info['status'])) {
|
||||
|
@ -276,8 +293,9 @@ function explorerUrlAlternatives(chain: string, contract: string, name: string):
|
|||
}
|
||||
|
||||
// Check the an assets's info.json; for errors/warning. Also does fixes in certain cases
|
||||
function isAssetInfoOK(chain: string, address: string, errors: string[], warnings: string[], checkOnly: boolean): void {
|
||||
const assetInfoPath = getChainAssetInfoPath(chain, address);
|
||||
function isAssetInfoOK(chain: string, isCoin: boolean, address: string, errors: string[], warnings: string[], checkOnly: boolean): void {
|
||||
const assetInfoPath = isCoin ? getChainCoinInfoPath(chain) : getChainAssetInfoPath(chain, address);
|
||||
|
||||
if (!isPathExistsSync(assetInfoPath)) {
|
||||
// Info file doesn't exist, no need to check
|
||||
return;
|
||||
|
@ -292,13 +310,13 @@ function isAssetInfoOK(chain: string, address: string, errors: string[], warning
|
|||
let info: unknown = readJsonFile(assetInfoPath);
|
||||
let fixedInfo: unknown|null = null;
|
||||
|
||||
const [hasAllKeys, msg1] = isAssetInfoHasAllKeys(info, assetInfoPath);
|
||||
const [hasAllKeys, msg1] = isAssetInfoHasAllKeys(info, assetInfoPath, isCoin);
|
||||
if (!hasAllKeys) {
|
||||
console.log(msg1);
|
||||
errors.push(msg1);
|
||||
}
|
||||
|
||||
const [err2, warn2, fixedInfo2] = isAssetInfoValid(info, assetInfoPath, address, chain, checkOnly);
|
||||
const [err2, warn2, fixedInfo2] = isAssetInfoValid(info, assetInfoPath, address, chain, isCoin, checkOnly);
|
||||
if (err2) {
|
||||
errors.push(err2);
|
||||
}
|
||||
|
@ -325,6 +343,7 @@ function isAssetInfoOK(chain: string, address: string, errors: string[], warning
|
|||
}
|
||||
}
|
||||
|
||||
if (!isCoin) {
|
||||
const explorerExpected = explorerUrl(chain, address);
|
||||
const hasExplorer = Object.prototype.hasOwnProperty.call(info, 'explorer');
|
||||
const explorerActual = info['explorer'] || '';
|
||||
|
@ -358,6 +377,7 @@ function isAssetInfoOK(chain: string, address: string, errors: string[], warning
|
|||
fixedInfo['explorer'] = explorerExpected;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (fixedInfo && !checkOnly) {
|
||||
writeJsonFile(assetInfoPath, fixedInfo);
|
||||
|
@ -370,19 +390,19 @@ export class AssetInfos implements ActionInterface {
|
|||
|
||||
getSanityChecks(): CheckStepInterface[] {
|
||||
const steps: CheckStepInterface[] = [];
|
||||
// tokens info.json's
|
||||
allChains.forEach(chain => {
|
||||
// only if there is no assets subfolder
|
||||
if (isPathExistsSync(getChainAssetsPath(chain))) {
|
||||
steps.push(
|
||||
{
|
||||
getName: () => { return `Info.json's for chain ${chain}`;},
|
||||
getName: () => { return `Token info.json's for chain ${chain}`;},
|
||||
check: async () => {
|
||||
const errors: string[] = [];
|
||||
const warnings: string[] = [];
|
||||
const assetsList = getChainAssetsList(chain);
|
||||
//console.log(` Found ${assetsList.length} assets for chain ${chain}`);
|
||||
await bluebird.each(assetsList, async (address) => {
|
||||
isAssetInfoOK(chain, address, errors, warnings, true);
|
||||
isAssetInfoOK(chain, false, address, errors, warnings, true);
|
||||
});
|
||||
return [errors, warnings];
|
||||
}
|
||||
|
@ -390,6 +410,22 @@ export class AssetInfos implements ActionInterface {
|
|||
);
|
||||
}
|
||||
});
|
||||
// coin info.json
|
||||
steps.push(
|
||||
{
|
||||
getName: () => { return `Coin info.json's`;},
|
||||
check: async () => {
|
||||
const errors: string[] = [];
|
||||
const warnings: string[] = [];
|
||||
allChains.forEach(chain => {
|
||||
if (isPathExistsSync(getChainInfoPath(chain))) {
|
||||
isAssetInfoOK(chain, true, '../info', errors, warnings, true);
|
||||
}
|
||||
});
|
||||
return [errors, warnings];
|
||||
}
|
||||
}
|
||||
);
|
||||
return steps;
|
||||
}
|
||||
|
||||
|
@ -401,9 +437,14 @@ export class AssetInfos implements ActionInterface {
|
|||
const warnings: string[] = [];
|
||||
const assetsList = getChainAssetsList(chain);
|
||||
await bluebird.each(assetsList, async (address) => {
|
||||
isAssetInfoOK(chain, address, errors, warnings, false);
|
||||
isAssetInfoOK(chain, false, address, errors, warnings, false);
|
||||
});
|
||||
}
|
||||
if (isPathExistsSync(getChainInfoPath(chain))) {
|
||||
const errors: string[] = [];
|
||||
const warnings: string[] = [];
|
||||
isAssetInfoOK(chain, true, '[COIN]', errors, warnings, false);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
|
|
@ -29,7 +29,9 @@ export const chainFolderAllowedFiles = [
|
|||
export const chainsPath: string = path.join(process.cwd(), '/blockchains');
|
||||
export const getChainPath = (chain: string): string => `${chainsPath}/${chain}`;
|
||||
export const allChains = readDirSync(chainsPath);
|
||||
export const getChainLogoPath = (chain: string): string => `${getChainPath(chain)}/info/${logoFullName}`;
|
||||
export const getChainInfoPath = (chain: string): string => `${getChainPath(chain)}/info`;
|
||||
export const getChainLogoPath = (chain: string): string => `${getChainInfoPath(chain)}/${logoFullName}`;
|
||||
export const getChainCoinInfoPath = (chain: string): string => `${getChainInfoPath(chain)}/${infoFullName}`;
|
||||
export const getChainAssetsPath = (chain: string): string => `${getChainPath(chain)}/assets`;
|
||||
export const getChainAssetPath = (chain: string, asset: string): string => `${getChainAssetsPath(chain)}/${asset}`;
|
||||
export const getChainAssetLogoPath = (chain: string, asset: string): string => `${getChainAssetPath(chain, asset)}/${logoFullName}`;
|
||||
|
|
Loading…
Reference in New Issue
Block a user