mirror of
https://github.com/orionprotocol/sdk.git
synced 2026-03-15 14:42:38 +03:00
26 lines
738 B
TypeScript
26 lines
738 B
TypeScript
import { ERC20__factory } from '@orionprotocol/contracts/lib/ethers-v5/index.js';
|
|
import { ethers } from 'ethers';
|
|
import invariant from 'tiny-invariant';
|
|
|
|
const checkIsToken = async (address: string, provider?: ethers.providers.Provider) => {
|
|
invariant(provider, 'No provider for token checking');
|
|
const tokenContract = ERC20__factory.connect(address, provider);
|
|
try {
|
|
const results = await Promise.all(
|
|
[
|
|
tokenContract.name(),
|
|
tokenContract.symbol(),
|
|
tokenContract.decimals(),
|
|
tokenContract.totalSupply(),
|
|
tokenContract.balanceOf(ethers.constants.AddressZero),
|
|
],
|
|
);
|
|
|
|
return Boolean(results);
|
|
} catch (err) {
|
|
return false;
|
|
}
|
|
};
|
|
|
|
export default checkIsToken;
|