1import{q as L,j as e}from"./vendor-trading-D1p3lq87.js";import{r as C}from"./vendor-icons-6ckh54d_.js";import{P as T}from"./PageSEO-D5QLkR79.js";import{S as I}from"./SiteHeader-BuEhw28K.js";import{H as k}from"./Home2Footer-DjxO6I_x.js";import{O as B}from"./OrderlyConnect-D8NMU3_e.js";import{u as j,c as F,d as G,i as W,C as X,T as V,j as H,M as J,A as $,k as Y,l as q,P as z,F as K}from"./TradingView-BMVZS5tU.js";import{j as Q,e as Z}from"./vendor-web3-BzpTdpCw.js";import{d as p,p as N}from"./App-DuU1U4az.js";import{e as ee,u as re,d as te}from"./vendor-react-DQUjuWkt.js";import"./vendor-firebase-BholX5ft.js";import"./home2-CFGPzgUz.js";import"./useTradeHistory-BfpBBIFD.js";import"./LeverageRiskPanel-CZFvysgy.js";const w=new Set(["SPX500","NAS100","XAU","XAG","PAXG","AAPL","MSFT","GOOGL","AMZN","META","NVDA","TSLA","AVGO","AMD","INTC","QCOM","ADBE","NFLX","CRM","ORCL","CSCO","IBM","NOW","SNOW","CRWD","DDOG","NET","MSTR","COIN","HOOD","SOFI","PLTR","SHOP","SQ","JPM","BAC","WFC","GS","MS","C","SCHW","BLK","PYPL","V","MA","WMT","COST","TGT","HD","LOW","NKE","SBUX","MCD","DIS","CMCSA","JNJ","UNH","ABBV","PFE","MRNA","LLY","XOM","CVX","COP","BA","CAT","GE","UPS","FDX","LMT","BABA","JD","PDD","RIVN","LCID","NIO"]),v=["PERP_SPX500_USDC","PERP_NAS100_USDC","PERP_XAU_USDC","PERP_XAG_USDC","PERP_PAXG_USDC","PERP_NVDA_USDC","PERP_AAPL_USDC","PERP_MSFT_USDC","PERP_GOOGL_USDC","PERP_AMZN_USDC","PERP_META_USDC","PERP_TSLA_USDC","PERP_AVGO_USDC","PERP_AMD_USDC","PERP_MSTR_USDC","PERP_COIN_USDC","PERP_INTC_USDC","PERP_QCOM_USDC","PERP_ADBE_USDC","PERP_NFLX_USDC","PERP_CRM_USDC","PERP_ORCL_USDC","PERP_CSCO_USDC","PERP_IBM_USDC","PERP_NOW_USDC","PERP_SNOW_USDC","PERP_CRWD_USDC","PERP_DDOG_USDC","PERP_NET_USDC","PERP_HOOD_USDC","PERP_SOFI_USDC","PERP_PLTR_USDC","PERP_SHOP_USDC","PERP_JPM_USDC","PERP_BAC_USDC","PERP_GS_USDC","PERP_MS_USDC","PERP_PYPL_USDC","PERP_V_USDC","PERP_MA_USDC","PERP_WMT_USDC","PERP_COST_USDC","PERP_HD_USDC","PERP_DIS_USDC","PERP_JNJ_USDC","PERP_UNH_USDC","PERP_XOM_USDC","PERP_BA_USDC","PERP_BABA_USDC","PERP_RIVN_USDC"],se={PERP_SPX500_USDC:"S&P 500",PERP_NAS100_USDC:"Nasdaq 100",PERP_XAU_USDC:"Gold",PERP_XAG_USDC:"Silver",PERP_PAXG_USDC:"PAX Gold",PERP_GOOGL_USDC:"Alphabet",PERP_TSLA_USDC:"Tesla",PERP_NVDA_USDC:"NVIDIA",PERP_AAPL_USDC:"Apple",PERP_MSFT_USDC:"Microsoft",PERP_META_USDC:"Meta",PERP_AMZN_USDC:"Amazon",PERP_MSTR_USDC:"MicroStrategy",PERP_AVGO_USDC:"Broadcom",PERP_AMD_USDC:"AMD",PERP_INTC_USDC:"Intel",PERP_QCOM_USDC:"Qualcomm",PERP_ADBE_USDC:"Adobe",PERP_NFLX_USDC:"Netflix",PERP_CRM_USDC:"Salesforce",PERP_ORCL_USDC:"Oracle",PERP_CSCO_USDC:"Cisco",PERP_IB
1M_USDC:"IBM",PERP_NOW_USDC:"ServiceNow",PERP_SNOW_USDC:"Snowflake",PERP_CRWD_USDC:"CrowdStrike",PERP_DDOG_USDC:"Datadog",PERP_NET_USDC:"Cloudflare",PERP_COIN_USDC:"Coinbase",PERP_HOOD_USDC:"Robinhood",PERP_SOFI_USDC:"SoFi",PERP_PLTR_USDC:"Palantir",PERP_SHOP_USDC:"Shopify",PERP_SQ_USDC:"Block (Square)",PERP_JPM_USDC:"JPMorgan",PERP_BAC_USDC:"Bank of America",PERP_WFC_USDC:"Wells Fargo",PERP_GS_USDC:"Goldman Sachs",PERP_MS_USDC:"Morgan Stanley",PERP_C_USDC:"Citigroup",PERP_SCHW_USDC:"Charles Schwab",PERP_BLK_USDC:"BlackRock",PERP_PYPL_USDC:"PayPal",PERP_V_USDC:"Visa",PERP_MA_USDC:"Mastercard",PERP_WMT_USDC:"Walmart",PERP_COST_USDC:"Costco",PERP_TGT_USDC:"Target",PERP_HD_USDC:"Home Depot",PERP_LOW_USDC:"Lowe's",PERP_NKE_USDC:"Nike",PERP_SBUX_USDC:"Starbucks",PERP_MCD_USDC:"McDonald's",PERP_DIS_USDC:"Disney",PERP_CMCSA_USDC:"Comcast",PERP_JNJ_USDC:"Johnson & Johnson",PERP_UNH_USDC:"UnitedHealth",PERP_ABBV_USDC:"AbbVie",PERP_PFE_USDC:"Pfizer",PERP_MRNA_USDC:"Moderna",PERP_LLY_USDC:"Eli Lilly",PERP_XOM_USDC:"Exxon Mobil",PERP_CVX_USDC:"Chevron",PERP_COP_USDC:"ConocoPhillips",PERP_BA_USDC:"Boeing",PERP_CAT_USDC:"Caterpillar",PERP_GE_USDC:"GE",PERP_UPS_USDC:"UPS",PERP_FDX_USDC:"FedEx",PERP_LMT_USDC:"Lockheed Martin",PERP_BABA_USDC:"Alibaba",PERP_JD_USDC:"JD.com",PERP_PDD_USDC:"PDD Holdings",PERP_RIVN_USDC:"Rivian",PERP_LCID_USDC:"Lucid",PERP_NIO_USDC:"NIO"};function E(t){return t?se[t]||t.replace(/^PERP_/,"").replace(/_USDC$/,""):""}function y(t){return!t?.startsWith("PERP_")||!t.endsWith("_USDC")?null:t.slice(5,-5)}function oe(t){if(!t)return null;if(t.change!=null&&!Number.isNaN(Number(t.change)))return Number(t.change);const r=Number(t["24h_open"]??t.open),c=Number(t["24h_close"]??t.mark_price);return!Number.isFinite(r)||!Number.isFinite(c)||r===0?null:(c-r)/r}function ae(t,r,c){const d=new Map((c||[]).map(o=>[o.symbol,o])),_=new Map((t||[]).map(o=>[o.symbol,o])),D=[];for(const o of r||[]){const P=o.symbol;if(!P?.startsWith("PERP_")||o.status&&o.status!=="ACTIVE")continue;const u=y(P);!u||!w.has(u)||D.push(P)}const s=[...new Set(D)],a=new Set(s);function i(o){const P=_.get(o),u=d.get(o),U=E(o),h=P?.["24h_close"]??u?.["24h_close"]??u?.mark_price,f=P?.change??oe(u);return P?{...P,label:P.label||U,"24h_close":h??P["24h_close"],change:f??P.change}:{symbol:o,label:U,"24h_close":h,change:f}}const n=[],S=new Set;for(const o of v)a.has(o)&&(n.push(i(o)),S.add(o));const R=s.filter(o=>!S.has(o)).sort((o,P)=>E(o).localeCompare(E(P),void 0,{sensitivity:"base"}));for(const o of R)n.push(i(o));return n}function ne(t){if(!t?.length)return[];const r=new Map(t.map(s=>[s.symbol,s])),c=new Set;for(const s of t){const a=s.symbol;if(!a)continue;const i=y(a);!i||!w.has(i)||c.add(a)}const d=[],_=new Set;for(const s of v){if(!c.has(s)||!r.has(s))continue;const a=r.get(s),i=E(s);d.push(a.label?a:{...a,label:i}),_.add(s)}const D=[...c].filter(s=>!_.has(s)&&r.has(s)).map(s=>{const a=r.get(s),i=E(s);return a.label?a:{...a,label:i}}).sort((s,a)=>(s.label||s.symbol||"").localeCompare(a.label||a.symbol||"",void 0,{sensitivity:"base"}));return[...d,...D]}const b="PERP_NVDA_USDC";function ie(){const r=L()?.get?.("apiBaseUrl")||"https://api-evm.orderly.org",{markets:c,isLoading:d}=j(),{data:_,isLoading:D,isError:s}=Q({queryKey:["orderly-rwa-public-bundle",r],queryFn:async()=>{const n=String(r).replace(/\/$/,""),[S,R]=await Promise.all([fetch(`${n}/v1/public/info`),fetch(`${n}/v1/public/futures`)]);if(!S.ok)throw new Error("iotrader public info");if(!R.ok)throw new Error("iotrader public futures");const[o,P]=await Promise.all([S.json(),R.json()]);return{infoRows:o?.data?.rows||[],futuresRows:P?.data?.rows||[]}},staleTime:6e4}),a=C.useMemo(()=>!s&&_&&Array.isArray(_.infoRows)&&Array.isArray(_.futuresRows)?ae(c||[],_.infoRows,_.futuresRows):ne(c||[]),[c,_,s]),i=d||D&&_==null&&!s;return{markets:a,isLoading:i}}function M(t){return`/trade/stocks/${p(t)}`}const le=[{evmChainId:1},{evmChainId:42161},{evmChainId:8453},{evmChainId:56},{evmChainId:11155111}],Pe=[{value:"1M",label:"1M"},{value:"5M",label:"5M"},{value:"15M",label:"15M"},{value:"1H",label:"1H"},{value:"1D",label:"1D"}],ce=` 2 @keyframes scroll { 3 0% { transform: translate3d(0, 0, 0); } 4 100% { transform: translate3d(-100%, 0, 0); } 5 } 6 .animate-scroll { 7 animation: scroll 60s linear infinite; 8 will-change: transform; 9 backface-visibility: hidden; 10 perspective: 1000px; 11 } 12 @keyframes scroll-announcement-stock { 13 0% { transform: translateX(0); } 14 100% { transform: translateX(-20%); } 15 } 16 .animate-scroll-announcement-stock { 17 animation: scroll-announcement-stock 15s linear infinite; 18 display: flex; 19 will-change: transform; 20 } 21 @media (prefers-reduced-motion: reduce) { 22 .animate-scroll, .animate-scroll-announcement-stock { 23 animation: none !important; 24 } 25 } 26`;function O(){return e.jsxs(e.Fragment,{children:[e.jsx("style",{children:ce}),e.jsx(I,{}),e.jsx("div",{className:"w-full bg-gradient-to-r from-emerald-700/25 via-cyan-600/25 to-emerald-700/25 border-b border-emerald-500/30 h-8 flex items-center overflow-hidden relative z-[59]",children:e.jsx("div",{className:"flex animate-scroll-announcement-stock whitespace-nowrap",style:{width:"500%"},children:[...Array(5)].map((t,r)=>e.jsx("div",{className:"flex items-center mx-8 space-x-3 flex-shrink-0",children:e.jsx("span",{className:"text-emerald-200/95 font-bold text-sm tracking-wide",children:"Stocks Trading with crypto live"})},r))})})]})}const xe=()=>{const t=Z(),{pair:r}=ee(),[c]=re(),d=te(),[_,D]=C.useState("5M"),{markets:s}=ie(),a=C.useMemo(()=>s||[],[s]),i=C.useMemo(()=>new Set(a.map(l=>
26l.symbol).filter(Boolean)),[a]),n=C.useMemo(()=>{const l=b;if(r!=null&&r!=="")return N(r,i.size?i:null,{fallbackSymbol:l});const m=c.get("symbol");return m?.startsWith("PERP_")?m:l},[r,i,c]),S=C.useMemo(()=>a.find(m=>m.symbol===n)?.label||n.replace(/^PERP_/i,"").replace(/_/g,"/"),[a,n]),R=F(n),o=G(n),P=W(n);C.useEffect(()=>{if(r==null||r===""||!i.size)return;const l=N(r,i,{fallbackSymbol:b}),m=p(l);r!==m&&d(`/trade/stocks/${m}`,{replace:!0})},[r,i,d]),C.useEffect(()=>{if(!i.size||i.has(n))return;const l=a[0]?.symbol||b;d(M(l),{replace:!0})},[i,n,a,d]);const u=le.some(l=>l.evmChainId===t),U={"1M":"1","5M":"5","15M":"15","1H":"60","1D":"1D"}[_]||"5",h=C.useCallback(()=>{},[]),f=C.useCallback(l=>{d(M(l))},[d]),x=e.jsxs("div",{className:"relative w-full h-full min-h-0 flex flex-col flex-1",children:[e.jsxs("div",{className:"absolute top-2 left-8 flex flex-row items-center gap-2 z-20 pb-2",children:[e.jsx("span",{className:"flex items-center text-xs font-medium text-gray-400 shrink-0",children:"Time Range"}),Pe.map(l=>e.jsx("button",{type:"button",onClick:()=>D(l.value),className:`flex flex-row justify-center items-center px-1 py-0.5 rounded transition-all cursor-pointer shrink-0 ${_===l.value?"bg-emerald-500 text-black text-sm font-bold":"bg-white/5 text-gray-400 text-sm font-normal hover:bg-white/10 hover:text-white border border-white/10"}`,children:l.label},l.value))]}),e.jsx("div",{className:"relative w-full flex-1 min-h-0 max-lg:min-h-[220px] lg:min-h-[480px]",children:e.jsx(X,{symbol:n,interval:U,showCustomToolbar:!0})})]}),A=e.jsx(z,{symbol:n}),g=e.jsx(K,{symbol:n,onPriceClick:h,orderBookPriceLabel:"USDC",orderBookSizeLabel:"USDT",orderBookTotalLabel:"USDT"},n);return u?e.jsxs(e.Fragment,{children:[e.jsx(T,{url:r?`/trade/stocks/${p(n)}`:"/trade/stocks/NVDA_USDC",title:r?`Trade ${S} Stock Perpetuals`:"Trade Stocks & Index Perpetuals",description:r?`Trade ${S} as a USDC-margined perpetual on IO Trader with real-time charts, depth, and long or short positions.`:"Trade NVIDIA, Tesla, Alphabet, S&P 500, Nasdaq 100, gold, and silver as USDC-margined perpetuals on IO Trader.",keywords:`${S}, stock perpetuals, RWA, USDC margin, NVDA, TSLA, SPX500, IO Trader`,imageAlt:`IO Trader â ${S} stock and index perpetuals`}),e.jsxs("div",{className:"flex flex-col min-h-[100dvh] lg:min-h-screen bg-[#080808] overflow-x-hidden lg:overflow-visible pb-[env(safe-area-inset-bottom)]",children:[e.jsx(O,{}),e.jsx(B,{}),e.jsx(V,{value:{disableTooltipsOnMobile:!0},children:e.jsx(H,{header:e.jsx(q,{markets:a,symbol:n,onSymbolChange:f,ticker:R,fundingRate:o,derivatives:P}),chart:x,orderBook:g,rightPanel:A,bottomTabs:e.jsx(Y,{symbol:n}),account:e.jsx($,{}),mobileTabs:e.jsx(J,{chart:x,orderBook:g,orderEntry:A,symbol:n})})}),e.jsx(k,{})]})]}):e.jsxs(e.Fragment,{children:[e.jsx(T,{url:r?`/trade/stocks/${p(n)}`:"/trade/stocks/NVDA_USDC",title:r?`Trade ${S} Stock Perpetuals`:"Trade Stocks & Index Perpetuals",description:r?`Trade ${S} as a USDC-margined perpetual on IO Trader with real-time charts, depth, and long or short positions.`:"Trade NVIDIA, Tesla, Alphabet, S&P 500, Nasdaq 100, gold, and silver as USDC-margined perpetuals on IO Trader.",keywords:`${S}, stock perpetuals, RWA, USDC margin, NVDA, TSLA, SPX500, IO Trader`,imageAlt:`IO Trader â ${S} stock and index perpetuals`}),e.jsxs("div",{className:"flex min-h-screen flex-col bg-[#080808] text-white font-sans",children:[e.jsx(O,{}),e.jsx("div",{className:"flex w-full flex-1 items-center justify-center",children:e.jsx("div",{className:"max-w-md p-8 bg-[color:var(--color-background-secondary)] border border-[color:var(--color-border-strong)] rounded-2xl",children:e.jsxs("div",{className:"flex flex-col items-center gap-4 text-center",children:[e.jsx("div",{className:"w-16 h-16 rounded-full bg-rose-500/10 flex items-center justify-center",children:e.jsx("svg",{className:"w-8 h-8 text-rose-400",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:e.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-3L13.732 4c-.77-1.333-2.694-1.333-3.464 0L3.34 16c-.77 1.333.192 3 1.732 3z"})})}),e.jsx("h2",{className:"text-xl font-bold text-white",children:"Unsupported Network"}),e.jsx("p",{className:"text-gray-400 text-sm leading-relaxed",children:"Stock and index perpetuals require Ethereum, Arbitrum, BNB Chain, or Sepolia. Switch network in your wallet to continue."}),e.jsxs("div",{className:"mt-2 text-xs text-gray-500",children:["Current Chain ID: ",t]})]})})}),e.jsx(k,{})]})]})};export{xe as default};
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.