import { isSolanaLike as e } from "../../constants/chains.constants.mjs";
import { zeroAddress as t } from "../../constants/protocol.constants.mjs";
//#region libs/shared/common/src/data-structures/token-price-fetcher/TokenChecker.ts
var n = class {
	static isBeefyStakeToken = (e) => e.name.includes("-Boost") && e.symbol.includes("-Boost");
	static isStakeToken = (e) => this.isBeefyStakeToken(e);
	static isAaveToken = (e) => e.aaveToken;
	static isKinzaToken = (e) => e.name.startsWith("Kinza");
	static isPotentiallyVolatile = (n) => n.erc20TokenAddress === t ? !1 : n.isVolatile || !e(n.chainId) && (n.balanceStorageOffset === void 0 || n.allowanceStorageOffset === void 0);
	static isPotentiallySpamToken(e) {
		let { name: t, symbol: n } = e, r = `${t} ${n}`, i = /(?:https?:\/\/|www\.)/i, a = /\.(?:com|io|app|org|net|co|xyz|link|site|top|in|ru|cn|me|biz|info|online|club|tech|to|cloud)(?=[^\w]|$)/i, o = /\b(?:t\.me|discord\.(?:gg|com)|twitter\.com|x\.com|telegram\.(?:me|org))\b/i, s = /@[^\s]+\.[^\s]+/i, c = /\p{Extended_Pictographic}/u, l = /[\u{1F1E6}-\u{1F1FF}]{2}/u, u = /[#*0-9]\uFE0F?\u20E3/u, d = i.test(r), f = a.test(r), p = o.test(r), m = s.test(r), h = c.test(r) || l.test(r) || u.test(r);
		return d || f || p || m || h;
	}
};
//#endregion
export { n as TokenChecker };
