Files
sbnews/server/public/mobile/assets/crypto.Ca71aBdf.js
T

2 lines
7.5 KiB
JavaScript

import{aG as o,aH as n}from"./index-uBvBZpJK.js";var e={};const c=`${n.baseUrl}${n.urlPrefix}/crypto/proxy`;let a={BTC:{name:"Bitcoin",icon:"₿",color:"#f7931a"},ETH:{name:"Ethereum",icon:"Ξ",color:"#627eea"},BNB:{name:"BNB",icon:"B",color:"#f3ba2f"},SOL:{name:"Solana",icon:"◎",color:"#9945ff"},XRP:{name:"Ripple",icon:"X",color:"#00aae4"},ADA:{name:"Cardano",icon:"A",color:"#0d3349"},DOGE:{name:"Dogecoin",icon:"Ð",color:"#c2a633"},TRX:{name:"TRON",icon:"T",color:"#eb0029"},AVAX:{name:"Avalanche",icon:"A",color:"#e84142"},LINK:{name:"Chainlink",icon:"⬡",color:"#2a5ada"},TON:{name:"Toncoin",icon:"T",color:"#0088cc"},SHIB:{name:"Shiba Inu",icon:"S",color:"#ffa409"},DOT:{name:"Polkadot",icon:"●",color:"#e6007a"},SUI:{name:"Sui",icon:"S",color:"#6fbcf0"},NEAR:{name:"NEAR",icon:"N",color:"#00ec97"},LTC:{name:"Litecoin",icon:"Ł",color:"#bfbbbb"},APT:{name:"Aptos",icon:"A",color:"#4cd9c0"},UNI:{name:"Uniswap",icon:"U",color:"#ff007a"},PEPE:{name:"Pepe",icon:"P",color:"#479f53"},ICP:{name:"Internet Computer",icon:"I",color:"#29abe2"},FET:{name:"Fetch.ai",icon:"F",color:"#1b1464"},RENDER:{name:"Render",icon:"R",color:"#00e1ff"},ETC:{name:"Ethereum Classic",icon:"E",color:"#328332"},ATOM:{name:"Cosmos",icon:"A",color:"#2e3148"},FIL:{name:"Filecoin",icon:"F",color:"#0090ff"},ARB:{name:"Arbitrum",icon:"A",color:"#28a0f0"},OP:{name:"Optimism",icon:"O",color:"#ff0420"},IMX:{name:"Immutable",icon:"I",color:"#00b2ff"},INJ:{name:"Injective",icon:"I",color:"#00f2fe"},SEI:{name:"Sei",icon:"S",color:"#9b1c1c"},WLD:{name:"Worldcoin",icon:"W",color:"#000000"},TIA:{name:"Celestia",icon:"T",color:"#7b2bf9"},STX:{name:"Stacks",icon:"S",color:"#5546ff"},GRT:{name:"The Graph",icon:"G",color:"#6747ed"},AAVE:{name:"Aave",icon:"A",color:"#b6509e"},MKR:{name:"Maker",icon:"M",color:"#1aab9b"},ALGO:{name:"Algorand",icon:"A",color:"#000000"},SAND:{name:"Sandbox",icon:"S",color:"#04adef"},MANA:{name:"Decentraland",icon:"M",color:"#ff2d55"},AXS:{name:"Axie Infinity",icon:"A",color:"#0055d5"},THETA:{name:"Theta",icon:"θ",color:"#2ab8e6"},FTM:{name:"Fantom",icon:"F",color:"#1969ff"},VET:{name:"VeChain",icon:"V",color:"#15bdff"},EGLD:{name:"MultiversX",icon:"E",color:"#23f7dd"},FLOW:{name:"Flow",icon:"F",color:"#00ef8b"},XTZ:{name:"Tezos",icon:"T",color:"#2c7df7"},EOS:{name:"EOS",icon:"E",color:"#000000"},IOTA:{name:"IOTA",icon:"I",color:"#131f37"},NEO:{name:"Neo",icon:"N",color:"#00e599"},KAVA:{name:"Kava",icon:"K",color:"#ff564f"},CFX:{name:"Conflux",icon:"C",color:"#1a1a2e"},CAKE:{name:"PancakeSwap",icon:"C",color:"#d1884f"},CRV:{name:"Curve",icon:"C",color:"#f9d200"},SNX:{name:"Synthetix",icon:"S",color:"#00d1ff"},LDO:{name:"Lido DAO",icon:"L",color:"#00a3ff"},COMP:{name:"Compound",icon:"C",color:"#00d395"},ZIL:{name:"Zilliqa",icon:"Z",color:"#49c1bf"},ENJ:{name:"Enjin Coin",icon:"E",color:"#7866d5"},DYDX:{name:"dYdX",icon:"D",color:"#6966ff"},CHZ:{name:"Chiliz",icon:"C",color:"#cd0124"},GALA:{name:"Gala",icon:"G",color:"#000000"},APE:{name:"ApeCoin",icon:"A",color:"#0054f7"},GMT:{name:"GMT",icon:"G",color:"#e8d24a"},MASK:{name:"Mask Network",icon:"M",color:"#1c68f3"},ROSE:{name:"Oasis",icon:"R",color:"#0092f6"},ZEC:{name:"Zcash",icon:"Z",color:"#ecb244"},MINA:{name:"Mina",icon:"M",color:"#e39844"},CELO:{name:"Celo",icon:"C",color:"#35d07f"},ENS:{name:"ENS",icon:"E",color:"#5298ff"},BAT:{name:"Basic Attention",icon:"B",color:"#ff5000"},YFI:{name:"yearn.finance",icon:"Y",color:"#006ae3"},SUSHI:{name:"SushiSwap",icon:"S",color:"#d65aff"},BAL:{name:"Balancer",icon:"B",color:"#1e1e1e"},ANKR:{name:"Ankr",icon:"A",color:"#2e6bf6"},JASMY:{name:"JasmyCoin",icon:"J",color:"#f7931a"},RSR:{name:"Reserve Rights",icon:"R",color:"#000000"},LRC:{name:"Loopring",icon:"L",color:"#2ab6f6"},STORJ:{name:"Storj",icon:"S",color:"#2683ff"},ICX:{name:"ICON",icon:"I",color:"#1fc5c9"},SKL:{name:"SKALE",icon:"S",color:"#000000"},HBAR:{name:"Hedera",icon:"H",color:"#000000"},XLM:{name:"Stellar",icon:"X",color:"#000000"},BCH:{name:"Bitcoin Cash",icon:"B",color:"#8dc351"},MATIC:{name:"Polygon",icon:"M",color:"#8247e5"},TAO:{name:"Bittensor",icon:"T",color:"#000000"},JUP:{name:"Jupiter",icon:"J",color:"#00bfa5"},WIF:{name:"dogwifhat",icon:"W",color:"#a0522d"},BONK:{name:"Bonk",icon:"B",color:"#f9a825"},FLOKI:{name:"Floki",icon:"F",color:"#d4a843"},NOT:{name:"Notcoin",icon:"N",color:"#000000"},ORDI:{name:"ORDI",icon:"O",color:"#f7931a"},PENDLE:{name:"Pendle",icon:"P",color:"#0052ff"},"1000SATS":{name:"1000SATS",icon:"S",color:"#f7931a"},WOO:{name:"WOO",icon:"W",color:"#2b2b3d"},BLUR:{name:"Blur",icon:"B",color:"#ff6b00"},PIXEL:{name:"Pixels",icon:"P",color:"#7b61ff"},STRK:{name:"Starknet",icon:"S",color:"#0c0c4f"},ACE:{name:"Fusionist",icon:"A",color:"#6c5ce7"},AI:{name:"Sleepless AI",icon:"A",color:"#00d2ff"},XAI:{name:"Xai",icon:"X",color:"#f44336"},MANTA:{name:"Manta",icon:"M",color:"#1e88e5"},ALT:{name:"AltLayer",icon:"A",color:"#000000"},PYTH:{name:"Pyth Network",icon:"P",color:"#6b4ce6"},JTO:{name:"Jito",icon:"J",color:"#59c995"},NTRN:{name:"Neutron",icon:"N",color:"#000000"},ONDO:{name:"Ondo",icon:"O",color:"#1a73e8"}};function r(){return a}function i(){return new Promise(n=>{o({url:`${e.VITE_API_BASE_URL||""}/api/crypto/coin-config`,method:"GET",success:o=>{if(200===o.statusCode&&o.data){const n=o.data,e=(null==n?void 0:n.data)||n;if(e&&"object"==typeof e&&!Array.isArray(e))a=e;else if(Array.isArray(e)){const o={};e.forEach(n=>{n.symbol&&(o[n.symbol]={name:n.name||n.symbol,icon:n.icon||n.symbol.charAt(0),color:n.color||"#666666"})}),Object.keys(o).length>0&&(a=o)}}n()},fail:()=>n()})})}function l(o){const n="string"==typeof o?parseFloat(o):o;return isNaN(n)?"0.00":n>=1e4?n.toLocaleString("en-US",{maximumFractionDigits:0}):n>=100?n.toLocaleString("en-US",{maximumFractionDigits:1}):n>=1?n.toLocaleString("en-US",{maximumFractionDigits:2}):n>=.01?n.toFixed(4):n.toFixed(6)}function t(o){const n="string"==typeof o?parseFloat(o):o;return isNaN(n)?"$0":n>=1e12?"$"+(n/1e12).toFixed(2)+"T":n>=1e9?"$"+(n/1e9).toFixed(1)+"B":n>=1e6?"$"+(n/1e6).toFixed(1)+"M":n>=1e3?"$"+(n/1e3).toFixed(1)+"K":"$"+n.toFixed(0)}function m(o){const n=o.symbol.replace("USDT",""),e=a[n];return e?{symbol:n,name:e.name,icon:e.icon,color:e.color,price:l(o.lastPrice),priceRaw:parseFloat(o.lastPrice),change:parseFloat(parseFloat(o.priceChangePercent).toFixed(2)),volume:t(o.quoteVolume),mcap:t(o.quoteVolume),highPrice:l(o.highPrice),lowPrice:l(o.lowPrice)}:null}function s(o,n="1h",e=24){return d(`/api/v3/klines?symbol=${o}USDT&interval=${n}&limit=${e}`,o=>{if(!Array.isArray(o))throw new Error("Kline API error");return o.map(o=>({time:o[0],open:parseFloat(o[1]),high:parseFloat(o[2]),low:parseFloat(o[3]),close:parseFloat(o[4]),volume:parseFloat(o[5])}))})}function f(o){return d(`/api/v3/ticker/24hr?symbol=${o}USDT`,o=>m(o))}function A(){return d(`/api/v3/ticker/24hr?symbols=[${Object.keys(a).map(o=>`"${o}USDT"`).join(",")}]`,o=>{if(!Array.isArray(o))throw new Error("Binance API error");const n=o.map(m).filter(Boolean),e=Object.keys(a);return n.sort((o,n)=>e.indexOf(o.symbol)-e.indexOf(n.symbol)),n})}function d(n,e){const a=n.indexOf("?"),r=a>=0?n.substring(0,a):n,i=a>=0?n.substring(a+1):"",l=`${c}?path=${r}${i?"&"+i:""}`;return console.log("[CryptoProxy] request =>",l),new Promise((n,c)=>{o({url:l,method:"GET",success:o=>{if(console.log("[CryptoProxy] response status =>",o.statusCode),200===o.statusCode&&o.data)try{n(e(o.data))}catch(a){console.error("[CryptoProxy] transform error =>",a),c(a)}else console.error("[CryptoProxy] error status =>",o.statusCode,o.data),c(new Error("Proxy API error: "+o.statusCode))},fail:o=>{console.error("[CryptoProxy] request fail =>",o),c(o)}})})}export{f as a,s as b,r as c,l as f,A as g,i as l};