/**
 * Minified by jsDelivr using Terser v5.39.0.
 * Original file: /npm/@oceanprotocol/react@0.6.2/dist/index.js
 *
 * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files
 */
var React=require("react"),Web3=require("web3"),lib=require("@oceanprotocol/lib"),Web3Modal=require("web3modal"),decimal_js=require("decimal.js"),axios=require("axios");function _interopDefaultLegacy(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var ProviderStatus,React__default=_interopDefaultLegacy(React),Web3__default=_interopDefaultLegacy(Web3),Web3Modal__default=_interopDefaultLegacy(Web3Modal),axios__default=_interopDefaultLegacy(axios);!function(e){e[e.NOT_AVAILABLE=-1]="NOT_AVAILABLE",e[e.NOT_CONNECTED=0]="NOT_CONNECTED",e[e.CONNECTED=1]="CONNECTED"}(ProviderStatus||(ProviderStatus={}));var ProviderStatus$1=ProviderStatus,getDefaultProviders=function(){try{return Promise.resolve({cacheProvider:!0})}catch(e){return Promise.reject(e)}};function _settle$2(e,t,r){if(!e.s){if(r instanceof _Pact$2){if(!r.s)return void(r.o=_settle$2.bind(null,e,t));1&t&&(t=r.s),r=r.v}if(r&&r.then)return void r.then(_settle$2.bind(null,e,t),_settle$2.bind(null,e,2));e.s=t,e.v=r;var n=e.o;n&&n(e)}}function _catch$5(e,t){try{var r=e()}catch(e){return t(e)}return r&&r.then?r.then(void 0,t):r}var getDataTokenPrice=function(e,t,r,n){switch(r){case"pool":return Promise.resolve(getFirstPoolPrice(e,t,n));case"exchange":return Promise.resolve(getFirstExchangePrice(e,t));default:return Promise.resolve(getBestDataTokenPrice(e,t))}},getBestDataTokenPrice=function(e,t){try{return Promise.resolve(getCheapestPoolPrice(e,t)).then((function(r){return Promise.resolve(getCheapestExchangePrice(e,t)).then((function(e){return decimal_js.Decimal.set({precision:5}),new decimal_js.Decimal(r&&0!==r.value?r.value:999999999999)<new decimal_js.Decimal(e&&0!==(null==e?void 0:e.value)?e.value:999999999999)?r:e}))}))}catch(e){return Promise.reject(e)}},getFirstPoolPrice=function(e,t,r){try{var n,o=function(r){return n?r:i?Promise.resolve(e.pool.calcInGivenOut(i,e.pool.oceanAddress,t,"1")).then((function(t){return Promise.resolve(e.pool.getOceanNeeded(i,"1")).then((function(r){return Promise.resolve(e.pool.getOceanReserve(i)).then((function(n){return Promise.resolve(e.pool.getDTReserve(i)).then((function(e){return{type:"pool",pools:[i],address:i,value:Number(t),ocean:Number(n),datatoken:Number(e),isConsumable:Number(r)>0?"true":"false"}}))}))}))})):{type:"",address:"",pools:[],datatoken:0,value:0,isConsumable:""}},i=r,a=function(){if(!r)return Promise.resolve(e.pool.searchPoolforDT(t)).then((function(e){if(void 0===e||0===e.length)return n=1,{type:"",address:"",pools:[],datatoken:0,value:0,isConsumable:""};i=e[0]}))}();return Promise.resolve(a&&a.then?a.then(o):o(a))}catch(e){return Promise.reject(e)}},getFirstExchangePrice=function(e,t){try{return Promise.resolve(_catch$5((function(){return Promise.resolve(e.fixedRateExchange.searchforDT(t,"1")).then((function(e){if(void 0===e||0===e.length)return{type:"",address:"",pools:[],datatoken:0,value:0,isConsumable:""};var t=e[0];return{type:"exchange",pools:[],address:t.exchangeID||"",value:Number(t.fixedRate),ocean:0,datatoken:Number(t.supply),isConsumable:Number(t.supply)>0?"true":"false"}}))}),(function(e){return lib.Logger.log(e),{type:"",address:"",pools:[],datatoken:0,value:0,isConsumable:""}})))}catch(e){return Promise.reject(e)}},getCheapestExchangePrice=function(e,t){try{return Promise.resolve(_catch$5((function(){return Promise.resolve(e.fixedRateExchange.searchforDT(t,"1")).then((function(t){function r(e){return{type:"exchange",pools:[],address:n||"",value:Number(o),ocean:0,datatoken:Number(e),isConsumable:Number(e)>0?"true":"false"}}if(void 0===t||0===t.length)return{type:"",address:"",pools:[],datatoken:0,value:0,isConsumable:""};for(var n=t[0].exchangeID,o=new decimal_js.Decimal(t[0].fixedRate),i=0;i<t.length;i++){var a=new decimal_js.Decimal(t[i].fixedRate);a<o&&(o=a,n=t[i].exchangeID)}return n?Promise.resolve(e.fixedRateExchange.getSupply(n)).then(r):r("0")}))}),(function(e){return lib.Logger.log(e),{type:"",address:"",pools:[],datatoken:0,value:0,isConsumable:""}})))}catch(e){return Promise.reject(e)}},_Pact$2=function(){function e(){}return e.prototype.then=function(t,r){var n=new e,o=this.s;if(o){var i=1&o?t:r;if(i){try{_settle$2(n,1,i(this.v))}catch(e){_settle$2(n,2,e)}return n}return this}return this.o=function(e){try{var o=e.v;1&e.s?_settle$2(n,1,t?t(o):o):r?_settle$2(n,1,r(o)):_settle$2(n,2,o)}catch(e){_settle$2(n,2,e)}},n},e}();function _isSettledPact(e){return e instanceof _Pact$2&&1&e.s}function _forTo(e,t,r){var n,o,i=-1;return function a(c){try{for(;++i<e.length&&(!r||!r());)if((c=t(i))&&c.then){if(!_isSettledPact(c))return void c.then(a,o||(o=_settle$2.bind(null,n=new _Pact$2,2)));c=c.v}n?_settle$2(n,1,c):n=c}catch(e){_settle$2(n||(n=new _Pact$2),2,e)}}(),n}var getCheapestPoolPrice=function(e,t){try{return Promise.resolve(e.pool.searchPoolforDT(t)).then((function(r){function n(){return Promise.resolve(e.pool.getOceanNeeded(o,"1")).then((function(t){return Promise.resolve(e.pool.getOceanReserve(o)).then((function(r){return Promise.resolve(e.pool.getDTReserve(o)).then((function(e){return{type:"pool",pools:[o],address:o,value:Number(i),ocean:Number(r),datatoken:Number(e),isConsumable:Number(t)>0?"true":"false"}}))}))}))}if(void 0===r||0===r.length)return{type:"",address:"",pools:[],datatoken:0,value:0,isConsumable:""};var o=r[0],i=new decimal_js.Decimal(999999999999),a=function(){if(r){var n=_forTo(r,(function(n){return Promise.resolve(e.pool.calcInGivenOut(r[n],e.pool.oceanAddress,t,"1")).then((function(e){var t=new decimal_js.Decimal(e);t<i&&(i=t,o=r[n])}))}));if(n&&n.then)return n.then((function(){}))}}();return a&&a.then?a.then(n):n()}))}catch(e){return Promise.reject(e)}},getBalance=function(e){try{return Promise.resolve(e.getEtherBalance()).then((function(t){return Promise.resolve(e.getOceanBalance()).then((function(e){return{eth:t,ocean:e}}))}))}catch(e){return Promise.reject(e)}},getAccountId=function(e){try{return Promise.resolve(e.eth.getAccounts()).then((function(e){return e[0]}))}catch(e){return Promise.reject(e)}};function _extends(){return _extends=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},_extends.apply(this,arguments)}var feedback={99:"Decrypting file URL...",0:"1/3 Looking for data token. Buying if none found...",1:"2/3 Transfering data token.",2:"3/3 Payment confirmed. Requesting access..."},publishFeedback={0:"1/5 Creating datatoken ...",2:"2/5 Encrypting files ...",4:"3/5 Storing ddo ...",6:"4/5 Minting tokens ...",8:"5/5 Asset published succesfully"},consumeFeedback=_extends({},feedback,{3:"3/3 Access granted. Consuming file..."}),computeFeedback={0:"1/3 Ordering asset...",1:"2/3 Transfering data token.",2:"3/3 Access granted. Starting job..."};function getCreatePricingPoolFeedback(e){return{99:"Minting "+e+" ...",0:"Creating pool ...",1:"Approving "+e+" ...",2:"Approving OCEAN ...",3:"Setup pool ...",4:"Pool created."}}function getCreatePricingExchangeFeedback(e){return{99:"Minting "+e+" ...",0:"Creating exchange ...",1:"Approving "+e+" ...",2:"Fixed exchange created."}}function getBuyDTFeedback(e){return{1:"1/3 Approving OCEAN ...",2:"2/3 Buying "+e+" ...",3:"3/3 "+e+" bought."}}function getSellDTFeedback(e){return{1:"1/3 Approving OCEAN ...",2:"2/3 Selling "+e+" ...",3:"3/3 "+e+" sold."}}function readFileContent(e){return new Promise((function(t,r){var n=new FileReader;n.onerror=function(){n.abort(),r(new DOMException("Problem parsing input file."))},n.onload=function(){t(n.result)},n.readAsText(e)}))}function isDDO(e){return!!e.id}function sleep(e){return new Promise((function(t){setTimeout(t,e)}))}var getAccountPurgatoryData=function(e){try{return Promise.resolve(axios__default.default(purgatoryUrl+"account?address="+e)).then((function(e){return Promise.resolve(e.data[0]).then((function(e){return{address:null==e?void 0:e.address,reason:null==e?void 0:e.reason}}))}))}catch(e){return Promise.reject(e)}},purgatoryUrl="https://market-purgatory.oceanprotocol.com/api/";function _catch$4(e,t){try{var r=e()}catch(e){return t(e)}return r&&r.then?r.then(void 0,t):r}var OceanContext=React.createContext({});function OceanProvider(e){var t=e.initialConfig,r=e.web3ModalOpts,n=e.children,o=React.useState(),i=o[0],a=o[1],c=React.useState(),u=c[0],s=c[1],l=React.useState(),f=l[0],d=l[1],h=React.useState(),v=h[0],g=h[1],m=React.useState(),p=m[0],P=m[1],b=React.useState(),y=b[0],_=b[1],k=React.useState(),x=k[0],w=k[1],R=React.useState(!1),C=R[0],D=R[1],S=React.useState(),T=S[0],A=S[1],$=React.useState(t),L=$[0],O=$[1],E=React.useState({eth:void 0,ocean:void 0}),j=E[0],F=E[1],N=React.useState(ProviderStatus$1.NOT_AVAILABLE),B=N[0],I=N[1],M=React.useCallback((function(e){try{if(!e)return Promise.resolve();var t=_catch$4((function(){return Promise.resolve(getAccountPurgatoryData(e)).then((function(e){void 0!==(null==e?void 0:e.address)?(D(!0),A(e)):D(!1),A(e)}))}),(function(e){lib.Logger.error(e)}));return Promise.resolve(t&&t.then?t.then((function(){})):void 0)}catch(e){return Promise.reject(e)}}),[]),W=React.useCallback((function(){try{var e=function(e){var t=new Web3Modal__default.default(e);g(t),lib.Logger.log("Web3Modal instance created.",t)};return lib.Logger.log("Ocean Provider init"),window&&window.ethereum&&(window.ethereum.autoRefreshOnNetworkChange=!1),lib.Logger.log("Web3Modal init."),Promise.resolve(r?e(r):Promise.resolve(getDefaultProviders()).then(e))}catch(e){return Promise.reject(e)}}),[r]),q=React.useCallback((function(e){try{var t=_catch$4((function(){return lib.Logger.log("Connecting ...",e),e&&O(e),Promise.resolve(null==v?void 0:v.connect()).then((function(e){function t(e){return P(e),lib.Logger.log("network id ",e),L.web3Provider=r,Promise.resolve(lib.Ocean.getInstance(L)).then((function(e){return d(e),lib.Logger.log("Ocean instance created.",e),I(ProviderStatus$1.CONNECTED),Promise.resolve(e.accounts.list()).then((function(e){var t=e[0];return _(t),lib.Logger.log("Account ",t),Promise.resolve(getAccountId(r)).then((function(e){return w(e),lib.Logger.log("account id",e),Promise.resolve(getBalance(t)).then((function(e){F(e),lib.Logger.log("balance",JSON.stringify(e))}))}))}))}))}s(e);var r=new Web3__default.default(e);return a(r),lib.Logger.log("Web3 created.",r),r?Promise.resolve(r.eth.net.getId()).then(t):t(r)}))}),(function(e){lib.Logger.error(e)}));return Promise.resolve(t&&t.then?t.then((function(){})):void 0)}catch(e){return Promise.reject(e)}}),[L,v]);return React.useEffect((function(){W()}),[W]),React.useEffect((function(){v&&v.cachedProvider&&q()}),[v,q]),React.useEffect((function(){x&&(console.log("balanc ref",x),M(x))}),[x]),React.useEffect((function(){var e=function(e){try{return lib.Logger.debug("Handling 'accountsChanged' event with payload",e),q(),Promise.resolve()}catch(e){return Promise.reject(e)}};if(null!=u)return u.on("accountsChanged",e),function(){u.removeListener("accountsChanged",e)}}),[v,u,q]),React__default.default.createElement(OceanContext.Provider,{value:{web3:i,web3Provider:u,web3Modal:v,ocean:f,account:y,accountId:x,isInPurgatory:C,purgatoryData:T,balance:j,networkId:p,status:B,config:L,connect:q,logout:function(){try{return null==v||v.clearCachedProvider(),Promise.resolve()}catch(e){return Promise.reject(e)}},refreshBalance:function(){try{var e=function(e){F(e)};return Promise.resolve(y?Promise.resolve(getBalance(y)).then(e):e(y))}catch(e){return Promise.reject(e)}}}},n)}var useOcean=function(){return React.useContext(OceanContext)};function _catch$3(e,t){try{var r=e()}catch(e){return t(e)}return r&&r.then?r.then(void 0,t):r}function _finallyRethrows$3(e,t){try{var r=e()}catch(e){return t(!0,e)}return r&&r.then?r.then(t.bind(null,!1),t.bind(null,!0)):t(!1,r)}function useConsume(){var e=useOcean(),t=e.ocean,r=e.account,n=e.accountId,o=React.useState(!1),i=o[0],a=o[1],c=React.useState(),u=c[0],s=c[1],l=React.useState(),f=l[0],d=l[1],h=React.useState(),v=h[0],g=h[1];function m(e){s(e),d(consumeFeedback[e])}return{consume:function(e,o,i,c,u){void 0===i&&(i="access");try{if(!t||!r||!n)return Promise.resolve();a(!0),g(void 0);var l=_finallyRethrows$3((function(){return _catch$3((function(){function a(){function n(){m(4)}m(3);var i=function(){if(u)return Promise.resolve(t.assets.download(e,u,o,r,"")).then((function(){}))}();return i&&i.then?i.then(n):n()}m(0);var s=function(){if(!u)return Promise.resolve(t.accounts.getTokenBalance(o,r)).then((function(r){var o=function(){if(!(parseFloat(r)<1))return m(1),Promise.resolve(t.assets.order(e,i,n,void 0,c)).then((function(e){u=e,lib.Logger.log("order created",u),m(2)}));g("Not enough datatokens")}();if(o&&o.then)return o.then((function(){}))}))}();return s&&s.then?s.then(a):a()}),(function(e){g(e.message),lib.Logger.error(e)}))}),(function(e,t){if(s(void 0),d(void 0),a(!1),e)throw t;return t}));return Promise.resolve(l&&l.then?l.then((function(){})):void 0)}catch(e){return Promise.reject(e)}},consumeStep:u,consumeStepText:f,consumeError:v,isLoading:i}}function useMetadata(e){var t=useOcean(),r=t.ocean,n=t.config,o=t.status,i=t.networkId,a=React.useState(),c=a[0],u=a[1],s=React.useState(),l=s[0],f=s[1],d=React.useState(),h=d[0],v=d[1],g=React.useState(),m=g[0],p=g[1],P=React.useState(),b=P[0],y=P[1],_=React.useState(),k=_[0],x=_[1],w=React.useCallback((function(e,t){try{return n.metadataCacheUri?Promise.resolve(axios__default.default.get(n.metadataCacheUri+"/api/v1/aquarius/assets/ddo/"+e,{cancelToken:t})).then((function(e){return e.data})):Promise.resolve()}catch(e){return Promise.reject(e)}}),[n.metadataCacheUri]),R=React.useCallback((function(){try{var e;return c?Promise.resolve(getDataTokenPrice(r,c.dataToken,null==c||null==(e=c.price)?void 0:e.type,c.price.pools[0])):Promise.resolve({type:"",address:"",value:0,ocean:0,datatoken:0})}catch(e){return Promise.reject(e)}}),[r,c]),C=React.useCallback((function(e){try{var t=e.findServiceByType("metadata");return Promise.resolve(t.attributes)}catch(e){return Promise.reject(e)}}),[]);return React.useEffect((function(){if(e){var t=axios__default.default.CancelToken.source(),r=!0;return function(){try{return Promise.resolve(function(){if(!isDDO(e))return Promise.resolve(w(e,t.token)).then((function(t){r&&(lib.Logger.debug("DDO",t),u(t),f(e))}));u(e),f(e.id)}())}catch(e){return Promise.reject(e)}}(),function(){r=!1,t.cancel()}}}),[e,w]),React.useEffect((function(){!function(){try{return c?(y(c.price),Promise.resolve(C(c)).then((function(e){v(e),p(e.main.name),x(c.publicKey[0].owner)}))):Promise.resolve()}catch(e){return Promise.reject(e)}}()}),[o,i,n,c,C]),{ddo:c,did:l,metadata:h,title:m,owner:k,price:b,getLivePrice:R}}function _settle$1(e,t,r){if(!e.s){if(r instanceof _Pact$1){if(!r.s)return void(r.o=_settle$1.bind(null,e,t));1&t&&(t=r.s),r=r.v}if(r&&r.then)return void r.then(_settle$1.bind(null,e,t),_settle$1.bind(null,e,2));e.s=t,e.v=r;var n=e.o;n&&n(e)}}var _Pact$1=function(){function e(){}return e.prototype.then=function(t,r){var n=new e,o=this.s;if(o){var i=1&o?t:r;if(i){try{_settle$1(n,1,i(this.v))}catch(e){_settle$1(n,2,e)}return n}return this}return this.o=function(e){try{var o=e.v;1&e.s?_settle$1(n,1,t?t(o):o):r?_settle$1(n,1,r(o)):_settle$1(n,2,o)}catch(e){_settle$1(n,2,e)}},n},e}();function _switch$1(e,t){var r,n=-1;e:{for(var o=0;o<t.length;o++){var i=t[o][0];if(i){var a=i();if(a&&a.then)break e;if(a===e){n=o;break}}else n=o}if(-1!==n){do{for(var c=t[n][1];!c;)n++,c=t[n][1];var u=c();if(u&&u.then){r=!0;break e}var s=t[n][2];n++}while(s&&!s());return u}}var l=new _Pact$1,f=_settle$1.bind(null,l,2);return(r?u.then(d):a.then((function r(a){for(;;){if(a===e){n=o;break}if(++o===t.length){if(-1!==n)break;return void _settle$1(l,1,u)}if(i=t[o][0]){if((a=i())&&a.then)return void a.then(r).then(void 0,f)}else n=o}do{for(var c=t[n][1];!c;)n++,c=t[n][1];var u=c();if(u&&u.then)return void u.then(d).then(void 0,f);var s=t[n][2];n++}while(s&&!s());_settle$1(l,1,u)}))).then(void 0,f),l;function d(e){for(;;){var r=t[n][2];if(!r||r())break;n++;for(var o=t[n][1];!o;)n++,o=t[n][1];if((e=o())&&e.then)return void e.then(d).then(void 0,f)}_settle$1(l,1,e)}}function _catch$2(e,t){try{var r=e()}catch(e){return t(e)}return r&&r.then?r.then(void 0,t):r}function _finallyRethrows$2(e,t){try{var r=e()}catch(e){return t(!0,e)}return r&&r.then?r.then(t.bind(null,!1),t.bind(null,!0)):t(!1,r)}function usePublish(){var e=useOcean(),t=e.ocean,r=e.status,n=e.account,o=e.accountId,i=React.useState(!1),a=i[0],c=i[1],u=React.useState(),s=u[0],l=u[1],f=React.useState(),d=f[0],h=f[1],v=React.useState(),g=v[0],m=v[1];function p(e){l(e),e&&h(publishFeedback[e])}return{publish:function(e,i,a,u,s,l){try{return r===ProviderStatus$1.CONNECTED&&t&&n?(c(!0),m(void 0),p(0),Promise.resolve(_finallyRethrows$2((function(){return _catch$2((function(){function r(){return lib.Logger.log("services created",f),Promise.resolve(t.assets.create(e,n,f,void 0,null==a?void 0:a.cap,null==a?void 0:a.name,null==a?void 0:a.symbol,s).next(p)).then((function(e){return Promise.resolve(t.assets.publishDdo(e,o,l)).then((function(){return lib.Logger.log("ddo created",e),Promise.resolve(sleep(2e4)).then((function(){return p(7),e}))}))}))}var c=new Date(Date.now()).toISOString().split(".")[0]+"Z",f=[],d=_switch$1(i,[[function(){return"access"},function(){return u||(u=0),Promise.resolve(t.assets.createAccessServiceAttributes(n,"1",c,u,s)).then((function(e){lib.Logger.log("access service created",e),f.push(e)}))}],[function(){return"compute"},function(){u||(u=3600);var e=t.compute.createClusterAttributes("Kubernetes","http://10.0.0.17/xxx"),r=[t.compute.createServerAttributes("1","xlsize","50","16","0","128gb","160gb",u)],o=[t.compute.createContainerAttributes("tensorflow/tensorflow","latest","sha256:cb57ecfa6ebbefd8ffc7f75c0f00e57a7fa739578a429b6f72a0df19315deadc")],i=t.compute.createProviderAttributes("Azure","Compute service with 16gb ram for each node.",e,o,r),a=t.compute.createComputeService(n,"1",c,i,{allowRawAlgorithm:!0,allowNetworkAccess:!1,publisherTrustedAlgorithms:[],allowAllPublishedAlgorithms:!1},u,s);return f.push(a),void 0}]]);return d&&d.then?d.then(r):r()}),(function(e){m(e.message),lib.Logger.error(e),p()}))}),(function(e,t){if(c(!1),e)throw t;return t})))):Promise.resolve(null)}catch(e){return Promise.reject(e)}},publishStep:s,publishStepText:d,isLoading:a,publishError:g}}function _catch$1(e,t){try{var r=e()}catch(e){return t(e)}return r&&r.then?r.then(void 0,t):r}var rawAlgorithmMeta={rawcode:"console.log('Hello world'!)",format:"docker-image",version:"0.1",container:{entrypoint:"",image:"",tag:""}};function _finallyRethrows$1(e,t){try{var r=e()}catch(e){return t(!0,e)}return r&&r.then?r.then(t.bind(null,!1),t.bind(null,!0)):t(!1,r)}function useCompute(){var e=useOcean(),t=e.ocean,r=e.account,n=e.accountId,o=React.useState(),i=o[0],a=o[1],c=React.useState(),u=c[0],s=c[1],l=React.useState(),f=l[0],d=l[1],h=React.useState(!1),v=h[0],g=h[1];function m(e){if(!e)return a(void 0),void s(void 0);a(e),s(computeFeedback[e])}return{compute:function(e,o,i,a,c,u,s){try{return t&&r?(d(void 0),Promise.resolve(_finallyRethrows$1((function(){return _catch$1((function(){function l(){return m(2),function(){if(s)return Promise.resolve(t.compute.start(e,s,i,r,{meta:rawAlgorithmMeta},f,""+o.index,o.type))}()}g(!0),m(0),rawAlgorithmMeta.container=c,rawAlgorithmMeta.rawcode=a;var f={},h=function(){if(!s)return Promise.resolve(t.accounts.getTokenBalance(i,r)).then((function(r){var i=function(){if(!(parseFloat(r)<1))return lib.Logger.log("compute order",n,e,o,rawAlgorithmMeta,u),Promise.resolve(t.compute.orderAsset(n,e,o.index,{meta:rawAlgorithmMeta},u,void 0)).then((function(e){s=e,m(1)}));d("Not enough datatokens")}();if(i&&i.then)return i.then((function(){}))}))}();return h&&h.then?h.then(l):l()}),(function(e){lib.Logger.error(e),d(e.message)}))}),(function(e,t){if(m(void 0),g(!1),e)throw t;return t})))):Promise.resolve()}catch(e){return Promise.reject(e)}},computeStep:i,computeStepText:u,computeError:f,isLoading:v}}var computeOptions=[{name:"nodejs",value:{entrypoint:"node $ALGO",image:"node",tag:"10"}},{name:"python3.7",value:{entrypoint:"python $ALGO",image:"oceanprotocol/algo_dockers",tag:"python-panda"}}];function _settle(e,t,r){if(!e.s){if(r instanceof _Pact){if(!r.s)return void(r.o=_settle.bind(null,e,t));1&t&&(t=r.s),r=r.v}if(r&&r.then)return void r.then(_settle.bind(null,e,t),_settle.bind(null,e,2));e.s=t,e.v=r;var n=e.o;n&&n(e)}}var _Pact=function(){function e(){}return e.prototype.then=function(t,r){var n=new e,o=this.s;if(o){var i=1&o?t:r;if(i){try{_settle(n,1,i(this.v))}catch(e){_settle(n,2,e)}return n}return this}return this.o=function(e){try{var o=e.v;1&e.s?_settle(n,1,t?t(o):o):r?_settle(n,1,r(o)):_settle(n,2,o)}catch(e){_settle(n,2,e)}},n},e}();function _switch(e,t){var r,n=-1;e:{for(var o=0;o<t.length;o++){var i=t[o][0];if(i){var a=i();if(a&&a.then)break e;if(a===e){n=o;break}}else n=o}if(-1!==n){do{for(var c=t[n][1];!c;)n++,c=t[n][1];var u=c();if(u&&u.then){r=!0;break e}var s=t[n][2];n++}while(s&&!s());return u}}var l=new _Pact,f=_settle.bind(null,l,2);return(r?u.then(d):a.then((function r(a){for(;;){if(a===e){n=o;break}if(++o===t.length){if(-1!==n)break;return void _settle(l,1,u)}if(i=t[o][0]){if((a=i())&&a.then)return void a.then(r).then(void 0,f)}else n=o}do{for(var c=t[n][1];!c;)n++,c=t[n][1];var u=c();if(u&&u.then)return void u.then(d).then(void 0,f);var s=t[n][2];n++}while(s&&!s());_settle(l,1,u)}))).then(void 0,f),l;function d(e){for(;;){var r=t[n][2];if(!r||r())break;n++;for(var o=t[n][1];!o;)n++,o=t[n][1];if((e=o())&&e.then)return void e.then(d).then(void 0,f)}_settle(l,1,e)}}function _catch(e,t){try{var r=e()}catch(e){return t(e)}return r&&r.then?r.then(void 0,t):r}function _finallyRethrows(e,t){try{var r=e()}catch(e){return t(!0,e)}return r&&r.then?r.then(t.bind(null,!1),t.bind(null,!0)):t(!1,r)}function usePricing(e){var t=function(e){try{return lib.Logger.log("mint function",w,o),Promise.resolve(n.datatokens.balance(w,o)).then((function(t){var r=new decimal_js.Decimal(t),i=new decimal_js.Decimal(e);return function(){if(i.greaterThan(r)){var e=i.minus(r);return Promise.resolve(n.datatokens.mint(w,o,e.toString()))}}()}))}catch(e){return Promise.reject(e)}},r=useOcean(),n=r.ocean,o=r.accountId,i=r.config,a=React.useState(!1),c=a[0],u=a[1],s=React.useState(),l=s[0],f=s[1],d=React.useState(),h=d[0],v=d[1],g=React.useState(),m=g[0],p=g[1],P=React.useState(),b=P[0],y=P[1],_=React.useState(),k=_[0],x=_[1],w=e.dataToken,R=e.dataTokenInfo;function C(e,t){if(f(e),b){var r;switch(t){case"pool":r=getCreatePricingPoolFeedback(b);break;case"exchange":r=getCreatePricingExchangeFeedback(b);break;case"buy":r=getBuyDTFeedback(b);break;case"sell":r=getSellDTFeedback(b)}v(r[e])}}return React.useEffect((function(){w&&function(){try{var e=function(e){function t(e){x(e)}return y(e),R?t(R.name):Promise.resolve(null==n?void 0:n.datatokens.getName(w)).then(t)};return Promise.resolve(R?e(R.symbol):Promise.resolve(null==n?void 0:n.datatokens.getSymbol(w)).then(e))}catch(e){return Promise.reject(e)}}()}),[n,w,R]),{dtSymbol:b,dtName:k,createPricing:function(e){try{if(!n||!o||!b)return Promise.resolve();var r=e.type,a=e.oceanAmount,c=e.price,s=e.weightOnDataToken,l=e.swapFee,d=e.dtAmount,h="dynamic"===r;return h||i.fixedRateExchangeAddress?(u(!0),p(void 0),C(99,"pool"),Promise.resolve(_finallyRethrows((function(){return _catch((function(){return h||(d=1e3),Promise.resolve(t(""+d)).then((function(){return Promise.resolve(h?n.pool.create(o,w,""+d,s,""+a,l).next((function(e){return C(e,"pool")})):n.fixedRateExchange.create(w,""+c,o,""+d).next((function(e){return C(e,"exchange")}))).then((function(e){return Promise.resolve(sleep(2e4)).then((function(){return e}))}))}))}),(function(e){p(e.message),lib.Logger.error(e)}))}),(function(e,t){if(f(0),v(void 0),u(!1),e)throw t;return t})))):(lib.Logger.error("'fixedRateExchangeAddress' not set in config."),Promise.resolve())}catch(e){return Promise.reject(e)}},buyDT:function(t){try{var r,a;if(!n||!o)return Promise.resolve();var c=_finallyRethrows((function(){return _catch((function(){var c;return u(!0),p(void 0),C(1,"buy"),Promise.resolve(getDataTokenPrice(n,e.dataToken,null==e||null==(c=e.price)?void 0:c.type,e.price.address)).then((function(e){return Promise.resolve(e).then((function(e){return lib.Logger.log("Price found for buying",e),_switch(null==e?void 0:e.type,[[function(){return"pool"},function(){var r=new decimal_js.Decimal(e.value).times(1.05).toString(),i=new decimal_js.Decimal(e.value).times(2).toString();return C(2,"buy"),lib.Logger.log("Buying token from pool",e,o,r),Promise.resolve(n.pool.buyDT(o,e.address,String(t),r,i)).then((function(e){a=e,C(3,"buy"),lib.Logger.log("DT buy response",a)}))}],[function(){return"exchange"},function(){return i.oceanTokenAddress?i.fixedRateExchangeAddress?(lib.Logger.log("Buying token from exchange",e,o),Promise.resolve(n.datatokens.approve(i.oceanTokenAddress,i.fixedRateExchangeAddress,""+e.value,o)).then((function(){return C(2,"buy"),Promise.resolve(n.fixedRateExchange.buyDT(e.address,""+t,o)).then((function(e){a=e,C(3,"buy"),lib.Logger.log("DT exchange buy response",a)}))}))):(lib.Logger.error("'fixedRateExchangeAddress' not set in config"),void(r=1)):(lib.Logger.error("'oceanTokenAddress' not set in config"),void(r=1))}]])}))}))}),(function(e){p(e.message),lib.Logger.error(e)}))}),(function(e,t){if(C(0,"buy"),v(void 0),u(!1),e)throw t;return t}));return Promise.resolve(c&&c.then?c.then((function(e){return r?e:a})):r?c:a)}catch(e){return Promise.reject(e)}},sellDT:function(e){try{return n&&o?i.oceanTokenAddress?Promise.resolve(_finallyRethrows((function(){return _catch((function(){return u(!0),p(void 0),C(1,"sell"),Promise.resolve(getFirstPoolPrice(n,w)).then((function(t){if(t&&0!==t.value){var r=new decimal_js.Decimal(t.value).times(.95).toString();return C(2,"sell"),lib.Logger.log("Selling token to pool",t,o,r),Promise.resolve(n.pool.sellDT(o,t.address,""+e,r)).then((function(e){return C(3,"sell"),lib.Logger.log("DT sell response",e),e}))}}))}),(function(e){p(e.message),lib.Logger.error(e)}))}),(function(e,t){if(C(0,"sell"),v(void 0),u(!1),e)throw t;return t}))):(lib.Logger.error("'oceanTokenAddress' not set in config"),Promise.resolve()):Promise.resolve()}catch(e){return Promise.reject(e)}},mint:t,pricingStep:l,pricingStepText:h,pricingIsLoading:c,pricingError:m}}exports.OceanContext=OceanContext,exports.OceanProvider=OceanProvider,exports.computeFeedback=computeFeedback,exports.computeOptions=computeOptions,exports.consumeFeedback=consumeFeedback,exports.feedback=feedback,exports.getAccountId=getAccountId,exports.getBalance=getBalance,exports.getBestDataTokenPrice=getBestDataTokenPrice,exports.getBuyDTFeedback=getBuyDTFeedback,exports.getCheapestExchangePrice=getCheapestExchangePrice,exports.getCheapestPoolPrice=getCheapestPoolPrice,exports.getCreatePricingExchangeFeedback=getCreatePricingExchangeFeedback,exports.getCreatePricingPoolFeedback=getCreatePricingPoolFeedback,exports.getDataTokenPrice=getDataTokenPrice,exports.getFirstExchangePrice=getFirstExchangePrice,exports.getFirstPoolPrice=getFirstPoolPrice,exports.getSellDTFeedback=getSellDTFeedback,exports.isDDO=isDDO,exports.publishFeedback=publishFeedback,exports.readFileContent=readFileContent,exports.sleep=sleep,exports.useCompute=useCompute,exports.useConsume=useConsume,exports.useMetadata=useMetadata,exports.useOcean=useOcean,exports.usePricing=usePricing,exports.usePublish=usePublish;
//# sourceMappingURL=/sm/b2702871ce5e336a4b017bf2299bc89f9ee1902ee07bca27f83b9c2ce74c25d7.map