1"use strict";(self.webpackChunkdigital_world_trader=self.webpackChunkdigital_world_trader||[]).push([[8431],{71637:function(e,t,a){var n=a(96540),s=a.n(n),r=a(5556),l=a.n(r),o=a(52091),i=a.n(o);const c=({withIcon:e,isHidden:t,changePercent:a})=>{if(t)return null;const n=Number(a)>0;return"0.00"===a?s().createElement("span",null,a,"%"):s().createElement("span",{className:"PercentChange_"+(n?"positive":"negative")},e&&s().createElement("img",{className:"PercentChange_arrow",src:i()[n?"icon-trade-up":"icon-trade-down"],alt:""}),a,"%")};c.defaultProps={withIcon:!0,isHidden:!1,changePercent:"0.00"},c.propTypes={withIcon:l().bool,isHidden:l().bool,changePercent:l().string},t.A=c},44245:function(e,t,a){a.d(t,{A:function(){return _}});var n=a(96540),s=a.n(n),r=a(5556),l=a.n(r),o=a(54625),i=a(23941),c=a(4717),d=a.n(c),m=a(96908),p=a(52091),u=a.n(p),b=a(35790),f=a(6787),g=a(8316),h=a(8414),E=a(29370),v=a(40542),x=a(21522),y=a(12913);class _ extends s().Component{constructor(e){super(e),this.state={isLoaded:!1,activePanel:null}}async onSepClick(e){const{d:t,asset:a}=this.props,n=d().getAssetByAccountId(a.code,a.issuer);if(n.sep24&&!this.checkIsJWTSupported(e?"Deposits":"Withdrawals"))return;const s=await(0,E.Tq)(n,e?"deposit":"withdraw",t.modal);"cancelled"!==s&&(s?t.modal.handlers.activate(`Sep${s.IS_SEP24?"24":"6"}Modal`,{isDeposit:e,asset:n,transferServer:s}):t.toastService.error((e?"Deposits":"Withdrawals")+" not available",`${a.code} ${e?"deposits":"withdrawals"} not available at the moment. Try back later.`))}async onHistoryClick(){if(!this.checkIsJWTSupported("History"))return;const{d:e,asset:t}=this.props,a=d().getAssetByAccountId(t.code,t.issuer),{output:n}=await(0,E.O4)(a,"history",e.modal);if(!n)return;const s=t.issuer?new i.V(t.code,t.issuer):i.V.native(),r=b.A.assetToSlug(s);this.props.history.push(`transactions?asset=${r}&anchorDomain=${n.domain}`)}checkIsJWTSupported(e){const{authType:t}=this.props.d.session,a=v.jA.has(t);return a&&this.props.d.toastService.error(`${e} not available`,`Deposits and withdrawals are not available with ${v.jA.get(t)} at the moment`),!a}render(){const{onlyIcons:e,asset:t}=this.props,a=d().getAssetByAccountId(t.code,t.issuer),{isDepositEnabled:n=!1,isWithdrawEnabled:r=!1,isHistoryEnabled:l=!1}=a&&(0,E.e)(a)||{},c="ActionBtns_container "+(e?"hide_ActionText":""),m=t.issuer?new i.V(t.code,t.issuer):i.V.native(),p=`/markets/${b.A.assetToSlug(m)}/DUSD-GA2I6PIKH4WKAFOIHINX75R7Q2IH6V62O7U3MLNN23BCKGVKO7ZVL66V`;return s().createElement("div",{className:c},s().createElement("div",{className:"actionBtn",onClick:()=>this.setState({activePanel:"send"})},s().createElement("div",{className:"btnHint"},"Send"),s().createElement(g.A,{size:22,style:{transform:"rotate(-90deg)"}})),t.swapLink?s().createElement("div",{className:"actionBtn",onClick:()=>this.setState({activePanel:"swap"})},s().createElement("div",{className:"btnHint"},"Swap"),s().createElement(h.A,{size:20})):null,s().createElement(o.N_,{to:p},s().createElement("div",{className:"actionBtn"},s().createElement("div",{className:"btnHint"},"Trade"),s().createElement(f.A,{size:20}))),l||n||n?s().createElement("div",{className:"actionBtn"},s().createElement("div",{className:"btnHint btnMenu"},l?s().createElement("div",{onClick:()=>this.onHistoryClick()},s().createElement("div",{className:"actionBtn"},s().createElement("img",{className:"actionBtn_icon",src:u()["icon-transactions"],alt:"transfer-history"}),"Transfer history")):null,n?s().createElement("div",{className:"actionBtn",onClick:()=>this.onSepClick(!0)},s().createElement("img",{className:"actionBtn_icon",src:u()["icon-deposit"],alt:"deposit"}),"Deposit"):null,r?s().createElement("div",{className:"actionBtn",onClick:()=>this.onSepClick(!1)},s().createElement("img",{className:"actionBtn_icon",src:u()["icon-withdraw"],alt:"withdraw"}),"Withdraw"):null),s().createElement("img",{className:"actionBtn_icon",src:u()["icon-three-dots"],alt:"dots"})):s().createElement("div",{className:"emptyIcon"}),"send"===this.state.activePanel&&s().createElement(x.A,{d:this.props.d,lockedAsset:m,onClose:()=>this.setState({activePanel:null})}),"swap"===this.state.activePanel&&s().createElement(y.A,{d:this.props.d,initialMode:"swap",swapSource:m,onClose:()=>this.setState({activePanel:null})}))}}
1_.propTypes={d:l().instanceOf(m.A),onlyIcons:l().bool,asset:l().objectOf(l().any),history:l().objectOf(l().any)}},98431:function(e,t,a){a.d(t,{A:function(){return E}}),a(35890);var n=a(96540),s=a.n(n),r=a(5556),l=a.n(r),o=a(3153),i=a(80697),c=a(96908),d=a(55715),m=a(35105),p=a(71637),u=a(8200),b=a(40542),f=a(44245),g=a(10534);function h(){return h=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var n in a)({}).hasOwnProperty.call(a,n)&&(e[n]=a[n])}return e},h.apply(null,arguments)}function E(e){const{d:t,viewMode:a,onNativeBalanceChange:r}=e,[l,c]=(0,n.useState)(null),[E,v]=(0,n.useState)(!1),[x,y]=(0,n.useState)("browse"),[_,w]=(0,n.useState)(""),[S,N]=(0,n.useState)({}),[k,C]=(0,n.useState)(""),[B,T]=(0,n.useState)(""),[A,I]=(0,n.useState)(""),[D,z]=(0,n.useState)("idle"),P=(0,n.useRef)(null),V=()=>{(0,g.A)(t).then(e=>{c(e)})};if((0,n.useEffect)(()=>{V()},[]),(0,n.useEffect)(()=>{const e=t.session.event.sub(e=>{t.session.state===b.$t.IN&&e===b.tS.ACCOUNT_EVENT&&V()});return()=>e()}),(0,n.useEffect)(()=>{if(!E)return;const e=e=>{P.current&&!P.current.contains(e.target)&&v(!1)};return document.addEventListener("mousedown",e),()=>document.removeEventListener("mousedown",e)},[E]),(0,n.useEffect)(()=>{if(l&&"function"==typeof r){const e=l.find(e=>!("NATIVE"!==e.code&&"XLM"!==e.code||null!==e.issuer&&""!==e.issuer&&void 0!==e.issuer));e&&r(e.balance)}},[l]),!l||!t.ticker.ready)return s().createElement("div",{className:"directory-loader"},s().createElement("div",{className:"nk-spinner"}));const $=(0,m.qF)(),W=(0,m.vc)(),H=l.map(a=>{const{code:n,issuer:r,balance:l}=a,o=void 0===a.balanceUSD,i=o?null:s().createElement("span",null,$,(0,d.ZV)(a.balanceUSD.toFixed(2))),c=void 0!==a.priceDUSD?s().createElement("span",null,$,(0,d.ZV)(a.priceDUSD.toFixed(2))):null;return s().createElement("tr",{className:"BalancesTable__row",key:n+r},s().createElement("td",{className:"BalancesTable__row__item BalancesTable__row__item--assetCard "},s().createElement(u.A,{code:n,issuer:r,d:t,ticker:t.ticker})),s().createElement("td",{className:"BalancesTable__row__item BalancesTable__row__item--amount","data-label":"Balance"},(0,d.ZV)(l)),s().createElement("td",{className:"BalancesTable__row__item BalancesTable__row__item--amount","data-label":`Value (${W})`},i),s().createElement("td",{className:"BalancesTable__row__item BalancesTable__row__item--amount","data-label":`Price (${W})`},c),s().createElement("td",{className:"BalancesTable__row__item BalancesTable__row__item--amount","data-label":"Change (24h)"},s().createElement(p.A,{changePercent:(0,d.sh)(a,t.ticker),isHidden:o})),s().createElement("td",null,s().createElement(f.A,h({d:t,asset:a,onlyIcons:!0},e))))}),R=l.map(a=>{const{code:n,issuer:r,balance:l}=a,o=void 0===a.balanceUSD,i=o?null:s().createElement("span",null,$,(0,d.ZV)(a.balanceUSD.toFixed(2))),c=void 0!==a.priceDUSD?s().createElement("span",null,$,(0,d.ZV)(a.priceDUSD.toFixed(2))):null;return s().createElement("div",{className:"col-xl-3 col-lg-4 col-md-6",key:n+r},s().createElement("div",{className:"balances-card"},s().createElement("div",{className:"balances-card__asset "},s().createElement(u.A,{code:n,issuer:r,d:t,ticker:t.ticker})),s().createElement("div",{className:"balances-card-body"},s().createElement("div",{className:"balances-card__balance mb-2"},s().createElement("div",{className:"balance-label"},"Balance:"),s().createElement("div",{className:"balance-value"},(0,d.ZV)(l))),s().createElement("div",{className:"balances-card__value mb-2"},s().createElement("div",{className:"balance-label"},"Value (",W,"): ",i||"--")),s().createElement("div",{className:"balances-card__price mb-2"},s().createElement("div",{className:"balance-label"},"Price (",W,"): ",c||"--")),s().createElement("div",{className:"balances-card__change mb-2"},s().createElement("div",{className:"balance-label"},"24h Change: ",s().createElement(p.A,{changePercent:(0,d.sh)(a,t.ticker),isHidden:o}))),s().createElement("div",{className:"balances-card__actions"},s().createElement(f.A,h({d:t,asset:a,onlyIcons:!0},e))))))}),F=["Asset","Balance",`Value (${W})`,`Price (${W})`,"Change (24h)"],L=s().createElement("thead",null,s().createElement("tr",{className:"BalancesTable__head"},F.map(e=>s().createElement("td",{className:"BalancesTable__head__cell BalancesTable__row__item--heading BalancesTable__head__asset",key:e},e)))),O=new Set(l.map(e=>`${e.code}:${e.issuer||""}`)),U=t.ticker.data.assets.filter(e=>"NATIVE-native"!==e.code_issuer&&!O.has(`${e.code}:${e.issuer||""}`)).filter(e=>{if(!_.trim())return!0;const t=_.toLowerCase();return(e.code||"").toLowerCase().includes(t)||(e.org_name||"").toLowerCase().includes(t)||(e.asset_name||"").toLowerCase().includes(t)});return s().createElement(s().Fragment,null,"list"===a&&s().createElement("div",{className:"BalancesTable-wrap"},s().createElement("table",{className:"BalancesTable table mobile-responsive-table mb-0"},L,s().createElement("tbody",null,H))),"grid"===a&&s().createElement("div",{className:"BalancesGrid-view-section"},s().createElement("div",{className:"row gy-3"},R)),s().createElement("div",{ref:P,style:{position:"relative",display:"flex",justifyContent:"center",padding:"10px 0 6px"}},E&&s().createElement("div",{style:{position:"absolute",bottom:"calc(100% + 4px)",left:"50%",transform:"translateX(-50%)",width:"360px",maxWidth:"90vw",background:"#fff",borderRadius:"12px",boxShadow:"0 8px 32px rgba(0,0,0,0.15)",border:"1px solid rgba(0,0,0,0.1)",zIndex:100,overflow:"hidden"}},s().createElement("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",padding:"12px 16px 0"}},s().createElement("strong",{style:{fontSize:"1rem",fontWeight:600,color:"#333"}},"Add asset"),s().createElement("button",{type:"button",className:"btn-close btn-close-sm",onClick:()=>v(!1),style:{fontSize:"0.75rem",padding:"0.25rem"}})),s().createElement("div",{style:{display:"flex",borderBottom:"1px solid #e9ecef",padding:"0 16px",marginTop:"8px"}},[["browse","Browse"],["custom","Add custom asset"]].map(([e,t])=>s().createElement("button",{key:e,type:"button",onClick:()=>y(e),style:{padding:"8px 12px",fontSize:"12px",fontWeight:x===e?600:400,color:x===e?"#1a6fa8":"#888",background:"none",border:"none",borderBottom:x===e?"2px solid #1a6fa8":"2px s
1olid transparent",cursor:"pointer",whiteSpace:"nowrap",marginBottom:"-1px"}},t))),"browse"===x&&s().createElement(s().Fragment,null,s().createElement("div",{style:{padding:"8px 12px"}},s().createElement("input",{type:"text",placeholder:"Search assets...",value:_,onChange:e=>w(e.target.value),autoFocus:!0,style:{width:"100%",padding:"6px 10px",fontSize:"0.8rem",border:"1px solid #dee2e6",borderRadius:"6px",outline:"none",boxSizing:"border-box"}})),s().createElement("div",{style:{maxHeight:"300px",overflowY:"auto",padding:"0 12px 12px"}},0===U.length?s().createElement("div",{style:{textAlign:"center",padding:"24px 16px",color:"#666",fontStyle:"italic"}},_.trim()?`No results for "${_}"`:"No assets to add"):U.map(e=>{const a=`${e.code}:${e.issuer||""}`,n=S[a]||"idle";return s().createElement("div",{key:a,style:{display:"flex",justifyContent:"space-between",alignItems:"center",padding:"10px",border:"1px solid #f1f3f4",borderRadius:"8px",marginBottom:"6px",transition:"all 0.2s ease"},onMouseEnter:e=>{e.currentTarget.style.borderColor="#007bff",e.currentTarget.style.background="#f8f9ff"},onMouseLeave:e=>{e.currentTarget.style.borderColor="#f1f3f4",e.currentTarget.style.background=""}},s().createElement("div",{style:{display:"flex",alignItems:"center",gap:"8px",flex:1,minWidth:0}},s().createElement("img",{src:e.image||"/images/generic-asset-icon.svg",alt:"",style:{width:"32px",height:"32px",borderRadius:"50%",border:"2px solid #f1f3f4",objectFit:"cover",flexShrink:0}}),s().createElement("div",{style:{minWidth:0}},s().createElement("div",{style:{fontSize:"0.9rem",fontWeight:600,color:"#333",display:"flex",alignItems:"center",gap:"6px"}},e.code,e.important&&s().createElement("span",{style:{fontSize:"0.65rem",fontWeight:600,color:"#fff",background:"#28a745",borderRadius:"4px",padding:"1px 5px"}},"â Verified")),s().createElement("div",{style:{fontSize:"12px",color:"#666",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"}},e.org_name||"Digital World"))),s().createElement("button",{type:"button",disabled:"pending"===n,onClick:()=>((e,a,n)=>{N(e=>({...e,[n]:"pending"})),t.session.handlers.addTrust(e,a).then(e=>e.status!==b.YF.FINISH?(N(e=>({...e,[n]:"idle"})),null):e.serverResult.then(()=>N(e=>({...e,[n]:"idle"}))).catch(()=>N(e=>({...e,[n]:"error"})))).catch(()=>N(e=>({...e,[n]:"error"})))})(e.code,e.issuer,a),style:{padding:"4px 12px",fontSize:"12px",fontWeight:600,borderRadius:"6px",border:"none",background:"error"===n?"#dc3545":"#28a745",color:"#fff",cursor:"pending"===n?"not-allowed":"pointer",opacity:"pending"===n?.7:1,flexShrink:0}},"pending"===n?"â¦":"error"===n?"Retry":"Accept"))}))),"custom"===x&&s().createElement("div",{style:{padding:"16px"}},s().createElement("p",{style:{fontSize:"12px",color:"#888",marginBottom:"14px"}},"Enter the asset code and issuer account ID to create a custom trustline."),s().createElement("div",{style:{display:"flex",flexDirection:"column",gap:"10px"}},s().createElement("div",null,s().createElement("label",{style:{fontSize:"11px",fontWeight:600,color:"#555",display:"block",marginBottom:"4px"}},"Asset Code"),s().createElement("input",{type:"text",placeholder:"e.g. BTC",value:k,onChange:e=>{C(e.target.value),I("")},maxLength:12,style:{width:"100%",padding:"7px 10px",fontSize:"0.85rem",border:"1px solid #dee2e6",borderRadius:"6px",outline:"none",boxSizing:"border-box"}})),s().createElement("div",null,s().createElement("label",{style:{fontSize:"11px",fontWeight:600,color:"#555",display:"block",marginBottom:"4px"}},"Issuer Account ID"),s().createElement("input",{type:"text",placeholder:"Gâ¦",value:B,onChange:e=>{T(e.target.value),I("")},style:{width:"100%",padding:"7px 10px",fontSize:"0.85rem",border:"1px solid #dee2e6",borderRadius:"6px",outline:"none",boxSizing:"border-box",fontFamily:"monospace"}})),A&&s().createElement("div",{style:{fontSize:"12px",color:"#dc3545",background:"#fff5f5",border:"1px solid #f5c2c7",borderRadius:"6px",padding:"8px 10px"}},A),s().createElement("button",{type:"button",disabled:"pending"===D||!k.trim()||!B.trim(),onClick:()=>{const e=k.trim().toUpperCase(),a=B.trim();e?e.length>12||!/^[a-zA-Z0-9]+$/.test(e)?I("Code must be 1â12 alphanumeric characters."):o.L8.isValidEd25519PublicKey(a)?(I(""),z("pending"),t.session.handlers.addTrust(e,a).then(e=>{z("idle"),e.status===b.YF.FINISH&&(C(""),T(""))}).catch(()=>{z("error"),I("Transaction failed. Please try again.")})):I("Issuer must be a valid Stellar account ID (Gâ¦)."):I("Asset code is required.")},style:{padding:"8px",fontSize:"13px",fontWeight:600,borderRadius:"6px",border:"none",background:k.trim()&&B.trim()&&"pending"!==D?"#1a6fa8":"#e0e0e0",color:k.trim()&&B.trim()&&"pending"!==D?"#fff":"#aaa",cursor:k.trim()&&B.trim()&&"pending"!==D?"pointer":"not-allowed",transition:"background 0.15s"}},"pending"===D?"Preparingâ¦":"Accept & scan QR code")))),s().createElement("button",{type:"button",title:"Add asset",onClick:()=>v(e=>!e),style:{width:"28px",height:"28px",borderRadius:"50%",border:"1.5px solid "+(E?"#1a6fa8":"#d0d0d0"),background:E?"#1a6fa8":"#f9f9f9",color:E?"#fff":"#888",cursor:"pointer",display:"flex",alignItems:"center",justifyContent:"center",transition:"background 0.15s, color 0.15s, border-color 0.15s"},onMouseEnter:e=>{E||(e.currentTarget.style.borderColor="#1a6fa8",e.currentTarget.style.color="#1a6fa8")},onMouseLeave:e=>{E||(e.currentTarget.style.borderColor="#d0d0d0",e.currentTarget.style.color="#888")}},s().createElement(i.A,{size:14}))))}E.propTypes={d:l().instanceOf(c.A).isRequired,onNativeBalanceChange:l().func}}}]);
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.