PageSourceSearch

https://fundingview.app/_next/static/chunks/pages/history-explorer-9ab63ca196126f12.js

js fundingview.app collected 2026-10-09 22:06:05 UTC 32,494 bytes, 1 lines download raw bytes

1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[872],{949:(e,a,t)=>{"use strict";t.d(a,{A:()=>r});let r=(0,t(891).A)("chevron-down",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]])},2179:(e,a,t)=>{"use strict";t.d(a,{GO:()=>n,ML:()=>l,Sn:()=>s,c$:()=>i});var r=t(7319);let s={funding:"/api/funding",history:"/api/history",historyBulk:"/api/history/bulk",marketData:"/api/market-data",health:"".concat("https://api.fundingview.app","/api/health"),stats:"/api/stats"},n=async e=>{let a=await fetch(e);if(!a.ok){let e=Error("An error occurred while fetching the data.");throw e.info=await a.json().catch(()=>({})),e.status=a.status,e}return a.json()},i=function(e){let a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},t=new URL(e,window.location.origin);return Object.keys(a).forEach(e=>{void 0!==a[e]&&null!==a[e]&&t.searchParams.append(e,a[e])}),t.toString()},l={getFundingData:()=>n(s.funding),getHistoryData:function(e,a,t){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"30d";return n(i(s.history,{symbol:e,long:a,short:t,win:r}))},getBulkHistoryData:function(e,a){let t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"minmax";return n(i(s.historyBulk,{symbol:e,exchanges:a,format:"v2",agg:t})).then(r.T)},getTokenMarketData:(e,a)=>n(i("".concat(s.marketData,"/token/").concat(e),{exchanges:a})),getMultiTokenMarketData:(e,a)=>n(i(s.marketData,{symbols:e,exchanges:a})),getHealthStatus:()=>n(s.health),getServerStats:()=>n(s.stats)}},7319:(e,a,t)=>{"use strict";t.d(a,{T:()=>s});let r={"24h":864e5,"7d":6048e5,"30d":2592e6,"90d":7776e6,"1y":31536e6};function s(e){if(!e||2!==e.v||!e.series)return e;let a={};for(let[t,r]of Object.entries(e.series)){let e=r.dt.length,s=Array(e),n=r.t0;for(let a=0;a<e;a++)n+=r.dt[a],s[a]=1e3*n;a[t]={t:s,apr:r.apr}}let t=Date.now(),s={all:a};for(let[e,n]of Object.entries(r)){let r=t-n;for(let[t,{t:n,apr:i}]of(s[e]={},Object.entries(a))){let a=0,l=n.length;for(;a<l;){let e=a+l>>1;n[e]>r?l=e:a=e+1}s[e][t]={t:n.slice(a),apr:i.slice(a)}}}return{symbol:e.symbol,exchanges:e.exchanges,agg:e.agg,data:s,timestamp:e.timestamp}}},8689:(e,a,t)=>{"use strict";t.r(a),t.d(a,{default:()=>E});var r=t(6514),s=t(7977),n=t.n(s),i=t(5834),l=t(4322),c=t.n(l),o=t(3121),f=t(6558),d=t(9504),h=t(949),x=t(3134),u=t(2179),b=t(8843);let m=["gtrade","carbon","CarbonTf"],p=e=>(e.endsWith("L")||e.endsWith("S"))&&m.includes(e.slice(0,-1)),g=e=>p(e)?e.slice(0,-1):e;function j(e,a){let t=e.replace("#",""),r=parseInt(t.substr(0,2),16),s=parseInt(t.substr(2,2),16),n=parseInt(t.substr(4,2),16),i=e=>Math.max(0,Math.min(255,Math.round(e+e*a/100))),l=i(r),c=i(s),o=i(n),f=e=>e.toString(16).padStart(2,"0");return"#".concat(f(l)).concat(f(c)).concat(f(o))}let v=i.memo(e=>{let{symbol:a,onSymbolChange:t,selectedExchanges:s,onExchangesChange:l,timeframe:c,onTimeframeChange:o,rateFormat:v,onRateFormatChange:y,timeframes:k,rateFormats:N,popularSymbols:w,availableTokens:S,exchangeColorMap:E}=e,[M,C]=(0,i.useState)({}),[L,z]=(0,i.useState)([]),[V,O]=(0,i.useState)({}),[A,D]=(0,i.useState)(!1),[F,I]=(0,i.useState)(!1),[G,T]=(0,i.useState)(""),[R,H]=(0,i.useState)({}),B=(0,i.useRef)(null),P=(0,i.useRef)(null),Z=(0,i.useRef)({}),_=(0,i.useRef)(null),W=(0,i.useRef)(null),J=(0,i.useMemo)(()=>Object.keys(x.s8),[]),U=(0,i.useMemo)(()=>{let e=[];for(let a of J)m.includes(a)?e.push("".concat(a,"L"),"".concat(a,"S")):e.push(a);return e},[J]),{data:$,error:q,isLoading:K}=(0,f.Ay)(a?["bulkHistory",a,U]:null,()=>u.ML.getBulkHistoryData(a,U.join(",")),{revalidateOnFocus:!1,revalidateOnReconnect:!1,dedupingInterval:3e5}),X=(0,i.useMemo)(()=>a?(0,u.c$)(u.Sn.marketData,{symbols:a,exchanges:J.join(",")}):null,[a,J]),{data:Q}=(0,f.Ay)(X,u.GO,{refreshInterval:3e4,revalidateOnFocus:!0,dedupingInterval:1e4,revalidateOnMount:!0,fallbackData:null});(0,i.useEffect)(()=>{$&&$.data&&C($.data)},[$]),(0,i.useEffect)(()=>{let e=()=>{let e="dark"===document.documentElement.getAttribute("data-theme"),a=getComputedStyle(document.documentElement),t=a.getPropertyValue("--text").trim()||(e?"#e5e7eb":"#111827"),r=a.getPropertyValue("--table-bg").trim()||(e?"#181313":"#ffffff"),s=e?"#252a31":"#dfe4ea";H({background:{color:r},textColor:t}),P.current&&P.current.applyOptions({layout:{background:{color:r},textColor:t},grid:{vertLines:{color:s,style:2,visible:!0},horzLines:{color:s,style:2,visible:!0}},leftPriceScale:{borderColor:s},timeScale:{borderColor:s}})};e();let a=new MutationObserver(a=>{a.forEach(a=>{"data-theme"===a.attributeName&&e()})});return a.observe(document.documentElement,{attributes:!0,attributeFilter:["data-theme"]}),()=>a.disconnect()},[]);let Y=(0,i.useCallback)((e,a)=>{let t=new Map;
1return Object.entries(e).forEach(e=>{let[r,s]=e;s&&s.t&&s.apr&&s.t.forEach((e,n)=>{t.has(e)||t.set(e,{timestamp:e,time:e/1e3});let i=s.apr[n]/8760*a.multiplier;t.get(e)[r]=i})}),Array.from(t.values()).sort((e,a)=>e.timestamp-a.timestamp)},[]),ee=(0,i.useCallback)((e,a)=>{let t={};return Object.entries(e).forEach(e=>{let[r,s]=e;if(!s||!s.apr||0===s.apr.length)return;let n=s.apr.map(e=>e/8760*a.multiplier).filter(e=>isFinite(e));n.length>0&&(t[r]={avg:n.reduce((e,a)=>e+a,0)/n.length,min:Math.min(...n),max:Math.max(...n),current:n[n.length-1],points:n.length})}),t},[]);(0,i.useEffect)(()=>{if(0===Object.keys(M).length)return;let e=N.find(e=>e.value===v);if(!e)return;let a=M[c];if(!a){z([]),O({});return}let t=Object.fromEntries(Object.entries(a).filter(e=>{let[a]=e;return p(a)?s.includes(g(a)):s.includes(a)}));z(Y(t,e)),O(ee(t,e))},[M,c,v,s,Y,ee,N]),(0,i.useEffect)(()=>{if(B.current)try{let e=getComputedStyle(document.documentElement),a="dark"===document.documentElement.getAttribute("data-theme"),t=a?"#252a31":"#dfe4ea",r=(0,d.R9)(B.current,{width:B.current.clientWidth,height:400,layout:R.background?R:{background:{color:e.getPropertyValue("--table-bg").trim()||(a?"#181313":"#ffffff")},textColor:a?"#e5e7eb":"#111827"},grid:{vertLines:{color:t,style:2,visible:!0},horzLines:{color:t,style:2,visible:!0}},crosshair:{mode:1,vertLine:{width:1,color:"rgba(197, 203, 206, 0.5)",style:0},horzLine:{visible:!1}},leftPriceScale:{visible:!0,borderVisible:!0,borderColor:t,scaleMargins:{top:.1,bottom:.1},ticksVisible:!0,minimumWidth:60,autoScale:!0},rightPriceScale:{visible:!1},timeScale:{borderVisible:!0,borderColor:t,timeVisible:!0,secondsVisible:!1,rightOffset:0,leftOffset:0,barSpacing:3,minBarSpacing:.5,fixLeftEdge:!0,fixRightEdge:!0,ticksVisible:!0,tickMarkMaxCharacterLength:10,tickMarkFormatter:e=>{let a=new Date(1e3*e),t=(new Date-a)/864e5;return t<2?a.toLocaleTimeString("en-US",{hour:"2-digit",minute:"2-digit",hour12:!1}):t<60?a.toLocaleDateString("en-US",{month:"short",day:"numeric"}):a.toLocaleDateString("en-US",{month:"short",year:"2-digit"})}},handleScroll:{mouseWheel:!0,pressedMouseMove:!0},handleScale:{axisPressedMouseMove:!0,mouseWheel:!0,pinch:!0}});P.current=r;let s=document.createElement("div");s.className="custom-tooltip",s.style.cssText="\n                position: absolute;\n                display: none;\n                padding: 10px 12px;\n                min-width: 190px;\n                background: ".concat(e.getPropertyValue("--table-bg").trim()||(a?"#181313":"#ffffff"),";\n                border: 1px solid ").concat(a?"#363030":"#e5e7eb",";\n                border-radius: 6px;\n                box-shadow: 0 4px 16px rgba(0,0,0,0.10);\n                pointer-events: none;\n                z-index: 1000;\n                font-family: 'Geist', sans-serif;\n            "),B.current.appendChild(s),_.current=s;let n=()=>{B.current&&r&&r.applyOptions({width:B.current.clientWidth})};return window.addEventListener("resize",n),()=>{window.removeEventListener("resize",n),s&&s.parentNode&&s.parentNode.removeChild(s),r&&r.remove(),P.current=null,Z.current={},_.current=null,W.current=null}}catch(e){console.error("Error creating chart:",e)}},[]),(0,i.useEffect)(()=>{if(!P.current||!_.current)return;let e=P.current,a=e.subscribeCrosshairMove(e=>{let a="dark"===document.documentElement.getAttribute("data-theme");if(!e.time||!e.point||!_.current){_.current&&(_.current.style.display="none");return}let t="object"==typeof e.time?e.time.timestamp:Number(e.time),r=null,n=1/0;for(let e of L){let a=Math.abs(e.time-t);if(a<n&&(n=a,r=e),0===a)break}if(!r){_.current.style.display="none";return}let i={timestamp:r.timestamp},l=[];s.forEach(e=>{m.includes(e)?l.push("".concat(e,"L"),"".concat(e,"S")):l.push(e)}),l.forEach(e=>{let a=null,r=1/0;for(let s of L)if(void 0!==s[e]&&null!==s[e]){let n=Math.abs(s.time-t);if(n<r&&n<3600&&(r=n,a=s[e]),0===n)break}null!==a&&(i[e]=a)});let c=new Date(i.timestamp),o='\n                <div style="\n                    font-size: 11px;\n                    color: var(--text);\n                    margin-bottom: 7px;\n                    padding-bottom: 7px;\n                    border-bottom: 1px solid '.concat(a?"#363030":"#e5e7eb",";\n                    font-family: 'Geist', sans-serif;\n                    letter-spacing: 0.3px;\n                \">\n                    ").concat(c.toLocaleDateString("en-US",{month:"short",day:"numeric",year:"numeric",hour:"2-digit",minute:"2-digit"}),"\n                </div>\n            ");
1l.forEach(e=>{let a=i[e];if(null!=a){var t;let r=e,s="";p(e)&&(r=g(e),s=e.endsWith("L")?" (L)":" (S)");let n=E[r];o+='\n                        <div style="display:flex;justify-content:space-between;align-items:center;margin-bottom:5px;gap:12px;font-family:\'Geist\',sans-serif;">\n                            <div style="display:flex;align-items:center;gap:7px;">\n                                <div style="width:10px;height:10px;border-radius:50%;background:'.concat(n,';flex-shrink:0;"></div>\n                                <span style="font-size:12px;color:var(--text);font-family:\'Geist\',sans-serif;">\n                                    ').concat((null==(t=x.s8[r])?void 0:t.name)||r).concat(s,'\n                                </span>\n                            </div>\n                            <span style="font-size:13px;color:').concat(a>=0?"var(--green)":"var(--red)",";font-family:'JetBrains Mono',monospace;font-variant-numeric:tabular-nums;\">\n                                ").concat(a>0?"+":"").concat((0,b.ZV)(a,3),"%\n                            </span>\n                        </div>\n                    ")}}),_.current.innerHTML=o,_.current.style.display="block";let f=B.current.getBoundingClientRect(),d=_.current.getBoundingClientRect(),h=e.point.x+100,u=e.point.y-d.height/2;h+d.width>f.width&&(h=e.point.x-d.width),u<0&&(u=0),u+d.height>f.height&&(u=f.height-d.height),_.current.style.left=h+"px",_.current.style.top=u+"px"});return()=>{a&&e.unsubscribeCrosshairMove(a)}},[L,s,E]),(0,i.useEffect)(()=>{if(!P.current||0===L.length){if(B.current){let e=B.current.querySelector(".tv-lightweight-charts");e&&(e.style.opacity="0")}return}let e=P.current;if(B.current){let e=B.current.querySelector(".tv-lightweight-charts");e&&(e.style.opacity="1")}if(Object.values(Z.current).forEach(a=>{try{e.removeSeries(a)}catch(e){}}),Z.current={},W.current)try{e.removeSeries(W.current)}catch(e){}if(L.length>0){let a=getComputedStyle(document.documentElement).getPropertyValue("--text-secondary").trim()||"#666",t=e.addLineSeries({color:a,lineWidth:2,lineStyle:2,priceLineVisible:!1,lastValueVisible:!1,crosshairMarkerVisible:!1,priceScaleId:"left"}),r=Math.min(...L.map(e=>e.time)),s=Math.max(...L.map(e=>e.time));t.setData([{time:r,value:0},{time:s,value:0}]),W.current=t}let a=[];s.forEach(e=>{m.includes(e)?a.push("".concat(e,"L"),"".concat(e,"S")):a.push(e)}),a.forEach(a=>{let t=E[p(a)?g(a):a]||"#3b82f6",r=t;p(a)&&(r=a.endsWith("L")?j(t,20):j(t,-20));try{let t=e.addLineSeries({color:r,lineWidth:2,priceFormat:{type:"price",precision:3,minMove:.001},lastValueVisible:!1,priceLineVisible:!1,priceScaleId:"left"}),s=L.filter(e=>void 0!==e[a]&&null!==e[a]).map(e=>({time:Math.floor(e.timestamp/1e3),value:e[a]})).sort((e,a)=>e.time-a.time);s.length>0&&(t.setData(s),Z.current[a]=t)}catch(e){console.error("Error adding series for",a,":",e)}});try{e.timeScale().fitContent(),L.length>0&&e.timeScale().setVisibleLogicalRange({from:0,to:L.length-1})}catch(e){console.error("Error fitting content:",e)}},[L,s,E]);let ea=(0,i.useCallback)(e=>{l(a=>a.includes(e)?a.filter(a=>a!==e):[...a,e])},[l]),et=(0,i.useMemo)(()=>{if(!G.trim())return S;let e=G.toLowerCase();return S.filter(a=>{if(a.toLowerCase().includes(e))return!0;let t=x.rj[a];return!!t&&t.some(a=>a.toLowerCase().includes(e))})},[G,S]),er=(0,i.useCallback)(e=>{t(e),T(""),I(!1)},[t]);return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)("div",{className:"jsx-9ba07464c605aeef fh-outer",children:[(0,r.jsxs)("div",{className:"jsx-9ba07464c605aeef fh-card",children:[(0,r.jsxs)("div",{className:"jsx-9ba07464c605aeef fh-toolbar",children:[(0,r.jsxs)("div",{className:"jsx-9ba07464c605aeef fh-token-wrap",children:[(0,r.jsxs)("button",{onClick:()=>I(!F),className:"jsx-9ba07464c605aeef fh-dropdown-btn",children:[(0,r.jsx)("span",{className:"jsx-9ba07464c605aeef",children:a}),(0,r.jsx)(h.A,{size:11,style:{color:"var(--text)",flexShrink:0,transition:"transform 150ms",transform:F?"rotate(180deg)":"none"}})]}),F&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("div",{onClick:()=>{I(!1),T("")},className:"jsx-9ba07464c605aeef fh-overlay"}),(0,r.jsxs)("div",{className:"jsx-9ba07464c605aeef fh-dropdown",children:[(0,r.jsx)("div",{className:"jsx-9ba07464c605aeef fh-dropdown-search",children:(0,r.jsx)("input",{type:"text",placeholder:"Search tokens…",value:G,onChange:e=>T(e.target.value),autoFocus:!0,className:"jsx-9ba07464c605aeef fh-search-input"})}),(0,r.jsx)("div",{className:"jsx-9ba07464c605aeef fh-token-list",children:et.length>0?et.map(e=>(0,r.jsxs)("button",{onClick:()=>er(e),className:"jsx-9ba07464c605aeef "+"fh-token-item".concat(a===e?" active":""),children:[(0,r.jsx)("span",{className:"jsx-9ba07464c605aeef",children:e}),a===e&&(0,r.jsx)("span",{className:"jsx-9ba07464c605aeef fh-token-dot"})]},e)):(0,r.jsxs)("div",{className:"jsx-9ba07464c605aeef fh-no-results",children:['No results for "',G,'"']})})]})]})]}),(0,r.jsxs)("div",{className:"jsx-9ba07464c605aeef fh-exch-wrap",children:[(0,r.jsxs)("button",{onClick:()=>D(!A),className:"jsx-9ba07464c605aeef fh-dropdown-btn",children:[(0,r.jsxs)("span",{className:"jsx-9ba07464c605aeef",children:[s.length," Exchange",1!==s.length?"s":""]}),(0,r.jsx)(h.A,{size:11,style:{color:"var(--text)",flexShrink:0,transition:"transform 150ms",transform:A?"rotate(180deg)":"none"}})]}),A&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("div",{onClick:()=>D(!1),className:"jsx-9ba07464c605aeef fh-overlay"}),(0,r.jsx)("div",{className:"jsx-9ba07464c605aeef fh-dropdown fh-exch-dropdown",children:(0,r.jsx)("div",{className:"jsx-9ba07464c605aeef fh-exch-list",children:J.map(e=>{var a,t,n;return(0,r.jsxs)("label",{className:"jsx-9ba07464c605aeef fh-exch-item",children:[(0,r.jsx)("input",{type:"checkbox",checked:s.includes(e),onChange:()=>ea(e),className:"jsx-9ba07464c605aeef"}),(0,r.jsx)("img",{src:null==(a=x.s8[e])?void 0:a.logo,alt:null==(t=x.s8[e])?void 0:t.name,className:"jsx-9ba07464c605aeef fh-exch-logo"}),(0,r.jsx)("span",{className:"jsx-9ba07464c605aeef fh-exch-name",children:null==(n=x.s8[e])?void 0:n.name}),(0,r.jsx)("div",{style:{background:E[e]},className:"jsx-9ba07464c605aeef fh-color-dot"})]},e)})})})]})]}),(0,r.jsx)("div",{className:"jsx-9ba07464c605aeef fh-toolbar-sep"}),(0,r.jsx)("div",{className:"jsx-9ba07464c605aeef fh-tf-group",children:k.map(e=>(0,r.jsx)("button",{onClick:()=>o(e.value),className:"jsx-9ba07464c605aeef "+"fh-tf-btn".concat(c===e.value?" active":""),children:e.label},e.value))}),(0,r.jsx)("div",{className:"jsx-9ba07464c605aeef fh-tf-group",children:N.map(e=>(0,r.jsx)("button",{onClick:()=>y(e.value),className:"jsx-9ba07464c605aeef "+"fh-tf-btn".concat(v===e.value?" active":""),children:e.label},e.value))})]}),(0,r.jsxs)("div",{ref:B,className:"jsx-9ba07464c605aeef fh-chart-container",children:[(0,r.jsxs)("div",{style:{position:"absolute",top:"42%",left:"50%",transform:"translate(-50%,-50%)",pointerEvents:"none",userSelect:"none",opacity:.13,zIndex:5,display:"flex",alignItems:"center",gap:10},className:"jsx-9ba07464c605aeef",children:[(0,r.jsx)("img",{src:"/images/logopng/logo.png",alt:"",width:42,he
1ight:42,style:{display:"block"},className:"jsx-9ba07464c605aeef"}),(0,r.jsx)("span",{style:{fontSize:20,fontFamily:"Geist,sans-serif",color:"var(--text)",letterSpacing:"-0.02em",whiteSpace:"nowrap"},className:"jsx-9ba07464c605aeef",children:"FundingView"})]}),K&&0===L.length&&(0,r.jsx)("div",{className:"jsx-9ba07464c605aeef fh-shimmer"}),q&&(0,r.jsxs)("div",{className:"jsx-9ba07464c605aeef fh-placeholder",children:[(0,r.jsx)("p",{className:"jsx-9ba07464c605aeef",children:"Error loading data"}),(0,r.jsx)("span",{className:"jsx-9ba07464c605aeef",children:q.message})]}),!K&&!q&&0===L.length&&(0,r.jsxs)("div",{className:"jsx-9ba07464c605aeef fh-placeholder",children:[(0,r.jsx)("p",{className:"jsx-9ba07464c605aeef",children:"No data available"}),(0,r.jsx)("span",{className:"jsx-9ba07464c605aeef",children:"Select exchanges and timeframe"})]})]})]}),(0,r.jsx)("div",{className:"jsx-9ba07464c605aeef fh-card",children:(0,r.jsx)("div",{className:"jsx-9ba07464c605aeef fh-table-wrap",children:(0,r.jsxs)("table",{className:"jsx-9ba07464c605aeef fh-table",children:[(0,r.jsx)("thead",{className:"jsx-9ba07464c605aeef",children:(0,r.jsxs)("tr",{className:"jsx-9ba07464c605aeef",children:[(0,r.jsx)("th",{className:"jsx-9ba07464c605aeef fh-th-left",children:"Exchange"}),(0,r.jsx)("th",{className:"jsx-9ba07464c605aeef fh-th-right",children:"Current Rate"}),(0,r.jsx)("th",{className:"jsx-9ba07464c605aeef fh-th-right",children:"Average"}),(0,r.jsx)("th",{className:"jsx-9ba07464c605aeef fh-th-right",children:"Min / Max"}),(0,r.jsx)("th",{className:"jsx-9ba07464c605aeef fh-th-right",children:"Price"}),(0,r.jsx)("th",{className:"jsx-9ba07464c605aeef fh-th-right",children:"Volume 24h"}),(0,r.jsx)("th",{className:"jsx-9ba07464c605aeef fh-th-right",children:"Open Interest"}),(0,r.jsx)("th",{className:"jsx-9ba07464c605aeef fh-th-right",children:"Leverage"})]})}),(0,r.jsx)("tbody",{className:"jsx-9ba07464c605aeef",children:s.map(e=>{var t,s,n,i,l;let c=null==Q||null==(s=Q[a])||null==(t=s.exchanges)?void 0:t[e],o=null;if(m.includes(e)){let a=V["".concat(e,"L")],t=V["".concat(e,"S")];o=a&&t?{currentL:a.current,currentS:t.current,avg:(a.avg+t.avg)/2,min:Math.min(a.min,t.min),max:Math.max(a.max,t.max)}:a||t}else o=V[e];return o||c?(0,r.jsxs)("tr",{className:"jsx-9ba07464c605aeef fh-tr",children:[(0,r.jsx)("td",{className:"jsx-9ba07464c605aeef fh-td fh-td-exch",children:(0,r.jsxs)("div",{className:"jsx-9ba07464c605aeef fh-exch-cell",children:[(0,r.jsx)("img",{src:null==(n=x.s8[e])?void 0:n.logo,alt:null==(i=x.s8[e])?void 0:i.name,className:"jsx-9ba07464c605aeef fh-table-logo"}),(0,r.jsx)("span",{className:"jsx-9ba07464c605aeef fh-table-exch-name",children:null==(l=x.s8[e])?void 0:l.name})]})}),(0,r.jsx)("td",{className:"jsx-9ba07464c605aeef fh-td fh-td-num",children:o?m.includes(e)&&void 0!==o.currentL?(0,r.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:2},className:"jsx-9ba07464c605aeef",children:[(0,r.jsxs)("span",{style:{color:o.currentL>=0?"var(--green)":"var(--red)",fontSize:12,fontFamily:"'JetBrains Mono',monospace",fontVariantNumeric:"tabular-nums"},className:"jsx-9ba07464c605aeef",children:[(0,b.ZV)(o.currentL,3),"% (L)"]}),(0,r.jsxs)("span",{style:{color:o.currentS>=0?"var(--green)":"var(--red)",fontSize:12,fontFamily:"'JetBrains Mono',monospace",fontVariantNumeric:"tabular-nums"},className:"jsx-9ba07464c605aeef",children:[(0,b.ZV)(o.currentS,3),"% (S)"]})]}):(0,r.jsxs)("span",{style:{color:o.current>=0?"var(--green)":"var(--red)"},className:"jsx-9ba07464c605aeef fh-rate",children:[(0,b.ZV)(o.current,3),"%"]}):(0,r.jsx)("span",{className:"jsx-9ba07464c605aeef fh-dash",children:"\xb7"})}),(0,r.jsx)("td",{className:"jsx-9ba07464c605aeef fh-td fh-td-num",children:o?(0,r.jsxs)("span",{className:"jsx-9ba07464c605aeef fh-mono",children:[(0,b.ZV)(o.avg,3),"%"]}):(0,r.jsx)("span",{className:"jsx-9ba07464c605aeef fh-dash",children:"\xb7"})}),(0,r.jsx)("td",{className:"jsx-9ba07464c605aeef fh-td fh-td-num",children:o?(0,r.jsxs)("span",{className:"jsx-9ba07464c605aeef fh-mono",children:[(0,b.ZV)(o.min,2),"% / ",(0,b.ZV)(o.max,2),"%"]}):(0,r.jsx)("span",{className:"jsx-9ba07464c605aeef fh-dash",children:"\xb7"})}),(0,r.jsx)("td",{className:"jsx-9ba07464c605aeef fh-td fh-td-num",children:c?(0,r.jsxs)("span",{className:"jsx-9ba07464c605aeef fh-mono",children:["$",(0,b.ZV)(c.price||0,3)]}):(0,r.jsx)("span",{className:"jsx-9ba07464c605aeef fh-dash",children:"\xb7"})}),(0,r.jsx)("td",{className:"jsx-9ba07464c605aeef fh-td fh-td-num",children:c?(0,r.jsxs)("span",{className:"jsx-9ba07464c605aeef fh-mono",children:["$",(c.volume24h||0)>1e6?(0,b.ZV)((c.volume24h||0)/1e6,1)+"M":(0,b.ZV)((c.volume24h||0)/1e3,1)+"K"]}):(0,r.jsx)("span",{className:"jsx-9ba07464c605aeef fh-dash",children:"\xb7"})}),(0,r.jsx)("td",{className:"jsx-9ba07464c605aeef fh-td fh-td-num",children:c?(0,r.jsxs)("span",{className:"jsx-9ba07464c605aeef fh-mono",children:["$",(c.openInterest||0)>1e6?(0,b.ZV)((c.openInterest||0)/1e6,1)+"M":(0,b.ZV)((c.openInterest||0)/1e3,1)+"K"]}):(0,r.jsx)("span",{className:"jsx-9ba07464c605aeef fh-dash",children:"\xb7"})}),(0,r.jsx)("td",{className:"jsx-9ba07464c605aeef fh-td fh-td-num",children:c?(0,r.jsxs)("span",{className:"jsx-9ba07464c605aeef fh-mono",children:[c.maxLeverage||"N/A","x"]}):(0,r.jsx)("span",{className:"jsx-9ba07464c605aeef fh-dash",children:"\xb7"})})]},e):null})})]})})})]}),(0,r.jsx)(n(),{id:"9ba07464c605aeef",children:'.fh-tf-group.jsx-9ba07464c605aeef{display:flex;gap:0;border:1px solid var(--border);border-radius:6px;overflow:hidden}.fh-tf-btn.jsx-9ba07464c605aeef{padding:5px 12px;background:#fff;color:var(--text);border:none;border-radius:0;font-size:11px;cursor:pointer;font-family:"Geist";letter-spacing:-.005em;transition:all.15s}.fh-tf-btn.jsx-9ba07464c605aeef:hover{color:var(--text);background:var(--bg-secondary)}[data-theme="dark"] .fh-tf-btn.jsx-9ba07464c605aeef{background:var(--bg)}[data-theme="dark"] .fh-tf-btn.jsx-9ba07464c605aeef:hover{background:var(--bg-secondary)}.fh-tf-btn.active.jsx-9ba07464c605aeef{font-family:"GeistSans"}.fh-outer.jsx-9ba07464c605aeef{display:flex;flex-direction:column;gap:7px}.fh-card.jsx-9ba07464c605aeef{background:var(--table-bg);border:1px solid var(--border);border-radius:6px;overflow:hidden}.fh-toolbar.jsx-9ba07464c605aeef{display:flex;align-items:center;gap:7px;padding:7px;flex-wrap:wrap}.fh-toolbar-sep.jsx-9ba07464c605aeef{flex:1}.fh-token-wrap.jsx-9ba07464c605aeef,.fh-exch-wrap.jsx-9ba07464c605aeef{position:relative}.fh-dropdown-btn.jsx-9ba07464c605aeef{display:flex;align-items:center;gap:6px;padding:5px 12px;background:transparent;border:1px solid var(--border);border-radius:6px;font-size:11px;color:var(--text);cursor:pointer;font-family:"Geist",sans-serif;letter-spacing:-.005em;white-space:nowrap;transition:border-color 120ms}.fh-overlay.jsx-9ba07464c605aeef{position:fixed;inset:0;z-index:998}.fh-dropdown.jsx-9ba07464c605aeef{position:absolute;top:calc(100% + 6px);left:0;background:var(--bg);border:1px solid var(--border);border-radius:6px;box-shadow:0 8px 24px rgba(0,0,0,.1);z-index:999;
1min-width:200px;display:flex;flex-direction:column;overflow:hidden}.fh-exch-dropdown.jsx-9ba07464c605aeef{min-width:240px;max-height:360px}.fh-dropdown-search.jsx-9ba07464c605aeef{flex-shrink:0}.fh-search-input.jsx-9ba07464c605aeef{width:100%;padding:7px 12px;border:none;border-bottom:1px solid var(--border);font-size:11px;color:var(--text);background:var(--bg);font-family:"Geist",sans-serif;letter-spacing:-.005em;box-sizing:border-box;outline:none}.fh-search-input.jsx-9ba07464c605aeef::placeholder{color:var(--text)}.fh-token-list.jsx-9ba07464c605aeef{overflow-y:auto;max-height:260px;flex:1}.fh-token-item.jsx-9ba07464c605aeef{display:flex;align-items:center;justify-content:space-between;width:100%;padding:7px 12px;background:transparent;border:none;font-size:12px;color:var(--text);cursor:pointer;font-family:"Geist",sans-serif;letter-spacing:-.005em;text-align:left;transition:background 80ms}.fh-token-item.jsx-9ba07464c605aeef:hover{background:var(--bg-secondary)}.fh-token-item.active.jsx-9ba07464c605aeef{color:var(--brand)}.fh-token-dot.jsx-9ba07464c605aeef{width:5px;height:5px;border-radius:50%;background:var(--brand);flex-shrink:0}.fh-no-results.jsx-9ba07464c605aeef{padding:32px 16px;text-align:center;color:var(--text);font-size:13px;font-family:"Geist",sans-serif}.fh-exch-list.jsx-9ba07464c605aeef{overflow-y:auto;padding:6px;flex:1}.fh-exch-item.jsx-9ba07464c605aeef{display:flex;align-items:center;gap:8px;padding:8px 10px;cursor:pointer;border-radius:6px;font-family:"Geist",sans-serif;transition:background 100ms}.fh-exch-item.jsx-9ba07464c605aeef:hover{background:var(--bg)}.fh-exch-item.jsx-9ba07464c605aeef input.jsx-9ba07464c605aeef{width:15px;height:15px;cursor:pointer;accent-color:var(--brand);flex-shrink:0}.fh-exch-logo.jsx-9ba07464c605aeef{width:22px;height:22px;object-fit:cover;border-radius:4px;flex-shrink:0}.fh-exch-name.jsx-9ba07464c605aeef{flex:1;font-size:13px;color:var(--text)}.fh-color-dot.jsx-9ba07464c605aeef{width:10px;height:10px;border-radius:50%;flex-shrink:0}.fh-chart-container.jsx-9ba07464c605aeef{width:100%;height:420px;position:relative;background:var(--table-bg)}.fh-shimmer.jsx-9ba07464c605aeef{position:absolute;inset:0;z-index:10;background:linear-gradient(90deg,#f0f0f0 25%,#e8e8e8 50%,#f0f0f0 75%);background-size:200%100%;animation:fh-shimmer 1.4s infinite}[data-theme="dark"] .fh-shimmer.jsx-9ba07464c605aeef{background:linear-gradient(90deg,#261e1e 25%,#363030 50%,#261e1e 75%);background-size:200%100%}@keyframes fh-shimmer{0%{background-position:200%0}100%{background-position:-200%0}}.fh-placeholder.jsx-9ba07464c605aeef{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;z-index:10}.fh-placeholder.jsx-9ba07464c605aeef p.jsx-9ba07464c605aeef{font-size:15px;color:var(--text);margin:0;font-family:"Geist",sans-serif}.fh-placeholder.jsx-9ba07464c605aeef span.jsx-9ba07464c605aeef{font-size:13px;color:var(--text);font-family:"Geist",sans-serif}.fh-table-wrap.jsx-9ba07464c605aeef{overflow-x:auto}.fh-table.jsx-9ba07464c605aeef{width:100%;border-collapse:collapse;font-family:"Geist",sans-serif}.fh-th-left.jsx-9ba07464c605aeef,.fh-th-right.jsx-9ba07464c605aeef{padding:10px 14px;font-size:11px;color:var(--text);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--border);white-space:nowrap}.fh-th-left.jsx-9ba07464c605aeef{text-align:left}.fh-th-right.jsx-9ba07464c605aeef{text-align:right}.fh-tr.jsx-9ba07464c605aeef{border-bottom:1px solid var(--border)}.fh-tr.jsx-9ba07464c605aeef:last-child{border-bottom:none}.fh-tr.jsx-9ba07464c605aeef:hover{background:var(--bg)}.fh-td.jsx-9ba07464c605aeef{padding:10px 14px;font-size:13px;color:var(--text)}.fh-td-exch.jsx-9ba07464c605aeef{white-space:nowrap}.fh-td-num.jsx-9ba07464c605aeef{text-align:right;white-space:nowrap}.fh-exch-cell.jsx-9ba07464c605aeef{display:flex;align-items:center;gap:10px}.fh-table-logo.jsx-9ba07464c605aeef{width:24px;height:24px;object-fit:cover;border-radius:4px;flex-shrink:0}.fh-table-exch-name.jsx-9ba07464c605aeef{font-size:13px;color:var(--text)}.fh-rate.jsx-9ba07464c605aeef{font-family:"JetBrains Mono",monospace;font-size:13px;font-variant-numeric:tabular-nums}.fh-mono.jsx-9ba07464c605aeef{font-family:"JetBrains Mono",monospace;font-size:12px;color:var(--text);font-variant-numeric:tabular-nums}
1.fh-dash.jsx-9ba07464c605aeef{color:var(--text);font-size:13px}@media(max-width:768px){.fh-toolbar.jsx-9ba07464c605aeef{gap:5px}.fh-chart-container.jsx-9ba07464c605aeef{height:300px}.fh-token-grid.jsx-9ba07464c605aeef{grid-template-columns:repeat(2,1fr)}.fh-th-left.jsx-9ba07464c605aeef,.fh-th-right.jsx-9ba07464c605aeef,.fh-td.jsx-9ba07464c605aeef{padding:8px 10px}}'})]})});v.displayName="FundingHistory";var y=t(8860),k=t(9826);let N=[{value:"24h",label:"24h",hours:24},{value:"7d",label:"7d",hours:168},{value:"30d",label:"30d",hours:720},{value:"90d",label:"90d",hours:2160},{value:"all",label:"All Time",hours:null}],w=[{value:"1h",label:"1h",multiplier:1},{value:"8h",label:"8h",multiplier:8},{value:"1y",label:"APR (1y)",multiplier:8760}],S=["BTC","ETH","SOL","AVAX","LINK","UNI","AAVE","MATIC"];function E(){let[e,a]=(0,y.ZA)("symbol",y.tU.withDefault("BTC")),[t,s]=(0,y.ZA)("tf",y.tU.withDefault("30d")),[l,f]=(0,i.useState)(()=>{{let e=localStorage.getItem("selectedExchangesHistory");if(e)return JSON.parse(e)}return["paradex","ext","hyperliquid","lighter","variational"]});(0,i.useEffect)(()=>{localStorage.setItem("selectedExchangesHistory",JSON.stringify(l))},[l]);let d=(0,i.useRef)(l),h=(0,i.useCallback)(e=>{let a=new Set(d.current),t=new Set(e);for(let e of t)a.has(e)||(0,k.fm)(e,!0,{total:t.size});for(let e of a)t.has(e)||(0,k.fm)(e,!1,{total:t.size});d.current=e,f(e)},[]),[b,m]=(0,i.useState)("1y"),[p,g]=(0,i.useState)(S),j=(0,i.useMemo)(()=>(function(e){let a=Object.keys(e).sort(),t=function(e){let a=["#1f77b4","#ff7f0e","#2ca02c","#d62728","#9467bd","#8c564b","#e377c2","#7f7f7f","#bcbd22","#17becf","#ff1493","#00ced1","#ffa500","#6a5acd","#3cb371"];if(e>a.length){let t=function(e){let a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:70,t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:50,r=[],s=Math.random();for(let n=0;n<e;n++){s+=.618033988749895;let e=function(e,a,t){let r=(1-Math.abs(2*(t/=100)-1))*(a/=100),s=r*(1-Math.abs(e/60%2-1)),n=t-r/2,i=0,l=0,c=0;0<=e&&e<60?(i=r,l=s,c=0):60<=e&&e<120?(i=s,l=r,c=0):120<=e&&e<180?(i=0,l=r,c=s):180<=e&&e<240?(i=0,l=s,c=r):240<=e&&e<300?(i=s,l=0,c=r):300<=e&&e<360&&(i=r,l=0,c=s);let o=e=>{let a=Math.round((e+n)*255).toString(16);return 1===a.length?"0"+a:a};return"#".concat(o(i)).concat(o(l)).concat(o(c))}(Math.floor(360*(s%=1)),a,t);r.push(e)}return r}(e-a.length,75,55);return[...a,...t]}return a.slice(0,e)}(a.length),r={};return a.forEach((e,a)=>{r[e]=t[a]}),r})(x.s8),[]);return(0,i.useEffect)(()=>{(0,u.GO)(u.Sn.funding).then(e=>{g([...new Set(e.map(e=>e.symbol))].sort())}).catch(()=>{})},[]),(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(o.Ay,{title:"History Explorer - Funding Rate Charts & Historical Data",description:"Explore historical funding rate data across 15+ perpetual exchanges. Visualize trends, compare rates between exchanges, and identify recurring arbitrage patterns with interactive charts.",keywords:"funding rate history, perpetual funding rates, crypto arbitrage history, funding analytics, historical funding data, funding rate charts",path:"/history-explorer"}),(0,r.jsx)(c(),{children:(0,r.jsx)("script",{type:"application/ld+json",dangerouslySetInnerHTML:{__html:JSON.stringify((0,o.WO)([{name:"Home",url:"https://fundingview.app"},{name:"History Explorer",url:"https://fundingview.app/history-explorer"}]))},className:"jsx-db45783a6e3c4d37"})}),(0,r.jsx)("div",{className:"jsx-db45783a6e3c4d37 he-page",children:(0,r.jsxs)("div",{className:"jsx-db45783a6e3c4d37 he-wrapper",children:[(0,r.jsxs)("div",{className:"jsx-db45783a6e3c4d37 he-desc-card",children:["Visualize ",(0,r.jsx)("strong",{className:"jsx-db45783a6e3c4d37",children:"funding rate history"})," across exchanges \xb7 spot trends, compare arbitrage spreads, identify recurring patterns."]}),(0,r.jsx)(v,{symbol:e,onSymbolChange:a,selectedExchanges:l,onExchangesChange:h,timeframe:t,onTimeframeChange:s,rateFormat:b,onRateFormatChange:m,timeframes:N,rateFormats:w,popularSymbols:S,availableTokens:p,exchangeColorMap:j})]})}),(0,r.jsx)(n(),{id:"db45783a6e3c4d37",children:'.he-page.jsx-db45783a6e3c4d37{min-height:100vh;background:var(--bg-secondary);margin-top:7px;margin-right:7px}.he-wrapper.jsx-db45783a6e3c4d37{margin:0 auto;padding-bottom:48px}.he-desc-card.jsx-db45783a6e3c4d37{background:linear-gradient(90deg,rgba(207,0,0,.1)0%,var(--bg)50%,rgba(207,0,0,.1)100%);border:1px solid rgba(207,0,0,.15);border-radius:6px;padding:14px 24px;margin-bottom:7px;font-size:13px;color:var(--text);font-family:"Geist",sans-serif;text-align:center;line-height:1.5}.he-desc-card.jsx-db45783a6e3c4d37 strong.jsx-db45783a6e3c4d37{color:var(--brand);font-weight:600}'})]})}},8950:(e,a,t)=>{(window.__NEXT_P=window.__NEXT_P||[]).push(["/history-explorer",function(){return t(8689)}])}},e=>{e.O(0,[558,123,860,224,636,593,792],()=>e(e.s=8950)),_N_E=e.O()}]);

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.