PageSourceSearch

https://testnet.vibevibe.fun/static-v2/identity-DbralpYP.js

js vibevibe.fun collected 2026-10-09 17:37:26 UTC 3,633 bytes, 1 lines download raw bytes

1import{i as w}from"./gate-core-kQ3-3BA4.js";function U(){return w&&!0}const i="0x0000000000000000000000000000000000000000",a="VIBEVIBE",p=64,h=16,d=/[\p{Cc}\p{Cf}\p{Zl}\p{Zp}]/gu,y=/[\u115F\u1160\u3164\uFFA0\u2800\u034F\u17B4\u17B5]/gu,M=/[\p{Mn}\p{Me}]/u,O=/[\t\n\v\f\r\u0085\u2028\u2029]/gu;function $(e,t){let r="",o=0;for(const n of e){if(M.test(n)){if(o>=t)continue;o+=1}else o=0;r+=n}return r}function u(e,t,r=2){if(typeof e!="string")return"";const o=$(e.replace(O," ").replace(d,"").replace(y,""),r).replace(/\s+/gu," ").trim(),n=Array.from(o);return n.length<=t?o:`${n.slice(0,Math.max(0,t-1)).join("").trimEnd()}…`}const b=e=>u(e,p),E=e=>u(e,h,0),g=/^[A-Z0-9]{1,16}$/,k=e=>typeof e=="string"&&g.test(e),T="Not made on the vibe/vibe create page: this ticker uses characters or a length the page does not allow.",N={А:"A",В:"B",Е:"E",К:"K",М:"M",Н:"H",О:"O",Р:"P",С:"C",Т:"T",Х:"X",У:"Y",І:"I",Ј:"J",Ѕ:"S",Α:"A",Β:"B",Ε:"E",Ζ:"Z",Η:"H",Ι:"I",Κ:"K",Μ:"M",Ν:"N",Ο:"O",Ρ:"P",Τ:"T",Υ:"Y",Χ:"X"};function f(e){if(typeof e!="string")return"";const t=e.normalize("NFKD").replace(d,"").replace(y,"").replace(/[\p{Mn}\p{Me}]/gu,"").replace(/[\s$]+/gu,"").toUpperCase();return Array.from(t,r=>N[r]??r).join("")}const l=new Map;function _(e,t,r){r!==a||!/^0x[0-9a-fA-F]{40}$/.test(t)||t.toLowerCase()===i||l.set(e.toLowerCase(),t.toLowerCase())}const L=e=>l.get(e.toLowerCase())??null,s=new Set,c=new Set;function C(e){const t=e.launchZero?.token;return typeof t!="string"||!/^0x[0-9a-fA-F]{40}$/.test(t)||t.toLowerCase()===i||s.has(e.factory.toLowerCase())?null:t.toLowerCase()}const F=e=>s.has(e.toLowerCase());function K(e){const t=e.toLowerCase();if(!s.has(t)){s.add(t);for(const r of[...c])try{r()}catch{}}}function R(e){return c.add(e),()=>{c.delete(e)}}const Z=()=>{l.clear(),s.clear()};function B(e){const t=new Map([[i,"ETH"]]);for(const n of e.pairs)t.set(n.token.toLowerCase(),n.symbol);const r=L(e.factory)??C(e);r&&!t.has(r)&&![...t.values()].includes(a)&&t.set(r,a);const o=new Map([...t.values()].map(n=>[f(n),n]));return{verified:t,reserved:o}}function S(e){for(const[t,r]of e.verified)if(r===a)return t;return null}const I=e=>e.length>12?`${e.slice(0,6)}…${e.slice(-4)}`:e;function j(e,t,r){const o=t.toLowerCase(),n=e.verified.get(o);return n!==void 0?{verified:!0,symbol:n,short:null,copyOf:null,key:n}:{verified:!1,symbol:E(r),short:I(t),copyOf:e.reserved.get(f(r))??null,key:o}}const v="unverified",A="unverified copy",P=e=>e.verified?null:`${e.copyOf?A:v} · ${e.short}`;function m(e){if(e.verified)return null;const t=e.symbol?`$${e.symbol}`:"This token";return e.copyOf?{before:`Unverified copy: not the listed $${e.copyOf}. ${t} here is a different token with the same ticker, at `,after:"."}:{before:`Unverified: ${t} is not an asset vibe/vibe lists. It is the token at `,after:"; check the address before you trade."}}function V(e,t){const r=m(e);return r===null?null:`${r.before}${t}${r.after}`}const x=Object.freeze(Object.defineProperty({__proto__:null,FOREIGN_TICKER_NOTE:T,MADE_HERE_TICKER:g,NAME_MAX:p,TICKER_MAX:h,UNVERIFIED:v,UNVERIFIED_COPY:A,displayName:b,displayText:u,displayTicker:E,flywheelTokenOf:S,forgetLaunchZeroForTests:Z,identityBook:B,launchZeroOf:L,launchZeroPinRejected:F,onLaunchZeroIdentityChange:R,pairIdentityOf:j,pairNote:V,pairNoteParts:m,pairTag:P,pinnedLaunchZeroOf:C,rejectLaunchZeroPin:K,rememberLaunchZero:_,shortAddress:I,tickerKey:f,tickerMadeHere:k},Symbol.toStringTag,{value:"Module"}));export{T as F,A as U,b as a,j as b,K as c,E as d,v as e,V as f,P as g,U as h,B as i,S as j,f as k,L as l,m,x as n,R as o,C as p,_ as r,I as s,k as t};

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.