-
Notifications
You must be signed in to change notification settings - Fork 13
/
Copy pathasset.0a431872ecb03253ddd4.js
1 lines (1 loc) · 60.7 KB
/
asset.0a431872ecb03253ddd4.js
1
"use strict";(this.webpackChunkBitShares2_light=this.webpackChunkBitShares2_light||[]).push([[97],{98048:(e,t,a)=>{a.r(t),a.d(t,{default:()=>ae});var n=a(96540),s=a(54625),l=a(80849),r=a.n(l),o=a(63024),i=a(24873),c=a(60819),m=a(96366),d=a(32853),u=a(91001),p=a(32382),h=a(81428),_=a(64143),b=a(87040);class E extends n.Component{constructor(e){super(e),this.state={time:e.time}}getHours(e){return e/3600}render(){return n.createElement("div",null,this.getHours(this.state.time),"h")}}const g=E;var f=a(72090),x=a(62716),A=a(24609),y=a(188),v=a(32485),C=a.n(v),k=a(1951),w=a(49585),P=a(44352);const S=(e,t,a=e=>e)=>n=>e.setState({[t]:a(n)});class F extends n.Component{static defaultProps={type:"fund"};constructor(e){super(e),this.state=this.initialState()}onAccountNameChanged=S(this,"funderAccountName");onAccountChanged=S(this,"newFunderAccount");onPoolInput=S(this,"fundPoolAmount",(e=>e.amount));onClaimInput(e,{amount:t}){this.state[e+"Asset"].setAmount({real:t}),this.setState({[e]:t})}onClaimCollateralInput(e,{amount:t}){this.state[e+"Asset"].setAmount({real:t}),this.setState({[e]:t})}onFundPool=()=>P.A.fundPool(this.state.newFunderAccount?this.state.newFunderAccount.get("id"):null,this.props.core,this.props.asset,this.state.fundPoolAmount.replace(/,/g,""));reset=()=>{this.setState(this.initialState())};initialState=()=>({funderAccountName:this.props.funderAccountName,fundPoolAmount:0,fundPoolAsset:new A.Vd({amount:0,precision:this.props.core.get("precision"),asset_id:this.props.core.get("id")}),claimPoolAmount:0,claimPoolAmountAsset:new A.Vd({amount:0,precision:this.props.core.get("precision"),asset_id:this.props.core.get("id")}),claimFeesAmount:0,claimFeesAmountAsset:new A.Vd({amount:0,precision:this.props.asset.get("precision"),asset_id:this.props.asset.get("id")}),claimCollateralFeesAmount:0,claimCollateralFeesAmountAsset:new A.Vd({amount:0,precision:this.props.asset.get("precision"),asset_id:this.props.asset.get("id")}),backingAsset:new A.Vd({amount:0,asset_id:this.props.asset.has("bitasset")?this.props.asset.getIn(["bitasset","options","short_backing_asset"]):"1.3.0"})});onClaimCollateralFees(){let e=f.ChainStore.getAccount(this.props.funderAccountName);e&&P.A.claimCollateralFees(e.get("id"),this.props.asset,this.state.backingAsset,this.state.claimCollateralFeesAmountAsset)}onClaimFees(){let e=f.ChainStore.getAccount(this.props.funderAccountName);e&&P.A.claimPoolFees(e.get("id"),this.props.asset,this.state.claimFeesAmountAsset)}onClaimPool=()=>P.A.claimPool(this.props.asset,this.state.claimPoolAmountAsset);renderFundPool(){const{props:e,state:t,onPoolInput:a,onFundPool:s,reset:l,onAccountNameChanged:o,onAccountChanged:i}=this,{asset:c,core:d,hideBalance:u,getDynamicObject:p}=e,{funderAccountName:h,fundPoolAmount:_,newFunderAccount:b}=t;let E=null;u||(E=p(c.get("dynamic_asset_data_id")));const g=d.get("id")||"1.3.0";let x=0;if(b){const e=b.getIn(["balances",g]);if(e){let t=f.ChainStore.getObject(e);t&&(x=t.get("balance"))}}const A=n.createElement("span",null,n.createElement(r(),{component:"span",content:"transfer.available"}),": ",n.createElement(m.A,{amount:x,asset:g}));return n.createElement("div",null,u||n.createElement("div",{style:{paddingBottom:"1.5rem"}},n.createElement(r(),{content:"explorer.asset.fee_pool.pool_balance"}),n.createElement("span",null,": "),E?n.createElement(m.A,{amount:E.get("fee_pool"),asset:g}):null),n.createElement(k.A,{label:"transaction.funding_account",accountName:h,onChange:o,onAccountChanged:i,account:h,error:null,tabIndex:1}),n.createElement(w.A,{label:"transfer.amount",display_balance:A,amount:_,onChange:a,asset:g,assets:[g],placeholder:"0.0",tabIndex:2,style:{width:"100%",paddingTop:16}}),n.createElement("div",{style:{paddingTop:"1rem"},className:"button-group"},n.createElement("button",{className:C()("button",{disabled:_<=0}),onClick:s},n.createElement(r(),{content:"transaction.trxTypes.asset_fund_fee_pool"})),n.createElement("button",{className:"button outline",onClick:l},n.createElement(r(),{content:"account.perm.reset"}))))}renderClaimPool(){const{props:e,onClaimPool:t,reset:a}=this,{claimPoolAmount:s}=this.state,{asset:l,core:o,getDynamicObject:i}=e;let c=i(l.get("dynamic_asset_data_id"));const d=o.get("id")||"1.3.0",u=c?n.createElement("span",{onClick:()=>{this.state.claimPoolAmountAsset.setAmount({sats:c.get("fee_pool")}),this.setState({claimPoolAmount:this.state.claimPoolAmountAsset.getAmount({real:!0})})}},n.createElement(r(),{component:"span",content:"transfer.available"}),": ",n.createElement(m.A,{amount:c.get("fee_pool"),asset:d})):null;return n.createElement("div",null,n.createElement(r(),{component:"p",content:"explorer.asset.fee_pool.claim_pool_text"}),n.createElement(w.A,{label:"transfer.amount",display_balance:u,amount:s,onChange:this.onClaimInput.bind(this,"claimPoolAmount"),asset:d,assets:[d],placeholder:"0.0",tabIndex:2,style:{width:"100%",paddingTop:16}}),n.createElement("div",{style:{paddingTop:"1rem"},className:"button-group"},n.createElement("button",{className:C()("button",{disabled:s<=0}),onClick:t},n.createElement(r(),{content:"transaction.trxTypes.asset_claim_fee_pool"})),n.createElement("button",{className:"button outline",onClick:a},n.createElement(r(),{content:"account.perm.reset"}))))}renderClaimFees(){const{props:e}=this,{claimFeesAmount:t}=this.state,{asset:a,getDynamicObject:s}=e;let l=s(a.get("dynamic_asset_data_id")),o=l?l.get("accumulated_fees"):0,i=t>0&&this.state.claimFeesAmountAsset.getAmount()<=o,c=n.createElement("span",{onClick:()=>{this.state.claimFeesAmountAsset.setAmount({sats:l.get("accumulated_fees")}),this.setState({claimFeesAmount:this.state.claimFeesAmountAsset.getAmount({real:!0})})}},n.createElement(r(),{component:"span",content:"transfer.available"}),": ",n.createElement(m.A,{amount:o,asset:a.get("id")}));return n.createElement("div",null,n.createElement(r(),{component:"p",content:"explorer.asset.fee_pool.claim_text",asset:a.get("symbol")}),n.createElement("div",{style:{paddingBottom:"1rem"}},n.createElement(r(),{content:"explorer.asset.fee_pool.unclaimed_issuer_income"}),": ",l?n.createElement(m.A,{amount:l.get("accumulated_fees"),asset:a.get("id")}):null),n.createElement(w.A,{label:"transfer.amount",display_balance:c,amount:t,onChange:this.onClaimInput.bind(this,"claimFeesAmount"),asset:a.get("id"),assets:[a.get("id")],placeholder:"0.0",tabIndex:1,style:{width:"100%",paddingTop:16}}),n.createElement("div",{style:{paddingTop:"1rem"},className:"button-group"},n.createElement("button",{className:C()("button",{disabled:!i}),onClick:this.onClaimFees.bind(this)},n.createElement(r(),{content:"explorer.asset.fee_pool.claim_fees"})),n.createElement("button",{className:"button outline",onClick:this.reset.bind(this)},n.createElement(r(),{content:"account.perm.reset"}))))}renderClaimCollateralFees(){const{props:e}=this,{claimCollateralFeesAmount:t}=this.state,{asset:a,getDynamicObject:s}=e;let l=s(a.get("dynamic_asset_data_id"));console.log(l);let o=this.props.asset.has("bitasset")?this.props.asset.getIn(["bitasset","options","short_backing_asset"]):"1.3.0",i=l?l.get("accumulated_collateral_fees"):0,c=t>0&&this.state.claimCollateralFeesAmountAsset.getAmount()<=i,d=n.createElement("span",{onClick:()=>{this.state.claimCollateralFeesAmountAsset.setAmount({sats:l.get("accumulated_collateral_fees")}),this.setState({claimCollateralFeesAmount:this.state.claimCollateralFeesAmountAsset.getAmount({real:!0})})}},n.createElement(r(),{component:"span",content:"transfer.available"}),": ",n.createElement(m.A,{amount:i,asset:o}));return n.createElement("div",null,n.createElement(r(),{component:"p",content:"explorer.asset.fee_pool.claim_text",asset:o}),n.createElement("div",{style:{paddingBottom:"1rem"}},n.createElement(r(),{content:"explorer.asset.fee_pool.unclaimed_issuer_income"}),": ",l?n.createElement(m.A,{amount:l.get("accumulated_collateral_fees"),asset:o}):null),n.createElement(w.A,{label:"transfer.amount",display_balance:d,amount:t,onChange:this.onClaimCollateralInput.bind(this,"claimCollateralFeesAmount"),asset:o,assets:[o],placeholder:"0.0",tabIndex:1,style:{width:"100%",paddingTop:16}}),n.createElement("div",{style:{paddingTop:"1rem"},className:"button-group"},n.createElement("button",{className:C()("button",{disabled:!c}),onClick:this.onClaimCollateralFees.bind(this)},n.createElement(r(),{content:"explorer.asset.fee_pool.claim_collateral_fees"})),n.createElement("button",{className:"button outline",onClick:this.reset.bind(this)},n.createElement(r(),{content:"account.perm.reset"}))))}render(){return"fund"===this.props.type?this.renderFundPool():"claim"===this.props.type?this.renderClaimPool():"claim_fees"===this.props.type?this.renderClaimFees():"claim_collateral_fees"===this.props.type?this.renderClaimCollateralFees():void 0}}const N=F=(0,c.A)(F,{propNames:["asset","core"],defaultProps:{core:"1.3.0"},withDynamic:!0});var T=a(55840),I=a(9476),q=a(10658),B=a.n(q),R=a(12569),O=a(72342);class D extends n.Component{static propTypes={account:R.A.ChainAccount.isRequired,currentOwner:R.A.ChainAccount.isRequired};constructor(){super(),this.state={new_issuer_account_id:null,issuer_account_name:null}}onAccountNameChanged(e,t){this.setState({[e]:t})}onAccountChanged(e,t){this.setState({[e]:t?t.get("id"):null})}onSubmit(){P.A.updateOwner(this.props.asset,this.state.new_issuer_account_id).then((()=>{this.onReset()}))}onReset(){this.setState({new_issuer_account_id:null,issuer_account_name:null})}render(){const{currentOwner:e}=this.props;return n.createElement("div",null,n.createElement("div",{style:{paddingBottom:"1rem"}},n.createElement(k.A,{label:"account.user_issued_assets.current_issuer",accountName:e.get("name"),account:e.get("name"),error:null,tabIndex:1,disabled:!0})),n.createElement(k.A,{label:"account.user_issued_assets.new_issuer",accountName:this.state.issuer_account_name,onChange:this.onAccountNameChanged.bind(this,"issuer_account_name"),onAccountChanged:this.onAccountChanged.bind(this,"new_issuer_account_id"),account:this.state.issuer_account_name,error:null,tabIndex:1,typeahead:!0,excludeAccounts:[e.get("name")]}),n.createElement("div",{style:{paddingTop:"1rem"},className:"button-group"},n.createElement("button",{className:C()("button",{disabled:!this.state.new_issuer_account_id}),onClick:this.onSubmit.bind(this)},n.createElement(r(),{content:"account.user_issued_assets.update_owner"})),n.createElement("button",{className:"button outline",onClick:this.onReset.bind(this)},n.createElement(r(),{content:"account.perm.reset"}))))}}const z=D=(0,O.A)(D);class L extends n.Component{constructor(e){super();let t=new A.Vd({amount:0,asset_id:e.quote.get("id"),precision:e.quote.get("precision")}),a=new A.Vd({amount:0,asset_id:e.base.get("id"),precision:e.base.get("precision")}),n=new A.gm({quote:t,base:a});this.state={price:n,realPriceValue:n.toReal()}}onPriceChanged({amount:e}){this.state.price.setPriceFromReal(parseFloat(e)),this.setState({realPriceValue:e}),this.props.onPriceChanged&&this.props.onPriceChanged(this.state.price.clone())}render(){const{realPriceValue:e,price:t}=this.state;return n.createElement(w.A,{label:this.props.label,amount:e,onChange:this.onPriceChanged.bind(this),asset:t.base.asset_id,base:this.props.quote.get("symbol"),isPrice:!0,assets:[t.quote.asset_id],placeholder:"0.0",tabIndex:1,style:{width:"100%",paddingRight:"10px"}})}}const j=L=(0,c.A)(L,{propNames:["quote","base"],defaultProps:{base:"1.3.0"}});class V extends n.Component{static propTypes={account:R.A.ChainAccount.isRequired};constructor(e){super(),this.state=this.resetState(e)}resetState(e=this.props){let t=e.account.get("id");const a=e.asset.getIn(["bitasset","current_feed"]);let n=a.get("maintenance_collateral_ratio",1750),s=a.get("maximum_short_squeeze_ratio",1100);return{publisher:e.account.get("name"),publisher_id:t,mcr:n,mcrValue:n/1e3,mssr:s,mssrValue:s/1e3}}onAccountNameChanged(e,t){this.setState({[e]:t})}onAccountChanged(e,t){this.setState({[e]:t?t.get("id"):null})}onSubmit(){P.A.publishFeed({publisher:this.state.publisher_id,asset_id:this.props.asset.get("id"),mcr:this.state.mcr,mssr:this.state.mssr,feedPrice:this.state.feedPrice,cer:this.state.cer})}onPriceChanged(e,t){this.setState({[e]:t})}onSetRatio(e,{amount:t}){t&&"string"==typeof t&&-1!==t.indexOf(".")&&t.indexOf(".")+4!==t.length&&(t=t.substr(0,t.indexOf(".")+4)),this.setState({[e+"Value"]:t,[e]:Math.floor(1e3*parseFloat(t))})}render(){const{asset:e}=this.props,{mcrValue:t,mssrValue:a,publisher:s}=this.state,l=e.get("id"),o=e.getIn(["bitasset","options","short_backing_asset"]);return n.createElement("div",null,n.createElement(k.A,{label:"explorer.asset.feed_producer",accountName:s,onChange:this.onAccountNameChanged.bind(this,"publisher"),onAccountChanged:this.onAccountChanged.bind(this,"publisher_id"),account:s,error:null,tabIndex:1,typeahead:!0}),n.createElement("br",null),n.createElement(j,{onPriceChanged:this.onPriceChanged.bind(this,"cer"),label:"explorer.asset.fee_pool.core_exchange_rate",quote:"1.3.0",base:l}),n.createElement("br",null),n.createElement(j,{onPriceChanged:this.onPriceChanged.bind(this,"feedPrice"),label:"explorer.asset.price_feed.feed_price",quote:o,base:l}),n.createElement("br",null),n.createElement(w.A,{label:"explorer.asset.price_feed.maintenance_collateral_ratio",amount:t,onChange:this.onSetRatio.bind(this,"mcr"),placeholder:"0.0",style:{width:"100%",paddingRight:"10px"}}),n.createElement("br",null),n.createElement(w.A,{label:"explorer.asset.price_feed.maximum_short_squeeze_ratio",amount:a,onChange:this.onSetRatio.bind(this,"mssr"),placeholder:"0.0",style:{width:"100%",paddingRight:"10px"}}),n.createElement("div",{style:{paddingTop:"1rem"},className:"button-group"},n.createElement("button",{className:C()("button",{disabled:!1}),onClick:this.onSubmit.bind(this)},n.createElement(r(),{content:"transaction.trxTypes.asset_publish_feed"}))))}}V=(0,O.A)(V);const M=V=(0,c.A)(V);var J=a(46128),U=a(50548);class G extends n.Component{static propTypes={account:R.A.ChainAccount.isRequired};constructor(){super(),this.state={globalSettlementPrice:null,customPrice:!1}}shouldComponentUpdate(e,t){return e.asset.id!==this.props.asset.id||t.globalSettlementPrice!==this.state.globalSettlementPrice||t.customPrice!==this.state.customPrice}onPriceChanged(e){2!=e||this.state.customPrice?this.setState({globalSettlementPrice:e}):this.setState({globalSettlementPrice:1,customPrice:!0})}onPriceChangedObject(e){this.onPriceChanged(e.toReal())}onSubmit(){const{asset:e,account:t}=this.props;let a=new A.Vd({real:1,asset_id:this.props.asset.id,precision:this.props.asset.precision}),n=f.ChainStore.getAsset(e.bitasset.options.short_backing_asset),s=new A.Vd({real:this.state.globalSettlementPrice,asset_id:this.props.asset.bitasset.options.short_backing_asset,precision:n.get("precision")}),l=new A.gm({quote:s,base:a});P.A.assetGlobalSettle(e,t.get("id"),l).then((()=>{this.onReset()}))}onReset(){this.setState({globalSettlementPrice:null,customPrice:!1})}onChange({amount:e}){this.onPriceChanged(e)}onChangeRadio(e){this.onPriceChanged(e.target.value)}render(){const{asset:e}=this.props,t=f.ChainStore.getAsset(e.bitasset.options.short_backing_asset);let a=_.A.parseDescription(e.options.description);return n.createElement("div",null,n.createElement(J.Form,{style:{paddingBottom:"1rem"},className:"full-width",layout:"vertical"},n.createElement("div",null,n.createElement(J.Tooltip,{title:B().translate("explorer.asset.prediction_market_asset.tooltip_prediction"),placement:"topLeft"},n.createElement(r(),{content:"explorer.asset.prediction_market_asset.prediction"}),": ",n.createElement("p",null,a.condition))),n.createElement("div",null,n.createElement(J.Tooltip,{title:B().translate("explorer.asset.prediction_market_asset.tooltip_resolution_date"),placement:"topLeft"},n.createElement(r(),{content:"explorer.asset.prediction_market_asset.resolution_date"}),": ",n.createElement("p",null,a.expiry))),n.createElement(J.Radio.Group,{onChange:this.onChangeRadio.bind(this),value:this.state.globalSettlementPrice},n.createElement(J.Radio,{value:1,disabled:!!this.state.customPrice||void 0},n.createElement(r(),{content:"boolean.true"})),n.createElement(J.Radio,{value:0,disabled:!!this.state.customPrice||void 0},n.createElement(r(),{content:"boolean.false"})),n.createElement(J.Radio,{value:this.state.customPrice?this.state.globalSettlementPrice:2},n.createElement(r(),{content:"settings.custom"}))),n.createElement("br",null),n.createElement("br",null),n.createElement(U.A,{disabled:!this.state.customPrice||void 0,label:"explorer.asset.price_feed.global_settlement_price",amount:this.state.globalSettlementPrice,onChange:this.onChange.bind(this),asset:t.get("id"),base:e.symbol,isPrice:!0,assets:[t.get("id")],placeholder:"0.0",style:{width:"100%"}}),n.createElement("div",{style:{paddingTop:"1rem"},className:"button-group"},n.createElement(J.Button,{type:"primary",disabled:null==this.state.globalSettlementPrice||void 0,onClick:this.onSubmit.bind(this)},n.createElement(r(),{content:"account.perm.publish_prediction"})),n.createElement(J.Button,{style:{marginLeft:"8px"},onClick:this.onReset.bind(this)},n.createElement(r(),{content:"account.perm.reset"})))))}}const K=G=(0,O.A)(G);class $ extends n.Component{constructor(e){super(e),this.state=this.initialState()}initialState=()=>({account:f.ChainStore.getAccount(this.props.funderAccountName),collateralAmount:"0",debtAmount:"0"});reset(){this.setState(this.initialState())}_collateralBidInput(e){this.setState({collateralAmount:e.amount})}_debtBidInput(e){this.setState({debtAmount:e.amount})}_onBidCollateral(){let{collateralAmount:e,debtAmount:t}=this.state;e=0==e?e:e.replace(/,/g,""),t=0==t?t:t.replace(/,/g,""),P.A.bidCollateral(this.state.account?this.state.account.get("id"):null,this.props.core,this.props.asset,e,t),setTimeout((()=>{this.props.onUpdate()}),6e3)}removeBid(){P.A.bidCollateral(this.state.account?this.state.account.get("id"):null,this.props.core,this.props.asset,0,0),setTimeout((()=>{this.props.onUpdate()}),6e3)}renderCollateralBid(){const{asset:e,core:t}=this.props,{account:a,collateralAmount:s,debtAmount:l}=this.state;let o=1,i=0;const c=a?a.getIn(["balances",t.get("id")]):null;if(c){let e=f.ChainStore.getObject(c);e&&(i=e.get("balance"))}const u=n.createElement("span",null,n.createElement(r(),{component:"span",content:"transfer.available"}),": ",n.createElement(m.A,{amount:i,asset:t.get("id")}));return n.createElement("div",null,n.createElement(w.A,{label:"transaction.collateral",display_balance:u,amount:s,onChange:this._collateralBidInput.bind(this),asset:t.get("id"),assets:[t.get("id")],placeholder:"0.0",tabIndex:o++,style:{width:"100%",paddingTop:16}}),n.createElement(w.A,{label:"transaction.borrow_amount",amount:l,onChange:this._debtBidInput.bind(this),asset:e.get("id"),assets:[e.get("id")],placeholder:"0.0",tabIndex:o++,style:{width:"100%",paddingTop:16}}),"0"!==this.state.collateralAmount&&"0"!==this.state.debtAmount&&n.createElement("div",{style:{paddingTop:"1rem"}},n.createElement(r(),{content:"explorer.asset.collateral.bid_price"})," ",n.createElement(d.A,{base_amount:this.state.collateralAmount/1,base_asset:t.get("id"),quote_amount:this.state.debtAmount/1,quote_asset:e.get("id"),noPopOver:!0,ignorePriceFeed:!0})),n.createElement("div",{style:{paddingTop:"1rem"},className:"button-group"},n.createElement("button",{className:C()("button"),onClick:this._onBidCollateral.bind(this),tabIndex:o++},n.createElement(r(),{content:"transaction.trxTypes.bid_collateral"})),n.createElement("button",{className:"button outline",onClick:this.reset.bind(this),tabIndex:o++},n.createElement(r(),{content:"account.perm.reset"}))))}render(){return this.renderCollateralBid()}}const W=$=(0,c.A)($,{propNames:["asset","core"],withDynamic:!0});var H=a(53615);function Z(){return Z=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var n in a)Object.prototype.hasOwnProperty.call(a,n)&&(e[n]=a[n])}return e},Z.apply(this,arguments)}const{Panel:Q}=J.Collapse;class X extends n.Component{render(){let{isSet:e,name:t}=this.props;return e?n.createElement("span",{className:"asset-flag"},n.createElement("span",{className:"label info"},n.createElement(r(),{content:"account.user_issued_assets."+t}))):n.createElement("span",null)}}class Y extends n.Component{render(){let{isSet:e,name:t}=this.props;return e?n.createElement("span",{className:"asset-flag"},n.createElement("span",{className:"label info"},n.createElement(r(),{content:"account.user_issued_assets."+t}))):n.createElement("span",null)}}class ee extends n.Component{constructor(e){super(e),this.state={callOrders:[],collateralBids:[],marginTableSort:"ratio",collateralTableSort:"price",sortDirection:!0,showCollateralBidInInfo:!1,cumulativeGrouping:!1,activeFeedTab:"margin",activeAssetTab:"info"}}UNSAFE_componentWillMount(){this._getMarginCollateral()}updateOnCollateralBid(){this._getMarginCollateral()}_getMarginCollateral(){if(this.props.asset.has("bitasset")){const e={[this.props.asset.get("id")]:this.props.asset.toJS(),[this.props.backingAsset.get("id")]:this.props.backingAsset.toJS()},t=this.props.asset.getIn(["bitasset","is_prediction_market"],!1);let a=this._getFeedPrice();if(a){try{let n=this.props.asset.getIn(["bitasset","current_feed","maintenance_collateral_ratio"]);x.Apis.instance().db_api().exec("get_call_orders",[this.props.asset.get("id"),300]).then((s=>{let l=s.map((s=>new A.Vt(s,e,this.props.asset.get("id"),a,n,t)));this.setState({callOrders:l})}))}catch(e){}try{x.Apis.instance().db_api().exec("get_collateral_bids",[this.props.asset.get("id"),100,0]).then((t=>{let n=t.map((t=>new A.Fl(t,e,this.props.asset.get("id"),a)));this.setState({collateralBids:n})}))}catch(e){console.log("get_collateral_bids Error: ",e)}}}}_getFeedPrice(){const e={[this.props.asset.get("id")]:this.props.asset.toJS(),[this.props.backingAsset.get("id")]:this.props.backingAsset.toJS()},t=this.props.asset.getIn(["bitasset","is_prediction_market"],!1);let a,n=this.props.asset.getIn(["bitasset","current_feed","maximum_short_squeeze_ratio"]),s=this.props.asset.getIn(["bitasset","options","extensions","margin_call_fee_ratio"]),l=_.A.extractRawFeedPrice(this.props.asset);return 0==l.getIn(["base","amount"])&&0==l.getIn(["quote","amount"])?null:(t&&l.getIn(["base","asset_id"])===l.getIn(["quote","asset_id"])&&(e[this.props.backingAsset.get("id")]||(e[this.props.backingAsset.get("id")]={precision:this.props.asset.get("precision")}),l=l.setIn(["base","amount"],1),l=l.setIn(["base","asset_id"],this.props.backingAsset.get("id")),l=l.setIn(["quote","amount"],1),l=l.setIn(["quote","asset_id"],this.props.asset.get("id")),n=1e3),!l.toJS||e[l.toJS().base.asset_id]?(a=new A.sA({priceObject:l,market_base:this.props.asset.get("id"),sqr:n,mcfr:s,assets:e}),a):void 0)}_toggleCumulativeGrouping(){this.setState({cumulativeGrouping:!this.state.cumulativeGrouping})}_assetType(e){return"bitasset"in e?e.bitasset.is_prediction_market?"Prediction":"Smart":"Simple"}formattedPrice(e,t=!1,a=!1,s=0,l=!1){if("number"==typeof e&&isNaN(e))return"-";var r=e.base,o=e.quote;return n.createElement(d.A,{base_amount:r.amount,base_asset:r.asset_id,quote_amount:o.amount,quote_asset:o.asset_id,hide_value:a,hide_symbols:t,factor:s,negative_invert:l})}renderFlagIndicators(e,t){return n.createElement("div",null,t.map((t=>n.createElement(X,{key:`flag_${t}`,name:t,isSet:e[t]}))))}renderPermissionIndicators(e,t){return n.createElement("div",null,t.map((t=>n.createElement(Y,{key:`perm_${t}`,name:t,isSet:e[t]}))))}renderAuthorityList(e){return e.map((function(e){return n.createElement("span",{key:e},n.createElement(o.A,{account:e})," ")}))}renderMarketList(e,t){var a=e.symbol;return t.map(function(e){if(e==a)return null;var t=e+"_"+a,l=e+"/"+a;return n.createElement("span",{key:t},n.createElement(s.N_,{to:`/market/${t}`},l)," ")}.bind(this))}renderAboutBox(e,t){var a=f.ChainStore.getObject(e.issuer,!1,!1),l=a?a.get("name"):"";let o=_.A.parseDescription(e.options.description),i=o.main,c=o.short_name?o.short_name:null;i=i&&i.length>0?i+" ":i;let m=i.match(/(http?):\/\/(www\.)?[a-z0-9\.:].*?(?=\s)/g);const d=this.props.coreAsset.get("symbol");let u=o.market?o.market:d;e.bitasset&&(u=f.ChainStore.getAsset(e.bitasset.options.short_backing_asset),u=u&&u.get?u.get("symbol"):d),e.symbol===d&&(u="USD"),m&&m.length&&m.forEach((e=>{let t=`<a target="_blank" class="external-link" rel="noopener noreferrer" href="${e}">${e}</a>`;i=i.replace(e,t)}));let p,{name:E,prefix:g}=b.A.replaceName(t);return H.A.isAssetBlacklisted(e)&&(p=n.createElement(J.Alert,{message:B().translate("explorer.assets.blacklisted"),type:"error",showIcon:!0,style:{marginTop:"1em"}})),n.createElement("div",{style:{overflow:"visible"}},e&&a&&"1.3.0"!=e.id&&"1.2.0"!=a.get("id")&&n.createElement(J.Alert,{message:B().translate("explorer.asset.asset_owner_responsible"),type:"info",showIcon:!0,style:{marginTop:"1em"}}),p,n.createElement(h.A,{path:"assets/"+e.symbol,alt_path:"assets/Asset",section:"summary",symbol:(g||"")+E,description:i,issuer:l,hide_issuer:"true"}),c?n.createElement("p",null,c):null,n.createElement(s.N_,{className:"button market-button",to:`/market/${e.symbol}_${u}`},n.createElement(r(),{content:"exchange.market"})))}renderSummary(e){let t=this.props.getDynamicObject(e.dynamic_asset_data_id);t&&(t=t.toJS());var a=e.options;let s=_.A.getFlagBooleans(e.options.flags,this.props.asset.has("bitasset_data_id")),l=Object.keys(s),c="bitasset"in e&&e.bitasset.is_prediction_market,d=null;if(c){let t=_.A.parseDescription(e.options.description);d=n.createElement(n.Fragment,null,n.createElement("tr",null,n.createElement("td",null,n.createElement(J.Tooltip,{title:B().translate("explorer.asset.prediction_market_asset.tooltip_prediction")},n.createElement(r(),{content:"explorer.asset.prediction_market_asset.prediction"}))),n.createElement("td",null,n.createElement(J.Tooltip,{title:B().translate("explorer.asset.prediction_market_asset.tooltip_prediction")},t.condition))),n.createElement("tr",null,n.createElement("td",null,n.createElement(J.Tooltip,{title:B().translate("explorer.asset.prediction_market_asset.tooltip_resolution_date")},n.createElement(r(),{content:"explorer.asset.prediction_market_asset.resolution_date"}))),n.createElement("td",null,n.createElement(J.Tooltip,{title:B().translate("explorer.asset.prediction_market_asset.tooltip_resolution_date")},t.expiry))))}var p=t?n.createElement("tr",null,n.createElement("td",null,n.createElement(r(),{content:"explorer.asset.summary.current_supply"})),n.createElement("td",null,n.createElement(m.A,{amount:t.current_supply,asset:e.id}))):null,h=t?n.createElement("tr",null,n.createElement("td",null,n.createElement(r(),{content:"explorer.asset.summary.stealth_supply"})),n.createElement("td",null,n.createElement(m.A,{amount:t.confidential_supply,asset:e.id}))):null,b=s.charge_market_fee?n.createElement("tr",null,n.createElement("td",null,n.createElement(r(),{content:"explorer.asset.summary.market_fee"})),n.createElement("td",null," ",a.market_fee_percent/100," % ")):null,E=s.charge_market_fee&&a.extensions&&a.extensions.reward_percent>=0?n.createElement("tr",null,n.createElement("td",null,n.createElement(J.Tooltip,{title:B().translate("account.user_issued_assets.reward_percent_tooltip")},n.createElement(r(),{content:"explorer.asset.summary.market_fee_referral_reward_percent"})," ",n.createElement(J.Icon,{type:"question-circle",theme:"filled"}))),n.createElement("td",null," ",a.extensions.reward_percent/100," % ")):null,g=s.charge_market_fee&&a.extensions&&a.extensions.taker_fee_percent>=0?n.createElement("tr",null,n.createElement("td",null,n.createElement(J.Tooltip,{title:B().translate("account.user_issued_assets.taker_fee_percent_tooltip")},n.createElement(r(),{content:"explorer.asset.summary.market_fee_referral_taker_fee_percent"})," ",n.createElement(J.Icon,{type:"question-circle",theme:"filled"}))),n.createElement("td",null," ",a.extensions.taker_fee_percent/100," % ")):null;return n.createElement("div",{className:"asset-card no-padding"},n.createElement("div",{className:"card-divider"},n.createElement(u.A,{name:e.symbol})),n.createElement("table",{className:"table key-value-table table-hover"},n.createElement("tbody",null,n.createElement("tr",null,n.createElement("td",null,n.createElement(r(),{content:"explorer.asset.summary.asset_type"})),n.createElement("td",null," ",this._assetType(e)," ")),c&&d,n.createElement("tr",null,n.createElement("td",null,n.createElement(r(),{content:"explorer.asset.summary.issuer"})),n.createElement("td",null,n.createElement(o.A,{account:e.issuer}))),n.createElement("tr",null,n.createElement("td",null,n.createElement(r(),{content:"explorer.assets.precision"})),n.createElement("td",null," ",e.precision," ")),e.bitasset?n.createElement("tr",null,n.createElement("td",null,n.createElement(r(),{content:"explorer.assets.backing_asset"})),n.createElement("td",null,n.createElement(i.A,{asset:e.bitasset.options.short_backing_asset}))):null,p,h,b,E,g)),n.createElement("br",null),this.renderFlagIndicators(s,l))}renderPriceFeed(e){var t=e.bitasset;if(!("current_feed"in t))return n.createElement("div",{header:o});var a=t.current_feed,s=this.formattedPrice(_.A.extractRawFeedPrice(e)),l=this.formattedPrice(t.median_feed.settlement_price),o=n.createElement("div",null,n.createElement(r(),{content:"explorer.asset.price_feed.title"}),n.createElement("span",{className:"float-right"},s)),i="explorer.asset.price_feed.initial_collateral_ratio";"initial_collateral_ratio"in t.options.extensions&&t.current_feed.initial_collateral_ratio==t.options.extensions.initial_collateral_ratio&&t.feeds.length>=t.options.minimum_feeds&&(i="explorer.asset.price_feed.initial_collateral_ratio2");var c="explorer.asset.price_feed.maintenance_collateral_ratio";"maintenance_collateral_ratio"in t.options.extensions&&t.current_feed.maintenance_collateral_ratio==t.options.extensions.maintenance_collateral_ratio&&t.feeds.length>=t.options.minimum_feeds&&(c="explorer.asset.price_feed.maintenance_collateral_ratio2");var m="explorer.asset.price_feed.maximum_short_squeeze_ratio";return"maximum_short_squeeze_ratio"in t.options.extensions&&t.current_feed.maximum_short_squeeze_ratio==t.options.extensions.maximum_short_squeeze_ratio&&t.feeds.length>=t.options.minimum_feeds&&(m="explorer.asset.price_feed.maximum_short_squeeze_ratio2"),n.createElement(Q,{header:o},n.createElement("table",{className:"table key-value-table table-hover",style:{padding:"1.2rem"}},n.createElement("tbody",null,n.createElement("tr",null,n.createElement("td",null,n.createElement(r(),{content:"explorer.asset.price_feed.external_feed_price"})),n.createElement("td",null,s)),n.createElement("tr",null,n.createElement("td",null,n.createElement(r(),{content:"explorer.asset.price_feed.median_price_feeds"})),n.createElement("td",null,l)),n.createElement("tr",null,n.createElement("td",null,n.createElement(r(),{content:"explorer.asset.price_feed.feed_lifetime"})),n.createElement("td",null,t.options.feed_lifetime_sec/60/60)),n.createElement("tr",null,n.createElement("td",null,n.createElement(r(),{content:"explorer.asset.price_feed.min_feeds"})),n.createElement("td",null,t.options.minimum_feeds)),n.createElement("tr",null,n.createElement("td",null,n.createElement(r(),{content:i})),n.createElement("td",null,a.initial_collateral_ratio/1e3)),n.createElement("tr",null,n.createElement("td",null,n.createElement(r(),{content:c})),n.createElement("td",null,a.maintenance_collateral_ratio/1e3)),n.createElement("tr",null,n.createElement("td",null,n.createElement(r(),{content:m})),n.createElement("td",null,a.maximum_short_squeeze_ratio/1e3)),this._renderMCFR(t.options.extensions))))}_renderMCFR(e){if("margin_call_fee_ratio"in e)return n.createElement("tr",null,n.createElement("td",null,n.createElement(r(),{content:"explorer.asset.price_feed.margin_call_fee_ratio"})),n.createElement("td",null,e.margin_call_fee_ratio/10+"%"))}_analyzeBids(e){let t=e,a=0,n=0;return this.state.collateralBids.sort(((e,t)=>t.bid.toReal()-e.bid.toReal())).forEach((e=>{let s=e.collateral,l=e.debt;n<t?(n+l>=t?(l=t-n,s=l/e.debt*s,e.consideredIfRevived=2):e.consideredIfRevived=1,a+=s,n+=l):e.consideredIfRevived=0})),{collateral:a,debt:n}}renderSettlement(e){var t=e.bitasset;if(!("current_feed"in t))return n.createElement("div",{header:w});let a=this.props.getDynamicObject(e.dynamic_asset_data_id);a&&(a=a.toJS());var s=a?a.current_supply:0,l=t.current_feed,o=e.bitasset.settlement_fund>0;let i=null,c=null,u=null;if(o){var p=t.settlement_fund,h=this.formattedPrice(t.settlement_price),b=this.formattedPrice(t.settlement_price,!1,!1,l.maintenance_collateral_ratio/1e3,!0);const a={[this.props.asset.get("id")]:this.props.asset.toJS(),[this.props.backingAsset.get("id")]:this.props.backingAsset.toJS()};let r=s,o=t.settlement_fund,m=this._analyzeBids(r);u=n.createElement(d.A,{base_amount:t.settlement_fund/1+m.collateral,base_asset:a[t.options.short_backing_asset].id,quote_amount:m.debt,quote_asset:e.id,hide_value:!1,hide_symbols:!1,factor:l.maintenance_collateral_ratio/1e3,negative_invert:!0}),r/=Math.pow(10,e.precision),o/=Math.pow(10,a[t.options.short_backing_asset].precision);let _=m.collateral/Math.pow(10,a[t.options.short_backing_asset].precision),E=this._getFeedPrice();E&&(i=o/E.toReal()/r,c=(o+_)/E.toReal()/r)}else var E=this.getGlobalSettlementPrice(),f=this.getGlobalSettlementPrice(l.maximum_short_squeeze_ratio/1e3),x=t.force_settled_volume,A=t.options.force_settlement_offset_percent,y=t.options.force_settlement_delay_sec,v=t.options.maximum_force_settlement_volume,C=this.formattedPrice(_.A.extractRawFeedPrice(e),!1,!1,l.maximum_short_squeeze_ratio/1e3),k=this.formattedPrice(_.A.extractRawFeedPrice(e),!1,!1,1-A/1e4);var w=n.createElement("div",null,n.createElement(r(),{content:"explorer.asset.settlement.title"}),n.createElement("span",{className:"float-right"},o?h:k)),P=null;return 2==t.options.extensions.black_swan_response_method&&(P=[n.createElement("tr",{key:"debt"},n.createElement("td",null,n.createElement(r(),{content:"explorer.asset.settlement.individual_settlement_debt"})),n.createElement("td",null,n.createElement(m.A,{asset:e.id,amount:t.individual_settlement_debt}))),n.createElement("tr",{key:"fund"},n.createElement("td",null,n.createElement(r(),{content:"explorer.asset.settlement.individual_settlement_fund"})),n.createElement("td",null,n.createElement(m.A,{asset:t.options.extensions.short_backing_asset,amount:t.individual_settlement_fund})))]),n.createElement(Q,{header:w},o&&n.createElement(r(),{component:"p",content:"explorer.asset.settlement.gs_description"}),o&&n.createElement("p",null,n.createElement(r(),{content:"explorer.asset.settlement.gs_revive"})," (",n.createElement(r(),{content:"explorer.asset.settlement.gs_see_actions"}),", ",n.createElement(r(),{content:"explorer.asset.settlement.gs_or"})," ",n.createElement("a",{onClick:()=>{this.setState({showCollateralBidInInfo:!this.state.showCollateralBidInInfo})}},n.createElement(r(),{content:"explorer.asset.settlement.gs_place_bid"})),")."),n.createElement("table",{className:"table key-value-table table-hover",style:{padding:"1.2rem"}},o?n.createElement("tbody",null,n.createElement("tr",null,n.createElement("td",null,n.createElement(r(),{content:"explorer.asset.settlement.settlement_price"})),n.createElement("td",null,h)),n.createElement("tr",null,n.createElement("td",null,n.createElement(r(),{content:"explorer.asset.settlement.settlement_funds"})),n.createElement("td",null,n.createElement(m.A,{asset:t.options.short_backing_asset,amount:p}))),n.createElement("tr",null,n.createElement("td",null,n.createElement(r(),{content:"explorer.asset.settlement.settlement_funds_collateral_ratio"})),n.createElement("td",null,i?i.toFixed(6):"-")),n.createElement("tr",null,n.createElement("td",null," "),n.createElement("td",null," ")),n.createElement("tr",null,n.createElement("td",null,n.createElement(r(),{style:{fontWeight:"bold"},content:"explorer.asset.settlement.gs_revert"})),n.createElement("td",null," ")),n.createElement("tr",null,n.createElement("td",null,n.createElement(r(),{content:"explorer.asset.settlement.gs_auto_revive_price"})),n.createElement("td",null,b," / ",u)),n.createElement("tr",null,n.createElement("td",null,n.createElement(r(),{content:"explorer.asset.settlement.gs_collateral_valuation",mcr:l.maintenance_collateral_ratio/1e3})),n.createElement("td",null,c?c.toFixed(6):"-"))):n.createElement("tbody",null,n.createElement("tr",null,n.createElement("td",null,n.createElement(r(),{content:"explorer.asset.price_feed.maximum_short_squeeze_price"})),n.createElement("td",null,C)),n.createElement("tr",null,n.createElement("td",null,n.createElement(r(),{content:"explorer.asset.price_feed.global_settlement_trigger"})),n.createElement("td",null,f||"-")),n.createElement("tr",null,n.createElement("td",null,n.createElement(r(),{content:"explorer.asset.price_feed.global_settlement_price"})),n.createElement("td",null,E||"-")),n.createElement("tr",null,n.createElement("td",null,n.createElement(r(),{content:"explorer.asset.settlement.black_swan_response_method"})),n.createElement("td",null,t.options.extensions.black_swan_response_method)),n.createElement("tr",null,n.createElement("td",null," "),n.createElement("td",null," ")),n.createElement("tr",null,n.createElement("td",null,n.createElement(r(),{style:{fontWeight:"bold"},content:"explorer.asset.settlement.force_settlement"})),n.createElement("td",null," ")),n.createElement("tr",null,n.createElement("td",null,n.createElement(r(),{content:"explorer.asset.settlement.price"})," (",A/100,"%"," ",n.createElement(r(),{content:"explorer.asset.settlement.offset"}),")"),n.createElement("td",null,k)),n.createElement("tr",null,n.createElement("td",null,n.createElement(r(),{content:"explorer.asset.settlement.force_settle_fee_percent"})),n.createElement("td",null,t.options.extensions.force_settle_fee_percent/100+"%")),n.createElement("tr",null,n.createElement("td",null,n.createElement(r(),{content:"explorer.asset.settlement.delay"})),n.createElement("td",null,n.createElement(g,{time:y}))),n.createElement("tr",null,n.createElement("td",null,n.createElement(r(),{content:"explorer.asset.settlement.max_settle_volume"})," (",v/100,"%)"),n.createElement("td",null,n.createElement(m.A,{asset:e.id,amount:s*(v/1e4)}))),n.createElement("tr",null,n.createElement("td",null,n.createElement(r(),{content:"explorer.asset.settlement.current_settled"})),n.createElement("td",null,n.createElement(m.A,{asset:e.id,amount:x}))),n.createElement("tr",null,n.createElement("td",null,n.createElement(r(),{content:"explorer.asset.settlement.settle_remaining_volume"})),n.createElement("td",null,0==x?100:Math.round(100-x/(s*(v/1e4))*100,2),"%")),P?P.map((e=>e)):null)))}renderFeePool(e){let t=this.props.getDynamicObject(e.dynamic_asset_data_id);t&&(t=t.toJS());var a=e.options;const s=this.props.coreAsset;return n.createElement(Q,{header:n.createElement("div",null,n.createElement(r(),{content:"explorer.asset.fee_pool.title"}),t?n.createElement("span",{className:"float-right"},n.createElement(m.A,{asset:"1.3.0",amount:t.fee_pool})):null)},n.createElement("div",null,n.createElement(r(),{component:"p",content:"explorer.asset.fee_pool.pool_text",unsafe:!0,asset:e.symbol,core:s.get("symbol")}),n.createElement("table",{className:"table key-value-table",style:{padding:"1.2rem"}},n.createElement("tbody",null,n.createElement("tr",null,n.createElement("td",null,n.createElement(r(),{content:"explorer.asset.fee_pool.core_exchange_rate"})),n.createElement("td",null,this.formattedPrice(a.core_exchange_rate))),n.createElement("tr",null,n.createElement("td",null,n.createElement(r(),{content:"explorer.asset.fee_pool.pool_balance"})),n.createElement("td",null,t?n.createElement(m.A,{asset:"1.3.0",amount:t.fee_pool}):null)),n.createElement("tr",null,n.createElement("td",null,n.createElement(r(),{content:"explorer.asset.fee_pool.unclaimed_issuer_income"})),n.createElement("td",null,t?n.createElement(m.A,{asset:e.id,amount:t.accumulated_fees}):null)),e.bitasset&&n.createElement("tr",null,n.createElement("td",null,n.createElement(r(),{content:"explorer.asset.fee_pool.accumulated_collateral_fees"})),n.createElement("td",null,t?n.createElement(m.A,{asset:e.bitasset.options.short_backing_asset,amount:t.accumulated_collateral_fees}):null))))))}renderAssetOwnerUpdate(e){return n.createElement(Q,{header:n.createElement(r(),{content:"account.user_issued_assets.update_owner"})},n.createElement(r(),{component:"p",content:"account.user_issued_assets.update_owner_text",asset:e.symbol}),n.createElement(z,{asset:e,account:this.props.currentAccount,currentOwner:e.issuer}))}renderFeedPublish(e){return n.createElement(Q,{header:n.createElement(r(),{content:"transaction.trxTypes.asset_publish_feed"})},n.createElement(r(),{component:"p",content:"explorer.asset.feed_producer_text"}),n.createElement(M,{asset:e.id,account:this.props.currentAccount,currentOwner:e.issuer}))}renderCollateralBid(e){return n.createElement(Q,{header:n.createElement(r(),{content:"explorer.asset.collateral.bid"})},n.createElement(r(),{component:"p",content:"explorer.asset.collateral.bid_text",asset:e.symbol}),n.createElement(r(),{component:"p",content:"explorer.asset.settlement.gs_included_on_revival"}),n.createElement(r(),{component:"p",content:"explorer.asset.collateral.remove_bid"}),n.createElement(W,{asset:e.symbol,core:e.bitasset.options.short_backing_asset,funderAccountName:this.props.currentAccount,onUpdate:this.updateOnCollateralBid.bind(this),hideBalance:!0}))}renderFeePoolFunding(e){return n.createElement(Q,{header:n.createElement(r(),{content:"explorer.asset.fee_pool.fund"})},n.createElement(r(),{component:"p",content:"explorer.asset.fee_pool.fund_text",asset:e.symbol}),n.createElement(N,{asset:e.symbol,funderAccountName:this.props.currentAccount,hideBalance:!0}))}renderFeePoolClaiming(e){let t=this.props.getDynamicObject(e.dynamic_asset_data_id);return t&&(t=t.toJS()),n.createElement(Q,{header:n.createElement(r(),{content:"explorer.asset.fee_pool.claim_balance"})},n.createElement(N,{asset:e.symbol,funderAccountName:this.props.currentAccount,dynamic:t,hideBalance:!0,type:"claim"}))}renderFeesClaiming(e){let t=this.props.getDynamicObject(e.dynamic_asset_data_id);return t&&(t=t.toJS()),n.createElement(Q,{header:n.createElement(r(),{content:"transaction.trxTypes.asset_claim_fees"})},n.createElement(N,{asset:e.symbol,dynamic:t,funderAccountName:this.props.currentAccount,hideBalance:!0,type:"claim_fees"}))}renderFeesCollateralClaiming(e){let t=this.props.getDynamicObject(e.dynamic_asset_data_id);return t&&(t=t.toJS()),n.createElement(Q,{header:n.createElement(r(),{content:"explorer.asset.fee_pool.accumulated_collateral_fees"})},n.createElement(N,{asset:e.symbol,dynamic:t,funderAccountName:this.props.currentAccount,hideBalance:!0,type:"claim_collateral_fees"}))}renderPermissions(e){var t=e.options;let a=_.A.getFlagBooleans(e.options.issuer_permissions,this.props.asset.has("bitasset_data_id")),s=Object.keys(a);var l=a.charge_market_fee?n.createElement("tr",null,n.createElement("td",null,n.createElement(r(),{content:"explorer.asset.permissions.max_market_fee"})),n.createElement("td",null,n.createElement(m.A,{amount:+t.max_market_fee,asset:e.id}))):null,o=n.createElement("tr",null,n.createElement("td",null,n.createElement(r(),{content:"explorer.asset.permissions.max_supply"})),n.createElement("td",null,n.createElement(m.A,{amount:+t.max_supply,asset:e.id}))),i=a.white_list?n.createElement("div",null,n.createElement("br",null),!!t.blacklist_authorities&&!!t.blacklist_authorities.length&&n.createElement(n.Fragment,null,n.createElement(r(),{content:"explorer.asset.permissions.blacklist_authorities"}),": ",this.renderAuthorityList(t.blacklist_authorities)),!!t.blacklist_markets&&!!t.blacklist_markets.length&&n.createElement(n.Fragment,null,n.createElement("br",null),n.createElement(r(),{content:"explorer.asset.permissions.blacklist_markets"}),": ",this.renderMarketList(e,t.blacklist_markets)),!!t.whitelist_authorities&&!!t.whitelist_authorities.length&&n.createElement(n.Fragment,null,n.createElement("br",null),n.createElement(r(),{content:"explorer.asset.permissions.whitelist_authorities"}),": ",this.renderAuthorityList(t.whitelist_authorities)),!!t.whitelist_markets&&!!t.whitelist_markets.length&&n.createElement(n.Fragment,null,n.createElement("br",null),n.createElement(r(),{content:"explorer.asset.permissions.whitelist_markets"}),": ",this.renderMarketList(e,t.whitelist_markets))):null;let c=e.options.extensions.whitelist_market_fee_sharing&&n.createElement(n.Fragment,null,n.createElement("br",null),n.createElement(r(),{content:"explorer.asset.permissions.accounts_in_whitelist_market_fee_sharing"}),": ",this.renderAuthorityList(e.options.extensions.whitelist_market_fee_sharing));return n.createElement(Q,{header:n.createElement(r(),{content:"explorer.asset.permissions.title"})},n.createElement("div",null,n.createElement("table",{className:"table key-value-table table-hover",style:{padding:"1.2rem"}},n.createElement("tbody",null,l,o)),n.createElement("br",null),this.renderPermissionIndicators(a,s),n.createElement("br",null),i,c))}getGlobalSettlementPrice(e=1){if(!this.state.callOrders)return null;for(var t=null,a=null,s=this.state.callOrders.length,l=0;l<s;l++){let e=this.state.callOrders[l];null==t?(t=e,a=e.getRatio()):e.getRatio()<a&&(a=e.getRatio(),t=e)}if(null==t)return null;let r=t.debt*e,o=t.collateral;return n.createElement(d.A,{base_amount:o,base_asset:t.call_price.base.asset_id,quote_amount:r,quote_asset:t.call_price.quote.asset_id})}_renderFeedTable(e){var t=e.bitasset;if(!("feeds"in t)||0==t.feeds.length||t.is_prediction_market||!t.feeds.length)return null;var a=t.feeds,s=_.A.extractRawFeedPrice(a[0][1][1]),l=a[0][1][1].core_exchange_rate;let i=(new Date).getTime(),c=new Date(i-1e3*e.bitasset.options.feed_lifetime_sec);a=a.filter((e=>new Date(e[1][0])>c)).sort((function(e,t){return new Date(t[1][0])-new Date(e[1][0])}));let m=_.A.extractRawFeedPrice(e),d=m.base.amount/m.quote.amount,u=[],h=[];h=[{key:"publisher",fixed:"left",width:150,title:n.createElement(r(),{content:"explorer.asset.price_feed_data.publisher"}),dataIndex:"publisher",sorter:(e,t)=>{let a=f.ChainStore.getAccount(e.publisher,!1);a&&(a=a.get("name"));let n=f.ChainStore.getAccount(t.publisher,!1);return n&&(n=n.get("name")),a>n?1:a<n?-1:0},render:e=>n.createElement(o.A,{account:e})},{key:"feed_price",title:n.createElement(n.Fragment,null,n.createElement(r(),{content:"explorer.asset.price_feed_data.feed_price"})," ","(",this.formattedPrice(s,!1,!0),")"),dataIndex:"feed_price",sorter:(e,t)=>{let a=parseFloat(e.feed_price.base.amount/e.feed_price.quote.amount),n=parseFloat(t.feed_price.base.amount/t.feed_price.quote.amount);return a>n?1:a<n?-1:0},render:e=>{let t=(parseFloat(e.base.amount/e.quote.amount)/d*100-100).toFixed(2);return n.createElement(n.Fragment,null,this.formattedPrice(e,!0),"(",n.createElement("span",{className:t>0?"txtlabel success":t<0?"txtlabel warning":"txtlabel"},t,"%"),")")}},{key:"core_exchange_rate",title:n.createElement(n.Fragment,null,n.createElement(r(),{content:"explorer.asset.price_feed_data.core_exchange_rate"})," ","(",this.formattedPrice(l,!1,!0),")"),dataIndex:"core_exchange_rate",render:e=>this.formattedPrice(e,!0)},{key:"maintenance_collateral_ratio",title:n.createElement(r(),{content:"explorer.asset.price_feed_data.maintenance_collateral_ratio"}),dataIndex:"maintenance_collateral_ratio",render:e=>e},{key:"maximum_short_squeeze_ratio",title:n.createElement(r(),{content:"explorer.asset.price_feed_data.maximum_short_squeeze_ratio"}),dataIndex:"maximum_short_squeeze_ratio",render:e=>e},{key:"publishDate",fixed:"right",width:150,title:n.createElement(r(),{content:"explorer.asset.price_feed_data.published"}),dataIndex:"publishDate",sorter:(e,t)=>e.publishDate.getTime()>t.publishDate.getTime()?1:e.publishDate.getTime()<t.publishDate.getTime()?-1:0,render:e=>n.createElement(p.A,{time:e})}];for(var b=0;b<a.length;b++){var E=a[b],g=E[0],x=new Date(E[1][0]+"Z"),A=_.A.extractRawFeedPrice(E[1][1]),y=E[1][1].core_exchange_rate,v=""+E[1][1].maintenance_collateral_ratio/1e3,C=""+E[1][1].maximum_short_squeeze_ratio/1e3;u.push({publisher:g,feed_price:A,core_exchange_rate:y,maintenance_collateral_ratio:v,maximum_short_squeeze_ratio:C,publishDate:x})}return n.createElement(J.Table,{style:{width:"100%"},rowKey:"feedPublisher",columns:h,dataSource:u,pagination:!1,locale:{emptyText:n.createElement(r(),{content:"explorer.asset.price_feed_data.empty"})}})}_renderMarginTable(){let{cumulativeGrouping:e}=this.state,t=[],a=[];if(this.state.callOrders&&this.state.callOrders.length>0){const s=e?n.createElement("span",null," (",n.createElement(r(),{content:"explorer.asset.cumulative"}),")"):n.createElement("span",null," ");let l=0,i=0;this.state.callOrders.map((t=>{l+=t.debt,i+=t.collateral,a.push({borrower:t.borrower,collateral:{amount:e?i:t.collateral,asset:t.getCollateral().asset_id},debt:{amount:e?l:t.debt,asset:t.amountToReceive().asset_id},call:t.call_price,tcr:t.order.target_collateral_ratio,cr:{ratio:t.getRatio(),status:t.getStatus()}})}));const c=e=>{let t=a[0][e];return a.length?n.createElement("span",null,n.createElement("br",null),t.base?this.formattedPrice(t,!1,!0):n.createElement(m.A,{asset:t.asset,amount:t.amount,hide_amount:!0})):null};t=[{key:"borrower",fixed:"left",width:200,title:n.createElement(r(),{content:"transaction.borrower"}),dataIndex:"borrower",sorter:(e,t)=>{let a=f.ChainStore.getAccount(e.borrower,!1);a&&(a=a.get("name"));let n=f.ChainStore.getAccount(t.borrower,!1);return n&&(n=n.get("name")),a>n?1:a<n?-1:0},render:e=>n.createElement(o.A,{account:e})},{key:"collateral",title:n.createElement(n.Fragment,null,n.createElement(r(),{content:"transaction.collateral"}),s,c("collateral")),dataIndex:"collateral",sorter:(e,t)=>e.collateral.amount>t.collateral.amount?1:e.collateral.amount<t.collateral.amount?-1:0,render:e=>n.createElement(J.Tooltip,{title:B().translate("explorer.asset.margin_positions.click_to_switch_to_cumulative"),mouseEnterDelay:.5},n.createElement("span",{onClick:this._toggleCumulativeGrouping.bind(this),style:{cursor:"pointer"}},n.createElement(m.A,{amount:e.amount,asset:e.asset,hide_asset:!0})))},{key:"debt",title:n.createElement(n.Fragment,null,n.createElement(r(),{content:"transaction.borrow_amount"}),s,c("debt")),dataIndex:"debt",sorter:(e,t)=>e.debt.amount>t.debt.amount?1:e.debt.amount<t.debt.amount?-1:0,render:e=>n.createElement("div",{onClick:this._toggleCumulativeGrouping.bind(this),style:{cursor:"pointer"}},n.createElement(J.Tooltip,{title:B().translate("explorer.asset.margin_positions.click_to_switch_to_cumulative"),mouseEnterDelay:.5},n.createElement(m.A,{amount:e.amount,asset:e.asset,hide_asset:!0})))},{key:"call",title:n.createElement("span",null,n.createElement(r(),{content:"exchange.call"}),c("call")),dataIndex:"call",render:e=>this.formattedPrice(e,!0,!1)},{key:"tcr",title:n.createElement(J.Tooltip,{title:B().translate("borrow.target_collateral_ratio_explanation")},n.createElement(r(),{content:"borrow.target_collateral_ratio_short"})),dataIndex:"tcr",render:e=>e?(e/1e3).toFixed(3):"-"},{key:"cr",title:n.createElement(r(),{content:"borrow.coll_ratio"}),dataIndex:"cr",fixed:"right",width:100,sorter:(e,t)=>e.cr.ratio>t.cr.ratio?1:e.cr.ratio<t.cr.ratio?-1:0,render:e=>{let t="margin-ratio "+e.status;return n.createElement(n.Fragment,null,n.createElement("div",{className:t},e.ratio.toFixed(3)))}}]}return n.createElement(J.Table,{style:{width:"100%"},rowKey:"borrower",columns:t,dataSource:a,rowClassName:"margin-row",pagination:{pageSize:Number(25)},locale:{emptyText:n.createElement(r(),{content:"explorer.asset.margin_positions.empty"})}})}_renderCollBidTable(){let e=[],t=[];e=[{key:"bidder",title:n.createElement(r(),{content:"transaction.bidder"}),dataIndex:"bidder",fixed:"left",width:200,render:e=>n.createElement(o.A,{account:e})},{key:"collateral",title:n.createElement(r(),{content:"transaction.collateral"}),dataIndex:"collateral",render:e=>n.createElement(m.A,{amount:e.amount,asset:e.asset_id,hide_asset:!0})},{key:"debt",title:n.createElement(r(),{content:"transaction.borrow_amount"}),dataIndex:"debt",render:e=>n.createElement(m.A,{amount:e.amount,asset:e.asset_id,hide_asset:!0})},{key:"debt_cum",title:n.createElement(r(),{content:"transaction.cumulative_borrow_amount"}),dataIndex:"debt_cum",render:e=>n.createElement(m.A,{amount:e.amount,asset:e.asset_id,hide_asset:!0})},{key:"price",title:n.createElement(r(),{content:"explorer.asset.collateral_bid.bid"}),dataIndex:"price",render:e=>n.createElement(d.A,{base_amount:e.base.amount,base_asset:e.base.asset_id,quote_amount:e.quote.amount,quote_asset:e.quote.asset_id,hide_symbols:!0})},{key:"cr",title:n.createElement(r(),{content:"borrow.coll_ratio"}),dataIndex:"cr",render:e=>e.toFixed(3)},{key:"included",title:n.createElement(r(),{content:"borrow.considered_on_revival"}),dataIndex:"included",render:e=>2==e?n.createElement(r(),{content:"explorer.asset.collateral_bid.included.partial"}):1==e?n.createElement(r(),{content:"explorer.asset.collateral_bid.included.yes"}):n.createElement(r(),{content:"explorer.asset.collateral_bid.included.no"})}];let a=0;return this.state.collateralBids.map((e=>{a+=e.debt,t.push({bidder:e.bidder,collateral:{amount:e.bid.base.amount,asset:e.bid.base.asset_id},debt:{amount:e.bid.quote.amount,asset:e.bid.quote.asset_id},debt_cum:{amount:a,asset:e.bid.quote.asset_id},price:e.bid,cr:e.getRatio(),included:e.consideredIfRevived})})),n.createElement(J.Table,{style:{width:"100%"},rowKey:"feedCollBid",columns:e,dataSource:t,pagination:{pageSize:Number(25)},locale:{emptyText:n.createElement(r(),{content:"explorer.asset.collateral_bid.empty"})}})}_setFeedTab(e){this.setState({activeFeedTab:e})}_setAssetTab(e){this.setState({activeAssetTab:e})}renderFeedTables(e){var t=e.bitasset;if(!("feeds"in t)||0==t.feeds.length||t.is_prediction_market||!t.feeds.length)return null;let a=t.settlement_fund>0;return n.createElement(J.Tabs,{onChange:this._setFeedTab.bind(this),activeKey:this.state.activeFeedTab},n.createElement(J.Tabs.TabPane,{tab:B().translate(a?"explorer.asset.collateral_bid.title":"explorer.asset.margin_positions.title"),key:"margin"},"margin"==this.state.activeFeedTab?a?this._renderCollBidTable():this._renderMarginTable():null),n.createElement(J.Tabs.TabPane,{tab:B().translate("explorer.asset.price_feed_data.title"),key:"feed"},"feed"==this.state.activeFeedTab?this._renderFeedTable(e):null))}renderAssetResolvePrediction(e){return n.createElement(Q,{header:n.createElement(r(),{content:"account.user_issued_assets.resolve_prediction"})},n.createElement(r(),{component:"p",content:"account.user_issued_assets.resolve_prediction_text"}),n.createElement(K,{asset:e,account:this.props.currentAccount}))}render(){if(null===this.props.backingAsset)return n.createElement(y.A,{subtitle:"asset_not_found_subtitle"});if(!this.props.backingAsset.get||!this.props.coreAsset.get)return null;var e=this.props.asset.toJS(),t="bitasset"in e?this.renderPriceFeed(e):null,a="bitasset"in e?this.renderFeedTables(e):null;return n.createElement("div",{className:"grid-container asset-page"},n.createElement("div",{className:"grid-block page-layout"},n.createElement("div",{className:"grid-block main-content wrap"},n.createElement("div",{className:"grid-block medium-up-1",style:{width:"100%"}},this.renderAboutBox(e,this.props.asset)),n.createElement(J.Tabs,{onChange:this._setAssetTab.bind(this),activeKey:this.state.activeAssetTab,className:"grid-block vertical"},n.createElement(J.Tabs.TabPane,{tab:B().translate("explorer.asset.info"),key:"info"},n.createElement("div",{className:"grid-block vertical large-horizontal medium-up-1 large-up-2",style:{paddingTop:"1rem"}},n.createElement("div",{className:"grid-content small-no-padding"},this.renderSummary(e)),n.createElement("div",null,n.createElement(J.Collapse,{className:"asset-collapse"},this.renderPermissions(e),this.renderFeePool(e),t?this.renderPriceFeed(e):null,t?this.renderSettlement(e):null,this.state.showCollateralBidInInfo?this.renderCollateralBid(e):null))),a||null),n.createElement(J.Tabs.TabPane,{tab:B().translate("explorer.asset.actions"),key:"actions"},n.createElement(J.Collapse,{className:"asset-collapse"},this.renderFeePoolFunding(e),this.renderFeePoolClaiming(e),this.renderFeesClaiming(e),this.renderFeesCollateralClaiming(e),this.renderAssetOwnerUpdate(e),"bitasset"in e&&!e.bitasset.is_prediction_market&&this.renderFeedPublish(e),this.state.collateralBids.length>0&&this.renderCollateralBid(e),"bitasset"in e&&e.bitasset.is_prediction_market&&this.renderAssetResolvePrediction(e)))))))}}ee=(0,I.N)(ee,{listenTo:()=>[T.A],getProps:()=>({currentAccount:T.A.getState().currentAccount||T.A.getState().passwordAccount})}),ee=(0,c.A)(ee,{propNames:["backingAsset","coreAsset"]});class te extends n.Component{render(){if(null===this.props.asset)return n.createElement(y.A,{subtitle:"asset_not_found_subtitle"});if(!this.props.asset.get)return null;let e=this.props.asset.has("bitasset")?this.props.asset.getIn(["bitasset","options","short_backing_asset"]):"1.3.0";return n.createElement(ee,Z({},this.props,{backingAsset:e,coreAsset:"1.3.0"}))}}te=(0,c.A)(te,{withDynamic:!0});class ae extends n.Component{render(){let e=this.props.match.params.symbol.toUpperCase();return n.createElement(te,Z({},this.props,{asset:e}))}}},49585:(e,t,a)=>{a.d(t,{A:()=>f});var n=a(96540),s=a(80849),l=a.n(s),r=a(96366),o=a(62611),i=a(9404),c=a.n(i),m=a(10658),d=a.n(m),u=a(60819),p=a(87040),h=a(5556),_=a.n(h),b=a(6356);class E extends n.Component{static propTypes={value:_().string,onChange:_().func,scroll_length:_().number};shouldComponentUpdate(e){return!p.A.are_equal_shallow(e.assets,this.props.assets)||e.value!==this.props.value||e.scroll_length!==this.props.scroll_length}render(){return this.props.assets.length?n.createElement(o.A,{entries:this.props.assets.map((e=>e&&e.get("symbol"))).filter((e=>!!e)),values:this.props.assets.reduce(((e,t)=>(t&&t.get("symbol")&&(e[t.get("symbol")]=t),e)),{}),singleEntry:this.props.assets[0]?n.createElement(r.A,{asset:this.props.assets[0].get("id"),amount:0,hide_amount:!0}):null,value:this.props.value,onChange:this.props.onChange,scroll_length:this.props.scroll_length}):null}}E=(0,u.A)(E,{asList:!0});class g extends b.x{static propTypes={label:_().string,assets:_().array,amount:_().any,placeholder:_().string,onChange:_().func,tabIndex:_().number,error:_().string,scroll_length:_().number};static defaultProps={disabled:!1,tabIndex:0};componentDidMount(){this.onAssetChange(this.props.asset)}formatAmount(e){return e||(e=""),"number"==typeof e&&(e=e.toString()),e.trim().replace(/,/g,"")}_onChange(e){this.props.onChange&&this.props.onChange({amount:this.getNumericEventValue(e),asset:this.props.asset})}onAssetChange(e){this.props.onChange&&this.props.onChange({amount:this.props.amount,asset:e})}render(){let e=this.props.error?d().translate(this.props.error):this.formatAmount(this.props.amount);return n.createElement("div",{className:"amount-selector",style:this.props.style},n.createElement("label",{className:"right-label"},this.props.display_balance),n.createElement(l(),{className:"left-label",component:"label",content:this.props.label}),n.createElement("div",{className:"inline-label input-wrapper"},n.createElement("input",{disabled:this.props.disabled,type:"text",value:e||"",placeholder:this.props.placeholder,onChange:this._onChange.bind(this),tabIndex:this.props.tabIndex,onPaste:this.props.onPaste||this.onPaste.bind(this),onKeyPress:this.onKeyPress.bind(this)}),n.createElement("div",{className:"form-label select floating-dropdown"},this.props.isPrice?n.createElement("div",{className:"dropdown-wrapper inactive"},n.createElement("div",null,this.props.asset.get("symbol"),"/",this.props.base)):n.createElement(E,{ref:this.props.refCallback,value:this.props.asset.get("symbol"),assets:c().List(this.props.assets),onChange:this.onAssetChange.bind(this),scroll_length:this.props.scroll_length}))))}}const f=g=(0,u.A)(g)},62611:(e,t,a)=>{a.d(t,{A:()=>i});var n=a(96540),s=a(87040),l=a(5556),r=a.n(l);class o extends n.Component{static propTypes={scroll_length:r().number};static defaultProps={scroll_length:9};constructor(e){e.scroll_length,super(e),this.state={active:!1},this.listener=!1,this.onBodyClick=this.onBodyClick.bind(this)}componentDidMount(){this._setListener()}shouldComponentUpdate(e,t){return!s.A.are_equal_shallow(e.entries,this.props.entries)||!s.A.are_equal_shallow(t,this.state)||e.value!==this.props.value}_setListener(e=this.props){e.entries.length>1&&!this.listener&&(this.listener=!0,document.body.addEventListener("click",this.onBodyClick,{capture:!1,passive:!0}))}_removeListener(){document.body.removeEventListener("click",this.onBodyClick),this.listener=!1}UNSAFE_componentWillReceiveProps(e){1===e.entries.length?this._removeListener():e.entries.length>1&&this._setListener(e)}componentWillUnmount(){this._removeListener()}onBodyClick(e){let t=e.target,a=!1;do{if(t.classList&&t.classList.contains("dropdown")&&t.id===this.props.id){a=!0;break}}while(t=t.parentNode);a?e.stopPropagation():this.setState({active:!1})}onChange(e,t){t.preventDefault(),t.stopPropagation(),this.props.onChange(e),this.setState({active:!1})}_toggleDropdown(){this.setState({active:!this.state.active})}render(){const{entries:e,value:t}=this.props;let{active:a}=this.state;if(0===e.length)return null;if(1==e.length)return n.createElement("div",{className:"dropdown-wrapper inactive"+(this.props.upperCase?" upper-case":"")},n.createElement("div",null,this.props.singleEntry?this.props.singleEntry:e[0]));{let s=e.map((e=>n.createElement("li",{className:this.props.upperCase?"upper-case":"",key:e,onClick:this.onChange.bind(this,this.props.values[e])},n.createElement("span",null,e))));return n.createElement("div",{onClick:this._toggleDropdown.bind(this),className:"dropdown-wrapper"+(a?" active":"")+(this.props.upperCase?" upper-case":"")},n.createElement("div",{style:{paddingRight:15}},t||n.createElement("span",{className:"hidden"},"A")),n.createElement("ul",{className:"dropdown",style:{overflow:e.length>this.props.scroll_length?"auto":"hidden"}},s))}}}const i=o}}]);