PageSourceSearch

https://alpinegold.exchange/scripts/810.ce1b95516917241b1ec9.js

js alpinegold.exchange collected 2026-09-30 11:20:42 UTC 23,901 bytes, 1 lines download raw bytes

1"use strict";(self.webpackChunkdigital_world_trader=self.webpackChunkdigital_world_trader||[]).push([[810],{20810:function(e,t,a){a.r(t),a.d(t,{default:function(){return b}}),a(35890);var n=a(96540),o=a.n(n),r=a(5556),i=a.n(r),s=a(97807),l=a(22842),c=a(87084);function d({data:e}){const t=(0,n.useRef)(),a=(0,n.useRef)();return(0,n.useEffect)(()=>{if(!t.current)return;const n=(0,c.R9)(t.current,{width:t.current.clientWidth,height:300,layout:{background:{color:"#222"},textColor:"#fff"},grid:{vertLines:{color:"#444"},horzLines:{color:"#444"}},rightPriceScale:{borderColor:"#555"},timeScale:{borderColor:"#555"}});function o(){n.applyOptions({width:t.current.clientWidth})}return a.current=n,n.addAreaSeries({topColor:"rgba(0,255,0,0.3)",bottomColor:"rgba(0,255,0,0.0)",lineColor:"#00ff00",lineWidth:2}).setData(e),n.timeScale().fitContent(),window.addEventListener("resize",o),()=>{window.removeEventListener("resize",o),n.remove()}},[e]),o().createElement("div",{ref:t,style:{width:"100%",height:300}})}var u=a(35105);const m="https://digitalworld.market/api";function p(){return fetch(`${m}/prices/latest?symbol=NATIVE`).then(e=>e.json()).then(e=>e.price||0)}async function g({S0:e,mu:t,sigma:a,days:n,seed:o}){const r=await fetch(`${m}/price-projection/simulate`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({S0:e,mu:t,sigma:a,days:n,seed:o})});return(await r.json()).prices}function f(e,t){return e.map((e,a)=>({time:Math.floor((t.getTime()+864e5*a)/1e3),value:e}))}function h({d:e}){const[t,a]=(0,n.useState)(null),[r,i]=(0,n.useState)(.5),[s,l]=(0,n.use
1State)(.5),[c,h]=(0,n.useState)(30),[y,b]=(0,n.useState)(""),[E,v]=(0,n.useState)(null),[S,x]=(0,n.useState)(""),[A,w]=(0,n.useState)(!1),[_,C]=(0,n.useState)(""),[j,k]=(0,n.useState)([]),[D,B]=(0,n.useState)(""),[N,$]=(0,n.useState)(null),[P,T]=(0,n.useState)([]),[I,F]=(0,n.useState)(!1);async function W(){F(!0);try{const e=await fetch(`${m}/price-projection/latest?symbol=NATIVE`);if(e.ok){const t=await e.json(),a=new Date(t.created_at),n=new Date(t.target_date),o=Math.ceil((n-a)/864e5),r=f(await g({S0:t.current_price,mu:Math.log(t.projected_price/t.current_price)/(o/365),sigma:t.volatility,days:o,seed:t.seed}),a);T(r)}else console.log("No current projection found"),T([])}catch(e){console.error("Error fetching current projection:",e),T([])}F(!1)}return(0,n.useEffect)(()=>{p().then(a),W()},[]),(0,n.useEffect)(()=>{const e=new Date;e.setDate(e.getDate()+Number(c)),b(e.toLocaleDateString(void 0,{year:"numeric",month:"long",day:"numeric"}))},[c]),o().createElement("div",{className:"island",style:{marginBottom:32}},o().createElement("div",{className:"island__header"},"NATIVE Asset Automated Price Maker"),o().createElement("div",{style:{padding:24}},o().createElement("table",{style:{width:"100%",marginBottom:24}},o().createElement("tbody",null,o().createElement("tr",null,o().createElement("td",{style:{fontWeight:"bold",fontSize:16,width:180}},"Current NATIVE Price:"),o().createElement("td",{style:{color:"#1a7f37",fontWeight:"bold",fontSize:20}},null!==t?`$${t.toFixed(4)} USD`:"Loading..."),o().createElement("td",{style:{textAlign:"right"}},o().createElement("button",{className:"s-button",style:{minWidth:160},onClick:()=>p().then(a),disabled:A},"Refresh Current Price"))))),o().createElement("table",{style:{width:"100%",marginBottom:24}},o().createElement("tbody",null,o().createElement("tr",null,o().createElement("td",{style:{fontWeight:"bold",width:180}},"Projected Price (",(0,u.vc)(),"):"),o().createElement("td",null,o().createElement("input",{type:"number",min:"0.01",step:"0.01",value:r,onChange:e=>i(Number(e.target.value)),className:"s-input",style:{width:120}})),o().createElement("td",{style:{fontWeight:"bold",width:180}},"Volatility:"),o().createElement("td",null,o().createElement("input",{type:"number",min:"0",max:"2",step:"0.01",value:s,onChange:e=>l(Number(e.target.value)),className:"s-input",style:{width:120}})),o().createElement("td",{style:{fontWeight:"bold",width:140}},"Days to Target:"),o().createElement("td",null,o().createElement("input",{type:"number",min:"1",max:"365",step:"1",value:c,onChange:e=>h(Number(e.target.value)),className:"s-input",style:{width:100}})),o().createElement("td",{style:{color:"#1a7f37",fontWeight:"bold",paddingLeft:16}},"Target Date: ",y)))),o().createElement("button",{className:"s-button",style:{width:"100%",fontWeight:"bold",fontSize:16,marginBottom:24},onClick:async function(){if(!t||r<=t)return void C("Projected price must be higher than current price.");C(""),w(!0);const e=c/365,a=Math.log(r/t)/e,n=Math.floor(Math.random()*2**31);v(n);const o={symbol:"NATIVE",current_price:t,projected_price:r,volatility:s,days:c,target_date:new Date(Date.now()+864e5*c).toISOString(),seed:n};$(o);try{const e=f(await g({S0:t,mu:a,sigma:s,days:c,seed:n}),new Date);k(e);const o=(r-t)/c;x(`Current: $${t.toFixed(4)} | Target: $${r.toFixed(4)} | Days: ${c} | Drift (μ): ${a.toFixed(4)} | Volatility (σ): ${s.toFixed(4)} | Seed: ${n} | Daily Increase: $${o.toFixed(6)}`)}catch(e){C("Error fetching simulation from backend.")}w(!1),B("")},disabled:A},"Generate Price Projection Chart"),_&&o().createElement("div",{style:{color:"#d32f2f",marginBottom:8}},_),o().createElement("div",{className:"island",style:{background:"#fff",border:"1px solid #e0e0e0",borderRadius:8,padding:16,minHeight:320,marginBottom:8}},o().createElement(d,{data:j}),o().createElement("div",{style:{color:"#1976d2",fontWeight:"bold",marginTop:8}},null!==E&&`Seed: ${E}`),o().createElement("div",{style:{color:"#888",fontStyle:"italic",marginTop:8}},S||"Chart will appear here after calculation")),o().createElement("button",{className:"s-button",style:{width:"100%",fontWeight:"bold",fontSize:16,marginBottom:8}
1,onClick:async function(){if(console.log("[SaveProjection] Starting handleSaveProjection"),N){B("Saving...");try{const t=e.session.account?.account_id;if(!t)return B("Account ID not available. Please log in again."),void e.toastService.error("Admin Auth","Account ID not available.");console.log("[SaveProjection] Requesting nonce for accountId:",t);const a=await fetch(`${m}/admin-auth-nonce?accountId=${t}`);if(!a.ok)return e.toastService.error("Admin Auth","Failed to get authentication nonce."),void B("Failed to get authentication nonce.");const{nonce:n}=await a.json();let o;console.log("[SaveProjection] Got nonce:",n),e.toastService.info("Admin Auth","Please sign the authentication transaction.");try{console.log("[SaveProjection] Submitting admin auth transaction..."),o=await e.session.handlers.submitAdminAuthTx(n),console.log("[SaveProjection] Got transaction hash:",o)}catch(t){return console.error("[SaveProjection] Error submitting transaction:",t),e.toastService.error("Admin Auth","Authentication transaction failed or cancelled."),void B("Authentication transaction failed or cancelled.")}e.toastService.success("Admin Auth","Authentication successful.");const r={symbol:N.symbol,current_price:N.current_price,projected_price:N.projected_price,volatility:N.volatility,days:N.days,target_date:N.target_date,seed:N.seed,public_key:t,admin_auth_nonce:n,admin_auth_tx_hash:o};console.log("[SaveProjection] Sending POST request with data:",r);const i=await fetch(`${m}/price-projection`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(r)});console.log("[SaveProjection] POST response status:",i.status);const s=await i.json();console.log("[SaveProjection] POST response data:",s),i.ok&&s&&s.message?(B("Projection saved successfully!"),W()):B("Failed to save projection.")}catch(e){console.error("[SaveProjection] Error in handleSaveProjection:",e),B("Error saving projection.")}}else B("Please generate a projection first.")},disabled:!N},"Save Projection to Database"),D&&o().createElement("div",{style:{color:D.includes("success")?"#1a7f37":"#d32f2f",marginBottom:8}},D),o().createElement("div",{className:"island",style:{background:"#fff",border:"1px solid #e0e0e0",borderRadius:8,padding:16,minHeight:320,marginTop:16}},o().createElement("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",marginBottom:16}},o().createElement("div",{style:{fontWeight:"bold",fontSize:16,color:"#1976d2"}},"Current Saved Projection"),o().createElement("button",{className:"s-button",style:{fontSize:14,padding:"8px 16px"},onClick:W,disabled:I},I?"Loading...":"Reload")),I?o().createElement("div",{style:{textAlign:"center",padding:"40px",color:"#888"}},"Loading current projection..."):P.length>0?o().createElement(o().Fragment,null,o().createElement(d,{data:P}),o().createElement("div",{style:{color:"#888",fontStyle:"italic",marginTop:8}},"This chart shows the currently saved projection from the database")):o().createElement("div",{style:{textAlign:"center",padding:"40px",color:"#888"}},"No current projection found in database"))))}const y=[{symbol:"DUSD",name:"Digital USD",price:1,spread:1},{symbol:"DBTC",name:"Digital Bitcoin",price:1e5,spread:1},{symbol:"DETH",name:"Digital Ethereum",price:3e3,spread:1},{symbol:"DSOL",name:"Digital Solana",price:150,spread:1}];function b({d:e}){const[t,a]=(0,n.useState)(!1),[r,i]=(0,n.useState)(!0),[c,d]=(0,n.useState)(""),[u,m]=(0,n.useState)(y),[p,g]=(0,n.useState)(""),[f,b]=(0,n.useState)(""),[E,v]=(0,n.use
1State)(""),[S,x]=(0,n.useState)([]),[A,w]=(0,n.useState)({execution_interval:300,trading_pairs:[]}),[_,C]=(0,n.useState)(!1),[j,k]=(0,n.useState)(""),[D,B]=(0,n.useState)(""),[N,$]=(0,n.useState)({accountId:"GDR5JU22XW2D2WG3FXF7XSQOCHUWRSA4X2R4EJ5XMSDFXUC2LIEIIUIA",dusdBalance:0,assetBalances:{},allAssets:[]}),[P,T]=(0,n.useState)(!1);(0,n.useEffect)(()=>{(async()=>{const t=(0,l.fK)(s.H$);console.log(t);const n=e.session.account?.account_id;if(!n)return a(!1),i(!1),void d("Not logged in to Digital World account or account ID not available.");try{const e=await fetch(`${t}/auth/is-admin?accountId=${n}`);if(e.ok){const t=await e.json();a(t.isAdmin),t.isAdmin?(I(),d("")):(d("Your account is not authorized for admin access."),m([]))}else 403===e.status?(a(!1),d("Your account is not authorized for admin access."),m([])):(a(!1),d("Failed to check admin access."),m([]))}catch(e){a(!1),d("Error connecting to server for admin check."),m([])}i(!1)})()},[e.session.account?.account_id]);const I=async()=>{try{const e=(0,l.fK)(s.H$),t=["BTC","ETH","SOL"],a=["DUSD","DBTC","DETH","DSOL"],[n,o]=await Promise.all([Promise.all(t.map(t=>fetch(`${e}/prices/latest?symbol=${t}`))),Promise.all(a.map(t=>fetch(`${e}/spreaddata/spread/${t}`)))]),r={},i={};let c=!1;for(let e=0;e<t.length;e++)if(n[e].ok){const a=await n[e].json();r[t[e]]=a.price}else{d(`Failed to fetch latest price for ${t[e]}`),c=!0;const a=y.find(a=>a.symbol.substring(1)===t[e]);a&&(r[t[e]]=a.price)}for(let e=0;e<a.length;e++)if(o[e].ok){const t=await o[e].json();i[a[e]]=t.spread_percent}else{d(`Failed to fetch spread for ${a[e]}`),c=!0;const t=y.find(t=>t.symbol===a[e]);t&&(i[a[e]]=t.spread)}if(c)m([]);else{const e=y.map(e=>({...e,price:r[e.symbol.substring(1)]??e.price,spread:i[e.symbol]??e.spread}));m(e),d(""),g("")}}catch(e){d("Error fetching assets from server."),m(y),g("")}},F=async()=>{C(!0),k("");try{const e=(0,l.fK)(s.H$),t=await fetch(`${e}/offers`);if(t.ok){const e=await t.json();w(e),B("Offers configuration loaded successfully."),setTimeout(()=>B(""),3e3)}else k("Failed to fetch offers configuration.")}catch(e){k("Error connecting to server for offers configuration.")}C(!1)},W=async()=>{T(!0);try{const e="https://dex.digitalworld.global",t="GA2I6PIKH4WKAFOIHINX75R7Q2IH6V62O7U3MLNN23BCKGVKO7ZVL66V",a=await fetch(`${e}/accounts/${N.accountId}`);if(a.ok){const e=await a.json();let n=0;const o=[];if(e.balances)for(const a of e.balances){const e=parseFloat(a.balance);0!==e&&("native"===a.asset_type?o.push({assetCode:"NATIVE",issuer:"native",balance:e,assetType:"native"}):"DUSD"===a.asset_code&&a.asset_issuer===t?n=e:o.push({assetCode:a.asset_code,issuer:a.asset_issuer,balance:e,assetType:"credit_alphanum4"}))}const r=await Promise.all(o.map(async e=>{let t=0,a=0;try{const n=await fetch(`https://digitalworld.market/api/prices/latest?symbol=${e.assetCode}`);n.ok&&(t=(await n.json()).price||0,a=e.balance*t)}catch(t){console.error(`Error fetching price for ${e.assetCode}:`,t)}return{...e,price:t,dusdEquivalent:a}}));$(e=>({...e,dusdBalance:n,allAssets:r}))}else console.error("Failed to fetch account data from Horizon")}catch(e){console.error("Error fetching trading account data from Horizon:",e)}T(!1)};return(0,n.useEffect)(()=>{(()=>{const e=(0,l.fK)(s.H$);fetch(`${e}/marketdata-summary`).then(e=>e.json()).then(e=>x(Array.isArray(e)?e:[])).catch(()=>x([]))})(),t&&(F(),W())},[t]),r?o().createElement("div",{className:"so-back islandBack"},o().createElement("div",{className:"island"},"Loading Admin Panel...")):t?o().createElement("div",{className:"so-back islandBack"},o().createElement(h,{d:e}),o().createElement("div",{className:"island"},o().createElement("div",{className:"island__header"},"Admin: Control Asset Spreads"),o().createElement("div",{className:"island__paddedContent"},c&&o().createElement("div",{style:{color:"red",marginBottom:"1rem"}},c),p&&o().createElement("div",{style:{color:"green",marginBottom:"1rem"}},p),o().createElement("table",{style:{width:"100%",borderCollapse:"collapse",marginBottom:40}},o().createElement("thead",null,o().createElement("tr",null,o().createElement("th",{style:{textAlign:"left"}},"Asset"),o().createElement("th",{style:{textAlign:"right"}},"CoinMarketCap Price"),o().createElement("th",{style:{textAlign:"center"}},"Spread (%)"),o().createElement("th",{style:{textAlign:"right"}},"Our Buy Price"),o().createElement("th",{style:{textAlign:"right"}}
1,"Our Sell Price"),o().createElement("th",null))),o().createElement("tbody",null,u.map((t,a)=>{const{buy:n,sell:r}=function(e,t){const a=e*(1+t/100);return{buy:(e*(1-t/100)).toFixed(2),sell:a.toFixed(2)}}(t.price,t.spread);return o().createElement("tr",{key:t.symbol},o().createElement("td",{style:{textAlign:"left"}},t.symbol," ",o().createElement("span",{style:{color:"#888"}},t.name)),o().createElement("td",{style:{textAlign:"right"}},"$",t.price.toLocaleString()),o().createElement("td",{style:{textAlign:"center"}},o().createElement("input",{type:"number",min:"0",step:"0.01",value:t.spread,onChange:e=>((e,t)=>{const a=parseFloat(t)||0;m(t=>t.map((t,n)=>n===e?{...t,spread:a}:t))})(a,e.target.value),style:{width:80,textAlign:"center"}})),o().createElement("td",{style:{textAlign:"right"}},"$",n),o().createElement("td",{style:{textAlign:"right"}},"$",r),o().createElement("td",null,o().createElement("button",{onClick:()=>(async t=>{const a=(0,l.fK)(s.H$),n=u[t];if(n.spread<0)return d("Spread cannot be negative."),void g("");d(""),g("");const o=e.session.account?.account_id;if(o)try{const t=await fetch(`${a}/admin-auth-nonce?accountId=${o}`);if(!t.ok)return e.toastService.error("Admin Auth","Failed to get authentication nonce."),void d("Failed to get authentication nonce.");const{nonce:r}=await t.json();let i;e.toastService.info("Admin Auth","Please sign the authentication transaction.");try{i=await e.session.handlers.submitAdminAuthTx(r)}catch(t){return e.toastService.error("Admin Auth","Authentication transaction failed or cancelled."),void d("Authentication transaction failed or cancelled.")}e.toastService.success("Admin Auth","Authentication successful.");const s=await fetch(`${a}/spreaddata/spread`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({asset_code:n.symbol,spread_percent:n.spread,accountId:o,public_key:e.session.account?.account_id||"",admin_auth_nonce:r,admin_auth_tx_hash:i})});if(s.ok)g(`Spread for ${n.symbol} updated successfully.`),setTimeout(()=>g(""),3e3);else if(403===s.status)d("Your account is not authorized to update spreads.");else{const e=await s.json();Array.isArray(e.detail)?d(e.detail.map(e=>e.msg).join(", ")):"string"==typeof e.detail?d(e.detail):d("Failed to update spread")}}catch(e){d("Error connecting to server")}else d("Account ID not available. Please log in again.")})(a)},"Update")))}))))),o().createElement("div",{className:"island",style:{marginTop:32}},o().createElement("div",{className:"island__header",style:{display:"flex",alignItems:"center",justifyContent:"space-between"}},o().createElement("span",null,"Trading Account Information"),o().createElement("button",{onClick:W,disabled:P,style:{padding:"4px 12px",fontSize:14,borderRadius:4,border:"1px solid #ccc",background:"#f5f5f5",cursor:P?"not-allowed":"pointer",opacity:P?.6:1}},P?"Loading...":"Refresh")),o().createElement("div",{className:"island__paddedContent"},o().createElement("div",{style:{display:"grid",gridTemplateColumns:"1fr 1fr",gap:16,marginBottom:16}},o().createElement("div",null,o().createElement("label",{style:{display:"block",marginBottom:4,fontWeight:"bold"}},"Account ID:"),o().createElement("div",{style:{padding:8,background:"#f8f9fa",borderRadius:4,fontFamily:"monospace",fontSize:12,wordBreak:"break-all"}},N.accountId)),o().createElement("div",null,o().createElement("label",{style:{display:"block",marginBottom:4,fontWeight:"bold"}},"DUSD Balance:"),o().createElement("div",{style:{padding:8,background:"#e8f5e8",borderRadius:4,fontSize:16,fontWeight:"bold",color:"#28a745"}},N.dusdBalance.toLocaleString()," DUSD"))))),o().createElement("div",{className:"island",style:{marginTop:32}},o().createElement("div",{className:"island__header",style:{display:"flex",alignItems:"center",justifyContent:"space-between"}},o().createElement("span",null,"Offers Configuration"),o().createElement("div",{style:{display:"flex",gap:8}},o().createElement("button",{onClick:F,disabled:_,style:{padding:"4px 12px",fontSize:14,borderRadius:4,border:"1px solid #ccc",background:"#f5f5f5",cursor:_?"not-allowed":"pointer",opacity:_?.6:1}},_?"Loading...":"Refresh"),o().createElement("button",{onClick:async()=>{C(!0),k(""),B("");try{const e=(0,l.fK)(s.H$),t=await fetch(`${e}/offers`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(A)});if(t.ok){const e=await t.json();w(e),B("Offers configuration updated successfully."),setTimeout(()=>B(""),3e3)}else if(403===t.status)k("Your account is not authorized to update offers configuration.");else{const e=await t.json();Array.isArray(e.detail)?k(e.detail.map(e=>e.msg).join(", ")):"string"==typeof e.detail?k(e.detail):k("Failed to update offers configuration")}}catch(e){k("Error connecting to server")}C(!1)},disabled:_,style:{padding:"4px 12px",fontSize:14,borderRadius:4,border:"1px solid #007bff",background:"#007bff",color:"white",cursor:_?"not-allowed":"pointer",opacity:_?.6:1}},_?"Saving...":"Save Configuration"))),o().createElement("div",{className:"island__paddedContent"},j&&o().createElement("div",{style:{color:"red",marginBottom:"1rem"}},j),D&&o().createElement("div",{style:{color:"green",marginBottom:"1rem"}},D),o().createElement("div",{style:{marginBottom:24}},o().createElement("label",{style:{display:"block",marginBottom:8,fontWeight:"bold"}},"Execution Interval (seconds):"),o().createElement("input",{type:"number",min:"60",step:"60",value:A.execution_interval,onChange:e=>{return t=e.target.value,void w(e=>({...e,execution_interval:parseInt(t)||300}));var t},style:{width:120,padding:8,borderRadius:4,border:"1px solid #ccc",fontSize:14}}),o().createElement("span",{style:{marginLeft:8,color:"#666"}},"(",Math.round(A.execution_interval/60)," minutes)")),o().createElement("div",null,o().createElement("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",marginBottom:16}},o().createElement("label",{style:{fontWeight:"bold"}},"Available Assets:"),o().createElement("div",{style:{fontSize:12,color:"#666"}},"Toggle assets to include in offers configuration")),P?o().createElement("div",{style:{color:"#666",fontStyle:"italic",padding:20,textAlign:"center",border:"1px dashed #ccc",borderRadius:4}},"Loading trading account assets..."):0===N.allAssets.length?o().createElement("div",{style:{color:"#666",fontStyle:"italic",padding:20,textAlign:"center",border:"1px dashed #ccc",borderRadius:4}},"No assets found in trading account."):o().createElement("table",{style:{width:"100%",borderCollapse:"collapse"}},o().createElement("thead",null,o().createElement("tr",null,o().createElement("th",{style:{textAlign:"left",padding:"8px",borderBottom:"2px s
1olid #ddd"}},"Asset"),o().createElement("th",{style:{textAlign:"left",padding:"8px",borderBottom:"2px solid #ddd"}},"Issuer"),o().createElement("th",{style:{textAlign:"right",padding:"8px",borderBottom:"2px solid #ddd"}},"Balance"),o().createElement("th",{style:{textAlign:"right",padding:"8px",borderBottom:"2px solid #ddd"}},"Price"),o().createElement("th",{style:{textAlign:"right",padding:"8px",borderBottom:"2px solid #ddd"}},"DUSD Value"),o().createElement("th",{style:{textAlign:"center",padding:"8px",borderBottom:"2px solid #ddd"}},"Include in Offers"),o().createElement("th",{style:{textAlign:"right",padding:"8px",borderBottom:"2px solid #ddd"}},"DUSD Depth"))),o().createElement("tbody",null,N.allAssets.map((e,t)=>{const a=(e=>A.trading_pairs.some(t=>t.base===e.assetCode&&t.issuer===e.issuer))(e),n=(e=>{const t=A.trading_pairs.find(t=>t.base===e.assetCode&&t.issuer===e.issuer);return t?t.dusd_depth:1e4})(e);return o().createElement("tr",{key:t,style:{backgroundColor:a?"#f8f9fa":"transparent"}},o().createElement("td",{style:{padding:"8px",borderBottom:"1px solid #eee"}},o().createElement("div",{style:{fontWeight:"bold"}},e.assetCode)),o().createElement("td",{style:{padding:"8px",borderBottom:"1px solid #eee"}},o().createElement("div",{style:{fontFamily:"monospace",fontSize:11,color:"#666",wordBreak:"break-all"}},"native"===e.issuer?"native (NATIVE)":e.issuer)),o().createElement("td",{style:{padding:"8px",borderBottom:"1px solid #eee",textAlign:"right"}},o().createElement("div",{style:{fontWeight:"bold"}},e.balance.toLocaleString())),o().createElement("td",{style:{padding:"8px",borderBottom:"1px solid #eee",textAlign:"right"}},o().createElement("div",{style:{color:"#666"}},e.price>0?`$${e.price.toFixed(4)}`:"N/A")),o().createElement("td",{style:{padding:"8px",borderBottom:"1px solid #eee",textAlign:"right"}},o().createElement("div",{style:{fontWeight:"bold",color:"#28a745"}},e.dusdEquivalent>0?`$${e.dusdEquivalent.toLocaleString()}`:"N/A")),o().createElement("td",{style:{padding:"8px",borderBottom:"1px solid #eee",textAlign:"center"}},o().createElement("button",{onClick:()=>(e=>{e.assetCode,e.issuer;const t=A.trading_pairs.some(t=>t.base===e.assetCode&&t.issuer===e.issuer);w(t?t=>({...t,trading_pairs:t.trading_pairs.filter(t=>!(t.base===e.assetCode&&t.issuer===e.issuer))}):t=>({...t,trading_pairs:[...t.trading_pairs,{base:e.assetCode,issuer:e.issuer,dusd_depth:1e4}]}))})(e),style:{padding:"6px 12px",fontSize:12,borderRadius:4,border:"none",background:a?"#28a745":"#6c757d",color:"white",cursor:"pointer",fontWeight:"bold"}},a?"✓ Included":"Include")),o().createElement("td",{style:{padding:"8px",borderBottom:"1px solid #eee",textAlign:"right"}},a?o().createElement("input",{type:"number",min:"0",step:"1000",value:n,onChange:t=>{return a=e.assetCode,n=e.issuer,o=t.target.value,void w(e=>({...e,trading_pairs:e.trading_pairs.map(e=>e.base===a&&e.issuer===n?{...e,dusd_depth:parseInt(o)||0}:e)}));var a,n,o},style:{width:100,padding:4,borderRadius:4,border:"1px solid #ccc",fontSize:12,textAlign:"right"}}):o().createElement("div",{style:{color:"#999",fontSize:12}},"-")))}))))))):o().createElement("div",{className:"so-back islandBack"},o().createElement("div",{className:"island"},o().createElement("div",{className:"island__header"},"Admin Access Denied"),o().createElement("div",{className:"island__paddedContent"},c?o().createElement("div",{style:{color:"red"}},c):o().createElement("div",{style:{color:"red"}},"Your account is not authorized to access the admin panel."))))}b.propTypes={d:i().object.isRequired}}}]);

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.