@hyperlane-xyz/sdk
Version:
The official SDK for the Hyperlane Network
34 lines • 1.24 kB
JavaScript
export function buildWarpRouteMaps(warpRouteConfigs) {
const warpRouteChainAddressMap = {};
const warpRouteIdToAddressesMap = {};
Object.entries(warpRouteConfigs).forEach(([routeId, { tokens }]) => {
if (!tokens.length)
return;
const wireDecimals = Math.max(...tokens.map((t) => t.decimals ?? 18));
const routeIdLower = routeId.toLowerCase();
warpRouteIdToAddressesMap[routeIdLower] = [];
tokens.forEach((token) => {
const { chainName, addressOrDenom, connections: _connections, ...rest } = token;
if (!addressOrDenom)
return;
warpRouteChainAddressMap[chainName] ||= {};
const tokenArgs = {
...rest,
chainName,
addressOrDenom,
wireDecimals,
};
warpRouteChainAddressMap[chainName][addressOrDenom] = tokenArgs;
warpRouteIdToAddressesMap[routeIdLower].push({
chainName,
address: addressOrDenom,
});
});
});
return {
warpRouteChainAddressMap,
warpRouteIdToAddressesMap,
warpRouteConfigs,
};
}
//# sourceMappingURL=read.js.map