Skip to main content
代币模块从 network.tokenListUrl 获取 JSON 代币列表,并在内存中缓存一天。CPMM 和 CLMM 模块查询池状态时,会用它为两个池代币附加 TokenInfo(符号、精度、图标)。
如果任一池代币不在代币列表中,cpmm.getPoolState 和 clmm.getPoolState 会抛出错误。要处理未收录的代币,请把 networkOverrides.tokenListUrl 指向包含这些代币的列表,或者通过合约产物直接读取池合约。

TokenInfo

来自 @alephium/token-list:

方法

getTokens()

缓存未过期时直接返回缓存,否则重新获取列表。如果获取失败但存在过期缓存,会返回过期的副本(以 info 级别记录日志)。没有缓存时抛出错误。

getTokenById(id) / getTokenBySymbol(symbol)

找不到时抛出 Unknown token, … not found in token list。符号匹配区分大小写,返回第一个匹配项。

getTokenInfoBy(predicate)

fetchTokens()

强制刷新并替换缓存。会校验返回内容:必须是 { tokens: TokenInfo[] },其中 id、name、symbol、description、logoURI 为字符串,decimals 为 [0, 255] 范围内的整数。不符合的会被拒绝。

示例