@khelaia/react-ens-address
Version:
React ENS address component
33 lines (27 loc) • 612 B
JavaScript
import { validateName } from '@khelaia/ui'
import { utils } from 'ethers'
export const ETH_ADDRESS_TYPE = {
name: 'name',
address: 'address',
error: 'error'
}
export function isAddress(address) {
try {
utils.getAddress(address)
} catch (e) {
return false
}
return true
}
export function getEthAddressType(address) {
if (!address) return ETH_ADDRESS_TYPE.error
if (isAddress(address)) {
return ETH_ADDRESS_TYPE.address
}
try {
validateName(address)
return ETH_ADDRESS_TYPE.name
} catch (e) {
return ETH_ADDRESS_TYPE.error
}
}