UNPKG

viem

Version:

TypeScript Interface for Ethereum

37 lines 1.43 kB
import { trim } from '../utils/data/trim.js'; export function isEmpty(value) { return (value === 0 || value === 0n || value === undefined || value === null || value === '0' || value === '' || (typeof value === 'string' && (trim(value).toLowerCase() === '0x' || trim(value).toLowerCase() === '0x00'))); } export function isPresent(value) { return !isEmpty(value); } /** @internal */ export function isEIP1559(transaction) { return (typeof transaction.maxFeePerGas !== 'undefined' && typeof transaction.maxPriorityFeePerGas !== 'undefined'); } export function isCIP64(transaction) { /* * Enable end user to force the tx to be considered as a CIP-64. * * The preliminary type will be determined as "eip1559" by src/utils/transaction/getTransactionType.ts * and so we need the logic below to check for the specific value instead of checking if just any * transaction type is provided. If that's anything else than "cip64" then we need to reevaluate the * type based on the transaction fields. * * Modify with caution and according to https://github.com/celo-org/celo-proposals/blob/master/CIPs/cip-0064.md */ if (transaction.type === 'cip64') { return true; } return isEIP1559(transaction) && isPresent(transaction.feeCurrency); } //# sourceMappingURL=utils.js.map