UNPKG

@arcana/ca-sdk

Version:

Arcana Network's chain abstraction SDK for unified balance in Web3 apps

34 lines (33 loc) 916 B
import { getTokenTxFunction } from "../../utils"; const isERC20TokenTransfer = (input) => { if (input.evm.tx) { const { data, to } = input.evm.tx; if (!data) { return false; } const token = input.chainList.getTokenByAddress(input.chain.id, to); const isTokenSupported = !!token; if (isTokenSupported && data) { const { functionName } = getTokenTxFunction(data); if (functionName === "transfer") { return true; } } } return false; }; const isNativeTokenTransfer = (input) => { if (input.evm.tx) { const { value } = input.evm.tx; if (!value) return false; try { return BigInt(value) > 0n; } catch { return false; } } return false; }; export { isERC20TokenTransfer, isNativeTokenTransfer };