@openocean.finance/wallet-management
Version:
Openocean Wallet Management solution.
37 lines • 1.28 kB
JavaScript
export const convertExtendedChain = (chain) => {
return {
...chain,
...chain.metamask,
blockExplorers: chain.metamask?.blockExplorerUrls?.reduce((blockExplorers, blockExplorer, index) => {
blockExplorers[index === 0 ? 'default' : `${index}`] = {
name: blockExplorer,
url: blockExplorer,
};
return blockExplorers;
}, {}) ?? {},
name: chain.metamask?.chainName,
rpcUrls: {
default: { http: chain.metamask?.rpcUrls ?? [] },
public: { http: chain.metamask?.rpcUrls ?? [] },
},
contracts: {
...(chain.multicallAddress
? { multicall3: { address: chain.multicallAddress } }
: undefined),
},
};
};
export function isExtendedChain(chain) {
return (typeof chain === 'object' &&
chain !== null &&
'key' in chain &&
'chainType' in chain &&
'coin' in chain &&
'mainnet' in chain &&
'logoURI' in chain &&
typeof chain.metamask === 'object' &&
chain.metamask !== null &&
typeof chain.nativeToken === 'object' &&
chain.nativeToken !== null);
}
//# sourceMappingURL=convertExtendedChain.js.map