@callisto-enterprise/assetslist
v1.9.3
Published
This package contains multi chain asset lists with Tokens and NFTs
Downloads
42
Readme
Callisto assets list library
This package contains multi chain asset lists with Tokens and NFTs
The package is created with TSDX tool
How to use
Install the package
npm i @callisto-enterprice/assetslist
Get Token or NFT asset list for each supported chain, e.g.
import {
CallistAssetChainId,
CallistoNftList,
CallistoTokenList,
getCallistoNFT,
getCallistoToken,
} from '@callisto-enterprise/assetslist'
const mainnetTokens = CallistoTokenList[CallistAssetChainId.Mainnet] // or just 820
const mainnetNFTs = CallistoNftList[CallistAssetChainId.Mainnet]
// Or find any specific asset by address
const nft = getCallistoNFT('0x...', CallistAssetChainId.Mainnet)
const token = getCallistoToken('0x...', CallistAssetChainId.Mainnet)
Here is the structure of the Asset interface
export interface CallistoAsset {
address: string
category: AssetType //NATIVE, ERC20, ERC223, ERC721, ERC1155, CALLISTONFT
name: string
symbol: string
image: string // for the NFT it could be a fallback image
audit: {
isAudited: boolean
reportUrl?: string
riskLevel?: string
}
decimals: number
platforms: string[]
projectUrl: string
}
Here is the structure of the AssetNFT interface which extends the Asset interface
export interface CallistoAssetNFT extends CallistoAsset {
collectionName: string
placeholderName?: string // usually when it is undefined, it is filled by Asset.name
placeholderId?: string // it can be filled by the contract tokenId() during the parsing
placeholderTitle?: string // it can be filled by collectionName during the parsing
placeholderDescription?: string
placeholderMedia?: string // it cann be filled by specific standard, for example for ERC721 is used tokenURI()
}
The placeholder fields are used for the UI, especially for CallistoNFT standard, since we want to show different data accross different collections We decided to choose placeholder approach when the same UI placeholder can point to different NFT metadata as you can see at the image below
Commands
TSDX scaffolds your new library inside /src
.
To run TSDX, use:
yarn start
This builds to /dist
and runs the project in watch mode so any edits you save inside src
causes a rebuild to /dist
.
To do a one-off build, use npm run build
or yarn build
.
To run tests, use npm test
or yarn test
. If testing misbehaves, run npx jest --clearCache
.
Note about DeprecationWarning [DEP0148]: tslib library, referenced by tsdx, has deprecated "./" key in package.json, see discussion in github. No safe fix was identified, manual edit within node_modules can be a temporary solution.
Rollup
TSDX uses Rollup as a bundler and generates multiple rollup configs for various module formats and build settings. See Optimizations for details.
Contribution
If you would like to add new Token or NFT collection, or fix some image assets feel free to create a new PR.