@oceanprotocol/lib 1.1.6 → 1.1.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,2 +1,2 @@
1
- import e from"web3";import t from"bignumber.js";import r from"cross-fetch";import n from"@oceanprotocol/contracts/addresses/address.json";import o from"crypto-js/sha256";import i from"decimal.js";import s from"@oceanprotocol/contracts/artifacts/contracts/pools/balancer/BPool.sol/BPool.json";import a from"@oceanprotocol/contracts/artifacts/contracts/templates/ERC20Template.sol/ERC20Template.json";import c from"@oceanprotocol/contracts/artifacts/contracts/pools/dispenser/Dispenser.sol/Dispenser.json";import u from"@oceanprotocol/contracts/artifacts/contracts/pools/fixedRate/FixedRateExchange.sol/FixedRateExchange.json";import l from"@oceanprotocol/contracts/artifacts/contracts/pools/ssContracts/SideStaking.sol/SideStaking.json";import m from"@oceanprotocol/contracts/artifacts/contracts/pools/FactoryRouter.sol/FactoryRouter.json";import h from"@oceanprotocol/contracts/artifacts/contracts/templates/ERC20TemplateEnterprise.sol/ERC20TemplateEnterprise.json";import f from"@oceanprotocol/contracts/artifacts/contracts/templates/ERC721Template.sol/ERC721Template.json";import d from"@oceanprotocol/contracts/artifacts/contracts/ERC721Factory.sol/ERC721Factory.json";var v;!function(e){e[e.None=-1]="None",e[e.Error=0]="Error",e[e.Warn=1]="Warn",e[e.Log=2]="Log",e[e.Verbose=3]="Verbose"}(v||(v={}));var P=/*#__PURE__*/function(){function e(e){void 0===e&&(e=v.Error),this.logLevel=void 0,this.logLevel=e}var t=e.prototype;return t.setLevel=function(e){this.logLevel=e},t.bypass=function(){this.dispatch.apply(this,["log",-Infinity].concat([].slice.call(arguments)))},t.debug=function(){this.dispatch.apply(this,["debug",v.Verbose].concat([].slice.call(arguments)))},t.log=function(){this.dispatch.apply(this,["log",v.Log].concat([].slice.call(arguments)))},t.warn=function(){this.dispatch.apply(this,["warn",v.Warn].concat([].slice.call(arguments)))},t.error=function(){this.dispatch.apply(this,["error",v.Error].concat([].slice.call(arguments)))},t.dispatch=function(e,t){var r;this.logLevel>=t&&(r=console)[e].apply(r,[].slice.call(arguments,2))},e}(),g=new P,p={nouns:["Crab","Fish","Seal","Octopus","Shark","Seahorse","Walrus","Starfish","Whale","Orca","Penguin","Jellyfish","Squid","Lobster","Pelican","Shrimp","Oyster","Clam","Seagull","Dolphin","Shell","Cormorant","Otter","Anemone","Turtle","Coral","Ray","Barracuda","Krill","Anchovy","Angelfish","Barnacle","Clownfish","Cod","Cuttlefish","Eel","Fugu","Herring","Haddock","Ling","Mackerel","Manatee","Narwhal","Nautilus","Plankton","Porpoise","Prawn","Pufferfish","Swordfish","Tuna"],adjectives:["adamant","adroit","amatory","ambitious","amused","animistic","antic","arcadian","artistic","astonishing","astounding","baleful","bellicose","bilious","blissful","boorish","brave","breathtaking","brilliant","calamitous","caustic","cerulean","clever","charming","comely","competent","concomitant","confident","contumacious","corpulent","crapulous","creative","dazzling","dedicated","defamatory","delighted","delightful","determined","didactic","dilatory","dowdy","efficacious","effulgent","egregious","empowered","endemic","enthusiastic","equanimous","exceptional","execrable","fabulous","fantastic","fastidious","feckless","fecund","friable","fulsome","garrulous","generous","gentle","guileless","gustatory","heuristic","histrionic","hubristic","incendiary","incredible","insidious","insolent","inspired","intransigent","inveterate","invidious","invigorated","irksome","jejune","juicy","jocular","joyful","judicious","kind","lachrymose","limpid","loquacious","lovely","luminous","mannered","marvelous","mendacious","meretricious","minatory","mordant","motivated","munificent","nefarious","noxious","obtuse","optimistic","parsimonious","pendulous","pernicious","pervasive","petulant","passionate","phenomenal","platitudinous","pleasant","powerful","precipitate","propitious","puckish","querulous","quiescent","rebarbative","recalcitant","redolent","rhadamanthine","risible","ruminative","sagacious","salubrious","sartorial","sclerotic","serpentine","smart","spasmodic","strident","stunning","stupendous","taciturn","tactful","tasty","tenacious","tremendous","tremulous","trenchant","turbulent","turgid","ubiquitous","uxorious","verdant","vibrant","voluble","voracious","wheedling","withering","wonderful","zealous"]};function w(e){var t=e||p,r=Math.floor(Math.random()*t.adjectives.length),n=Math.floor(Math.random()*t.nouns.length),o=Math.floor(100*Math.random()),i=t.adjectives[r].replace(/^\w/,function(e){return e.toUpperCase()}),s=t.nouns[n].replace(/^\w/,function(e){return e.toUpperCase()});return{name:i+" "+s+" Token",symbol:(i.substring(0,3)+s.substring(0,3)).toUpperCase()+"-"+o}}var b=[{constant:!0,inputs:[],name:"name",outputs:[{name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"_spender",type:"address"},{name:"_value",type:"uint256"}],name:"approve",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"totalSupply",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"_from",type:"address"},{name:"_to",type:"address"},{name:"_value",type:"uint256"}],name:"transferFrom",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"decimals",outputs:[{name:"",type:"uint8"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"_owner",type:"address"}],name:"balanceOf",outputs:[{name:"balance",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"symbol",outputs:[{name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"_to",type:"address"},{name:"_value",type:"uint256"}],name:"transfer",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{name:"_owner",type:"address"},{name:"_spender",type:"address"}],name:"allowance",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{payable:!0,stateMutability:"payable",type:"fallback"},{anonymous:!1,inputs:[{indexed:!0,name:"owner",type:"address"},{indexed:!0,name:"spender",type:"address"},{indexed:!1,name:"value",type:"uint256"}],name:"Approval",type:"event"},{anonymous:!1,inputs:[{indexed:!0,name:"from",type:"address"},{indexed:!0,name:"to",type:"address"},{indexed:!1,name:"value",type:"uint256"}],name:"Transfer",type:"event"}],y="0x0000000000000000000000000000000000000000",C=1e6;function R(e,t){try{var r=e()}catch(e){return t(e)}return r&&r.then?r.then(void 0,t):r}var A=function(e,t){try{var r=arguments,n=1e6,o=R(function(){return Promise.resolve(t.apply(null,[].slice.call(r,2)).estimateGas({from:e},function(e,t){return e?1e6:t})).then(function(e){n=e})},function(e){g.error("ERROR: Estimate gas failed!",e)});return Promise.resolve(o&&o.then?o.then(function(){return n}):n)}catch(e){return Promise.reject(e)}},k=function(e,r,n,o){try{return Promise.resolve(R(function(){function i(e){return"0"===e&&(e=18),t.config({EXPONENTIAL_AT:50}),new t(n).times(new t(10).exponentiatedBy(e)).toFixed(0)}var s=new e.eth.Contract(b,r);return o?i(o):Promise.resolve(s.methods.decimals().call()).then(i)},function(e){g.error("ERROR: FAILED TO CALL DECIMALS(), USING 18', "+e.message)}))}catch(e){return Promise.reject(e)}},T=function(e,r,n,o){try{return Promise.resolve(R(function(){function i(e){"0"===e&&(e=18);var r=new t(n).div(new t(10).exponentiatedBy(e));return t.config({EXPONENTIAL_AT:50}),r.toString()}var s=new e.eth.Contract(b,r);return o?i(o):Promise.resolve(s.methods.decimals().call()).then(i)},function(e){g.error("ERROR: FAILED TO CALL DECIMALS(), USING 18' : "+e.message)}))}catch(e){return Promise.reject(e)}},E=function(t,r){try{var n=[r.ssContract,r.baseTokenAddress,r.baseTokenSender,r.publisherAddress,r.marketFeeCollector,r.poolTemplateAddress],o=r.vestedBlocks,i=e.utils.toWei(r.vestingAmount),s=r.baseTokenDecimals,a=e.utils.toWei(r.rate);return Promise.resolve(k(t,r.baseTokenAddress,r.initialBaseTokenLiquidity)).then(function(t){return{addresses:n,ssParams:[a,s,i,o,t],swapFees:[e.utils.toWei(r.swapFeeLiquidityProvider),e.utils.toWei(r.swapFeeMarketRunner)]}})}catch(e){return Promise.reject(e)}},j=function(e,t){try{var r=t.exchangeId,n=t.exchangeContract;return Promise.resolve(k(e,t.baseTokenAddress,t.maxBaseTokenAmount,t.baseTokenDecimals)).then(function(o){return Promise.resolve(k(e,t.baseTokenAddress,t.swapMarketFee,t.baseTokenDecimals)).then(function(e){return{exchangeContract:n,exchangeId:r,maxBaseTokenAmount:o,swapMarketFee:e,marketFeeAddress:t.marketFeeAddress}})})}catch(e){return Promise.reject(e)}},F=function(e,r){try{return Promise.resolve(e.eth.getGasPrice()).then(function(e){var n=new t(e);return r&&r.gasFeeMultiplier?n.multipliedBy(r.gasFeeMultiplier).integerValue(t.ROUND_DOWN).toString(10):n.toString(10)})}catch(e){return Promise.reject(e)}};function x(e,t){return t&&(t.transactionBlockTimeout&&(e.transactionBlockTimeout=t.transactionBlockTimeout),t.transactionConfirmationBlocks&&(e.transactionConfirmationBlocks=t.transactionConfirmationBlocks),t.transactionPollingTimeout&&(e.transactionPollingTimeout=t.transactionPollingTimeout)),e}function O(t){var r,n;if(!t.name||!t.symbol){var o=w();r=o.name,n=o.symbol}return{templateIndex:t.templateIndex,strings:[t.name||r,t.symbol||n],addresses:[t.minter,t.paymentCollector,t.mpFeeAddress,t.feeToken],uints:[e.utils.toWei(t.cap),e.utils.toWei(t.feeAmount)],bytess:[]}}function S(t){t.allowedConsumer||(t.allowedConsumer=y);var r=t.withMint?1:0;return{fixedPriceAddress:t.fixedRateAddress,addresses:[t.baseTokenAddress,t.owner,t.marketFeeCollector,t.allowedConsumer],uints:[t.baseTokenDecimals,t.datatokenDecimals,e.utils.toWei(t.fixedRate),e.utils.toWei(t.marketFee),r]}}var M=function(e,t){return D(e,t,{"Content-type":"application/json"})},D=function(e,t,n){try{return Promise.resolve(r(e,null!=t?{method:"POST",body:t,headers:n}:{method:"POST"}))}catch(e){return Promise.reject(e)}},U=function(e){try{return Promise.resolve(r(e,{method:"GET",headers:{"Content-type":"application/json"}}))}catch(e){return Promise.reject(e)}},I=function(e,t){try{return Promise.resolve(r(e)).then(function(r){if(!r.ok)throw new Error("Response error.");var n;try{n=r.headers.get("content-disposition").match(/attachment;filename=(.+)/)[1]}catch(r){try{n=e.split("/").pop()}catch(e){n="file"+t}}return Promise.resolve(r.arrayBuffer()).then(function(e){return{data:e,filename:n}})})}catch(e){return Promise.reject(e)}},W=function(e){try{var t=document.createElement("a");return t.download="",t.href=e,t.click(),Promise.resolve()}catch(e){return Promise.reject(e)}},N=function(e,t){try{return Promise.resolve(r(e,t)).then(function(r){var n=function(){if(!r.ok){g.error("Error requesting ["+t.method+"] "+e);var n=g.error;return Promise.resolve(r.text()).then(function(e){throw n.call(g,"Response message: \n"+e),r})}}();return n&&n.then?n.then(function(e){return r}):r})}catch(e){return Promise.reject(e)}};function G(){return G=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},G.apply(this,arguments)}function B(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function L(e,t){var r="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(r)return(r=r.call(e)).next.bind(r);if(Array.isArray(e)||(r=function(e,t){if(e){if("string"==typeof e)return B(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?B(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){r&&(e=r);var n=0;return function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var q={chainId:null,network:"unknown",metadataCacheUri:"https://v4.aquarius.oceanprotocol.com",nodeUri:"http://127.0.0.1:8545",providerUri:"http://127.0.0.1:8030",subgraphUri:null,explorerUri:null,oceanTokenAddress:null,oceanTokenSymbol:"OCEAN",poolTemplateAddress:null,fixedRateExchangeAddress:null,dispenserAddress:null,startBlock:0,transactionBlockTimeout:50,transactionConfirmationBlocks:1,transactionPollingTimeout:750,gasFeeMultiplier:1},z=[G({},q),G({},q,{chainId:8996,network:"development",metadataCacheUri:"http://127.0.0.1:5000",providerUri:"http://172.15.0.4:8030"}),G({},q,{chainId:3,network:"ropsten",nodeUri:"https://ropsten.infura.io/v3",providerUri:"https://v4.provider.ropsten.oceanprotocol.com",subgraphUri:"https://v4.subgraph.ropsten.oceanprotocol.com",explorerUri:"https://ropsten.etherscan.io",gasFeeMultiplier:1.1}),G({},q,{chainId:4,network:"rinkeby",nodeUri:"https://rinkeby.infura.io/v3",providerUri:"https://v4.provider.rinkeby.oceanprotocol.com",subgraphUri:"https://v4.subgraph.rinkeby.oceanprotocol.com",explorerUri:"https://rinkeby.etherscan.io",gasFeeMultiplier:1.1}),G({},q,{chainId:1,network:"mainnet",nodeUri:"https://mainnet.infura.io/v3",providerUri:"https://v4.provider.mainnet.oceanprotocol.com",subgraphUri:"https://v4.subgraph.mainnet.oceanprotocol.com",explorerUri:"https://etherscan.io",startBlock:11105459,transactionBlockTimeout:150,transactionConfirmationBlocks:5,transactionPollingTimeout:1750,gasFeeMultiplier:1.05}),G({},q,{chainId:137,network:"polygon",nodeUri:"https://polygon-mainnet.infura.io/v3",providerUri:"https://v4.provider.polygon.oceanprotocol.com",subgraphUri:"https://v4.subgraph.polygon.oceanprotocol.com",explorerUri:"https://polygonscan.com",oceanTokenSymbol:"mOCEAN"}),G({},q,{chainId:1287,network:"moonbase",nodeUri:"https://rpc.api.moonbase.moonbeam.network",providerUri:"https://v4.provider.moonbase.oceanprotocol.com",subgraphUri:"https://v4.subgraph.moonbase.oceanprotocol.com",explorerUri:"https://moonbase.moonscan.io/",gasFeeMultiplier:1.1}),G({},q,{chainId:2021e3,network:"gaiaxtestnet",nodeUri:"https://rpc.gaiaxtestnet.oceanprotocol.com",providerUri:"https://v4.provider.gaiaxtestnet.oceanprotocol.com",subgraphUri:"https://v4.subgraph.gaiaxtestnet.oceanprotocol.com",explorerUri:"https://blockscout.gaiaxtestnet.oceanprotocol.com"}),G({},q,{chainId:80001,network:"mumbai",nodeUri:"https://polygon-mumbai.infura.io/v3",providerUri:"https://v4.provider.mumbai.oceanprotocol.com",subgraphUri:"https://v4.subgraph.mumbai.oceanprotocol.com",explorerUri:"https://mumbai.polygonscan.com",gasFeeMultiplier:1.1}),G({},q,{chainId:56,network:"bsc",nodeUri:"https://bsc-dataseed.binance.org",providerUri:"https://v4.provider.bsc.oceanprotocol.com",subgraphUri:"https://v4.subgraph.bsc.oceanprotocol.com",explorerUri:"https://bscscan.com/",gasFeeMultiplier:1.05}),G({},q,{chainId:246,network:"energyweb",nodeUri:"https://rpc.energyweb.org",providerUri:"https://v4.provider.energyweb.oceanprotocol.com",subgraphUri:"https://v4.subgraph.energyweb.oceanprotocol.com",explorerUri:"https://explorer.energyweb.org",gasFeeMultiplier:1.05}),G({},q,{chainId:1285,network:"moonriver",nodeUri:"https://moonriver.api.onfinality.io/public",providerUri:"https://v4.provider.moonriver.oceanprotocol.com",subgraphUri:"https://v4.subgraph.moonriver.oceanprotocol.com",explorerUri:"https://moonriver.moonscan.io/",gasFeeMultiplier:1.05})],_=/*#__PURE__*/function(){function e(){}var t=e.prototype;return t.getAddressesFromEnv=function(e,t){var r;if(t)try{var o=t[e];r=G({erc721FactoryAddress:o.ERC721Factory,sideStakingAddress:o.Staking,opfCommunityFeeCollector:o.OPFCommunityFeeCollector,poolTemplateAddress:o.poolTemplate,fixedRateExchangeAddress:o.FixedPrice,dispenserAddress:o.Dispenser,oceanTokenAddress:o.Ocean,chainId:o.chainId,startBlock:o.startBlock},process.env.AQUARIUS_URI&&{metadataCacheUri:process.env.AQUARIUS_URI})}catch(e){}else if(n[e]){var i=n[e];r=G({erc721FactoryAddress:i.ERC721Factory,sideStakingAddress:i.Staking,opfCommunityFeeCollector:i.OPFCommunityFeeCollector,poolTemplateAddress:i.poolTemplate,fixedRateExchangeAddress:i.FixedPrice,dispenserAddress:i.Dispenser,oceanTokenAddress:i.Ocean,chainId:i.chainId,startBlock:i.startBlock},process.env.AQUARIUS_URI&&{metadataCacheUri:process.env.AQUARIUS_URI})}return r},t.getConfig=function(e,t){var r="string"==typeof e?"network":"chainId",n=z.find(function(t){return t[r]===e});return n?(n=G({},n,this.getAddressesFromEnv(n.network)),G({},n,{nodeUri:t?n.nodeUri+"/"+t:n.nodeUri})):(g.error("No config found for given network '"+e+"'"),null)},e}();function J(t,r){return t=e.utils.toChecksumAddress(t),"did:op:"+o(t+r.toString(10)).toString()}function V(e){try{return o(e).toString()}catch(e){g.error("getHash error: ",e.message)}}var H=function(e,t,r){try{return Promise.resolve(e.eth.sign(t,r)).then(function(e){var t="0x"+(e=e.substr(2)).slice(0,64),r="0x"+e.slice(64,128),n="0x"+e.slice(128,130);return"0x00"===n&&(n="0x1b"),"0x01"===n&&(n="0x1c"),{v:n,r:t,s:r}})}catch(e){return Promise.reject(e)}};function Z(e,t){try{var r=e()}catch(e){return t(e)}return r&&r.then?r.then(void 0,t):r}var X=function(e,t){try{var r=new e.eth.Contract(b,t);return Promise.resolve(r.methods.decimals().call())}catch(e){return Promise.reject(e)}},Q=function(e,t,r,n){try{var o=new e.eth.Contract(b,t);return Promise.resolve(o.methods.balanceOf(r).call()).then(function(r){return Promise.resolve(T(e,t,r,n))})}catch(e){return Promise.reject(e)}},K=function(e,t,r,n,o){try{var i=new e.eth.Contract(b,t);return Promise.resolve(i.methods.allowance(r,n).call())}catch(e){return Promise.reject(e)}},$=function(e,t,r,n,o){try{var i=new e.eth.Contract(b,t);return Promise.resolve(i.methods.allowance(r,n).call()).then(function(r){return Promise.resolve(T(e,t,r,o))})}catch(e){return Promise.reject(e)}},Y=function(e,t,r,n,o){try{var i=new e.eth.Contract(b,r),s=null;return Promise.resolve(k(e,r,o)).then(function(r){return Promise.resolve(A(t,i.methods.transfer,n,r)).then(function(o){var a=Z(function(){var a=i.methods.transfer(n,r),c=a.send;return Promise.resolve(F(e,null)).then(function(e){return Promise.resolve(c.call(a,{from:t,gas:o+1,gasPrice:e})).then(function(e){s=e})})},function(e){g.error("ERROR: Failed to transfer tokens : "+e.message)});return a&&a.then?a.then(function(){return s}):s})})}catch(e){return Promise.reject(e)}},ee=function(e,t,r,n,o,i){try{var s=i||new e.eth.Contract(b,r);return Promise.resolve(A(t,s.methods.transfer,n,o))}catch(e){return Promise.reject(e)}},te=function(e,r,n,o,i,s){void 0===s&&(s=!1);try{var a,c=function(t){if(a)return t;var n=null;return Promise.resolve(A(r,u.methods.approve,o,i)).then(function(t){var s=Z(function(){var s=u.methods.approve(o,i),a=s.send;return Promise.resolve(F(e,null)).then(function(e){return Promise.resolve(a.call(s,{from:r,gas:t+1,gasPrice:e})).then(function(e){n=e})})},function(e){g.error("ERROR: Failed to approve spender to spend tokens : "+e.message)});return s&&s.then?s.then(function(){return n}):n})},u=new e.eth.Contract(b,n),l=function(){if(!s)return Promise.resolve(K(e,n,r,o)).then(function(e){if(new t(e).gt(new t(i)))return a=1,e})}();return Promise.resolve(l&&l.then?l.then(c):c(l))}catch(e){return Promise.reject(e)}},re=function(e,t,r,n,o,s,a){void 0===s&&(s=!1);try{var c,u=function(i){if(c)return i;var s=null;return Promise.resolve(k(e,r,o,a)).then(function(r){return Promise.resolve(A(t,l.methods.approve,n,r)).then(function(o){var i=Z(function(){var i=l.methods.approve(n,r),a=i.send;return Promise.resolve(F(e,null)).then(function(e){return Promise.resolve(a.call(i,{from:t,gas:o+1,gasPrice:e})).then(function(e){s=e})})},function(e){g.error("ERROR: Failed to approve spender to spend tokens : "+e.message)});return i&&i.then?i.then(function(){return s}):s})})},l=new e.eth.Contract(b,r),m=function(){if(!s)return Promise.resolve($(e,r,t,n)).then(function(e){if(new i(e).greaterThanOrEqualTo(new i(o)))return c=1,e})}();return Promise.resolve(m&&m.then?m.then(u):u(m))}catch(e){return Promise.reject(e)}},ne=function(e,t,r,n,o,i){try{var s=i||new e.eth.Contract(b,r);return Promise.resolve(A(t,s.methods.approve,n,o))}catch(e){return Promise.reject(e)}},oe=function(e){try{return Promise.resolve(new Promise(function(t){setTimeout(t,e)}))}catch(e){return Promise.reject(e)}},ie=function(e,t,r){try{return Promise.resolve(e.getReserve(t,r)).then(le)}catch(e){return Promise.reject(e)}},se=function(e,t,r){try{return Promise.resolve(e.getReserve(t,r)).then(le)}catch(e){return Promise.reject(e)}},ae=function(e,t,r){try{return Promise.resolve(e.getReserve(t,r)).then(le)}catch(e){return Promise.reject(e)}},ce=function(e,t,r){try{return Promise.resolve(e.getReserve(t,r)).then(ue)}catch(e){return Promise.reject(e)}};function ue(e){return new i(e).div(2)}function le(e){return new i(e).div(2)}function me(e,t){try{var r=e()}catch(e){return t(e)}return r&&r.then?r.then(void 0,t):r}function he(e,t,r){if(!e.s){if(r instanceof fe){if(!r.s)return void(r.o=he.bind(null,e,t));1&t&&(t=r.s),r=r.v}if(r&&r.then)return void r.then(he.bind(null,e,t),he.bind(null,e,2));e.s=t,e.v=r;var n=e.o;n&&n(e)}}var fe=/*#__PURE__*/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{he(n,1,i(this.v))}catch(e){he(n,2,e)}return n}return this}return this.o=function(e){try{var o=e.v;1&e.s?he(n,1,t?t(o):o):r?he(n,1,r(o)):he(n,2,o)}catch(e){he(n,2,e)}},n},e}();function de(e){return e instanceof fe&&1&e.s}var ve=/*#__PURE__*/function(){function e(e){this.aquariusURL=void 0,this.aquariusURL=e}var t=e.prototype;return t.resolve=function(e,t){try{var n=this.aquariusURL+"/api/aquarius/assets/ddo/"+e;return Promise.resolve(me(function(){return Promise.resolve(r(n,{method:"GET",headers:{"Content-Type":"application/json"},signal:t})).then(function(e){if(e.ok)return Promise.resolve(e.json());throw new Error("HTTP request failed with status "+e.status)})},function(e){throw g.error(e),new Error("HTTP request failed")}))}catch(e){return Promise.reject(e)}},t.waitForAqua=function(e,t,n){try{var o,i=this,s=0,a=function(e,t){var r;do{var n=e();if(n&&n.then){if(!de(n)){r=!0;break}n=n.v}var o=t();if(de(o)&&(o=o.v),!o)return n}while(!o.then);var i=new fe,s=he.bind(null,i,2);return(r?n.then(a):o.then(c)).then(void 0,s),i;function a(r){for(n=r;de(o=t())&&(o=o.v),o;){if(o.then)return void o.then(c).then(void 0,s);if((n=e())&&n.then){if(!de(n))return void n.then(a).then(void 0,s);n=n.v}}he(i,1,n)}function c(r){if(r){do{if((n=e())&&n.then){if(!de(n))return void n.then(a).then(void 0,s);n=n.v}if(de(r=t())&&(r=r.v),!r)return void he(i,1,n)}while(!r.then);r.then(c).then(void 0,s)}else he(i,1,n)}}(function(){function a(e){return o?e:Promise.resolve(oe(1500)).then(function(){s++})}var c=me(function(){return Promise.resolve(r(i.aquariusURL+"/api/aquarius/assets/ddo/"+e,{method:"GET",headers:{"Content-Type":"application/json"},signal:n})).then(function(e){return function(){if(e.ok)return Promise.resolve(e.json()).then(function(e){return t?e.event&&e.event.txid===t?(o=1,e):void 0:(o=1,e)})}()})},function(){});return c&&c.then?c.then(a):a(c)},function(){return!o&&s<100});return Promise.resolve(a&&a.then?a.then(function(e){return o?e:null}):o?a:null)}catch(e){return Promise.reject(e)}},t.validate=function(e,t){try{var n,o=this,i={valid:!1},s=me(function(){return Promise.resolve(r(o.aquariusURL+"/api/aquarius/assets/ddo/validate",{method:"POST",body:JSON.stringify(e),headers:{"Content-Type":"application/octet-stream"},signal:t})).then(function(e){return Promise.resolve(e.json()).then(function(t){n=t,200===e.status?(i.valid=!0,i.hash=n.hash,i.proof={validatorAddress:n.publicKey,r:n.r[0],s:n.s[0],v:n.v}):(i.errors=n,g.error("validate Metadata failed:",e.status,i.errors))})})},function(e){g.error("Error validating metadata: ",e)});return Promise.resolve(s&&s.then?s.then(function(){return i}):i)}catch(e){return Promise.reject(e)}},e}();function Pe(e,t){try{var r=e()}catch(e){return t(e)}return r&&r.then?r.then(void 0,t):r}var ge="115792089237316195423570985008687907853269984665640564039457584007913129639934",pe=/*#__PURE__*/function(){function e(e,t,r,n){void 0===r&&(r=null),this.poolAbi=void 0,this.web3=void 0,this.config=void 0,this.poolAbi=r||s.abi,this.web3=e,this.config=n||(new _).getConfig(t||"unknown")}var r=e.prototype;return r.amountToUnits=function(e,t,r){try{return Promise.resolve(k(this.web3,e,t,r))}catch(e){return Promise.reject(e)}},r.unitsToAmount=function(e,t,r){try{return Promise.resolve(T(this.web3,e,t,r))}catch(e){return Promise.reject(e)}},r.sharesBalance=function(e,t){try{var r=this,n=null,o=Pe(function(){var o=x(new r.web3.eth.Contract(r.poolAbi,t),r.config);return Promise.resolve(o.methods.balanceOf(e).call()).then(function(e){n=r.web3.utils.fromWei(e)})},function(e){g.error("ERROR: Failed to get shares of pool : "+e.message)});return Promise.resolve(o&&o.then?o.then(function(){return n}):n)}catch(e){return Promise.reject(e)}},r.estSetSwapFee=function(e,t,r,n){try{var o=n||x(new this.web3.eth.Contract(a.abi,t),this.config);return Promise.resolve(A(e,o.methods.setSwapFee,r))}catch(e){return Promise.reject(e)}},r.setSwapFee=function(e,t,r){try{var n=this,o=x(new n.web3.eth.Contract(n.poolAbi,t,{from:e}),n.config),i=null;return Promise.resolve(A(e,o.methods.setSwapFee,r)).then(function(t){var s=Pe(function(){var s=o.methods.setSwapFee(n.web3.utils.toWei(r)),a=s.send;return Promise.resolve(F(n.web3,n.config)).then(function(r){return Promise.resolve(a.call(s,{from:e,gas:t,gasPrice:r})).then(function(e){i=e})})},function(e){g.error("ERROR: Failed to set pool swap fee: "+e.message)});return s&&s.then?s.then(function(){return i}):i})}catch(e){return Promise.reject(e)}},r.getNumTokens=function(e){try{var t=this,r=x(new t.web3.eth.Contract(t.poolAbi,e),t.config),n=null,o=Pe(function(){return Promise.resolve(r.methods.getNumTokens().call()).then(function(e){n=e})},function(e){g.error("ERROR: Failed to get number of tokens: "+e.message)});return Promise.resolve(o&&o.then?o.then(function(){return n}):n)}catch(e){return Promise.reject(e)}},r.getPoolSharesTotalSupply=function(e){try{var t=this,r=x(new t.web3.eth.Contract(t.poolAbi,e),t.config),n=null,o=Pe(function(){return Promise.resolve(r.methods.totalSupply().call()).then(function(e){n=t.web3.utils.fromWei(e)})},function(e){g.error("ERROR: Failed to get total supply of pool shares: "+e.message)});return Promise.resolve(o&&o.then?o.then(function(){return n}):n)}catch(e){return Promise.reject(e)}},r.getCurrentTokens=function(e){try{var t=this,r=x(new t.web3.eth.Contract(t.poolAbi,e),t.config),n=null,o=Pe(function(){return Promise.resolve(r.methods.getCurrentTokens().call()).then(function(e){n=e})},function(e){g.error("ERROR: Failed to get tokens composing this pool: "+e.message)});return Promise.resolve(o&&o.then?o.then(function(){return n}):n)}catch(e){return Promise.reject(e)}},r.getFinalTokens=function(e){try{var t=this,r=x(new t.web3.eth.Contract(t.poolAbi,e),t.config),n=null,o=Pe(function(){return Promise.resolve(r.methods.getFinalTokens().call()).then(function(e){n=e})},function(e){g.error("ERROR: Failed to get the final tokens composing this pool "+e.message)});return Promise.resolve(o&&o.then?o.then(function(){return n}):n)}catch(e){return Promise.reject(e)}},r.getController=function(e){try{var t=this,r=x(new t.web3.eth.Contract(t.poolAbi,e),t.config),n=null,o=Pe(function(){return Promise.resolve(r.methods.getController().call()).then(function(e){n=e})},function(e){g.error("ERROR: Failed to get pool controller address: "+e.message)});return Promise.resolve(o&&o.then?o.then(function(){return n}):n)}catch(e){return Promise.reject(e)}},r.getBaseToken=function(e){try{var t=this,r=x(new t.web3.eth.Contract(t.poolAbi,e),t.config),n=null,o=Pe(function(){return Promise.resolve(r.methods.getBaseTokenAddress().call()).then(function(e){n=e})},function(e){g.error("ERROR: Failed to get baseToken address: "+e.message)});return Promise.resolve(o&&o.then?o.then(function(){return n}):n)}catch(e){return Promise.reject(e)}},r.getDatatoken=function(e){try{var t=this,r=x(new t.web3.eth.Contract(t.poolAbi,e),t.config),n=null,o=Pe(function(){return Promise.resolve(r.methods.getDatatokenAddress().call()).then(function(e){n=e})},function(e){g.error("ERROR: Failed to get datatoken address: "+e.message)});return Promise.resolve(o&&o.then?o.then(function(){return n}):n)}catch(e){return Promise.reject(e)}},r.getMarketFee=function(e){try{var t=function(){return r.web3.utils.fromWei(o).toString()},r=this,n=x(new r.web3.eth.Contract(r.poolAbi,e),r.config),o=null,i=Pe(function(){return Promise.resolve(n.methods.getMarketFee().call()).then(function(e){o=e})},function(e){g.error("ERROR: Failed to get getMarketFee: "+e.message)});return Promise.resolve(i&&i.then?i.then(t):t())}catch(e){return Promise.reject(e)}},r.getMarketFeeCollector=function(e){try{var t=this,r=x(new t.web3.eth.Contract(t.poolAbi,e),t.config),n=null,o=Pe(function(){return Promise.resolve(r.methods._publishMarketCollector().call()).then(function(e){n=e})},function(e){g.error("ERROR: Failed to get marketFeeCollector address: "+e.message)});return Promise.resolve(o&&o.then?o.then(function(){return n}):n)}catch(e){return Promise.reject(e)}},r.isBound=function(e,t){try{var r=this,n=x(new r.web3.eth.Contract(r.poolAbi,e),r.config),o=null,i=Pe(function(){return Promise.resolve(n.methods.isBound(t).call()).then(function(e){o=e})},function(e){g.error("ERROR: Failed to check whether a token bounded to a pool. "+e.message)});return Promise.resolve(i&&i.then?i.then(function(){return o}):o)}catch(e){return Promise.reject(e)}},r.getReserve=function(e,t,r){try{var n=function(){return i.toString()},o=this,i=null,s=Pe(function(){var n=x(new o.web3.eth.Contract(o.poolAbi,e),o.config);return Promise.resolve(n.methods.getBalance(t).call()).then(function(e){return Promise.resolve(o.unitsToAmount(t,e,r)).then(function(e){i=e})})},function(e){g.error("ERROR: Failed to get how many tokens are in the pool: "+e.message)});return Promise.resolve(s&&s.then?s.then(n):n())}catch(e){return Promise.reject(e)}},r.isFinalized=function(e){try{var t=this,r=x(new t.web3.eth.Contract(t.poolAbi,e),t.config),n=null,o=Pe(function(){return Promise.resolve(r.methods.isFinalized().call()).then(function(e){n=e})},function(e){g.error("ERROR: Failed to check whether pool is finalized: "+e.message)});return Promise.resolve(o&&o.then?o.then(function(){return n}):n)}catch(e){return Promise.reject(e)}},r.getSwapFee=function(e){try{var t=this,r=x(new t.web3.eth.Contract(t.poolAbi,e),t.config),n=null,o=Pe(function(){return Promise.resolve(r.methods.getSwapFee().call()).then(function(e){n=t.web3.utils.fromWei(e)})},function(e){g.error("ERROR: Failed to get pool fee: "+e.message)});return Promise.resolve(o&&o.then?o.then(function(){return n}):n)}catch(e){return Promise.reject(e)}},r.getNormalizedWeight=function(e,t){try{var r=this,n=x(new r.web3.eth.Contract(r.poolAbi,e),r.config),o=null,i=Pe(function(){return Promise.resolve(n.methods.getNormalizedWeight(t).call()).then(function(e){o=r.web3.utils.fromWei(e)})},function(e){g.error("ERROR: Failed to get normalized weight of a token: "+e.message)});return Promise.resolve(i&&i.then?i.then(function(){return o}):o)}catch(e){return Promise.reject(e)}},r.getDenormalizedWeight=function(e,t){try{var r=this,n=x(new r.web3.eth.Contract(r.poolAbi,e),r.config),o=null,i=Pe(function(){return Promise.resolve(n.methods.getDenormalizedWeight(t).call()).then(function(e){o=r.web3.utils.fromWei(e)})},function(e){g.error("ERROR: Failed to get denormalized weight of a token in pool "+e.message)});return Promise.resolve(i&&i.then?i.then(function(){return o}):o)}catch(e){return Promise.reject(e)}},r.getTotalDenormalizedWeight=function(e){try{var t=this,r=x(new t.web3.eth.Contract(t.poolAbi,e),t.config),n=null,o=Pe(function(){return Promise.resolve(r.methods.getTotalDenormalizedWeight().call()).then(function(e){n=t.web3.utils.fromWei(e)})},function(e){g.error("ERROR: Failed to get total denormalized weight in pool "+e.message)});return Promise.resolve(o&&o.then?o.then(function(){return n}):n)}catch(e){return Promise.reject(e)}},r.getMarketFees=function(e,t,r){try{var n=this,o=x(new n.web3.eth.Contract(n.poolAbi,e),n.config),i=null,s=Pe(function(){return Promise.resolve(o.methods.publishMarketFees(t).call()).then(function(e){return Promise.resolve(n.unitsToAmount(t,e,r)).then(function(e){i=e})})},function(e){g.error("ERROR: Failed to get market fees for a token: "+e.message)});return Promise.resolve(s&&s.then?s.then(function(){return i}):i)}catch(e){return Promise.reject(e)}},r.getCurrentMarketFees=function(e){try{var t=this,r=x(new t.web3.eth.Contract(t.poolAbi,e),t.config);return Promise.resolve(Pe(function(){return Promise.resolve(r.methods.getCurrentOPCFees().call())},function(e){g.error("ERROR: Failed to get community fees for a token: "+e.message)}))}catch(e){return Promise.reject(e)}},r.getCurrentOPCFees=function(e){try{var t=this,r=x(new t.web3.eth.Contract(t.poolAbi,e),t.config);return Promise.resolve(Pe(function(){return Promise.resolve(r.methods.getCurrentOPCFees().call())},function(e){g.error("ERROR: Failed to get community fees for a token: "+e.message)}))}catch(e){return Promise.reject(e)}},r.getCommunityFees=function(e,t,r){try{var n=this,o=x(new n.web3.eth.Contract(n.poolAbi,e),n.config),i=null,s=Pe(function(){return Promise.resolve(o.methods.communityFees(t).call()).then(function(e){return Promise.resolve(n.unitsToAmount(t,e,r)).then(function(e){i=e})})},function(e){g.error("ERROR: Failed to get community fees for a token: "+e.message)});return Promise.resolve(s&&s.then?s.then(function(){return i}):i)}catch(e){return Promise.reject(e)}},r.estCollectOPC=function(e,t,r){try{var n=this,o=r||x(new n.web3.eth.Contract(n.poolAbi,t),n.config);return Promise.resolve(A(e,o.methods.collectOPC))}catch(e){return Promise.reject(e)}},r.collectOPC=function(e,t){try{var r=this,n=x(new r.web3.eth.Contract(r.poolAbi,t),r.config),o=null;return Promise.resolve(A(e,n.methods.collectOPC)).then(function(t){var i=Pe(function(){var i=n.methods.collectOPC(),s=i.send;return Promise.resolve(F(r.web3,r.config)).then(function(r){return Promise.resolve(s.call(i,{from:e,gas:t+1,gasPrice:r})).then(function(e){o=e})})},function(e){g.error("ERROR: Failed to swap exact amount in : "+e.message)});return i&&i.then?i.then(function(){return o}):o})}catch(e){return Promise.reject(e)}},r.estCollectMarketFee=function(e,t,r){try{var n=this,o=r||x(new n.web3.eth.Contract(n.poolAbi,t),n.config);return Promise.resolve(A(e,o.methods.collectMarketFee))}catch(e){return Promise.reject(e)}},r.collectMarketFee=function(e,t){try{var r=this;return Promise.resolve(r.getMarketFeeCollector(t)).then(function(n){if(n!==e)throw new Error("Caller is not MarketFeeCollector");var o=x(new r.web3.eth.Contract(r.poolAbi,t),r.config),i=null;return Promise.resolve(A(e,o.methods.collectMarketFee)).then(function(t){var n=Pe(function(){var n=o.methods.collectMarketFee(),s=n.send;return Promise.resolve(F(r.web3,r.config)).then(function(r){return Promise.resolve(s.call(n,{from:e,gas:t+1,gasPrice:r})).then(function(e){i=e})})},function(e){g.error("ERROR: Failed to swap exact amount in : "+e.message)});return n&&n.then?n.then(function(){return i}):i})})}catch(e){return Promise.reject(e)}},r.estUpdatePublishMarketFee=function(e,t,r,n,o){try{var i=this,s=o||x(new i.web3.eth.Contract(i.poolAbi,t),i.config);return Promise.resolve(A(e,s.methods.updatePublishMarketFee,r,i.web3.utils.toWei(n)))}catch(e){return Promise.reject(e)}},r.updatePublishMarketFee=function(e,t,r,n){try{var o=this;return Promise.resolve(o.getMarketFeeCollector(t)).then(function(i){if(i!==e)throw new Error("Caller is not MarketFeeCollector");var s=x(new o.web3.eth.Contract(o.poolAbi,t),o.config),a=null;return Promise.resolve(A(e,s.methods.updatePublishMarketFee,r,o.web3.utils.toWei(n))).then(function(t){var i=Pe(function(){var i=s.methods.updatePublishMarketFee(r,o.web3.utils.toWei(n)),c=i.send;return Promise.resolve(F(o.web3,o.config)).then(function(r){return Promise.resolve(c.call(i,{from:e,gas:t+1,gasPrice:r})).then(function(e){a=e})})},function(e){g.error("ERROR: Failed to updatePublishMarketFee : "+e.message)});return i&&i.then?i.then(function(){return a}):a})})}catch(e){return Promise.reject(e)}},r.estSwapExactAmountIn=function(e,t,r,n,o){try{var i=this,s=o||x(new i.web3.eth.Contract(i.poolAbi,t),i.config);return Promise.resolve(i.amountToUnits(r.tokenIn,n.tokenAmountIn,r.tokenInDecimals)).then(function(o){return Promise.resolve(i.amountToUnits(r.tokenOut,n.minAmountOut,r.tokenOutDecimals)).then(function(a){function c(t){var c=u?l.call(i,t,n.maxPrice):t;return A(e,s.methods.swapExactAmountIn,[r.tokenIn,r.tokenOut,r.marketFeeAddress],[o,a,c,i.web3.utils.toWei(n.swapMarketFee)])}var u=n.maxPrice,l=u&&i.amountToUnits;return u?Promise.resolve(i.getBaseToken(t)).then(c):c(ge)})})}catch(e){return Promise.reject(e)}},r.swapExactAmountIn=function(e,t,r,n){try{var o=this,s=x(new o.web3.eth.Contract(o.poolAbi,t),o.config);return Promise.resolve(ae(o,t,r.tokenIn)).then(function(a){if(new i(n.tokenAmountIn).greaterThan(a))throw new Error("tokenAmountIn is greater than "+a.toString());return Promise.resolve(o.amountToUnits(r.tokenIn,n.tokenAmountIn,r.tokenInDecimals)).then(function(i){return Promise.resolve(o.amountToUnits(r.tokenOut,n.minAmountOut,r.tokenOutDecimals)).then(function(a){function c(e){return l?Promise.resolve(m.call(o,e,n.maxPrice)).then(u):e}function u(t){return Promise.resolve(A(e,s.methods.swapExactAmountIn,[r.tokenIn,r.tokenOut,r.marketFeeAddress],[i,a,t,o.web3.utils.toWei(n.swapMarketFee)])).then(function(c){var u=null,l=Pe(function(){var l=s.methods.swapExactAmountIn([r.tokenIn,r.tokenOut,r.marketFeeAddress],[i,a,t,o.web3.utils.toWei(n.swapMarketFee)]),m=l.send;return Promise.resolve(F(o.web3,o.config)).then(function(t){return Promise.resolve(m.call(l,{from:e,gas:c+1,gasPrice:t})).then(function(e){u=e})})},function(e){g.error("ERROR: Failed to swap exact amount in : "+e.message)});return l&&l.then?l.then(function(){return u}):u})}var l=n.maxPrice,m=l&&o.amountToUnits;return l?Promise.resolve(o.getBaseToken(t)).then(c):c(u(ge))})})})}catch(e){return Promise.reject(e)}},r.estSwapExactAmountOut=function(e,t,r,n,o){try{var i=this,s=o||x(new i.web3.eth.Contract(i.poolAbi,t),i.config);return Promise.resolve(i.amountToUnits(r.tokenIn,n.maxAmountIn,r.tokenInDecimals)).then(function(o){return Promise.resolve(i.amountToUnits(r.tokenOut,n.tokenAmountOut,r.tokenOutDecimals)).then(function(a){function c(e){return l?Promise.resolve(m.call(i,e,n.maxPrice)).then(u):e}function u(t){return A(e,s.methods.swapExactAmountOut,[r.tokenIn,r.tokenOut,r.marketFeeAddress],[o,a,t,i.web3.utils.toWei(n.swapMarketFee)])}var l=n.maxPrice,m=l&&i.amountToUnits;return l?Promise.resolve(i.getBaseToken(t)).then(c):c(u(ge))})})}catch(e){return Promise.reject(e)}},r.swapExactAmountOut=function(e,t,r,n){try{var o=this,s=x(new o.web3.eth.Contract(o.poolAbi,t),o.config),a=null;return Promise.resolve(ce(o,t,r.tokenOut)).then(function(c){if(new i(n.tokenAmountOut).greaterThan(c))throw new Error("tokenAmountOut is greater than "+c.toString());return Promise.resolve(o.amountToUnits(r.tokenIn,n.maxAmountIn,r.tokenInDecimals)).then(function(i){return Promise.resolve(o.amountToUnits(r.tokenOut,n.tokenAmountOut,r.tokenOutDecimals)).then(function(c){function u(t){var u=l?m.call(o,t,n.maxPrice):t;return Promise.resolve(A(e,s.methods.swapExactAmountOut,[r.tokenIn,r.tokenOut,r.marketFeeAddress],[i,c,u,o.web3.utils.toWei(n.swapMarketFee)])).then(function(t){var l=Pe(function(){var l=s.methods.swapExactAmountOut([r.tokenIn,r.tokenOut,r.marketFeeAddress],[i,c,u,o.web3.utils.toWei(n.swapMarketFee)]),m=l.send;return Promise.resolve(F(o.web3,o.config)).then(function(r){return Promise.resolve(m.call(l,{from:e,gas:t+1,gasPrice:r})).then(function(e){a=e})})},function(e){g.error("ERROR: Failed to swap exact amount out: "+e.message)});return l&&l.then?l.then(function(){return a}):a})}var l=n.maxPrice,m=l&&o.amountToUnits;return l?Promise.resolve(o.getBaseToken(t)).then(u):u(ge)})})})}catch(e){return Promise.reject(e)}},r.estJoinswapExternAmountIn=function(e,t,r,n,o){try{var i=this,s=o||x(new i.web3.eth.Contract(i.poolAbi,t),i.config);return Promise.resolve(A(e,s.methods.joinswapExternAmountIn,r,n))}catch(e){return Promise.reject(e)}},r.joinswapExternAmountIn=function(e,t,r,n,o){try{var s=this,a=x(new s.web3.eth.Contract(s.poolAbi,t),s.config),c=null;return Promise.resolve(s.getBaseToken(t)).then(function(u){return Promise.resolve(se(s,t,u)).then(function(t){if(new i(r).greaterThan(t))throw new Error("tokenAmountOut is greater than "+t.toString());return Promise.resolve(s.amountToUnits(u,r,o)).then(function(t){return Promise.resolve(A(e,a.methods.joinswapExternAmountIn,t,s.web3.utils.toWei(n))).then(function(r){var o=Pe(function(){var o=a.methods.joinswapExternAmountIn(t,s.web3.utils.toWei(n)),i=o.send;return Promise.resolve(F(s.web3,s.config)).then(function(t){return Promise.resolve(i.call(o,{from:e,gas:r+1,gasPrice:t})).then(function(e){c=e})})},function(e){g.error("ERROR: Failed to pay tokens in order to join the pool: "+e.message)});return o&&o.then?o.then(function(){return c}):c})})})})}catch(e){return Promise.reject(e)}},r.estExitswapPoolAmountIn=function(e,t,r,n,o){try{var i=this,s=o||x(new i.web3.eth.Contract(i.poolAbi,t),i.config);return Promise.resolve(A(e,s.methods.exitswapPoolAmountIn,r,n))}catch(e){return Promise.reject(e)}},r.exitswapPoolAmountIn=function(e,t,r,n,o){try{var s=this,a=x(new s.web3.eth.Contract(s.poolAbi,t),s.config),c=null;return Promise.resolve(s.getBaseToken(t)).then(function(u){return Promise.resolve(s.calcSingleOutGivenPoolIn(t,u,r)).then(function(l){return Promise.resolve(ie(s,t,u)).then(function(u){if(new i(l).greaterThan(u))throw new Error("tokenAmountOut is greater than "+u.toString());var m=s.amountToUnits;return Promise.resolve(s.getBaseToken(t)).then(function(t){return Promise.resolve(m.call(s,t,n,o)).then(function(t){return Promise.resolve(A(e,a.methods.exitswapPoolAmountIn,s.web3.utils.toWei(r),t)).then(function(n){var o=Pe(function(){var o=a.methods.exitswapPoolAmountIn(s.web3.utils.toWei(r),t),i=o.send;return Promise.resolve(F(s.web3,s.config)).then(function(t){return Promise.resolve(i.call(o,{from:e,gas:n+1,gasPrice:t})).then(function(e){c=e})})},function(e){g.error("ERROR: Failed to pay pool shares into the pool: "+e.message)});return o&&o.then?o.then(function(){return c}):c})})})})})})}catch(e){return Promise.reject(e)}},r.getSpotPrice=function(e,r,n,o){try{var i=function(){function e(){function e(){var e;return u>l?(e=u-l,i=new t(i/Math.pow(10,e)),i/=Math.pow(10,l)):(e=l-u,i=new t(i*Math.pow(10,2*e)),i/=Math.pow(10,l)),i.toString()}var i=null,a=Pe(function(){return Promise.resolve(c.methods.getSpotPrice(r,n,s.web3.utils.toWei(o)).call()).then(function(e){i=new t((i=e).toString())})},function(){g.error("ERROR: Failed to get spot price of swapping tokenIn to tokenOut")});return a&&a.then?a.then(e):e()}var i=Pe(function(){return Promise.resolve(h.methods.decimals().call()).then(function(e){l=e})},function(e){g.error("ERROR: FAILED TO CALL DECIMALS(), USING 18 "+e.message)});return i&&i.then?i.then(e):e()},s=this,c=x(new s.web3.eth.Contract(s.poolAbi,e),s.config),u=18,l=18,m=x(new s.web3.eth.Contract(a.abi,r),s.config),h=x(new s.web3.eth.Contract(a.abi,n),s.config),f=Pe(function(){return Promise.resolve(m.methods.decimals().call()).then(function(e){u=e})},function(e){g.error("ERROR: FAILED TO CALL DECIMALS(), USING 18 "+e.message)});return Promise.resolve(f&&f.then?f.then(i):i())}catch(e){return Promise.reject(e)}},r.getAmountInExactOut=function(e,t,r,n,o,s,a){try{var c=this,u=x(new c.web3.eth.Contract(c.poolAbi,e),c.config);return Promise.resolve(ce(c,e,r)).then(function(e){if(new i(n).greaterThan(e))throw new Error("tokenAmountOut is greater than "+e.toString());return Promise.resolve(c.amountToUnits(r,n,a)).then(function(e){var n=null,i=Pe(function(){return Promise.resolve(u.methods.getAmountInExactOut(t,r,e,c.web3.utils.toWei(o)).call()).then(function(e){return Promise.resolve(c.unitsToAmount(r,e.tokenAmountIn,s)).then(function(r){return Promise.resolve(c.unitsToAmount(t,e.lpFeeAmount,s)).then(function(o){return Promise.resolve(c.unitsToAmount(t,e.oceanFeeAmount,s)).then(function(i){return Promise.resolve(c.unitsToAmount(t,e.publishMarketSwapFeeAmount,s)).then(function(a){return Promise.resolve(c.unitsToAmount(t,e.consumeMarketSwapFeeAmount,s)).then(function(e){n={tokenAmount:r,liquidityProviderSwapFeeAmount:o,oceanFeeAmount:i,publishMarketSwapFeeAmount:a,consumeMarketSwapFeeAmount:e}})})})})})})},function(e){g.error("ERROR: Failed to calcInGivenOut "+e.message)});return i&&i.then?i.then(function(){return n}):n})})}catch(e){return Promise.reject(e)}},r.getAmountOutExactIn=function(e,t,r,n,o,s,a){try{var c=this,u=x(new c.web3.eth.Contract(c.poolAbi,e),c.config);return Promise.resolve(ae(c,e,t)).then(function(e){if(new i(n).greaterThan(e))throw new Error("tokenAmountIn is greater than "+e.toString());return Promise.resolve(c.amountToUnits(t,n,s)).then(function(e){var n=null,i=Pe(function(){return Promise.resolve(u.methods.getAmountOutExactIn(t,r,e,c.web3.utils.toWei(o)).call()).then(function(e){return Promise.resolve(c.unitsToAmount(r,e.tokenAmountOut,a)).then(function(r){return Promise.resolve(c.unitsToAmount(t,e.lpFeeAmount,s)).then(function(o){return Promise.resolve(c.unitsToAmount(t,e.oceanFeeAmount,s)).then(function(i){return Promise.resolve(c.unitsToAmount(t,e.publishMarketSwapFeeAmount,s)).then(function(a){return Promise.resolve(c.unitsToAmount(t,e.consumeMarketSwapFeeAmount,s)).then(function(e){n={tokenAmount:r,liquidityProviderSwapFeeAmount:o,oceanFeeAmount:i,publishMarketSwapFeeAmount:a,consumeMarketSwapFeeAmount:e}})})})})})})},function(e){g.error("ERROR: Failed to calcOutGivenIn "+e.message)});return i&&i.then?i.then(function(){return n}):n})})}catch(e){return Promise.reject(e)}},r.calcPoolOutGivenSingleIn=function(e,t,r,n,o){try{var i=this,s=x(new i.web3.eth.Contract(i.poolAbi,e),i.config),a=null,c=Pe(function(){var c=s.methods,u=c.calcPoolOutSingleIn;return Promise.resolve(i.amountToUnits(t,r,o)).then(function(r){return Promise.resolve(u.call(c,t,r).call()).then(function(t){return Promise.resolve(i.unitsToAmount(e,t,n)).then(function(e){a=e})})})},function(e){g.error("ERROR: Failed to calculate PoolOutGivenSingleIn : "+e.message)});return Promise.resolve(c&&c.then?c.then(function(){return a}):a)}catch(e){return Promise.reject(e)}},r.calcSingleInGivenPoolOut=function(e,t,r,n,o){try{var i=this,s=x(new i.web3.eth.Contract(i.poolAbi,e),i.config),a=null;return Promise.resolve(i.amountToUnits(e,r,n)).then(function(e){var r=Pe(function(){return Promise.resolve(s.methods.calcSingleInPoolOut(t,e).call()).then(function(e){return Promise.resolve(i.unitsToAmount(t,e,o)).then(function(e){a=e})})},function(e){g.error("ERROR: Failed to calculate SingleInGivenPoolOut : "+e.message)});return r&&r.then?r.then(function(){return a}):a})}catch(e){return Promise.reject(e)}},r.calcSingleOutGivenPoolIn=function(e,t,r,n,o){try{var i=this,s=x(new i.web3.eth.Contract(i.poolAbi,e),i.config),a=null,c=Pe(function(){var c=s.methods,u=c.calcSingleOutPoolIn;return Promise.resolve(i.amountToUnits(e,r,n)).then(function(e){return Promise.resolve(u.call(c,t,e).call()).then(function(e){return Promise.resolve(i.unitsToAmount(t,e,o)).then(function(e){a=e})})})},function(e){g.error("ERROR: Failed to calculate SingleOutGivenPoolIn : "+e)});return Promise.resolve(c&&c.then?c.then(function(){return a}):a)}catch(e){return Promise.reject(e)}},r.calcPoolInGivenSingleOut=function(e,t,r,n,o){try{var i=this,s=x(new i.web3.eth.Contract(i.poolAbi,e),i.config),a=null,c=Pe(function(){var c=s.methods,u=c.calcPoolInSingleOut;return Promise.resolve(i.amountToUnits(t,r,o)).then(function(r){return Promise.resolve(u.call(c,t,r).call()).then(function(t){return Promise.resolve(i.unitsToAmount(e,t,n)).then(function(e){a=e})})})},function(e){g.error("ERROR: Failed to calculate PoolInGivenSingleOut : "+e.message)});return Promise.resolve(c&&c.then?c.then(function(){return a}):a)}catch(e){return Promise.reject(e)}},r.getSwapEventSignature=function(){var e=this.poolAbi.find(function(e){return"event"===e.type&&"LOG_SWAP"===e.name});return this.web3.eth.abi.encodeEventSignature(e)},r.getJoinEventSignature=function(){var e=this.poolAbi.find(function(e){return"event"===e.type&&"LOG_JOIN"===e.name});return this.web3.eth.abi.encodeEventSignature(e)},r.getExitEventSignature=function(){var e=this.poolAbi.find(function(e){return"event"===e.type&&"LOG_EXIT"===e.name});return this.web3.eth.abi.encodeEventSignature(e)},e}();function we(e,t){try{var r=e()}catch(e){return t(e)}return r&&r.then?r.then(void 0,t):r}var be,ye=/*#__PURE__*/function(){function e(e,t,r,n,o){void 0===r&&(r=null),void 0===n&&(n=null),this.web3=null,this.dispenserAddress=void 0,this.config=void 0,this.dispenserAbi=void 0,this.dispenserContract=void 0,this.web3=e,this.dispenserAddress=r,this.dispenserAbi=n||c.abi,this.config=o||(new _).getConfig(t||"unknown"),e&&(this.dispenserContract=x(new this.web3.eth.Contract(this.dispenserAbi,this.dispenserAddress),this.config))}var t=e.prototype;return t.status=function(e){try{var t,r=this,n=we(function(){return Promise.resolve(r.dispenserContract.methods.status(e).call()).then(function(e){return e.maxTokens=r.web3.utils.fromWei(e.maxTokens),e.maxBalance=r.web3.utils.fromWei(e.maxBalance),e.balance=r.web3.utils.fromWei(e.balance),t=1,e})},function(){g.warn("No dispenser available for datatoken: "+e)});return Promise.resolve(n&&n.then?n.then(function(e){return t?e:null}):t?n:null)}catch(e){return Promise.reject(e)}},t.estGasCreate=function(e,t,r,n,o){try{var i=this;return Promise.resolve(A(t,i.dispenserContract.methods.create,e,i.web3.utils.toWei(r),i.web3.utils.toWei(n),t,o))}catch(e){return Promise.reject(e)}},t.create=function(e,t,r,n,o){try{var i=this;return Promise.resolve(A(t,i.dispenserContract.methods.create,e,i.web3.utils.toWei(r),i.web3.utils.toWei(n),t,o)).then(function(s){var a=i.dispenserContract.methods.create(e,i.web3.utils.toWei(r),i.web3.utils.toWei(n),t,o),c=a.send;return Promise.resolve(F(i.web3,i.config)).then(function(e){return Promise.resolve(c.call(a,{from:t,gas:s+1,gasPrice:e}))})})}catch(e){return Promise.reject(e)}},t.estGasActivate=function(e,t,r,n){try{var o=this;return Promise.resolve(A(n,o.dispenserContract.methods.activate,e,o.web3.utils.toWei(t),o.web3.utils.toWei(r)))}catch(e){return Promise.reject(e)}},t.activate=function(e,t,r,n){try{var o,i=this,s=we(function(){return Promise.resolve(A(n,i.dispenserContract.methods.activate,e,i.web3.utils.toWei(t),i.web3.utils.toWei(r))).then(function(s){var a=i.dispenserContract.methods.activate(e,i.web3.utils.toWei(t),i.web3.utils.toWei(r)),c=a.send;return Promise.resolve(F(i.web3,i.config)).then(function(e){return Promise.resolve(c.call(a,{from:n,gas:s+1,gasPrice:e})).then(function(e){return o=1,e})})})},function(e){g.error("ERROR: Failed to activate dispenser: "+e.message)});return Promise.resolve(s&&s.then?s.then(function(e){return o?e:null}):o?s:null)}catch(e){return Promise.reject(e)}},t.estGasDeactivate=function(e,t){try{return Promise.resolve(A(t,this.dispenserContract.methods.deactivate,e))}catch(e){return Promise.reject(e)}},t.deactivate=function(e,t){try{var r,n=this,o=we(function(){return Promise.resolve(A(t,n.dispenserContract.methods.deactivate,e)).then(function(o){var i=n.dispenserContract.methods.deactivate(e),s=i.send;return Promise.resolve(F(n.web3,n.config)).then(function(e){return Promise.resolve(s.call(i,{from:t,gas:o+1,gasPrice:e})).then(function(e){return r=1,e})})})},function(e){g.error("ERROR: Failed to activate dispenser: "+e.message)});return Promise.resolve(o&&o.then?o.then(function(e){return r?e:null}):r?o:null)}catch(e){return Promise.reject(e)}},t.estGasSetAllowedSwapper=function(e,t,r){try{return Promise.resolve(A(t,this.dispenserContract.methods.setAllowedSwapper,e,r))}catch(e){return Promise.reject(e)}},t.setAllowedSwapper=function(e,t,r){try{var n,o=this,i=we(function(){return Promise.resolve(A(t,o.dispenserContract.methods.setAllowedSwapper,e,r)).then(function(i){var s=o.dispenserContract.methods.setAllowedSwapper(e,r),a=s.send;return Promise.resolve(F(o.web3,o.config)).then(function(e){return Promise.resolve(a.call(s,{from:t,gas:i+1,gasPrice:e})).then(function(e){return n=1,e})})})},function(e){g.error("ERROR: Failed to activate dispenser: "+e.message)});return Promise.resolve(i&&i.then?i.then(function(e){return n?e:null}):n?i:null)}catch(e){return Promise.reject(e)}},t.estGasDispense=function(e,t,r,n){void 0===r&&(r="1");try{return Promise.resolve(A(t,this.dispenserContract.methods.dispense,e,this.web3.utils.toWei(r),n))}catch(e){return Promise.reject(e)}},t.dispense=function(e,t,r,n){void 0===r&&(r="1");try{var o=this;return Promise.resolve(A(t,o.dispenserContract.methods.dispense,e,o.web3.utils.toWei(r),n)).then(function(i){var s,a=we(function(){var a=o.dispenserContract.methods.dispense(e,o.web3.utils.toWei(r),n),c=a.send;return Promise.resolve(F(o.web3,o.config)).then(function(e){return Promise.resolve(c.call(a,{from:t,gas:i+1,gasPrice:e})).then(function(e){return s=1,e})})},function(e){g.error("ERROR: Failed to dispense tokens: "+e.message)});return a&&a.then?a.then(function(e){return s?e:null}):s?a:null})}catch(e){return Promise.reject(e)}},t.estGasOwnerWithdraw=function(e,t){try{return Promise.resolve(A(t,this.dispenserContract.methods.ownerWithdraw,e))}catch(e){return Promise.reject(e)}},t.ownerWithdraw=function(e,t){try{var r=this;return Promise.resolve(A(t,r.dispenserContract.methods.ownerWithdraw,e)).then(function(n){var o,i=we(function(){var i=r.dispenserContract.methods.ownerWithdraw(e),s=i.send;return Promise.resolve(F(r.web3,r.config)).then(function(e){return Promise.resolve(s.call(i,{from:t,gas:n+1,gasPrice:e})).then(function(e){return o=1,e})})},function(e){g.error("ERROR: Failed to withdraw tokens: "+e.message)});return i&&i.then?i.then(function(e){return o?e:null}):o?i:null})}catch(e){return Promise.reject(e)}},t.isDispensable=function(e,t,r,n){void 0===n&&(n="1");try{return Promise.resolve(this.status(e)).then(function(o){return!!o&&!1!==o.active&&Promise.resolve(t.balance(e,r)).then(function(e){return!(new i(e).greaterThanOrEqualTo(o.maxBalance)||new i(String(n)).greaterThan(o.maxTokens)||!new i(o.balance).greaterThanOrEqualTo(n)&&!0!==o.isMinter)})})}catch(e){return Promise.reject(e)}},e}();function Ce(e,t){try{var r=e()}catch(e){return t(e)}return r&&r.then?r.then(void 0,t):r}!function(e){e[e.CreatingExchange=0]="CreatingExchange",e[e.ApprovingDatatoken=1]="ApprovingDatatoken"}(be||(be={}));var Re=/*#__PURE__*/function(){function e(e,t,r,n,o,i){void 0===n&&(n=null),void 0===o&&(o=null),this.oceanAddress=null,this.fixedRateAddress=void 0,this.fixedRateExchangeAbi=void 0,this.web3=void 0,this.fixedRateContract=null,this.config=void 0,this.ssAbi=void 0,this.web3=e,this.config=i||(new _).getConfig(r||"unknown"),this.fixedRateExchangeAbi=n||u.abi,this.oceanAddress=o,this.fixedRateAddress=t,this.fixedRateContract=x(new this.web3.eth.Contract(this.fixedRateExchangeAbi,this.fixedRateAddress),this.config)}var t=e.prototype;return t.amountToUnits=function(e,t,r){try{return Promise.resolve(k(this.web3,e,t,r))}catch(e){return Promise.reject(e)}},t.unitsToAmount=function(e,t,r){try{return Promise.resolve(T(this.web3,e,t,r))}catch(e){return Promise.reject(e)}},t.generateExchangeId=function(e,t){try{return Promise.resolve(this.fixedRateContract.methods.generateExchangeId(e,t).call())}catch(e){return Promise.reject(e)}},t.estBuyDT=function(e,t,r,n,o,i,s){try{return Promise.resolve(A(e,(s||this.fixedRateContract).methods.buyDT,t,r,n,o,i))}catch(e){return Promise.reject(e)}},t.buyDT=function(e,t,r,n,o,i){void 0===o&&(o=y),void 0===i&&(i="0");try{var s=this;return Promise.resolve(s.getExchange(t)).then(function(a){var c=s.web3.utils.toWei(i);return Promise.resolve(s.amountToUnits(a.datatoken,r,+a.dtDecimals)).then(function(r){return Promise.resolve(s.amountToUnits(a.baseToken,n,+a.btDecimals)).then(function(n){return Promise.resolve(A(e,s.fixedRateContract.methods.buyDT,t,r,n,o,c)).then(function(i){return Ce(function(){var a=s.fixedRateContract.methods.buyDT(t,r,n,o,c),u=a.send;return Promise.resolve(F(s.web3,s.config)).then(function(t){return Promise.resolve(u.call(a,{from:e,gas:i+1,gasPrice:t}))})},function(e){return g.error("ERROR: Failed to buy datatokens: "+e.message),null})})})})})}catch(e){return Promise.reject(e)}},t.estSellDT=function(e,t,r,n,o,i,s){try{return Promise.resolve(A(e,(s||this.fixedRateContract).methods.sellDT,t,r,n,o,i))}catch(e){return Promise.reject(e)}},t.sellDT=function(e,t,r,n,o,i){void 0===o&&(o=y),void 0===i&&(i="0");try{var s=this;return Promise.resolve(s.getExchange(t)).then(function(a){var c=s.web3.utils.toWei(i);return Promise.resolve(s.amountToUnits(a.datatoken,r,+a.dtDecimals)).then(function(r){return Promise.resolve(s.amountToUnits(a.baseToken,n,+a.btDecimals)).then(function(n){return Promise.resolve(A(e,s.fixedRateContract.methods.sellDT,t,r,n,o,c)).then(function(i){return Ce(function(){var a=s.fixedRateContract.methods.sellDT(t,r,n,o,c),u=a.send;return Promise.resolve(F(s.web3,s.config)).then(function(t){return Promise.resolve(u.call(a,{from:e,gas:i+1,gasPrice:t}))})},function(e){return g.error("ERROR: Failed to sell datatokens: "+e.message),null})})})})})}catch(e){return Promise.reject(e)}},t.getNumberOfExchanges=function(){try{return Promise.resolve(this.fixedRateContract.methods.getNumberOfExchanges().call())}catch(e){return Promise.reject(e)}},t.estSetRate=function(e,t,r,n){try{var o=(n||this.fixedRateContract).methods.setRate;return Promise.resolve(this.web3.utils.toWei(r)).then(function(r){return A(e,o,t,r)})}catch(e){return Promise.reject(e)}},t.setRate=function(e,t,r){try{var n=this;return Promise.resolve(A(e,n.fixedRateContract.methods.setRate,t,n.web3.utils.toWei(r))).then(function(o){var i=n.fixedRateContract.methods.setRate(t,n.web3.utils.toWei(r)),s=i.send;return Promise.resolve(F(n.web3,n.config)).then(function(t){return Promise.resolve(s.call(i,{from:e,gas:o+1,gasPrice:t}))})})}catch(e){return Promise.reject(e)}},t.estSetAllowedSwapper=function(e,t,r,n){try{return Promise.resolve(A(e,(n||this.fixedRateContract).methods.setAllowedSwapper,t,r))}catch(e){return Promise.reject(e)}},t.setAllowedSwapper=function(e,t,r){try{var n=this;return Promise.resolve(A(e,n.fixedRateContract.methods.setAllowedSwapper,t,r)).then(function(o){var i=n.fixedRateContract.methods.setAllowedSwapper(t,r),s=i.send;return Promise.resolve(F(n.web3,n.config)).then(function(t){return Promise.resolve(s.call(i,{from:e,gas:o+1,gasPrice:t}))})})}catch(e){return Promise.reject(e)}},t.estActivate=function(e,t,r){try{return Promise.resolve(A(e,(r||this.fixedRateContract).methods.toggleExchangeState,t))}catch(e){return Promise.reject(e)}},t.activate=function(e,t){try{var r=this;return Promise.resolve(r.getExchange(t)).then(function(n){return n?!0===n.active?null:Promise.resolve(A(e,r.fixedRateContract.methods.toggleExchangeState,t)).then(function(n){var o=r.fixedRateContract.methods.toggleExchangeState(t),i=o.send;return Promise.resolve(F(r.web3,r.config)).then(function(t){return Promise.resolve(i.call(o,{from:e,gas:n+1,gasPrice:t}))})}):null})}catch(e){return Promise.reject(e)}},t.estDeactivate=function(e,t,r){try{return Promise.resolve(A(e,(r||this.fixedRateContract).methods.toggleExchangeState,t))}catch(e){return Promise.reject(e)}},t.deactivate=function(e,t){try{var r=this;return Promise.resolve(r.getExchange(t)).then(function(n){return n?!1===n.active?null:Promise.resolve(A(e,r.fixedRateContract.methods.toggleExchangeState,t)).then(function(n){var o=r.fixedRateContract.methods.toggleExchangeState(t),i=o.send;return Promise.resolve(F(r.web3,r.config)).then(function(t){return Promise.resolve(i.call(o,{from:e,gas:n+1,gasPrice:t}))})}):null})}catch(e){return Promise.reject(e)}},t.getRate=function(e){try{var t=this;return Promise.resolve(t.fixedRateContract.methods.getRate(e).call()).then(function(e){return Promise.resolve(t.web3.utils.fromWei(e))})}catch(e){return Promise.reject(e)}},t.getDTSupply=function(e){try{var t=this;return Promise.resolve(t.fixedRateContract.methods.getDTSupply(e).call()).then(function(r){return Promise.resolve(t.getExchange(e)).then(function(e){return Promise.resolve(t.unitsToAmount(e.datatoken,r,+e.dtDecimals))})})}catch(e){return Promise.reject(e)}},t.getBTSupply=function(e){try{var t=this;return Promise.resolve(t.fixedRateContract.methods.getBTSupply(e).call()).then(function(r){return Promise.resolve(t.getExchange(e)).then(function(e){return Promise.resolve(t.unitsToAmount(e.baseToken,r,+e.btDecimals))})})}catch(e){return Promise.reject(e)}},t.getAllowedSwapper=function(e){try{return Promise.resolve(this.fixedRateContract.methods.getAllowedSwapper(e).call())}catch(e){return Promise.reject(e)}},t.calcBaseInGivenOutDT=function(e,t,r){void 0===r&&(r="0");try{var n=this;return Promise.resolve(n.getExchange(e)).then(function(o){var i=n.fixedRateContract.methods,s=i.calcBaseInGivenOutDT;return Promise.resolve(n.amountToUnits(o.datatoken,t,+o.dtDecimals)).then(function(t){return Promise.resolve(s.call(i,e,t,n.web3.utils.toWei(r)).call()).then(function(e){return Promise.resolve(n.unitsToAmount(o.baseToken,e.baseTokenAmount,+o.btDecimals)).then(function(t){return Promise.resolve(n.unitsToAmount(o.baseToken,e.marketFeeAmount,+o.btDecimals)).then(function(r){return Promise.resolve(n.unitsToAmount(o.baseToken,e.oceanFeeAmount,+o.btDecimals)).then(function(i){return Promise.resolve(n.unitsToAmount(o.baseToken,e.consumeMarketFeeAmount,+o.btDecimals)).then(function(e){return{baseTokenAmount:t,marketFeeAmount:r,oceanFeeAmount:i,consumeMarketFeeAmount:e}})})})})})})})}catch(e){return Promise.reject(e)}},t.getAmountBTOut=function(e,t,r){void 0===r&&(r="0");try{var n=this;return Promise.resolve(n.getExchange(e)).then(function(o){var i=n.fixedRateContract.methods,s=i.calcBaseOutGivenInDT;return Promise.resolve(n.amountToUnits(o.datatoken,t,+o.dtDecimals)).then(function(t){return Promise.resolve(s.call(i,e,t,n.web3.utils.toWei(r)).call()).then(function(e){return Promise.resolve(n.unitsToAmount(o.baseToken,e[0],+o.btDecimals))})})})}catch(e){return Promise.reject(e)}},t.getExchange=function(e){try{var t=this;return Promise.resolve(t.fixedRateContract.methods.getExchange(e).call()).then(function(r){return r.dtDecimals=r.dtDecimals.toString(),r.btDecimals=r.btDecimals.toString(),Promise.resolve(t.unitsToAmount(r.datatoken,r.dtBalance,+r.dtDecimals)).then(function(n){return r.dtBalance=n,Promise.resolve(t.unitsToAmount(r.baseToken,r.btBalance,+r.btDecimals)).then(function(n){return r.btBalance=n,Promise.resolve(t.unitsToAmount(r.datatoken,r.dtSupply,+r.dtDecimals)).then(function(n){return r.dtSupply=n,Promise.resolve(t.unitsToAmount(r.baseToken,r.btSupply,+r.btDecimals)).then(function(n){return r.btSupply=n,r.fixedRate=t.web3.utils.fromWei(r.fixedRate),r.exchangeId=e,r})})})})})}catch(e){return Promise.reject(e)}},t.getFeesInfo=function(e){try{var t=this;return Promise.resolve(t.fixedRateContract.methods.getFeesInfo(e).call()).then(function(r){return r.opcFee=t.web3.utils.fromWei(r.opcFee.toString()),r.marketFee=t.web3.utils.fromWei(r.marketFee.toString()),Promise.resolve(t.getExchange(e)).then(function(n){return Promise.resolve(t.unitsToAmount(n.baseToken,r.marketFeeAvailable,+n.btDecimals)).then(function(o){return r.marketFeeAvailable=o,Promise.resolve(t.unitsToAmount(n.baseToken,r.oceanFeeAvailable,+n.btDecimals)).then(function(t){return r.oceanFeeAvailable=t,r.exchangeId=e,r})})})})}catch(e){return Promise.reject(e)}},t.getExchanges=function(){try{return Promise.resolve(this.fixedRateContract.methods.getExchanges().call())}catch(e){return Promise.reject(e)}},t.isActive=function(e){try{return Promise.resolve(this.fixedRateContract.methods.isActive(e).call())}catch(e){return Promise.reject(e)}},t.estActivateMint=function(e,t,r){try{return Promise.resolve(A(e,(r||this.fixedRateContract).methods.toggleMintState,t,!0))}catch(e){return Promise.reject(e)}},t.activateMint=function(e,t){try{var r=this;return Promise.resolve(r.getExchange(t)).then(function(n){return n?!0===n.withMint?null:Promise.resolve(A(e,r.fixedRateContract.methods.toggleMintState,t,!0)).then(function(n){var o=r.fixedRateContract.methods.toggleMintState(t,!0),i=o.send;return Promise.resolve(F(r.web3,r.config)).then(function(t){return Promise.resolve(i.call(o,{from:e,gas:n+1,gasPrice:t}))})}):null})}catch(e){return Promise.reject(e)}},t.estDeactivateMint=function(e,t,r){try{return Promise.resolve(A(e,(r||this.fixedRateContract).methods.toggleMintState(t,!1),t,!1))}catch(e){return Promise.reject(e)}},t.deactivateMint=function(e,t){try{var r=this;return Promise.resolve(r.getExchange(t)).then(function(n){return n?!1===n.withMint?null:Promise.resolve(A(e,r.fixedRateContract.methods.toggleMintState,t,!1)).then(function(n){var o=r.fixedRateContract.methods.toggleMintState(t,!1),i=o.send;return Promise.resolve(F(r.web3,r.config)).then(function(t){return Promise.resolve(i.call(o,{from:e,gas:n+1,gasPrice:t}))})}):null})}catch(e){return Promise.reject(e)}},t.estCollectBT=function(e,t,r,n){try{var o=this,i=n||o.fixedRateContract;return Promise.resolve(o.fixedRateContract.methods.getExchange(t).call()).then(function(n){return Promise.resolve(o.amountToUnits(n.baseToken,r,+n.btDecimals)).then(function(r){return A(e,i.methods.collectBT,t,r)})})}catch(e){return Promise.reject(e)}},t.collectBT=function(e,t,r){try{var n=this;return Promise.resolve(n.getExchange(t)).then(function(o){return o?Promise.resolve(n.fixedRateContract.methods.getExchange(t).call()).then(function(o){return Promise.resolve(n.amountToUnits(o.baseToken,r,+o.btDecimals)).then(function(r){return Promise.resolve(A(e,n.fixedRateContract.methods.collectBT,t,r)).then(function(o){var i=n.fixedRateContract.methods.collectBT(t,r),s=i.send;return Promise.resolve(F(n.web3,n.config)).then(function(t){return Promise.resolve(s.call(i,{from:e,gas:o+1,gasPrice:t}))})})})}):null})}catch(e){return Promise.reject(e)}},t.estCollectDT=function(e,t,r,n){try{var o=this,i=n||o.fixedRateContract;return Promise.resolve(o.fixedRateContract.methods.getExchange(t).call()).then(function(n){return Promise.resolve(o.amountToUnits(n.datatoken,r,+n.dtDecimals)).then(function(r){return A(e,i.methods.collectDT,t,r)})})}catch(e){return Promise.reject(e)}},t.collectDT=function(e,t,r){try{var n=this;return Promise.resolve(n.getExchange(t)).then(function(o){return o?Promise.resolve(n.fixedRateContract.methods.getExchange(t).call()).then(function(o){return Promise.resolve(n.amountToUnits(o.datatoken,r,+o.dtDecimals)).then(function(r){return Promise.resolve(A(e,n.fixedRateContract.methods.collectDT,t,r)).then(function(o){var i=n.fixedRateContract.methods.collectDT(t,r),s=i.send;return Promise.resolve(F(n.web3,n.config)).then(function(t){return Promise.resolve(s.call(i,{from:e,gas:o+1,gasPrice:t}))})})})}):null})}catch(e){return Promise.reject(e)}},t.estCollectMarketFee=function(e,t,r){try{return Promise.resolve(A(e,(r||this.fixedRateContract).methods.collectMarketFee,t))}catch(e){return Promise.reject(e)}},t.collectMarketFee=function(e,t){try{var r=this;return Promise.resolve(r.getExchange(t)).then(function(n){return n?Promise.resolve(A(e,r.fixedRateContract.methods.collectMarketFee,t)).then(function(n){var o=r.fixedRateContract.methods.collectMarketFee(t),i=o.send;return Promise.resolve(F(r.web3,r.config)).then(function(t){return Promise.resolve(i.call(o,{from:e,gas:n+1,gasPrice:t}))})}):null})}catch(e){return Promise.reject(e)}},t.estCollectOceanFee=function(e,t,r){try{return Promise.resolve(A(e,(r||this.fixedRateContract).methods.collectMarketFee,t))}catch(e){return Promise.reject(e)}},t.collectOceanFee=function(e,t){try{var r=this;return Promise.resolve(r.getExchange(t)).then(function(n){return n?Promise.resolve(A(e,r.fixedRateContract.methods.collectOceanFee,t)).then(function(n){var o=r.fixedRateContract.methods.collectOceanFee(t),i=o.send;return Promise.resolve(F(r.web3,r.config)).then(function(t){return Promise.resolve(i.call(o,{from:e,gas:n+1,gasPrice:t}))})}):null})}catch(e){return Promise.reject(e)}},t.getOPCCollector=function(){try{var e=this,t=null,r=Ce(function(){return Promise.resolve(e.fixedRateContract.methods.opcCollector().call()).then(function(e){t=e})},function(e){g.error("ERROR: Failed to get OPC Collector address: "+e.message)});return Promise.resolve(r&&r.then?r.then(function(){return t}):t)}catch(e){return Promise.reject(e)}},t.getRouter=function(){try{var e=this,t=null,r=Ce(function(){return Promise.resolve(e.fixedRateContract.methods.router().call()).then(function(e){t=e})},function(e){g.error("ERROR: Failed to get Router address: "+e.message)});return Promise.resolve(r&&r.then?r.then(function(){return t}):t)}catch(e){return Promise.reject(e)}},t.getExchangeOwner=function(e){try{var t=this,r=null,n=Ce(function(){return Promise.resolve(t.getExchange(e)).then(function(e){return Promise.resolve(e.exchangeOwner).then(function(e){r=e})})},function(e){g.error("ERROR: Failed to get OPF Collector address: "+e.message)});return Promise.resolve(n&&n.then?n.then(function(){return r}):r)}catch(e){return Promise.reject(e)}},t.estUpdateMarketFee=function(e,t,r,n){try{return Promise.resolve(A(e,(n||this.fixedRateContract).methods.updateMarketFee,t,r))}catch(e){return Promise.reject(e)}},t.updateMarketFee=function(e,t,r){try{var n=this;return Promise.resolve(A(e,n.fixedRateContract.methods.updateMarketFee,t,n.web3.utils.toWei(r))).then(function(o){var i=n.fixedRateContract.methods.updateMarketFee(t,n.web3.utils.toWei(r)),s=i.send;return Promise.resolve(F(n.web3,n.config)).then(function(t){return Promise.resolve(s.call(i,{from:e,gas:o+1,gasPrice:t}))})})}catch(e){return Promise.reject(e)}},t.estUpdateMarketFeeCollector=function(e,t,r,n){try{return Promise.resolve(A(e,(n||this.fixedRateContract).methods.updateMarketFeeCollector,t,r))}catch(e){return Promise.reject(e)}},t.updateMarketFeeCollector=function(e,t,r){try{var n=this;return Promise.resolve(A(e,n.fixedRateContract.methods.updateMarketFeeCollector,t,r)).then(function(o){var i=n.fixedRateContract.methods.updateMarketFeeCollector(t,r),s=i.send;return Promise.resolve(F(n.web3,n.config)).then(function(t){return Promise.resolve(s.call(i,{from:e,gas:o+1,gasPrice:t}))})})}catch(e){return Promise.reject(e)}},e}();function Ae(e,t){try{var r=e()}catch(e){return t(e)}return r&&r.then?r.then(void 0,t):r}var ke=/*#__PURE__*/function(){function e(e,t,r,n){void 0===r&&(r=null),this.ssAbi=void 0,this.web3=void 0,this.config=void 0,this.ssAbi=r||l.abi,this.web3=e,this.config=n||(new _).getConfig(t||"unknown")}var t=e.prototype;return t.unitsToAmount=function(e,t,r){try{return Promise.resolve(T(this.web3,e,t,r))}catch(e){return Promise.reject(e)}},t.getDatatokenCirculatingSupply=function(e,t){try{var r=function(){return o.toString()},n=new this.web3.eth.Contract(this.ssAbi,e),o=null,i=Ae(function(){return Promise.resolve(n.methods.getDatatokenCirculatingSupply(t).call()).then(function(e){o=e})},function(e){g.error("ERROR: Failed to get: "+e.message)});return Promise.resolve(i&&i.then?i.then(r):r())}catch(e){return Promise.reject(e)}},t.getDatatokenCurrentCirculatingSupply=function(e,t){try{var r=this;return Promise.resolve(Ae(function(){var n=new r.web3.eth.Contract(r.ssAbi,e);return Promise.resolve(n.methods.getDatatokenCurrentCirculatingSupply(t).call()).then(function(e){return e.toString()})},function(e){g.error("ERROR: Failed to get: "+e.message)}))}catch(e){return Promise.reject(e)}},t.getPublisherAddress=function(e,t){try{var r=new this.web3.eth.Contract(this.ssAbi,e),n=null,o=Ae(function(){return Promise.resolve(r.methods.getPublisherAddress(t).call()).then(function(e){n=e})},function(e){g.error("ERROR: Failed to get: "+e.message)});return Promise.resolve(o&&o.then?o.then(function(){return n}):n)}catch(e){return Promise.reject(e)}},t.getBaseToken=function(e,t){try{var r=new this.web3.eth.Contract(this.ssAbi,e),n=null,o=Ae(function(){return Promise.resolve(r.methods.getBaseTokenAddress(t).call()).then(function(e){n=e})},function(e){g.error("ERROR: Failed to get: "+e.message)});return Promise.resolve(o&&o.then?o.then(function(){return n}):n)}catch(e){return Promise.reject(e)}},t.getPoolAddress=function(e,t){try{var r=new this.web3.eth.Contract(this.ssAbi,e),n=null,o=Ae(function(){return Promise.resolve(r.methods.getPoolAddress(t).call()).then(function(e){n=e})},function(e){g.error("ERROR: Failed to get: "+e.message)});return Promise.resolve(o&&o.then?o.then(function(){return n}):n)}catch(e){return Promise.reject(e)}},t.getBaseTokenBalance=function(e,t){try{var r=new this.web3.eth.Contract(this.ssAbi,e),n=null,o=Ae(function(){return Promise.resolve(r.methods.getBaseTokenBalance(t).call()).then(function(e){n=e})},function(e){g.error("ERROR: Failed to get: "+e.message)});return Promise.resolve(o&&o.then?o.then(function(){return n}):n)}catch(e){return Promise.reject(e)}},t.getDatatokenBalance=function(e,t,r){try{var n=function(){return Promise.resolve(o.unitsToAmount(t,s,r)).then(function(e){return s=e})},o=this,i=new o.web3.eth.Contract(o.ssAbi,e),s=null,a=Ae(function(){return Promise.resolve(i.methods.getDatatokenBalance(t).call()).then(function(e){s=e})},function(e){g.error("ERROR: Failed to get: "+e.message)});return Promise.resolve(a&&a.then?a.then(n):n())}catch(e){return Promise.reject(e)}},t.getvestingEndBlock=function(e,t){try{var r=new this.web3.eth.Contract(this.ssAbi,e),n=null,o=Ae(function(){return Promise.resolve(r.methods.getvestingEndBlock(t).call()).then(function(e){n=e})},function(e){g.error("ERROR: Failed to get: "+e.message)});return Promise.resolve(o&&o.then?o.then(function(){return n}):n)}catch(e){return Promise.reject(e)}},t.getvestingAmount=function(e,t,r){try{var n=function(){return Promise.resolve(o.unitsToAmount(t,s,r)).then(function(e){return s=e})},o=this,i=new o.web3.eth.Contract(o.ssAbi,e),s=null,a=Ae(function(){return Promise.resolve(i.methods.getvestingAmount(t).call()).then(function(e){s=e})},function(e){g.error("ERROR: Failed to get: "+e.message)});return Promise.resolve(a&&a.then?a.then(n):n())}catch(e){return Promise.reject(e)}},t.getvestingLastBlock=function(e,t){try{var r=new this.web3.eth.Contract(this.ssAbi,e),n=null,o=Ae(function(){return Promise.resolve(r.methods.getvestingLastBlock(t).call()).then(function(e){n=e})},function(e){g.error("ERROR: Failed to get: "+e.message)});return Promise.resolve(o&&o.then?o.then(function(){return n}):n)}catch(e){return Promise.reject(e)}},t.getvestingAmountSoFar=function(e,t,r){try{var n=function(){return Promise.resolve(o.unitsToAmount(t,s,r)).then(function(e){return s=e})},o=this,i=new o.web3.eth.Contract(o.ssAbi,e),s=null,a=Ae(function(){return Promise.resolve(i.methods.getvestingAmountSoFar(t).call()).then(function(e){s=e})},function(e){g.error("ERROR: Failed to get: "+e.message)});return Promise.resolve(a&&a.then?a.then(n):n())}catch(e){return Promise.reject(e)}},t.estGetVesting=function(e,t,r,n){try{var o=n||new this.web3.eth.Contract(this.ssAbi,t);return Promise.resolve(A(e,o.methods.getVesting,r))}catch(e){return Promise.reject(e)}},t.getVesting=function(e,t,r){try{var n=this,o=new n.web3.eth.Contract(n.ssAbi,t),i=null;return Promise.resolve(A(e,o.methods.getVesting,r)).then(function(t){var s=Ae(function(){var s=o.methods.getVesting(r),a=s.send;return Promise.resolve(F(n.web3,n.config)).then(function(r){return Promise.resolve(a.call(s,{from:e,gas:t+1,gasPrice:r})).then(function(e){i=e})})},function(){g.error("ERROR: Failed to join swap pool amount out")});return s&&s.then?s.then(function(){return i}):i})}catch(e){return Promise.reject(e)}},t.estSetPoolSwapFee=function(e,t,r,n,o,i){try{var s=i||new this.web3.eth.Contract(this.ssAbi,t);return Promise.resolve(A(e,s.methods.setPoolSwapFee,r,n,o))}catch(e){return Promise.reject(e)}},t.setPoolSwapFee=function(e,t,r,n,o){try{var i=this,s=new i.web3.eth.Contract(i.ssAbi,t),a=null;return Promise.resolve(A(e,s.methods.setPoolSwapFee,r,n,o)).then(function(t){var c=Ae(function(){var c=s.methods.setPoolSwapFee(r,n,o),u=c.send;return Promise.resolve(F(i.web3,i.config)).then(function(r){return Promise.resolve(u.call(c,{from:e,gas:t+1,gasPrice:r})).then(function(e){a=e})})},function(){g.error("ERROR: Failed to join swap pool amount out")});return c&&c.then?c.then(function(){return a}):a})}catch(e){return Promise.reject(e)}},t.getRouter=function(e){try{var t=new this.web3.eth.Contract(this.ssAbi,e),r=null,n=Ae(function(){return Promise.resolve(t.methods.router().call()).then(function(e){r=e})},function(e){g.error("ERROR: Failed to get Router address: "+e.message)});return Promise.resolve(n&&n.then?n.then(function(){return r}):r)}catch(e){return Promise.reject(e)}},e}(),Te=/*#__PURE__*/function(){function e(e,t,r,n,o){this.routerAddress=void 0,this.RouterAbi=void 0,this.web3=void 0,this.config=void 0,this.router=void 0,this.routerAddress=e,this.RouterAbi=n||m.abi,this.web3=t,this.config=o||(new _).getConfig(r||"unknown"),this.router=x(new this.web3.eth.Contract(this.RouterAbi,this.routerAddress),this.config)}var t=e.prototype;return t.estGasBuyDTBatch=function(e,t){try{return Promise.resolve(A(e,this.router.methods.buyDTBatch,t))}catch(e){return Promise.reject(e)}},t.buyDTBatch=function(e,t){try{var r=this;return Promise.resolve(A(e,r.router.methods.buyDTBatch,t)).then(function(n){var o=r.router.methods.buyDTBatch(t),i=o.send;return Promise.resolve(F(r.web3,r.config)).then(function(t){return Promise.resolve(i.call(o,{from:e,gas:n+1,gasPrice:t}))})})}catch(e){return Promise.reject(e)}},t.isApprovedToken=function(e){try{return Promise.resolve(this.router.methods.isApprovedToken(e).call())}catch(e){return Promise.reject(e)}},t.isSideStaking=function(e){try{return Promise.resolve(this.router.methods.isSSContract(e).call())}catch(e){return Promise.reject(e)}},t.isFixedPrice=function(e){try{return Promise.resolve(this.router.methods.isFixedRateContract(e).call())}catch(e){return Promise.reject(e)}},t.getOwner=function(){try{return Promise.resolve(this.router.methods.routerOwner().call())}catch(e){return Promise.reject(e)}},t.getNFTFactory=function(){try{return Promise.resolve(this.router.methods.factory().call())}catch(e){return Promise.reject(e)}},t.isPoolTemplate=function(e){try{return Promise.resolve(this.router.methods.isPoolTemplate(e).call())}catch(e){return Promise.reject(e)}},t.estGasAddApprovedToken=function(e,t,r){try{return Promise.resolve(A(e,this.router.methods.addApprovedToken,t))}catch(e){return Promise.reject(e)}},t.addApprovedToken=function(e,t){try{var r=this;return Promise.resolve(r.getOwner()).then(function(n){if(n!==e)throw new Error("Caller is not Router Owner");return Promise.resolve(A(e,r.router.methods.addApprovedToken,t)).then(function(n){var o=r.router.methods.addApprovedToken(t),i=o.send;return Promise.resolve(F(r.web3,r.config)).then(function(t){return Promise.resolve(i.call(o,{from:e,gas:n+1,gasPrice:t}))})})})}catch(e){return Promise.reject(e)}},t.estGasRemoveApprovedToken=function(e,t,r){try{return Promise.resolve(A(e,this.router.methods.removeApprovedToken,t))}catch(e){return Promise.reject(e)}},t.removeApprovedToken=function(e,t){try{var r=this;return Promise.resolve(r.getOwner()).then(function(n){if(n!==e)throw new Error("Caller is not Router Owner");return Promise.resolve(A(e,r.router.methods.removeApprovedToken,t)).then(function(n){var o=r.router.methods.removeApprovedToken(t),i=o.send;return Promise.resolve(F(r.web3,r.config)).then(function(t){return Promise.resolve(i.call(o,{from:e,gas:n+1,gasPrice:t}))})})})}catch(e){return Promise.reject(e)}},t.estGasAddSSContract=function(e,t){try{return Promise.resolve(A(e,this.router.methods.addSSContract,t))}catch(e){return Promise.reject(e)}},t.addSSContract=function(e,t){try{var r=this;return Promise.resolve(r.getOwner()).then(function(n){if(n!==e)throw new Error("Caller is not Router Owner");return Promise.resolve(A(e,r.router.methods.addSSContract,t)).then(function(n){var o=r.router.methods.addSSContract(t),i=o.send;return Promise.resolve(F(r.web3,r.config)).then(function(t){return Promise.resolve(i.call(o,{from:e,gas:n+1,gasPrice:t}))})})})}catch(e){return Promise.reject(e)}},t.estGasRemoveSSContract=function(e,t){try{return Promise.resolve(A(e,this.router.methods.removeSSContract,t))}catch(e){return Promise.reject(e)}},t.removeSSContract=function(e,t){try{var r=this;return Promise.resolve(r.getOwner()).then(function(n){if(n!==e)throw new Error("Caller is not Router Owner");return Promise.resolve(A(e,r.router.methods.removeSSContract,t)).then(function(n){var o=r.router.methods.removeSSContract(t),i=o.send;return Promise.resolve(F(r.web3,r.config)).then(function(t){return Promise.resolve(i.call(o,{from:e,gas:n+1,gasPrice:t}))})})})}catch(e){return Promise.reject(e)}},t.estGasAddFixedRateContract=function(e,t){try{return Promise.resolve(A(e,this.router.methods.addFixedRateContract,t))}catch(e){return Promise.reject(e)}},t.addFixedRateContract=function(e,t){try{var r=this;return Promise.resolve(r.getOwner()).then(function(n){if(n!==e)throw new Error("Caller is not Router Owner");return Promise.resolve(A(e,r.router.methods.addFixedRateContract,t)).then(function(n){var o=r.router.methods.addFixedRateContract(t),i=o.send;return Promise.resolve(F(r.web3,r.config)).then(function(t){return Promise.resolve(i.call(o,{from:e,gas:n+1,gasPrice:t}))})})})}catch(e){return Promise.reject(e)}},t.estGasRemoveFixedRateContract=function(e,t){try{return Promise.resolve(A(e,this.router.methods.removeFixedRateContract,t))}catch(e){return Promise.reject(e)}},t.removeFixedRateContract=function(e,t){try{var r=this;return Promise.resolve(r.getOwner()).then(function(n){if(n!==e)throw new Error("Caller is not Router Owner");return Promise.resolve(A(e,r.router.methods.removeFixedRateContract,t)).then(function(n){var o=r.router.methods.removeFixedRateContract(t),i=o.send;return Promise.resolve(F(r.web3,r.config)).then(function(t){return Promise.resolve(i.call(o,{from:e,gas:n+1,gasPrice:t}))})})})}catch(e){return Promise.reject(e)}},t.estGasAddDispenserContract=function(e,t){try{return Promise.resolve(A(e,this.router.methods.addDispenserContract,t))}catch(e){return Promise.reject(e)}},t.addDispenserContract=function(e,t){try{var r=this;return Promise.resolve(r.getOwner()).then(function(n){if(n!==e)throw new Error("Caller is not Router Owner");return Promise.resolve(A(e,r.router.methods.addDispenserContract,t)).then(function(n){var o=r.router.methods.addDispenserContract(t),i=o.send;return Promise.resolve(F(r.web3,r.config)).then(function(t){return Promise.resolve(i.call(o,{from:e,gas:n+1,gasPrice:t}))})})})}catch(e){return Promise.reject(e)}},t.estGasRemoveDispenserContract=function(e,t){try{return Promise.resolve(A(e,this.router.methods.removeDispenserContract,t))}catch(e){return Promise.reject(e)}},t.removeDispenserContract=function(e,t){try{var r=this;return Promise.resolve(r.getOwner()).then(function(n){if(n!==e)throw new Error("Caller is not Router Owner");return Promise.resolve(A(e,r.router.methods.removeDispenserContract,t)).then(function(n){var o=r.router.methods.removeDispenserContract(t),i=o.send;return Promise.resolve(F(r.web3,r.config)).then(function(t){return Promise.resolve(i.call(o,{from:e,gas:n+1,gasPrice:t}))})})})}catch(e){return Promise.reject(e)}},t.getOPCFee=function(e){try{return Promise.resolve(this.router.methods.getOPCFee(e).call())}catch(e){return Promise.reject(e)}},t.getCurrentOPCFee=function(){try{return Promise.resolve(this.router.methods.swapOceanFee().call())}catch(e){return Promise.reject(e)}},t.estGasUpdateOPCFee=function(e,t,r,n,o){try{return Promise.resolve(A(e,this.router.methods.updateOPCFee,t,r,n,o))}catch(e){return Promise.reject(e)}},t.updateOPCFee=function(e,t,r,n,o){try{var i=this;return Promise.resolve(i.getOwner()).then(function(s){if(s!==e)throw new Error("Caller is not Router Owner");return Promise.resolve(A(e,i.router.methods.updateOPCFee,t,r,n,o)).then(function(s){var a=i.router.methods.updateOPCFee(t,r,n,o),c=a.send;return Promise.resolve(F(i.web3,i.config)).then(function(t){return Promise.resolve(c.call(a,{from:e,gas:s+1,gasPrice:t}))})})})}catch(e){return Promise.reject(e)}},t.estGasAddPoolTemplate=function(e,t){try{return Promise.resolve(A(e,this.router.methods.addPoolTemplate,t))}catch(e){return Promise.reject(e)}},t.addPoolTemplate=function(e,t){try{var r=this;return Promise.resolve(r.getOwner()).then(function(n){if(n!==e)throw new Error("Caller is not Router Owner");return Promise.resolve(A(e,r.router.methods.addPoolTemplate,t)).then(function(n){var o=r.router.methods.addPoolTemplate(t),i=o.send;return Promise.resolve(F(r.web3,r.config)).then(function(t){return Promise.resolve(i.call(o,{from:e,gas:n+1,gasPrice:t}))})})})}catch(e){return Promise.reject(e)}},t.estGasRemovePoolTemplate=function(e,t){try{return Promise.resolve(A(e,this.router.methods.removePoolTemplate,t))}catch(e){return Promise.reject(e)}},t.removePoolTemplate=function(e,t){try{var r=this;return Promise.resolve(r.getOwner()).then(function(n){if(n!==e)throw new Error("Caller is not Router Owner");return Promise.resolve(A(e,r.router.methods.removePoolTemplate,t)).then(function(n){var o=r.router.methods.removePoolTemplate(t),i=o.send;return Promise.resolve(F(r.web3,r.config)).then(function(t){return Promise.resolve(i.call(o,{from:e,gas:n+1,gasPrice:t}))})})})}catch(e){return Promise.reject(e)}},e}(),Ee=/*#__PURE__*/function(){function e(e,t,r,n){this.factory721Address=void 0,this.factory721Abi=void 0,this.nftAbi=void 0,this.web3=void 0,this.startBlock=void 0,this.config=void 0,this.nftAbi=r||f.abi,this.web3=e,this.config=n||(new _).getConfig(t||"unknown")}var t=e.prototype;return t.estGasCreateErc20=function(e,t,r,n,o,i,s,a,c,u,l,m){try{var h=this,f=m||x(new h.web3.eth.Contract(h.nftAbi,e),h.config);return Promise.resolve(A(t,f.methods.createERC20,l,[c,u],[r,n,o,i],[h.web3.utils.toWei(a),h.web3.utils.toWei(s)],[]))}catch(e){return Promise.reject(e)}},t.createErc20=function(e,t,r,n,o,i,s,a,c,u,l){try{var m=this;return Promise.resolve(m.getNftPermissions(e,t)).then(function(h){if(!0!==h.deployERC20)throw new Error("Caller is not ERC20Deployer");if(l||(l=1),!c||!u){var f=w();c=f.name,u=f.symbol}var d=x(new m.web3.eth.Contract(m.nftAbi,e),m.config);return Promise.resolve(A(t,d.methods.createERC20,l,[c,u],[r,n,o,i],[m.web3.utils.toWei(a),m.web3.utils.toWei(s)],[])).then(function(e){var h=d.methods.createERC20(l,[c,u],[r,n,o,i],[m.web3.utils.toWei(a),m.web3.utils.toWei(s)],[]),f=h.send;return Promise.resolve(F(m.web3,m.config)).then(function(r){return Promise.resolve(f.call(h,{from:t,gas:e+1,gasPrice:r})).then(function(e){var t=null;try{t=e.events.TokenCreated.returnValues[0]}catch(e){g.error("ERROR: Failed to create datatoken : "+e.message)}return t})})})})}catch(e){return Promise.reject(e)}},t.estGasAddManager=function(e,t,r,n){try{var o=this,i=n||x(new o.web3.eth.Contract(o.nftAbi,e),o.config);return Promise.resolve(A(t,i.methods.addManager,r))}catch(e){return Promise.reject(e)}},t.addManager=function(e,t,r){try{var n=this,o=x(new n.web3.eth.Contract(n.nftAbi,e),n.config);return Promise.resolve(n.getNftOwner(e)).then(function(e){if(e!==t)throw new Error("Caller is not NFT Owner");return Promise.resolve(A(t,o.methods.addManager,r)).then(function(e){var i=o.methods.addManager(r),s=i.send;return Promise.resolve(F(n.web3,n.config)).then(function(r){return Promise.resolve(s.call(i,{from:t,gas:e+1,gasPrice:r}))})})})}catch(e){return Promise.reject(e)}},t.estGasRemoveManager=function(e,t,r,n){try{var o=this,i=n||x(new o.web3.eth.Contract(o.nftAbi,e),o.config);return Promise.resolve(A(t,i.methods.removeManager,r))}catch(e){return Promise.reject(e)}},t.removeManager=function(e,t,r){try{var n=this,o=x(new n.web3.eth.Contract(n.nftAbi,e),n.config);return Promise.resolve(n.getNftOwner(e)).then(function(e){if(e!==t)throw new Error("Caller is not NFT Owner");return Promise.resolve(A(t,o.methods.removeManager,r)).then(function(e){var i=o.methods.removeManager(r),s=i.send;return Promise.resolve(F(n.web3,n.config)).then(function(r){return Promise.resolve(s.call(i,{from:t,gas:e+1,gasPrice:r}))})})})}catch(e){return Promise.reject(e)}},t.estGasAddErc20Deployer=function(e,t,r,n){try{var o=this,i=n||x(new o.web3.eth.Contract(o.nftAbi,e),o.config);return Promise.resolve(A(t,i.methods.addToCreateERC20List,r))}catch(e){return Promise.reject(e)}},t.addErc20Deployer=function(e,t,r){try{var n=this,o=x(new n.web3.eth.Contract(n.nftAbi,e),n.config);return Promise.resolve(n.getNftPermissions(e,t)).then(function(e){if(!0!==e.manager)throw new Error("Caller is not Manager");return Promise.resolve(A(t,o.methods.addToCreateERC20List,r)).then(function(e){var i=o.methods.addToCreateERC20List(r),s=i.send;return Promise.resolve(F(n.web3,n.config)).then(function(r){return Promise.resolve(s.call(i,{from:t,gas:e+1,gasPrice:r}))})})})}catch(e){return Promise.reject(e)}},t.estGasRemoveErc20Deployer=function(e,t,r,n){try{var o=this,i=n||x(new o.web3.eth.Contract(o.nftAbi,e),o.config);return Promise.resolve(A(t,i.methods.removeFromCreateERC20List,r))}catch(e){return Promise.reject(e)}},t.removeErc20Deployer=function(e,t,r){try{var n=this,o=x(new n.web3.eth.Contract(n.nftAbi,e),n.config);return Promise.resolve(n.getNftPermissions(e,t)).then(function(i){function s(e){if(a||t===r&&!0!==e.deployERC20)throw new Error("Caller is not Manager nor ERC20Deployer");return Promise.resolve(A(t,o.methods.removeFromCreateERC20List,r)).then(function(e){var i=o.methods.removeFromCreateERC20List(r),s=i.send;return Promise.resolve(F(n.web3,n.config)).then(function(r){return Promise.resolve(s.call(i,{from:t,gas:e+1,gasPrice:r}))})})}var a=!0!==i.manager;return a||t!==r?s(a||t===r&&n.getNftPermissions(e,t)):Promise.resolve(a||t===r&&n.getNftPermissions(e,t)).then(s)})}catch(e){return Promise.reject(e)}},t.estGasAddMetadataUpdater=function(e,t,r,n){try{var o=this,i=n||x(new o.web3.eth.Contract(o.nftAbi,e),o.config);return Promise.resolve(A(t,i.methods.addToMetadataList,r))}catch(e){return Promise.reject(e)}},t.addMetadataUpdater=function(e,t,r){try{var n=this,o=x(new n.web3.eth.Contract(n.nftAbi,e),n.config);return Promise.resolve(n.getNftPermissions(e,t)).then(function(e){if(!0!==e.manager)throw new Error("Caller is not Manager");return Promise.resolve(A(t,o.methods.addToMetadataList,r)).then(function(e){var i=o.methods.addToMetadataList(r),s=i.send;return Promise.resolve(F(n.web3,n.config)).then(function(r){return Promise.resolve(s.call(i,{from:t,gas:e+1,gasPrice:r}))})})})}catch(e){return Promise.reject(e)}},t.esGasRemoveMetadataUpdater=function(e,t,r,n){try{var o=this,i=n||x(new o.web3.eth.Contract(o.nftAbi,e),o.config);return Promise.resolve(A(t,i.methods.removeFromMetadataList,r))}catch(e){return Promise.reject(e)}},t.removeMetadataUpdater=function(e,t,r){try{var n=this,o=x(new n.web3.eth.Contract(n.nftAbi,e),n.config);return Promise.resolve(n.getNftPermissions(e,t)).then(function(i){function s(i){if(a||t!==r&&!0!==i.updateMetadata)throw new Error("Caller is not Manager nor Metadata Updater");return Promise.resolve(n.esGasRemoveMetadataUpdater(e,t,r,o)).then(function(e){var i=o.methods.removeFromMetadataList(r),s=i.send;return Promise.resolve(F(n.web3,n.config)).then(function(r){return Promise.resolve(s.call(i,{from:t,gas:e+1,gasPrice:r}))})})}var a=!0!==i.manager;return a||t===r?s(a||t!==r&&n.getNftPermissions(e,t)):Promise.resolve(a||t!==r&&n.getNftPermissions(e,t)).then(s)})}catch(e){return Promise.reject(e)}},t.estGasAddStoreUpdater=function(e,t,r,n){try{var o=this,i=n||x(new o.web3.eth.Contract(o.nftAbi,e),o.config);return Promise.resolve(A(t,i.methods.addTo725StoreList,r))}catch(e){return Promise.reject(e)}},t.addStoreUpdater=function(e,t,r){try{var n=this,o=x(new n.web3.eth.Contract(n.nftAbi,e),n.config);return Promise.resolve(n.getNftPermissions(e,t)).then(function(e){if(!0!==e.manager)throw new Error("Caller is not Manager");return Promise.resolve(A(t,o.methods.addTo725StoreList,r)).then(function(e){var i=o.methods.addTo725StoreList(r),s=i.send;return Promise.resolve(F(n.web3,n.config)).then(function(r){return Promise.resolve(s.call(i,{from:t,gas:e+1,gasPrice:r}))})})})}catch(e){return Promise.reject(e)}},t.estGasRemoveStoreUpdater=function(e,t,r,n){try{var o=this,i=n||x(new o.web3.eth.Contract(o.nftAbi,e),o.config);return Promise.resolve(A(t,i.methods.removeFrom725StoreList,r))}catch(e){return Promise.reject(e)}},t.removeStoreUpdater=function(e,t,r){try{var n=this,o=x(new n.web3.eth.Contract(n.nftAbi,e),n.config);return Promise.resolve(n.getNftPermissions(e,t)).then(function(i){function s(e){if(a||t!==r&&!0!==e.store)throw new Error("Caller is not Manager nor storeUpdater");return Promise.resolve(A(t,o.methods.removeFrom725StoreList,r)).then(function(e){var i=o.methods.removeFrom725StoreList(r),s=i.send;return Promise.resolve(F(n.web3,n.config)).then(function(r){return Promise.resolve(s.call(i,{from:t,gas:e+1,gasPrice:r}))})})}var a=!0!==i.manager;return a||t===r?s(a||t!==r&&n.getNftPermissions(e,t)):Promise.resolve(a||t!==r&&n.getNftPermissions(e,t)).then(s)})}catch(e){return Promise.reject(e)}},t.estGasCleanPermissions=function(e,t,r){try{var n=this,o=r||x(new n.web3.eth.Contract(n.nftAbi,e),n.config);return Promise.resolve(A(t,o.methods.cleanPermissions))}catch(e){return Promise.reject(e)}},t.cleanPermissions=function(e,t){try{var r=this,n=x(new r.web3.eth.Contract(r.nftAbi,e),r.config);return Promise.resolve(r.getNftOwner(e)).then(function(e){if(e!==t)throw new Error("Caller is not NFT Owner");return Promise.resolve(A(t,n.methods.cleanPermissions)).then(function(e){var o=n.methods.cleanPermissions(),i=o.send;return Promise.resolve(F(r.web3,r.config)).then(function(r){return Promise.resolve(i.call(o,{from:t,gas:e+1,gasPrice:r}))})})})}catch(e){return Promise.reject(e)}},t.estGasTransferNft=function(e,t,r,n,o){try{var i=this,s=o||x(new i.web3.eth.Contract(i.nftAbi,e),i.config);return Promise.resolve(A(t,s.methods.transferFrom,t,r,n))}catch(e){return Promise.reject(e)}},t.transferNft=function(e,t,r,n){try{var o=this,i=x(new o.web3.eth.Contract(o.nftAbi,e),o.config);return Promise.resolve(o.getNftOwner(e)).then(function(e){if(e!==t)throw new Error("Caller is not NFT Owner");var s=n||1;return Promise.resolve(A(t,i.methods.transferFrom,t,r,s)).then(function(e){var n=i.methods.transferFrom(t,r,s),a=n.send;return Promise.resolve(F(o.web3,o.config)).then(function(r){return Promise.resolve(a.call(n,{from:t,gas:e+1,gasPrice:r}))})})})}catch(e){return Promise.reject(e)}},t.estGasSafeTransferNft=function(e,t,r,n,o){try{var i=this,s=o||x(new i.web3.eth.Contract(i.nftAbi,e),i.config);return Promise.resolve(A(t,s.methods.safeTransferFrom,t,r,n))}catch(e){return Promise.reject(e)}},t.safeTransferNft=function(e,t,r,n){try{var o=this,i=x(new o.web3.eth.Contract(o.nftAbi,e),o.config);return Promise.resolve(o.getNftOwner(e)).then(function(e){if(e!==t)throw new Error("Caller is not NFT Owner");var s=n||1;return Promise.resolve(A(t,i.methods.safeTransferFrom,t,r,s)).then(function(e){var n=i.methods.safeTransferFrom(t,r,s),a=n.send;return Promise.resolve(F(o.web3,o.config)).then(function(r){return Promise.resolve(a.call(n,{from:t,gas:e+1,gasPrice:r}))})})})}catch(e){return Promise.reject(e)}},t.estGasSetMetadata=function(e,t,r,n,o,i,s,a,c,u){try{var l=this,m=u||x(new l.web3.eth.Contract(l.nftAbi,e),l.config);return c||(c=[]),Promise.resolve(A(t,m.methods.setMetaData,r,n,o,i,s,a,c))}catch(e){return Promise.reject(e)}},t.setMetadata=function(e,t,r,n,o,i,s,a,c){try{var u=this,l=x(new u.web3.eth.Contract(u.nftAbi,e),u.config);return c||(c=[]),Promise.resolve(u.getNftPermissions(e,t)).then(function(e){if(!e.updateMetadata)throw new Error("Caller is not Metadata updater");return Promise.resolve(A(t,l.methods.setMetaData,r,n,o,i,s,a,c)).then(function(e){var m=l.methods.setMetaData(r,n,o,i,s,a,c),h=m.send;return Promise.resolve(F(u.web3,u.config)).then(function(r){return Promise.resolve(h.call(m,{from:t,gas:e+1,gasPrice:r}))})})})}catch(e){return Promise.reject(e)}},t.estGasSetMetadataAndTokenURI=function(e,t,r,n){try{var o=this,i=n||x(new o.web3.eth.Contract(o.nftAbi,e),o.config),s=G({},r,{metadataProofs:r.metadataProofs||[]});return Promise.resolve(A(t,i.methods.setMetaDataAndTokenURI,s))}catch(e){return Promise.reject(e)}},t.setMetadataAndTokenURI=function(e,t,r){try{var n=this,o=x(new n.web3.eth.Contract(n.nftAbi,e),n.config);return Promise.resolve(n.getNftPermissions(e,t)).then(function(e){if(!e.updateMetadata)throw new Error("Caller is not Metadata updater");var i=G({},r,{metadataProofs:r.metadataProofs||[]});return Promise.resolve(A(t,o.methods.setMetaDataAndTokenURI,i)).then(function(e){var r=o.methods.setMetaDataAndTokenURI(i),s=r.send;return Promise.resolve(F(n.web3,n.config)).then(function(n){return Promise.resolve(s.call(r,{from:t,gas:e+1,gasPrice:n}))})})})}catch(e){return Promise.reject(e)}},t.estGasSetMetadataState=function(e,t,r,n){try{var o=this,i=n||x(new o.web3.eth.Contract(o.nftAbi,e),o.config);return Promise.resolve(A(t,i.methods.setMetaDataState,r))}catch(e){return Promise.reject(e)}},t.setMetadataState=function(e,t,r){try{var n=this,o=x(new n.web3.eth.Contract(n.nftAbi,e),n.config);return Promise.resolve(n.getNftPermissions(e,t)).then(function(e){if(!e.updateMetadata)throw new Error("Caller is not Metadata updater");return Promise.resolve(A(t,o.methods.setMetaDataState,r)).then(function(e){var i=o.methods.setMetaDataState(r),s=i.send;return Promise.resolve(F(n.web3,n.config)).then(function(r){return Promise.resolve(s.call(i,{from:t,gas:e+1,gasPrice:r}))})})})}catch(e){return Promise.reject(e)}},t.estSetTokenURI=function(e,t,r){try{var n=this,o=x(new n.web3.eth.Contract(n.nftAbi,e),n.config);return Promise.resolve(A(t,o.methods.setTokenURI,"1",r))}catch(e){return Promise.reject(e)}},t.setTokenURI=function(e,t,r){try{var n=this,o=x(new n.web3.eth.Contract(n.nftAbi,e),n.config);return Promise.resolve(A(t,o.methods.setTokenURI,"1",r)).then(function(e){var i=o.methods.setTokenURI("1",r),s=i.send;return Promise.resolve(F(n.web3,n.config)).then(function(r){return Promise.resolve(s.call(i,{from:t,gas:e+1,gasPrice:r}))})})}catch(e){return Promise.reject(e)}},t.getNftOwner=function(e){try{var t=this,r=x(new t.web3.eth.Contract(t.nftAbi,e),t.config);return Promise.resolve(r.methods.ownerOf(1).call())}catch(e){return Promise.reject(e)}},t.getNftPermissions=function(e,t){try{var r=this,n=x(new r.web3.eth.Contract(r.nftAbi,e),r.config);return Promise.resolve(n.methods.getPermissions(t).call())}catch(e){return Promise.reject(e)}},t.getMetadata=function(e){try{var t=this,r=x(new t.web3.eth.Contract(t.nftAbi,e),t.config);return Promise.resolve(r.methods.getMetaData().call())}catch(e){return Promise.reject(e)}},t.isErc20Deployer=function(e,t){try{var r=this,n=x(new r.web3.eth.Contract(r.nftAbi,e),r.config);return Promise.resolve(n.methods.isERC20Deployer(t).call())}catch(e){return Promise.reject(e)}},t.getData=function(e,t){try{var r=this,n=x(new r.web3.eth.Contract(r.nftAbi,e),r.config);return Promise.resolve(n.methods.getData(t).call())}catch(e){return Promise.reject(e)}},t.getTokenURI=function(e,t){try{var r=this,n=x(new r.web3.eth.Contract(r.nftAbi,e),r.config);return Promise.resolve(n.methods.tokenURI(t).call())}catch(e){return Promise.reject(e)}},e}();function je(e,t){try{var r=e()}catch(e){return t(e)}return r&&r.then?r.then(void 0,t):r}var Fe=/*#__PURE__*/function(){function e(e,t,r,n,o){this.factoryAddress=void 0,this.factoryABI=void 0,this.datatokensAbi=void 0,this.datatokensEnterpriseAbi=void 0,this.web3=void 0,this.config=void 0,this.nft=void 0,this.web3=e,this.datatokensAbi=r||a.abi,this.datatokensEnterpriseAbi=n||h.abi,this.config=o||(new _).getConfig(t||"unknown"),this.nft=new Ee(this.web3)}var t=e.prototype;return t.estGasApprove=function(e,t,r,n,o){try{var i=this,s=o||x(new i.web3.eth.Contract(i.datatokensAbi,e),i.config);return Promise.resolve(A(n,s.methods.approve,t,i.web3.utils.toWei(r)))}catch(e){return Promise.reject(e)}},t.approve=function(e,t,r,n){try{var o=this,i=x(new o.web3.eth.Contract(o.datatokensAbi,e),o.config);return Promise.resolve(A(n,i.methods.approve,t,o.web3.utils.toWei(r))).then(function(e){var s=i.methods.approve(t,o.web3.utils.toWei(r)),a=s.send;return Promise.resolve(F(o.web3,o.config)).then(function(t){return Promise.resolve(a.call(s,{from:n,gas:e+1,gasPrice:t}))})})}catch(e){return Promise.reject(e)}},t.estGasMint=function(e,t,r,n,o){try{var i=this,s=o||x(new i.web3.eth.Contract(i.datatokensAbi,e),i.config);return Promise.resolve(A(t,s.methods.mint,n||t,i.web3.utils.toWei(r)))}catch(e){return Promise.reject(e)}},t.estGasCreateFixedRate=function(e,t,r,n){try{var o=this,i=n||x(new o.web3.eth.Contract(o.datatokensAbi,e),o.config);return r.allowedConsumer||(r.allowedConsumer=y),Promise.resolve(A(t,i.methods.createFixedRate,r.fixedRateAddress,[r.baseTokenAddress,t,r.marketFeeCollector,r.allowedConsumer],[r.baseTokenDecimals,r.datatokenDecimals,r.fixedRate,r.marketFee,r.withMint?1:0]))}catch(e){return Promise.reject(e)}},t.createFixedRate=function(e,t,r){try{var n=this,o=x(new n.web3.eth.Contract(n.datatokensAbi,e),n.config);return Promise.resolve(n.isERC20Deployer(e,t)).then(function(e){if(!e)throw new Error("User is not ERC20 Deployer");r.allowedConsumer||(r.allowedConsumer=y);var i=r.withMint?1:0;return Promise.resolve(A(t,o.methods.createFixedRate,r.fixedRateAddress,[r.baseTokenAddress,r.owner,r.marketFeeCollector,r.allowedConsumer],[r.baseTokenDecimals,r.datatokenDecimals,r.fixedRate,r.marketFee,i])).then(function(e){var s=o.methods.createFixedRate(r.fixedRateAddress,[r.baseTokenAddress,r.owner,r.marketFeeCollector,r.allowedConsumer],[r.baseTokenDecimals,r.datatokenDecimals,r.fixedRate,r.marketFee,i]),a=s.send;return Promise.resolve(F(n.web3,n.config)).then(function(r){return Promise.resolve(a.call(s,{from:t,gas:e+1,gasPrice:r}))})})})}catch(e){return Promise.reject(e)}},t.estGasCreateDispenser=function(e,t,r,n,o){try{var i=this,s=o||x(new i.web3.eth.Contract(i.datatokensAbi,e),i.config);return n.allowedSwapper||(n.allowedSwapper=y),n.withMint||(n.withMint=!1),Promise.resolve(A(t,s.methods.createDispenser,r,n.maxTokens,n.maxBalance,n.withMint,n.allowedSwapper))}catch(e){return Promise.reject(e)}},t.createDispenser=function(e,t,r,n){try{var o=this;return Promise.resolve(o.isERC20Deployer(e,t)).then(function(i){if(!i)throw new Error("User is not ERC20 Deployer");var s=x(new o.web3.eth.Contract(o.datatokensAbi,e),o.config);return n.allowedSwapper||(n.allowedSwapper=y),n.withMint||(n.withMint=!1),Promise.resolve(A(t,s.methods.createDispenser,r,n.maxTokens,n.maxBalance,n.withMint,n.allowedSwapper)).then(function(e){var i=s.methods.createDispenser(r,n.maxTokens,n.maxBalance,n.withMint,n.allowedSwapper),a=i.send;return Promise.resolve(F(o.web3,o.config)).then(function(r){return Promise.resolve(a.call(i,{from:t,gas:e+1,gasPrice:r}))})})})}catch(e){return Promise.reject(e)}},t.mint=function(e,t,r,n){try{var o=this,s=x(new o.web3.eth.Contract(o.datatokensAbi,e),o.config);return Promise.resolve(o.getDTPermissions(e,t)).then(function(a){if(!0!==a.minter)throw new Error("Caller is not Minter");return Promise.resolve(o.getCap(e)).then(function(e){if(new i(e).gte(r))return Promise.resolve(A(t,s.methods.mint,n||t,o.web3.utils.toWei(r))).then(function(e){var i=s.methods.mint(n||t,o.web3.utils.toWei(r)),a=i.send;return Promise.resolve(F(o.web3,o.config)).then(function(r){return Promise.resolve(a.call(i,{from:t,gas:e+1,gasPrice:r}))})});throw new Error("Mint amount exceeds cap available")})})}catch(e){return Promise.reject(e)}},t.estGasAddMinter=function(e,t,r,n){try{var o=this,i=n||x(new o.web3.eth.Contract(o.datatokensAbi,e),o.config);return Promise.resolve(A(t,i.methods.addMinter,r))}catch(e){return Promise.reject(e)}},t.addMinter=function(e,t,r){try{var n=this,o=x(new n.web3.eth.Contract(n.datatokensAbi,e),n.config);return Promise.resolve(n.isERC20Deployer(e,t)).then(function(e){if(!0!==e)throw new Error("Caller is not ERC20Deployer");return Promise.resolve(A(t,o.methods.addMinter,r)).then(function(e){var i=o.methods.addMinter(r),s=i.send;return Promise.resolve(F(n.web3,n.config)).then(function(r){return Promise.resolve(s.call(i,{from:t,gas:e+1,gasPrice:r}))})})})}catch(e){return Promise.reject(e)}},t.estGasRemoveMinter=function(e,t,r,n){try{var o=this,i=n||x(new o.web3.eth.Contract(o.datatokensAbi,e),o.config);return Promise.resolve(A(t,i.methods.removeMinter,r))}catch(e){return Promise.reject(e)}},t.removeMinter=function(e,t,r){try{var n=this,o=x(new n.web3.eth.Contract(n.datatokensAbi,e),n.config);return Promise.resolve(n.isERC20Deployer(e,t)).then(function(e){if(!0!==e)throw new Error("Caller is not ERC20Deployer");return Promise.resolve(A(t,o.methods.removeMinter,r)).then(function(e){var i=o.methods.removeMinter(r),s=i.send;return Promise.resolve(F(n.web3,n.config)).then(function(r){return Promise.resolve(s.call(i,{from:t,gas:e+1,gasPrice:r}))})})})}catch(e){return Promise.reject(e)}},t.estGasAddPaymentManager=function(e,t,r,n){try{var o=this,i=n||x(new o.web3.eth.Contract(o.datatokensAbi,e),o.config);return Promise.resolve(A(t,i.methods.addPaymentManager,r))}catch(e){return Promise.reject(e)}},t.addPaymentManager=function(e,t,r){try{var n=this,o=x(new n.web3.eth.Contract(n.datatokensAbi,e),n.config);return Promise.resolve(n.isERC20Deployer(e,t)).then(function(e){if(!0!==e)throw new Error("Caller is not ERC20Deployer");return Promise.resolve(A(t,o.methods.addPaymentManager,r)).then(function(e){var i=o.methods.addPaymentManager(r),s=i.send;return Promise.resolve(F(n.web3,n.config)).then(function(r){return Promise.resolve(s.call(i,{from:t,gas:e+1,gasPrice:r}))})})})}catch(e){return Promise.reject(e)}},t.estGasRemovePaymentManager=function(e,t,r,n){try{var o=this,i=n||x(new o.web3.eth.Contract(o.datatokensAbi,e),o.config);return Promise.resolve(A(t,i.methods.removePaymentManager,r))}catch(e){return Promise.reject(e)}},t.removePaymentManager=function(e,t,r){try{var n=this,o=x(new n.web3.eth.Contract(n.datatokensAbi,e),n.config);return Promise.resolve(n.isERC20Deployer(e,t)).then(function(e){if(!0!==e)throw new Error("Caller is not ERC20Deployer");return Promise.resolve(A(t,o.methods.removePaymentManager,r)).then(function(e){var i=o.methods.removePaymentManager(r),s=i.send;return Promise.resolve(F(n.web3,n.config)).then(function(r){return Promise.resolve(s.call(i,{from:t,gas:e+1,gasPrice:r}))})})})}catch(e){return Promise.reject(e)}},t.estGasSetPaymentCollector=function(e,t,r,n){try{var o=this,i=n||x(new o.web3.eth.Contract(o.datatokensAbi,e),o.config);return Promise.resolve(A(t,i.methods.setPaymentCollector,r))}catch(e){return Promise.reject(e)}},t.setPaymentCollector=function(e,t,r){try{var n=this,o=x(new n.web3.eth.Contract(n.datatokensAbi,e),n.config);return Promise.resolve(n.getDTPermissions(e,t)).then(function(i){function s(e){function i(i){function s(e){if(!a&&!c&&!(null==e?void 0:e.deployERC20))throw new Error("Caller is not Fee Manager, owner or erc20 Deployer");return Promise.resolve(A(t,o.methods.setPaymentCollector,r)).then(function(e){var i=o.methods.setPaymentCollector(r),s=i.send;return Promise.resolve(F(n.web3,n.config)).then(function(r){return Promise.resolve(s.call(i,{from:t,gas:e+1,gasPrice:r}))})})}var c=e&&i===t;return e&&!c?Promise.resolve(e&&!c&&n.nft.getNftPermissions(e,t)).then(s):s(e&&!c&&n.nft.getNftPermissions(e,t))}return e?Promise.resolve(n.nft.getNftOwner(e)).then(i):i(e)}var a=i.paymentManager;return a?s(!a&&n.getNFTAddress(e)):Promise.resolve(!a&&n.getNFTAddress(e)).then(s)})}catch(e){return Promise.reject(e)}},t.getPaymentCollector=function(e){try{var t=this,r=x(new t.web3.eth.Contract(t.datatokensAbi,e),t.config);return Promise.resolve(r.methods.getPaymentCollector().call())}catch(e){return Promise.reject(e)}},t.transfer=function(e,t,r,n){try{var o=this.web3.utils.toWei(r);return Promise.resolve(this.transferWei(e,t,o,n))}catch(e){return Promise.reject(e)}},t.estGasTransfer=function(e,t,r,n,o){try{var i=this,s=o||x(new i.web3.eth.Contract(i.datatokensAbi,e),i.config);return Promise.resolve(A(n,s.methods.transfer,t,r))}catch(e){return Promise.reject(e)}},t.transferWei=function(e,t,r,n){try{var o=this,i=x(new o.web3.eth.Contract(o.datatokensAbi,e),o.config);return Promise.resolve(je(function(){return Promise.resolve(A(n,i.methods.transfer,t,r)).then(function(e){var s=i.methods.transfer(t,r),a=s.send;return Promise.resolve(F(o.web3,o.config)).then(function(t){return Promise.resolve(a.call(s,{from:n,gas:e+1,gasPrice:t}))})})},function(e){throw g.error("ERROR: Failed to transfer tokens: "+e.message),new Error("Failed Failed to transfer tokens: "+e.message)}))}catch(e){return Promise.reject(e)}},t.estGasStartOrder=function(e,t,r,n,o,i,s){try{var a=this,c=s||x(new a.web3.eth.Contract(a.datatokensAbi,e),a.config);return Promise.resolve(A(t,c.methods.startOrder,r,n,o,i))}catch(e){return Promise.reject(e)}},t.startOrder=function(e,t,r,n,o,i){try{var s=this,a=x(new s.web3.eth.Contract(s.datatokensAbi,e),s.config);return i||(i={consumeMarketFeeAddress:y,consumeMarketFeeToken:y,consumeMarketFeeAmount:"0"}),Promise.resolve(je(function(){return Promise.resolve(A(t,a.methods.startOrder,r,n,o,i)).then(function(e){var c=a.methods.startOrder(r,n,o,i),u=c.send;return Promise.resolve(F(s.web3,s.config)).then(function(r){return Promise.resolve(u.call(c,{from:t,gas:e+1,gasPrice:r}))})})},function(e){throw g.error("ERROR: Failed to start order : "+e.message),new Error("Failed to start order: "+e.message)}))}catch(e){return Promise.reject(e)}},t.estGasReuseOrder=function(e,t,r,n,o){try{var i=this,s=o||x(new i.web3.eth.Contract(i.datatokensAbi,e),i.config);return Promise.resolve(A(t,s.methods.reuseOrder,r,n))}catch(e){return Promise.reject(e)}},t.reuseOrder=function(e,t,r,n){try{var o=this,i=x(new o.web3.eth.Contract(o.datatokensAbi,e),o.config);return Promise.resolve(je(function(){return Promise.resolve(A(t,i.methods.reuseOrder,r,n)).then(function(e){var s=i.methods.reuseOrder(r,n),a=s.send;return Promise.resolve(F(o.web3,o.config)).then(function(r){return Promise.resolve(a.call(s,{from:t,gas:e+1,gasPrice:r}))})})},function(e){throw g.error("ERROR: Failed to call reuse order order : "+e.message),new Error("Failed to start order: "+e.message)}))}catch(e){return Promise.reject(e)}},t.estGasBuyFromFreAndOrder=function(e,t,r,n,o){try{var i=o||new this.web3.eth.Contract(this.datatokensEnterpriseAbi,e);return Promise.resolve(A(t,i.methods.buyFromFreAndOrder,r,n))}catch(e){return Promise.reject(e)}},t.buyFromFreAndOrder=function(e,t,r,n){try{var o=this,i=new o.web3.eth.Contract(o.datatokensEnterpriseAbi,e);return Promise.resolve(je(function(){return Promise.resolve(j(o.web3,n)).then(function(e){return Promise.resolve(A(t,i.methods.buyFromFreAndOrder,r,e)).then(function(n){var s=i.methods.buyFromFreAndOrder(r,e),a=s.send;return Promise.resolve(F(o.web3,o.config)).then(function(e){return Promise.resolve(a.call(s,{from:t,gas:n+1,gasPrice:e}))})})})},function(e){throw g.error("ERROR: Failed to buy DT From Fre And Order : "+e.message),new Error("Failed to buy DT From Fre And Order: "+e.message)}))}catch(e){return Promise.reject(e)}},t.estGasBuyFromDispenserAndOrder=function(e,t,r,n,o){try{var i=o||new this.web3.eth.Contract(this.datatokensEnterpriseAbi,e);return Promise.resolve(A(t,i.methods.buyFromDispenserAndOrder,r,n))}catch(e){return Promise.reject(e)}},t.buyFromDispenserAndOrder=function(e,t,r,n){try{var o=this,i=new o.web3.eth.Contract(o.datatokensEnterpriseAbi,e);return Promise.resolve(je(function(){return Promise.resolve(A(t,i.methods.buyFromDispenserAndOrder,r,n)).then(function(e){var s=i.methods.buyFromDispenserAndOrder(r,n),a=s.send;return Promise.resolve(F(o.web3,o.config)).then(function(r){return Promise.resolve(a.call(s,{from:t,gas:e+1,gasPrice:r}))})})},function(e){throw g.error("ERROR: Failed to buy DT From Fre And Order : "+e.message),new Error("Failed to buy DT From Fre And Order: "+e.message)}))}catch(e){return Promise.reject(e)}},t.estGasSetData=function(e,t,r,n){try{var o=this,i=n||x(new o.web3.eth.Contract(o.datatokensAbi,e),o.config);return Promise.resolve(A(t,i.methods.setData,r))}catch(e){return Promise.reject(e)}},t.setData=function(e,t,r){try{var n=this;return Promise.resolve(n.isERC20Deployer(e,t)).then(function(o){if(!o)throw new Error("User is not ERC20 Deployer");var i=x(new n.web3.eth.Contract(n.datatokensAbi,e),n.config);return Promise.resolve(A(t,i.methods.setData,r)).then(function(e){var o=i.methods.setData(r),s=o.send;return Promise.resolve(F(n.web3,n.config)).then(function(r){return Promise.resolve(s.call(o,{from:t,gas:e+1,gasPrice:r}))})})})}catch(e){return Promise.reject(e)}},t.estGasCleanPermissions=function(e,t,r){try{var n=this,o=r||x(new n.web3.eth.Contract(n.datatokensAbi,e),n.config);return Promise.resolve(A(t,o.methods.cleanPermissions))}catch(e){return Promise.reject(e)}},t.cleanPermissions=function(e,t){try{var r=this,n=r.nft,o=n.getNftOwner;return Promise.resolve(r.getNFTAddress(e)).then(function(i){return Promise.resolve(o.call(n,i)).then(function(n){if(n!==t)throw new Error("Caller is NOT Nft Owner");var o=x(new r.web3.eth.Contract(r.datatokensAbi,e),r.config);return Promise.resolve(A(t,o.methods.cleanPermissions)).then(function(e){var n=o.methods.cleanPermissions(),i=n.send;return Promise.resolve(F(r.web3,r.config)).then(function(r){return Promise.resolve(i.call(n,{from:t,gas:e+1,gasPrice:r}))})})})})}catch(e){return Promise.reject(e)}},t.getDTPermissions=function(e,t){try{var r=this,n=x(new r.web3.eth.Contract(r.datatokensAbi,e),r.config);return Promise.resolve(n.methods.permissions(t).call())}catch(e){return Promise.reject(e)}},t.getCap=function(e){try{var t=this,r=x(new t.web3.eth.Contract(t.datatokensAbi,e),t.config);return Promise.resolve(r.methods.cap().call()).then(function(e){return t.web3.utils.fromWei(e)})}catch(e){return Promise.reject(e)}},t.getDecimals=function(e){try{var t=this,r=x(new t.web3.eth.Contract(t.datatokensAbi,e),t.config);return Promise.resolve(r.methods.decimals().call())}catch(e){return Promise.reject(e)}},t.getNFTAddress=function(e){try{var t=this,r=x(new t.web3.eth.Contract(t.datatokensAbi,e),t.config);return Promise.resolve(r.methods.getERC721Address().call())}catch(e){return Promise.reject(e)}},t.isERC20Deployer=function(e,t){try{var r=this,n=x(new r.web3.eth.Contract(r.datatokensAbi,e),r.config);return Promise.resolve(n.methods.isERC20Deployer(t).call())}catch(e){return Promise.reject(e)}},t.balance=function(e,t){try{var r=this,n=new r.web3.eth.Contract(r.datatokensAbi,e,{from:t});return Promise.resolve(n.methods.balanceOf(t).call()).then(function(e){return r.web3.utils.fromWei(e)})}catch(e){return Promise.reject(e)}},t.estGasSetPublishingMarketFee=function(e,t,r,n,o){try{var i=new this.web3.eth.Contract(this.datatokensAbi,e,{from:o});return Promise.resolve(A(o,i.methods.setPublishingMarketFee,t,r,n))}catch(e){return Promise.reject(e)}},t.setPublishingMarketFee=function(e,t,r,n,o){try{var i=this,s=new i.web3.eth.Contract(i.datatokensAbi,e,{from:o});return Promise.resolve(s.methods.getPublishingMarketFee().call()).then(function(a){if(a[0]!==o)throw new Error("Caller is not the Publishing Market Fee Address");return Promise.resolve(i.estGasSetPublishingMarketFee(e,t,r,n,o)).then(function(e){var a=s.methods.setPublishingMarketFee(t,r,n),c=a.send;return Promise.resolve(F(i.web3,i.config)).then(function(t){return Promise.resolve(c.call(a,{from:o,gas:e+1,gasPrice:t})).then(function(){})})})})}catch(e){return Promise.reject(e)}},t.getPublishingMarketFee=function(e,t){try{var r=new this.web3.eth.Contract(this.datatokensAbi,e,{from:t});return Promise.resolve(r.methods.getPublishingMarketFee().call()).then(function(e){return{publishMarketFeeAddress:e[0],publishMarketFeeToken:e[1],publishMarketFeeAmount:e[2]}})}catch(e){return Promise.reject(e)}},e}(),xe=/*#__PURE__*/function(){function t(e,t,r,n,o){this.factory721Address=void 0,this.factory721Abi=void 0,this.web3=void 0,this.config=void 0,this.factory721=void 0,this.factory721Address=e,this.factory721Abi=n||d.abi,this.web3=t,this.config=o||(new _).getConfig(r||"unknown"),this.factory721=x(new this.web3.eth.Contract(this.factory721Abi,this.factory721Address),this.config)}var r=t.prototype;return r.estGasCreateNFT=function(e,t){try{return Promise.resolve(A(e,this.factory721.methods.deployERC721Contract,t.name,t.symbol,t.templateIndex,y,y,t.tokenURI,t.transferable,t.owner))}catch(e){return Promise.reject(e)}},r.createNFT=function(e,t){try{var r=this;if(t.templateIndex||(t.templateIndex=1),!t.name||!t.symbol){var n=w(),o=n.symbol;t.name=n.name,t.symbol=o}var i=t.templateIndex;return Promise.resolve(r.getCurrentNFTTemplateCount()).then(function(n){if(i>n)throw new Error("Template index doesnt exist");if(0===t.templateIndex)throw new Error("Template index cannot be ZERO");return Promise.resolve(r.getNFTTemplate(t.templateIndex)).then(function(n){if(!1===n.isActive)throw new Error("Template is not active");return Promise.resolve(A(e,r.factory721.methods.deployERC721Contract,t.name,t.symbol,t.templateIndex,y,y,t.tokenURI,t.transferable,t.owner)).then(function(n){var o=r.factory721.methods.deployERC721Contract(t.name,t.symbol,t.templateIndex,y,y,t.tokenURI,t.transferable,t.owner),i=o.send;return Promise.resolve(F(r.web3,r.config)).then(function(t){return Promise.resolve(i.call(o,{from:e,gas:n+1,gasPrice:t})).then(function(e){var t=null;try{t=e.events.NFTCreated.returnValues[0]}catch(e){g.error("ERROR: Failed to create datatoken : "+e.message)}return t})})})})})}catch(e){return Promise.reject(e)}},r.getCurrentNFTCount=function(){try{return Promise.resolve(this.factory721.methods.getCurrentNFTCount().call())}catch(e){return Promise.reject(e)}},r.getCurrentTokenCount=function(){try{return Promise.resolve(this.factory721.methods.getCurrentTokenCount().call())}catch(e){return Promise.reject(e)}},r.getOwner=function(){try{return Promise.resolve(this.factory721.methods.owner().call())}catch(e){return Promise.reject(e)}},r.getCurrentNFTTemplateCount=function(){try{return Promise.resolve(this.factory721.methods.getCurrentNFTTemplateCount().call())}catch(e){return Promise.reject(e)}},r.getCurrentTokenTemplateCount=function(){try{return Promise.resolve(this.factory721.methods.getCurrentTemplateCount().call())}catch(e){return Promise.reject(e)}},r.getNFTTemplate=function(e){try{var t=this;return Promise.resolve(t.getCurrentNFTTemplateCount()).then(function(r){if(e>r)throw new Error("Template index doesnt exist");if(0===e)throw new Error("Template index cannot be ZERO");return Promise.resolve(t.factory721.methods.getNFTTemplate(e).call())})}catch(e){return Promise.reject(e)}},r.getTokenTemplate=function(e){try{return Promise.resolve(this.factory721.methods.getTokenTemplate(e).call())}catch(e){return Promise.reject(e)}},r.checkDatatoken=function(e){try{return Promise.resolve(this.factory721.methods.erc20List(e).call())}catch(e){return Promise.reject(e)}},r.checkNFT=function(e){try{return Promise.resolve(this.factory721.methods.erc721List(e).call())}catch(e){return Promise.reject(e)}},r.estGasAddNFTTemplate=function(e,t){try{return Promise.resolve(A(e,this.factory721.methods.add721TokenTemplate,t))}catch(e){return Promise.reject(e)}},r.addNFTTemplate=function(e,t){try{var r=this;return Promise.resolve(r.getOwner()).then(function(n){if(n!==e)throw new Error("Caller is not Factory Owner");if(t===y)throw new Error("Template cannot be ZERO address");return Promise.resolve(A(e,r.factory721.methods.add721TokenTemplate,t)).then(function(n){var o=r.factory721.methods.add721TokenTemplate(t),i=o.send;return Promise.resolve(F(r.web3,r.config)).then(function(t){return Promise.resolve(i.call(o,{from:e,gas:n+1,gasPrice:t}))})})})}catch(e){return Promise.reject(e)}},r.estGasDisableNFTTemplate=function(e,t){try{return Promise.resolve(A(e,this.factory721.methods.disable721TokenTemplate,t))}catch(e){return Promise.reject(e)}},r.disableNFTTemplate=function(e,t){try{var r=this;return Promise.resolve(r.getOwner()).then(function(n){if(n!==e)throw new Error("Caller is not Factory Owner");return Promise.resolve(r.getCurrentNFTTemplateCount()).then(function(n){if(t>n)throw new Error("Template index doesnt exist");if(0===t)throw new Error("Template index cannot be ZERO");return Promise.resolve(A(e,r.factory721.methods.disable721TokenTemplate,t)).then(function(n){var o=r.factory721.methods.disable721TokenTemplate(t),i=o.send;return Promise.resolve(F(r.web3,r.config)).then(function(t){return Promise.resolve(i.call(o,{from:e,gas:n+1,gasPrice:t}))})})})})}catch(e){return Promise.reject(e)}},r.estGasReactivateNFTTemplate=function(e,t){try{return Promise.resolve(A(e,this.factory721.methods.reactivate721TokenTemplate,t))}catch(e){return Promise.reject(e)}},r.reactivateNFTTemplate=function(e,t){try{var r=this;return Promise.resolve(r.getOwner()).then(function(n){if(n!==e)throw new Error("Caller is not Factory Owner");return Promise.resolve(r.getCurrentNFTTemplateCount()).then(function(n){if(t>n)throw new Error("Template index doesnt exist");if(0===t)throw new Error("Template index cannot be ZERO");return Promise.resolve(A(e,r.factory721.methods.reactivate721TokenTemplate,t)).then(function(n){var o=r.factory721.methods.reactivate721TokenTemplate(t),i=o.send;return Promise.resolve(F(r.web3,r.config)).then(function(t){return Promise.resolve(i.call(o,{from:e,gas:n+1,gasPrice:t}))})})})})}catch(e){return Promise.reject(e)}},r.estGasAddTokenTemplate=function(e,t){try{return Promise.resolve(A(e,this.factory721.methods.addTokenTemplate,t))}catch(e){return Promise.reject(e)}},r.addTokenTemplate=function(e,t){try{var r=this;return Promise.resolve(r.getOwner()).then(function(n){if(n!==e)throw new Error("Caller is not Factory Owner");if(t===y)throw new Error("Template cannot be address ZERO");return Promise.resolve(A(e,r.factory721.methods.addTokenTemplate,t)).then(function(n){var o=r.factory721.methods.addTokenTemplate(t),i=o.send;return Promise.resolve(F(r.web3,r.config)).then(function(t){return Promise.resolve(i.call(o,{from:e,gas:n+1,gasPrice:t}))})})})}catch(e){return Promise.reject(e)}},r.estGasDisableTokenTemplate=function(e,t){try{return Promise.resolve(A(e,this.factory721.methods.disableTokenTemplate,t))}catch(e){return Promise.reject(e)}},r.disableTokenTemplate=function(e,t){try{var r=this;return Promise.resolve(r.getOwner()).then(function(n){if(n!==e)throw new Error("Caller is not Factory Owner");return Promise.resolve(r.getCurrentTokenTemplateCount()).then(function(n){if(t>n)throw new Error("Template index doesnt exist");if(0===t)throw new Error("Template index cannot be ZERO");return Promise.resolve(r.getTokenTemplate(t)).then(function(n){if(!1===n.isActive)throw new Error("Template is already disabled");return Promise.resolve(A(e,r.factory721.methods.disableTokenTemplate,t)).then(function(n){var o=r.factory721.methods.disableTokenTemplate(t),i=o.send;return Promise.resolve(F(r.web3,r.config)).then(function(t){return Promise.resolve(i.call(o,{from:e,gas:n+1,gasPrice:t}))})})})})})}catch(e){return Promise.reject(e)}},r.estGasReactivateTokenTemplate=function(e,t){try{return Promise.resolve(A(e,this.factory721.methods.reactivateTokenTemplate,t))}catch(e){return Promise.reject(e)}},r.reactivateTokenTemplate=function(e,t){try{var r=this;return Promise.resolve(r.getOwner()).then(function(n){if(n!==e)throw new Error("Caller is not Factory Owner");return Promise.resolve(r.getCurrentTokenTemplateCount()).then(function(n){if(t>n)throw new Error("Template index doesnt exist");if(0===t)throw new Error("Template index cannot be ZERO");return Promise.resolve(r.getTokenTemplate(t)).then(function(n){if(!0===n.isActive)throw new Error("Template is already active");return Promise.resolve(A(e,r.factory721.methods.reactivateTokenTemplate,t)).then(function(n){var o=r.factory721.methods.reactivateTokenTemplate(t),i=o.send;return Promise.resolve(F(r.web3,r.config)).then(function(t){return Promise.resolve(i.call(o,{from:e,gas:n+1,gasPrice:t}))})})})})})}catch(e){return Promise.reject(e)}},r.estGasStartMultipleTokenOrder=function(e,t){try{return Promise.resolve(A(e,this.factory721.methods.startMultipleTokenOrder,t))}catch(e){return Promise.reject(e)}},r.startMultipleTokenOrder=function(e,t){try{var r=this;if(t.length>50)throw new Error("Too many orders");return Promise.resolve(A(e,r.factory721.methods.startMultipleTokenOrder,t)).then(function(n){var o=r.factory721.methods.startMultipleTokenOrder(t),i=o.send;return Promise.resolve(F(r.web3,r.config)).then(function(t){return Promise.resolve(i.call(o,{from:e,gas:n+1,gasPrice:t}))})})}catch(e){return Promise.reject(e)}},r.estGasCreateNftWithErc20=function(e,t,r){try{var n=O(r);return Promise.resolve(A(e,this.factory721.methods.createNftWithErc20,t,n))}catch(e){return Promise.reject(e)}},r.createNftWithErc20=function(e,t,r){try{var n=this,o=O(r);return Promise.resolve(A(e,n.factory721.methods.createNftWithErc20,t,o)).then(function(r){var i=n.factory721.methods.createNftWithErc20(t,o),s=i.send;return Promise.resolve(F(n.web3,n.config)).then(function(t){return Promise.resolve(s.call(i,{from:e,gas:r+1,gasPrice:t}))})})}catch(e){return Promise.reject(e)}},r.estGasCreateNftErc20WithPool=function(e,t,r,n){try{var o=this,i=O(r);return Promise.resolve(E(o.web3,n)).then(function(r){return A(e,o.factory721.methods.createNftWithErc20WithPool,t,i,r)})}catch(e){return Promise.reject(e)}},r.createNftErc20WithPool=function(e,t,r,n){try{var o=this,i=O(r);return Promise.resolve(E(o.web3,n)).then(function(r){return Promise.resolve(A(e,o.factory721.methods.createNftWithErc20WithPool,t,i,r)).then(function(n){var s=o.factory721.methods.createNftWithErc20WithPool(t,i,r),a=s.send;return Promise.resolve(F(o.web3,o.config)).then(function(t){return Promise.resolve(a.call(s,{from:e,gas:n+1,gasPrice:t}))})})})}catch(e){return Promise.reject(e)}},r.estGasCreateNftErc20WithFixedRate=function(e,t,r,n){try{var o=this,i=O(r);return Promise.resolve(S(n)).then(function(r){return A(e,o.factory721.methods.createNftWithErc20WithFixedRate,t,i,r)})}catch(e){return Promise.reject(e)}},r.createNftErc20WithFixedRate=function(e,t,r,n){try{var o=this,i=O(r),s=S(n);return Promise.resolve(A(e,o.factory721.methods.createNftWithErc20WithFixedRate,t,i,s)).then(function(r){var n=o.factory721.methods.createNftWithErc20WithFixedRate(t,i,s),a=n.send;return Promise.resolve(F(o.web3,o.config)).then(function(t){return Promise.resolve(a.call(n,{from:e,gas:r+1,gasPrice:t}))})})}catch(e){return Promise.reject(e)}},r.estGasCreateNftErc20WithDispenser=function(e,t,r,n){try{var o=O(r);return Promise.resolve(A(e,this.factory721.methods.createNftWithErc20WithDispenser,t,o,n))}catch(e){return Promise.reject(e)}},r.createNftErc20WithDispenser=function(t,r,n,o){try{var i=this,s=O(n);return o.maxBalance=e.utils.toWei(o.maxBalance),o.maxTokens=e.utils.toWei(o.maxTokens),Promise.resolve(A(t,i.factory721.methods.createNftWithErc20WithDispenser,r,s,o)).then(function(e){var n=i.factory721.methods.createNftWithErc20WithDispenser(r,s,o),a=n.send;return Promise.resolve(F(i.web3,i.config)).then(function(r){return Promise.resolve(a.call(n,{from:t,gas:e+1,gasPrice:r}))})})}catch(e){return Promise.reject(e)}},t}(),Oe=function(){this.nodeUri=void 0,this.providerAddress=void 0,this.metadataCacheUri=void 0,this.providerUri=void 0,this.web3Provider=void 0,this.oceanTokenAddress=void 0,this.erc721FactoryAddress=void 0,this.erc721FFactoryABI=void 0,this.datatokensABI=void 0,this.poolTemplateAddress=void 0,this.poolFactoryABI=void 0,this.poolABI=void 0,this.fixedRateExchangeAddress=void 0,this.fixedRateExchangeAddressABI=void 0,this.dispenserAddress=void 0,this.dispenserABI=void 0,this.opfCommunityFeeCollector=void 0,this.sideStakingAddress=void 0,this.startBlock=void 0,this.verbose=void 0,this.authMessage=void 0,this.authTokenExpiration=void 0,this.parityUri=void 0,this.threshold=void 0,this.chainId=void 0,this.network=void 0,this.subgraphUri=void 0,this.explorerUri=void 0,this.oceanTokenSymbol=void 0,this.transactionBlockTimeout=void 0,this.transactionConfirmationBlocks=void 0,this.transactionPollingTimeout=void 0,this.gasFeeMultiplier=void 0},Se=function(e){return function(e,t){void 0===e&&(e="");var r=function(e,t,r){if("string"!=typeof e)throw g.debug("Not input string:"),g.debug(e),new Error("[zeroXTransformer] Expected string, input type: "+typeof e);var n=e.match(/^(?:0x)*([a-f0-9]+)$/i);return n?{valid:!0,output:n[1]}:(g.warn("[zeroXTransformer] Input transformation failed."),{valid:!1,output:e})}(e);return""+r.output}(e)};function Me(e,t){try{var r=e()}catch(e){return t(e)}return r&&r.then?r.then(void 0,t):r}var De=/*#__PURE__*/function(){function e(){}var t=e.prototype;return t.getEndpoints=function(e){try{return Promise.resolve(Me(function(){return Promise.resolve(U(e)).then(function(e){return Promise.resolve(e.json())})},function(e){return g.error("Finding the service endpoints failed:",e),null}))}catch(e){return Promise.reject(e)}},t.getEndpointURL=function(e,t){return e?e.find(function(e){return e.serviceName===t}):null},t.getServiceEndpoints=function(e,t){try{var r=[];for(var n in t.serviceEndpoints)r.push({serviceName:n,method:t.serviceEndpoints[n][0],urlPath:e+t.serviceEndpoints[n][1]});return Promise.resolve(r)}catch(e){return Promise.reject(e)}},t.getNonce=function(e,t,n,o,i){try{var s=function(){function s(){var e=a.getEndpointURL(i,"nonce")?a.getEndpointURL(i,"nonce").urlPath:null;return e?Me(function(){return Promise.resolve(r(e+"?userAddress="+t,{method:"GET",headers:{"Content-Type":"application/json"},signal:n})).then(function(e){return Promise.resolve(e.json()).then(function(e){return e.nonce.toString()})})},function(e){throw g.error(e),new Error("HTTP request failed")}):null}var c=function(){if(!i)return Promise.resolve(a.getServiceEndpoints(e,o)).then(function(e){i=e})}();return c&&c.then?c.then(s):s()},a=this,c=function(){if(!o)return Promise.resolve(a.getEndpoints(e)).then(function(e){o=e})}();return Promise.resolve(c&&c.then?c.then(s):s())}catch(e){return Promise.reject(e)}},t.signProviderRequest=function(e,t,r,n){try{var o=e.utils.soliditySha3({t:"bytes",v:e.utils.utf8ToHex(r)});return Promise.resolve(e&&e.currentProvider&&e.currentProvider.isMetaMask?e.eth.personal.sign(o,t,n):e.eth.sign(o,t))}catch(e){return Promise.reject(e)}},t.encrypt=function(e,t,n){try{var o=this;return Promise.resolve(o.getEndpoints(t)).then(function(i){return Promise.resolve(o.getServiceEndpoints(t,i)).then(function(t){var i=o.getEndpointURL(t,"encrypt")?o.getEndpointURL(t,"encrypt").urlPath:null;return i?Me(function(){return Promise.resolve(r(i,{method:"POST",body:JSON.stringify(e),headers:{"Content-Type":"application/octet-stream"},signal:n})).then(function(e){return Promise.resolve(e.text())})},function(e){throw g.error(e),new Error("HTTP request failed")}):null})})}catch(e){return Promise.reject(e)}},t.checkDidFiles=function(e,t,n,o,i){void 0===o&&(o=!1);try{var s=this;return Promise.resolve(s.getEndpoints(n)).then(function(a){return Promise.resolve(s.getServiceEndpoints(n,a)).then(function(n){var a={did:e,serviceId:t,checksum:o},c=[],u=s.getEndpointURL(n,"fileinfo")?s.getEndpointURL(n,"fileinfo").urlPath:null;return u?Me(function(){return Promise.resolve(r(u,{method:"POST",body:JSON.stringify(a),headers:{"Content-Type":"application/json"},signal:i})).then(function(e){return Promise.resolve(e.json()).then(function(e){for(var t,r=L(e);!(t=r()).done;)c.push(t.value);return c})})},function(){return null}):null})})}catch(e){return Promise.reject(e)}},t.checkFileUrl=function(e,t,n){try{var o=this;return Promise.resolve(o.getEndpoints(t)).then(function(i){return Promise.resolve(o.getServiceEndpoints(t,i)).then(function(t){var i={url:e,type:"url"},s=[],a=o.getEndpointURL(t,"fileinfo")?o.getEndpointURL(t,"fileinfo").urlPath:null;return a?Me(function(){return Promise.resolve(r(a,{method:"POST",body:JSON.stringify(i),headers:{"Content-Type":"application/json"},signal:n})).then(function(e){return Promise.resolve(e.json()).then(function(e){for(var t,r=L(e);!(t=r()).done;)s.push(t.value);return s})})},function(){return null}):null})})}catch(e){return Promise.reject(e)}},t.getComputeEnvironments=function(e,t){try{var n=this;return Promise.resolve(n.getEndpoints(e)).then(function(o){return Promise.resolve(n.getServiceEndpoints(e,o)).then(function(e){var o,i=null==(o=n.getEndpointURL(e,"computeEnvironments"))?void 0:o.urlPath;return i?Me(function(){return Promise.resolve(r(i,{method:"GET",headers:{"Content-Type":"application/json"},signal:t})).then(function(e){return Promise.resolve(e.json())})},function(e){return g.error(e.message),null}):null})})}catch(e){return Promise.reject(e)}},t.initialize=function(e,t,n,o,i,s,a,c,u){try{var l=this;return Promise.resolve(l.getEndpoints(i)).then(function(m){return Promise.resolve(l.getServiceEndpoints(i,m)).then(function(i){var m=l.getEndpointURL(i,"initialize")?l.getEndpointURL(i,"initialize").urlPath:null;return m?(m+="?documentId="+e,m+="&serviceId="+t,m+="&fileIndex="+n,m+="&consumerAddress="+o,a&&(m+="&userdata="+encodeURI(JSON.stringify(a))),c&&(m+="&environment="+encodeURI(c)),u&&(m+="&validUntil="+u),Me(function(){return Promise.resolve(r(m,{method:"GET",headers:{"Content-Type":"application/json"},signal:s})).then(function(e){return Promise.resolve(e.json())})},function(e){throw g.error(e),new Error("Asset URL not found or not available.")})):null})})}catch(e){return Promise.reject(e)}},t.initializeCompute=function(e,t,n,o,i,s,a){try{var c=this;return Promise.resolve(c.getEndpoints(i)).then(function(u){return Promise.resolve(c.getServiceEndpoints(i,u)).then(function(i){var u={datasets:e,algorithm:t,compute:{env:n,validUntil:o},consumerAddress:s},l=c.getEndpointURL(i,"initializeCompute")?c.getEndpointURL(i,"initializeCompute").urlPath:null;return l?Me(function(){return Promise.resolve(r(l,{method:"POST",body:JSON.stringify(u),headers:{"Content-Type":"application/json"},signal:a})).then(function(e){return Promise.resolve(e.json())})},function(e){throw g.error(e),new Error("ComputeJob cannot be initialized")}):null})})}catch(e){return Promise.reject(e)}},t.getDownloadUrl=function(e,t,r,n,o,i,s,a){try{var c=this;return Promise.resolve(c.getEndpoints(i)).then(function(u){return Promise.resolve(c.getServiceEndpoints(i,u)).then(function(i){var u=c.getEndpointURL(i,"download")?c.getEndpointURL(i,"download").urlPath:null;if(!u)return null;var l=Date.now();return Promise.resolve(c.signProviderRequest(s,t,e+l)).then(function(i){var s=u;return s+="?fileIndex="+n,s+="&documentId="+e,s+="&transferTxId="+o,s+="&serviceId="+r,s+="&consumerAddress="+t,s+="&nonce="+l,s+="&signature="+i,a&&(s+="&userdata="+encodeURI(JSON.stringify(a))),s})})})}catch(e){return Promise.reject(e)}},t.computeStart=function(e,t,n,o,i,s,a,c,u){try{var l=this;return Promise.resolve(l.getEndpoints(e)).then(function(m){return Promise.resolve(l.getServiceEndpoints(e,m)).then(function(e){var m=l.getEndpointURL(e,"computeStart")?l.getEndpointURL(e,"computeStart").urlPath:null,h=Date.now(),f=n;return f+=i.documentId,f+=h,Promise.resolve(l.signProviderRequest(t,n,f)).then(function(e){var t=Object();return t.consumerAddress=n,t.signature=e,t.nonce=h,t.environment=o,t.dataset=i,t.algorithm=s,t.additionalDatasets&&(t.additionalDatasets=c),u&&(t.output=u),m?Me(function(){return Promise.resolve(r(m,{method:"POST",body:JSON.stringify(t),headers:{"Content-Type":"application/json"},signal:a})).then(function(e){var r;function n(n){return r?n:(g.error("Compute start failed: ",e.status,e.statusText),g.error("Payload was:",t),null)}var o=function(){if(null!=e&&e.ok)return Promise.resolve(e.json()).then(function(e){return r=1,e})}();return o&&o.then?o.then(n):n(o)})},function(e){return g.error("Compute start failed:"),g.error(e),g.error("Payload was:",t),null}):null})})})}catch(e){return Promise.reject(e)}},t.computeStop=function(e,t,n,o,i,s){try{var a=this;return Promise.resolve(a.getEndpoints(o)).then(function(c){return Promise.resolve(a.getServiceEndpoints(o,c)).then(function(u){var l=a.getEndpointURL(u,"computeStop")?a.getEndpointURL(u,"computeStop").urlPath:null;return Promise.resolve(a.getNonce(o,t,s,c,u)).then(function(o){var c=t;return c+=n||"",c+=e&&""+Se(e)||"",c+=o,Promise.resolve(a.signProviderRequest(i,t,c)).then(function(o){var i=Object();return i.signature=o,i.documentId=Se(e),i.consumerAddress=t,n&&(i.jobId=n),l?Me(function(){return Promise.resolve(r(l,{method:"PUT",body:JSON.stringify(i),headers:{"Content-Type":"application/json"},signal:s})).then(function(e){var t;function r(r){return t?r:(g.error("Compute stop failed:",e.status,e.statusText),g.error("Payload was:",i),null)}var n=function(){if(null!=e&&e.ok)return Promise.resolve(e.json()).then(function(e){return t=1,e})}();return n&&n.then?n.then(r):r(n)})},function(e){return g.error("Compute stop failed:"),g.error(e),g.error("Payload was:",i),null}):null})})})})}catch(e){return Promise.reject(e)}},t.computeStatus=function(e,t,n,o,i){try{var s=this;return Promise.resolve(s.getEndpoints(e)).then(function(a){return Promise.resolve(s.getServiceEndpoints(e,a)).then(function(e){var a=s.getEndpointURL(e,"computeStatus")?s.getEndpointURL(e,"computeStatus").urlPath:null,c="?consumerAddress="+t;return c+=o&&"&documentId="+Se(o)||"",c+=n&&"&jobId="+n||"",a?Me(function(){return Promise.resolve(r(a+c,{method:"GET",headers:{"Content-Type":"application/json"},signal:i})).then(function(e){var t;function r(r){return t?r:(g.error("Get compute status failed:",e.status,e.statusText),null)}var n=function(){if(null!=e&&e.ok)return Promise.resolve(e.json()).then(function(e){return t=1,e})}();return n&&n.then?n.then(r):r(n)})},function(e){return g.error("Get compute status failed"),g.error(e),null}):null})})}catch(e){return Promise.reject(e)}},t.getComputeResultUrl=function(e,t,r,n,o){try{var i=this;return Promise.resolve(i.getEndpoints(e)).then(function(s){return Promise.resolve(i.getServiceEndpoints(e,s)).then(function(e){var s=i.getEndpointURL(e,"computeResult")?i.getEndpointURL(e,"computeResult").urlPath:null,a=Date.now(),c=r;return c+=n,c+=o.toString(),c+=a,Promise.resolve(i.signProviderRequest(t,r,c)).then(function(e){if(!s)return null;var t=s;return t+="?consumerAddress="+r,t+="&jobId="+n,t+="&index="+o.toString(),(t+="&nonce="+a)+(e&&"&signature="+e||"")})})})}catch(e){return Promise.reject(e)}},t.computeDelete=function(e,t,n,o,i,s){try{var a=this;return Promise.resolve(a.getEndpoints(o)).then(function(c){return Promise.resolve(a.getServiceEndpoints(o,c)).then(function(u){var l=a.getEndpointURL(u,"computeDelete")?a.getEndpointURL(u,"computeDelete").urlPath:null;return Promise.resolve(a.getNonce(o,t,s,c,u)).then(function(o){var c=t;return c+=n||"",c+=e&&""+Se(e)||"",c+=o,Promise.resolve(a.signProviderRequest(i,t,c)).then(function(o){var i=Object();return i.documentId=Se(e),i.consumerAddress=t,i.jobId=n,o&&(i.signature=o),l?Me(function(){return Promise.resolve(r(l,{method:"DELETE",body:JSON.stringify(i),headers:{"Content-Type":"application/json"},signal:s})).then(function(e){var t;function r(r){return t?r:(g.error("Delete compute job failed:",e.status,e.statusText),g.error("Payload was:",i),null)}var n=function(){if(null!=e&&e.ok)return Promise.resolve(e.json()).then(function(e){return t=1,e})}();return n&&n.then?n.then(r):r(n)})},function(e){return g.error("Delete compute job failed:"),g.error(e),g.error("Payload was:",i),null}):null})})})})}catch(e){return Promise.reject(e)}},t.isValidProvider=function(e,t){try{return Promise.resolve(Me(function(){return Promise.resolve(r(e,{method:"GET",headers:{"Content-Type":"application/json"},signal:t})).then(function(e){var t,r=function(){if(null!=e&&e.ok)return Promise.resolve(e.json()).then(function(e){if(e&&e.providerAddress)return t=!0})}();return r&&r.then?r.then(function(e){return!!t&&e}):!!t&&r})},function(e){return g.error("Error validating provider: "+e.message),!1}))}catch(e){return Promise.reject(e)}},e}(),Ue=new De;export{ve as Aquarius,Oe as Config,_ as ConfigHelper,Fe as Datatoken,ye as Dispenser,be as FixedRateCreateProgressStep,Re as FixedRateExchange,C as GASLIMIT_DEFAULT,v as LogLevel,P as Logger,g as LoggerInstance,Ee as Nft,xe as NftFactory,pe as Pool,De as Provider,Ue as ProviderInstance,Te as Router,ke as SideStaking,y as ZERO_ADDRESS,$ as allowance,K as allowanceWei,k as amountToUnits,re as approve,te as approveWei,Q as balance,le as calcMaxExactIn,ue as calcMaxExactOut,z as configHelperNetworks,X as decimals,I as downloadFile,W as downloadFileBrowser,ne as estApprove,ee as estTransfer,A as estimateGas,N as fetchData,J as generateDid,w as generateDtName,U as getData,O as getErcCreationParams,F as getFairGasPrice,S as getFreCreationParams,j as getFreOrderParams,V as getHash,se as getMaxAddLiquidity,ie as getMaxRemoveLiquidity,ae as getMaxSwapExactIn,ce as getMaxSwapExactOut,E as getPoolCreationParams,M as postData,x as setContractDefaults,H as signHash,oe as sleep,Y as transfer,T as unitsToAmount};
1
+ import e from"web3";import t from"bignumber.js";import r from"cross-fetch";import n from"@oceanprotocol/contracts/addresses/address.json";import o from"crypto-js/sha256";import i from"decimal.js";import s from"@oceanprotocol/contracts/artifacts/contracts/pools/balancer/BPool.sol/BPool.json";import a from"@oceanprotocol/contracts/artifacts/contracts/templates/ERC20Template.sol/ERC20Template.json";import c from"@oceanprotocol/contracts/artifacts/contracts/pools/dispenser/Dispenser.sol/Dispenser.json";import u from"@oceanprotocol/contracts/artifacts/contracts/pools/fixedRate/FixedRateExchange.sol/FixedRateExchange.json";import l from"@oceanprotocol/contracts/artifacts/contracts/pools/ssContracts/SideStaking.sol/SideStaking.json";import m from"@oceanprotocol/contracts/artifacts/contracts/pools/FactoryRouter.sol/FactoryRouter.json";import h from"@oceanprotocol/contracts/artifacts/contracts/templates/ERC20TemplateEnterprise.sol/ERC20TemplateEnterprise.json";import f from"@oceanprotocol/contracts/artifacts/contracts/templates/ERC721Template.sol/ERC721Template.json";import d from"@oceanprotocol/contracts/artifacts/contracts/ERC721Factory.sol/ERC721Factory.json";var v;!function(e){e[e.None=-1]="None",e[e.Error=0]="Error",e[e.Warn=1]="Warn",e[e.Log=2]="Log",e[e.Verbose=3]="Verbose"}(v||(v={}));var P=/*#__PURE__*/function(){function e(e){void 0===e&&(e=v.Error),this.logLevel=void 0,this.logLevel=e}var t=e.prototype;return t.setLevel=function(e){this.logLevel=e},t.bypass=function(){this.dispatch.apply(this,["log",-Infinity].concat([].slice.call(arguments)))},t.debug=function(){this.dispatch.apply(this,["debug",v.Verbose].concat([].slice.call(arguments)))},t.log=function(){this.dispatch.apply(this,["log",v.Log].concat([].slice.call(arguments)))},t.warn=function(){this.dispatch.apply(this,["warn",v.Warn].concat([].slice.call(arguments)))},t.error=function(){this.dispatch.apply(this,["error",v.Error].concat([].slice.call(arguments)))},t.dispatch=function(e,t){var r;this.logLevel>=t&&(r=console)[e].apply(r,[].slice.call(arguments,2))},e}(),g=new P,p={nouns:["Crab","Fish","Seal","Octopus","Shark","Seahorse","Walrus","Starfish","Whale","Orca","Penguin","Jellyfish","Squid","Lobster","Pelican","Shrimp","Oyster","Clam","Seagull","Dolphin","Shell","Cormorant","Otter","Anemone","Turtle","Coral","Ray","Barracuda","Krill","Anchovy","Angelfish","Barnacle","Clownfish","Cod","Cuttlefish","Eel","Fugu","Herring","Haddock","Ling","Mackerel","Manatee","Narwhal","Nautilus","Plankton","Porpoise","Prawn","Pufferfish","Swordfish","Tuna"],adjectives:["adamant","adroit","amatory","ambitious","amused","animistic","antic","arcadian","artistic","astonishing","astounding","baleful","bellicose","bilious","blissful","boorish","brave","breathtaking","brilliant","calamitous","caustic","cerulean","clever","charming","comely","competent","concomitant","confident","contumacious","corpulent","crapulous","creative","dazzling","dedicated","defamatory","delighted","delightful","determined","didactic","dilatory","dowdy","efficacious","effulgent","egregious","empowered","endemic","enthusiastic","equanimous","exceptional","execrable","fabulous","fantastic","fastidious","feckless","fecund","friable","fulsome","garrulous","generous","gentle","guileless","gustatory","heuristic","histrionic","hubristic","incendiary","incredible","insidious","insolent","inspired","intransigent","inveterate","invidious","invigorated","irksome","jejune","juicy","jocular","joyful","judicious","kind","lachrymose","limpid","loquacious","lovely","luminous","mannered","marvelous","mendacious","meretricious","minatory","mordant","motivated","munificent","nefarious","noxious","obtuse","optimistic","parsimonious","pendulous","pernicious","pervasive","petulant","passionate","phenomenal","platitudinous","pleasant","powerful","precipitate","propitious","puckish","querulous","quiescent","rebarbative","recalcitant","redolent","rhadamanthine","risible","ruminative","sagacious","salubrious","sartorial","sclerotic","serpentine","smart","spasmodic","strident","stunning","stupendous","taciturn","tactful","tasty","tenacious","tremendous","tremulous","trenchant","turbulent","turgid","ubiquitous","uxorious","verdant","vibrant","voluble","voracious","wheedling","withering","wonderful","zealous"]};function w(e){var t=e||p,r=Math.floor(Math.random()*t.adjectives.length),n=Math.floor(Math.random()*t.nouns.length),o=Math.floor(100*Math.random()),i=t.adjectives[r].replace(/^\w/,function(e){return e.toUpperCase()}),s=t.nouns[n].replace(/^\w/,function(e){return e.toUpperCase()});return{name:i+" "+s+" Token",symbol:(i.substring(0,3)+s.substring(0,3)).toUpperCase()+"-"+o}}var b=[{constant:!0,inputs:[],name:"name",outputs:[{name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"_spender",type:"address"},{name:"_value",type:"uint256"}],name:"approve",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"totalSupply",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"_from",type:"address"},{name:"_to",type:"address"},{name:"_value",type:"uint256"}],name:"transferFrom",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"decimals",outputs:[{name:"",type:"uint8"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"_owner",type:"address"}],name:"balanceOf",outputs:[{name:"balance",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"symbol",outputs:[{name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"_to",type:"address"},{name:"_value",type:"uint256"}],name:"transfer",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{name:"_owner",type:"address"},{name:"_spender",type:"address"}],name:"allowance",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{payable:!0,stateMutability:"payable",type:"fallback"},{anonymous:!1,inputs:[{indexed:!0,name:"owner",type:"address"},{indexed:!0,name:"spender",type:"address"},{indexed:!1,name:"value",type:"uint256"}],name:"Approval",type:"event"},{anonymous:!1,inputs:[{indexed:!0,name:"from",type:"address"},{indexed:!0,name:"to",type:"address"},{indexed:!1,name:"value",type:"uint256"}],name:"Transfer",type:"event"}],y="0x0000000000000000000000000000000000000000",C=1e6;function R(e,t){try{var r=e()}catch(e){return t(e)}return r&&r.then?r.then(void 0,t):r}var A=function(e,t){try{var r=arguments,n=1e6,o=R(function(){return Promise.resolve(t.apply(null,[].slice.call(r,2)).estimateGas({from:e},function(e,t){return e?1e6:t})).then(function(e){n=e})},function(e){g.error("ERROR: Estimate gas failed!",e)});return Promise.resolve(o&&o.then?o.then(function(){return n}):n)}catch(e){return Promise.reject(e)}},k=function(e,r,n,o){try{return Promise.resolve(R(function(){function i(e){return"0"===e&&(e=18),t.config({EXPONENTIAL_AT:50}),new t(n).times(new t(10).exponentiatedBy(e)).toFixed(0)}var s=new e.eth.Contract(b,r);return o?i(o):Promise.resolve(s.methods.decimals().call()).then(i)},function(e){g.error("ERROR: FAILED TO CALL DECIMALS(), USING 18', "+e.message)}))}catch(e){return Promise.reject(e)}},T=function(e,r,n,o){try{return Promise.resolve(R(function(){function i(e){"0"===e&&(e=18);var r=new t(n).div(new t(10).exponentiatedBy(e));return t.config({EXPONENTIAL_AT:50}),r.toString()}var s=new e.eth.Contract(b,r);return o?i(o):Promise.resolve(s.methods.decimals().call()).then(i)},function(e){g.error("ERROR: FAILED TO CALL DECIMALS(), USING 18' : "+e.message)}))}catch(e){return Promise.reject(e)}},E=function(t,r){try{var n=[r.ssContract,r.baseTokenAddress,r.baseTokenSender,r.publisherAddress,r.marketFeeCollector,r.poolTemplateAddress],o=r.vestedBlocks,i=e.utils.toWei(r.vestingAmount),s=r.baseTokenDecimals,a=e.utils.toWei(r.rate);return Promise.resolve(k(t,r.baseTokenAddress,r.initialBaseTokenLiquidity)).then(function(t){return{addresses:n,ssParams:[a,s,i,o,t],swapFees:[e.utils.toWei(r.swapFeeLiquidityProvider),e.utils.toWei(r.swapFeeMarketRunner)]}})}catch(e){return Promise.reject(e)}},j=function(e,t){try{var r=t.exchangeId,n=t.exchangeContract;return Promise.resolve(k(e,t.baseTokenAddress,t.maxBaseTokenAmount,t.baseTokenDecimals)).then(function(o){return Promise.resolve(k(e,t.baseTokenAddress,t.swapMarketFee,t.baseTokenDecimals)).then(function(e){return{exchangeContract:n,exchangeId:r,maxBaseTokenAmount:o,swapMarketFee:e,marketFeeAddress:t.marketFeeAddress}})})}catch(e){return Promise.reject(e)}},F=function(e,r){try{return Promise.resolve(e.eth.getGasPrice()).then(function(e){var n=new t(e);return r&&r.gasFeeMultiplier?n.multipliedBy(r.gasFeeMultiplier).integerValue(t.ROUND_DOWN).toString(10):n.toString(10)})}catch(e){return Promise.reject(e)}};function x(e,t){return t&&(t.transactionBlockTimeout&&(e.transactionBlockTimeout=t.transactionBlockTimeout),t.transactionConfirmationBlocks&&(e.transactionConfirmationBlocks=t.transactionConfirmationBlocks),t.transactionPollingTimeout&&(e.transactionPollingTimeout=t.transactionPollingTimeout)),e}function O(t){var r,n;if(!t.name||!t.symbol){var o=w();r=o.name,n=o.symbol}return{templateIndex:t.templateIndex,strings:[t.name||r,t.symbol||n],addresses:[t.minter,t.paymentCollector,t.mpFeeAddress,t.feeToken],uints:[e.utils.toWei(t.cap),e.utils.toWei(t.feeAmount)],bytess:[]}}function S(t){t.allowedConsumer||(t.allowedConsumer=y);var r=t.withMint?1:0;return{fixedPriceAddress:t.fixedRateAddress,addresses:[t.baseTokenAddress,t.owner,t.marketFeeCollector,t.allowedConsumer],uints:[t.baseTokenDecimals,t.datatokenDecimals,e.utils.toWei(t.fixedRate),e.utils.toWei(t.marketFee),r]}}var M=function(e,t){return D(e,t,{"Content-type":"application/json"})},D=function(e,t,n){try{return Promise.resolve(r(e,null!=t?{method:"POST",body:t,headers:n}:{method:"POST"}))}catch(e){return Promise.reject(e)}},U=function(e){try{return Promise.resolve(r(e,{method:"GET",headers:{"Content-type":"application/json"}}))}catch(e){return Promise.reject(e)}},I=function(e,t){try{return Promise.resolve(r(e)).then(function(r){if(!r.ok)throw new Error("Response error.");var n;try{n=r.headers.get("content-disposition").match(/attachment;filename=(.+)/)[1]}catch(r){try{n=e.split("/").pop()}catch(e){n="file"+t}}return Promise.resolve(r.arrayBuffer()).then(function(e){return{data:e,filename:n}})})}catch(e){return Promise.reject(e)}},N=function(e){try{return Promise.resolve(r(e,{method:"HEAD"})).then(function(t){var r=t.headers.get("content-disposition").split("=")[1],n=new XMLHttpRequest;n.responseType="blob",n.open("GET",e),n.onload=function(){var e=window.URL.createObjectURL(n.response),t=document.createElement("a");t.href=e,t.setAttribute("download",r),document.body.appendChild(t),t.click(),t.remove(),window.URL.revokeObjectURL(e)},n.send(null)})}catch(e){return Promise.reject(e)}},W=function(e,t){try{return Promise.resolve(r(e,t)).then(function(r){var n=function(){if(!r.ok){g.error("Error requesting ["+t.method+"] "+e);var n=g.error;return Promise.resolve(r.text()).then(function(e){throw n.call(g,"Response message: \n"+e),r})}}();return n&&n.then?n.then(function(e){return r}):r})}catch(e){return Promise.reject(e)}};function G(){return G=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},G.apply(this,arguments)}function B(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function L(e,t){var r="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(r)return(r=r.call(e)).next.bind(r);if(Array.isArray(e)||(r=function(e,t){if(e){if("string"==typeof e)return B(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?B(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){r&&(e=r);var n=0;return function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var q={chainId:null,network:"unknown",metadataCacheUri:"https://v4.aquarius.oceanprotocol.com",nodeUri:"http://127.0.0.1:8545",providerUri:"http://127.0.0.1:8030",subgraphUri:null,explorerUri:null,oceanTokenAddress:null,oceanTokenSymbol:"OCEAN",poolTemplateAddress:null,fixedRateExchangeAddress:null,dispenserAddress:null,startBlock:0,transactionBlockTimeout:50,transactionConfirmationBlocks:1,transactionPollingTimeout:750,gasFeeMultiplier:1},z=[G({},q),G({},q,{chainId:8996,network:"development",metadataCacheUri:"http://127.0.0.1:5000",providerUri:"http://172.15.0.4:8030"}),G({},q,{chainId:3,network:"ropsten",nodeUri:"https://ropsten.infura.io/v3",providerUri:"https://v4.provider.ropsten.oceanprotocol.com",subgraphUri:"https://v4.subgraph.ropsten.oceanprotocol.com",explorerUri:"https://ropsten.etherscan.io",gasFeeMultiplier:1.1}),G({},q,{chainId:4,network:"rinkeby",nodeUri:"https://rinkeby.infura.io/v3",providerUri:"https://v4.provider.rinkeby.oceanprotocol.com",subgraphUri:"https://v4.subgraph.rinkeby.oceanprotocol.com",explorerUri:"https://rinkeby.etherscan.io",gasFeeMultiplier:1.1}),G({},q,{chainId:1,network:"mainnet",nodeUri:"https://mainnet.infura.io/v3",providerUri:"https://v4.provider.mainnet.oceanprotocol.com",subgraphUri:"https://v4.subgraph.mainnet.oceanprotocol.com",explorerUri:"https://etherscan.io",startBlock:11105459,transactionBlockTimeout:150,transactionConfirmationBlocks:5,transactionPollingTimeout:1750,gasFeeMultiplier:1.05}),G({},q,{chainId:137,network:"polygon",nodeUri:"https://polygon-mainnet.infura.io/v3",providerUri:"https://v4.provider.polygon.oceanprotocol.com",subgraphUri:"https://v4.subgraph.polygon.oceanprotocol.com",explorerUri:"https://polygonscan.com",oceanTokenSymbol:"mOCEAN"}),G({},q,{chainId:1287,network:"moonbase",nodeUri:"https://rpc.api.moonbase.moonbeam.network",providerUri:"https://v4.provider.moonbase.oceanprotocol.com",subgraphUri:"https://v4.subgraph.moonbase.oceanprotocol.com",explorerUri:"https://moonbase.moonscan.io/",gasFeeMultiplier:1.1}),G({},q,{chainId:2021e3,network:"gaiaxtestnet",nodeUri:"https://rpc.gaiaxtestnet.oceanprotocol.com",providerUri:"https://v4.provider.gaiaxtestnet.oceanprotocol.com",subgraphUri:"https://v4.subgraph.gaiaxtestnet.oceanprotocol.com",explorerUri:"https://blockscout.gaiaxtestnet.oceanprotocol.com"}),G({},q,{chainId:80001,network:"mumbai",nodeUri:"https://polygon-mumbai.infura.io/v3",providerUri:"https://v4.provider.mumbai.oceanprotocol.com",subgraphUri:"https://v4.subgraph.mumbai.oceanprotocol.com",explorerUri:"https://mumbai.polygonscan.com",gasFeeMultiplier:1.1}),G({},q,{chainId:56,network:"bsc",nodeUri:"https://bsc-dataseed.binance.org",providerUri:"https://v4.provider.bsc.oceanprotocol.com",subgraphUri:"https://v4.subgraph.bsc.oceanprotocol.com",explorerUri:"https://bscscan.com/",gasFeeMultiplier:1.05}),G({},q,{chainId:246,network:"energyweb",nodeUri:"https://rpc.energyweb.org",providerUri:"https://v4.provider.energyweb.oceanprotocol.com",subgraphUri:"https://v4.subgraph.energyweb.oceanprotocol.com",explorerUri:"https://explorer.energyweb.org",gasFeeMultiplier:1.05}),G({},q,{chainId:1285,network:"moonriver",nodeUri:"https://moonriver.api.onfinality.io/public",providerUri:"https://v4.provider.moonriver.oceanprotocol.com",subgraphUri:"https://v4.subgraph.moonriver.oceanprotocol.com",explorerUri:"https://moonriver.moonscan.io/",gasFeeMultiplier:1.05})],_=/*#__PURE__*/function(){function e(){}var t=e.prototype;return t.getAddressesFromEnv=function(e,t){var r;if(t)try{var o=t[e];r=G({erc721FactoryAddress:o.ERC721Factory,sideStakingAddress:o.Staking,opfCommunityFeeCollector:o.OPFCommunityFeeCollector,poolTemplateAddress:o.poolTemplate,fixedRateExchangeAddress:o.FixedPrice,dispenserAddress:o.Dispenser,oceanTokenAddress:o.Ocean,chainId:o.chainId,startBlock:o.startBlock},process.env.AQUARIUS_URI&&{metadataCacheUri:process.env.AQUARIUS_URI})}catch(e){}else if(n[e]){var i=n[e];r=G({erc721FactoryAddress:i.ERC721Factory,sideStakingAddress:i.Staking,opfCommunityFeeCollector:i.OPFCommunityFeeCollector,poolTemplateAddress:i.poolTemplate,fixedRateExchangeAddress:i.FixedPrice,dispenserAddress:i.Dispenser,oceanTokenAddress:i.Ocean,chainId:i.chainId,startBlock:i.startBlock},process.env.AQUARIUS_URI&&{metadataCacheUri:process.env.AQUARIUS_URI})}return r},t.getConfig=function(e,t){var r="string"==typeof e?"network":"chainId",n=z.find(function(t){return t[r]===e});return n?(n=G({},n,this.getAddressesFromEnv(n.network)),G({},n,{nodeUri:t?n.nodeUri+"/"+t:n.nodeUri})):(g.error("No config found for given network '"+e+"'"),null)},e}();function J(t,r){return t=e.utils.toChecksumAddress(t),"did:op:"+o(t+r.toString(10)).toString()}function H(e){try{return o(e).toString()}catch(e){g.error("getHash error: ",e.message)}}var V=function(e,t,r){try{return Promise.resolve(e.eth.sign(t,r)).then(function(e){var t="0x"+(e=e.substr(2)).slice(0,64),r="0x"+e.slice(64,128),n="0x"+e.slice(128,130);return"0x00"===n&&(n="0x1b"),"0x01"===n&&(n="0x1c"),{v:n,r:t,s:r}})}catch(e){return Promise.reject(e)}};function Z(e,t){try{var r=e()}catch(e){return t(e)}return r&&r.then?r.then(void 0,t):r}var X=function(e,t){try{var r=new e.eth.Contract(b,t);return Promise.resolve(r.methods.decimals().call())}catch(e){return Promise.reject(e)}},Q=function(e,t,r,n){try{var o=new e.eth.Contract(b,t);return Promise.resolve(o.methods.balanceOf(r).call()).then(function(r){return Promise.resolve(T(e,t,r,n))})}catch(e){return Promise.reject(e)}},K=function(e,t,r,n,o){try{var i=new e.eth.Contract(b,t);return Promise.resolve(i.methods.allowance(r,n).call())}catch(e){return Promise.reject(e)}},$=function(e,t,r,n,o){try{var i=new e.eth.Contract(b,t);return Promise.resolve(i.methods.allowance(r,n).call()).then(function(r){return Promise.resolve(T(e,t,r,o))})}catch(e){return Promise.reject(e)}},Y=function(e,t,r,n,o){try{var i=new e.eth.Contract(b,r),s=null;return Promise.resolve(k(e,r,o)).then(function(r){return Promise.resolve(A(t,i.methods.transfer,n,r)).then(function(o){var a=Z(function(){var a=i.methods.transfer(n,r),c=a.send;return Promise.resolve(F(e,null)).then(function(e){return Promise.resolve(c.call(a,{from:t,gas:o+1,gasPrice:e})).then(function(e){s=e})})},function(e){g.error("ERROR: Failed to transfer tokens : "+e.message)});return a&&a.then?a.then(function(){return s}):s})})}catch(e){return Promise.reject(e)}},ee=function(e,t,r,n,o,i){try{var s=i||new e.eth.Contract(b,r);return Promise.resolve(A(t,s.methods.transfer,n,o))}catch(e){return Promise.reject(e)}},te=function(e,r,n,o,i,s){void 0===s&&(s=!1);try{var a,c=function(t){if(a)return t;var n=null;return Promise.resolve(A(r,u.methods.approve,o,i)).then(function(t){var s=Z(function(){var s=u.methods.approve(o,i),a=s.send;return Promise.resolve(F(e,null)).then(function(e){return Promise.resolve(a.call(s,{from:r,gas:t+1,gasPrice:e})).then(function(e){n=e})})},function(e){g.error("ERROR: Failed to approve spender to spend tokens : "+e.message)});return s&&s.then?s.then(function(){return n}):n})},u=new e.eth.Contract(b,n),l=function(){if(!s)return Promise.resolve(K(e,n,r,o)).then(function(e){if(new t(e).gt(new t(i)))return a=1,e})}();return Promise.resolve(l&&l.then?l.then(c):c(l))}catch(e){return Promise.reject(e)}},re=function(e,t,r,n,o,s,a){void 0===s&&(s=!1);try{var c,u=function(i){if(c)return i;var s=null;return Promise.resolve(k(e,r,o,a)).then(function(r){return Promise.resolve(A(t,l.methods.approve,n,r)).then(function(o){var i=Z(function(){var i=l.methods.approve(n,r),a=i.send;return Promise.resolve(F(e,null)).then(function(e){return Promise.resolve(a.call(i,{from:t,gas:o+1,gasPrice:e})).then(function(e){s=e})})},function(e){g.error("ERROR: Failed to approve spender to spend tokens : "+e.message)});return i&&i.then?i.then(function(){return s}):s})})},l=new e.eth.Contract(b,r),m=function(){if(!s)return Promise.resolve($(e,r,t,n)).then(function(e){if(new i(e).greaterThanOrEqualTo(new i(o)))return c=1,e})}();return Promise.resolve(m&&m.then?m.then(u):u(m))}catch(e){return Promise.reject(e)}},ne=function(e,t,r,n,o,i){try{var s=i||new e.eth.Contract(b,r);return Promise.resolve(A(t,s.methods.approve,n,o))}catch(e){return Promise.reject(e)}},oe=function(e){try{return Promise.resolve(new Promise(function(t){setTimeout(t,e)}))}catch(e){return Promise.reject(e)}},ie=function(e,t,r){try{return Promise.resolve(e.getReserve(t,r)).then(le)}catch(e){return Promise.reject(e)}},se=function(e,t,r){try{return Promise.resolve(e.getReserve(t,r)).then(le)}catch(e){return Promise.reject(e)}},ae=function(e,t,r){try{return Promise.resolve(e.getReserve(t,r)).then(le)}catch(e){return Promise.reject(e)}},ce=function(e,t,r){try{return Promise.resolve(e.getReserve(t,r)).then(ue)}catch(e){return Promise.reject(e)}};function ue(e){return new i(e).div(2)}function le(e){return new i(e).div(2)}function me(e,t){try{var r=e()}catch(e){return t(e)}return r&&r.then?r.then(void 0,t):r}function he(e,t,r){if(!e.s){if(r instanceof fe){if(!r.s)return void(r.o=he.bind(null,e,t));1&t&&(t=r.s),r=r.v}if(r&&r.then)return void r.then(he.bind(null,e,t),he.bind(null,e,2));e.s=t,e.v=r;var n=e.o;n&&n(e)}}var fe=/*#__PURE__*/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{he(n,1,i(this.v))}catch(e){he(n,2,e)}return n}return this}return this.o=function(e){try{var o=e.v;1&e.s?he(n,1,t?t(o):o):r?he(n,1,r(o)):he(n,2,o)}catch(e){he(n,2,e)}},n},e}();function de(e){return e instanceof fe&&1&e.s}var ve=/*#__PURE__*/function(){function e(e){this.aquariusURL=void 0,this.aquariusURL=e}var t=e.prototype;return t.resolve=function(e,t){try{var n=this.aquariusURL+"/api/aquarius/assets/ddo/"+e;return Promise.resolve(me(function(){return Promise.resolve(r(n,{method:"GET",headers:{"Content-Type":"application/json"},signal:t})).then(function(e){if(e.ok)return Promise.resolve(e.json());throw new Error("HTTP request failed with status "+e.status)})},function(e){throw g.error(e),new Error("HTTP request failed")}))}catch(e){return Promise.reject(e)}},t.waitForAqua=function(e,t,n){try{var o,i=this,s=0,a=function(e,t){var r;do{var n=e();if(n&&n.then){if(!de(n)){r=!0;break}n=n.v}var o=t();if(de(o)&&(o=o.v),!o)return n}while(!o.then);var i=new fe,s=he.bind(null,i,2);return(r?n.then(a):o.then(c)).then(void 0,s),i;function a(r){for(n=r;de(o=t())&&(o=o.v),o;){if(o.then)return void o.then(c).then(void 0,s);if((n=e())&&n.then){if(!de(n))return void n.then(a).then(void 0,s);n=n.v}}he(i,1,n)}function c(r){if(r){do{if((n=e())&&n.then){if(!de(n))return void n.then(a).then(void 0,s);n=n.v}if(de(r=t())&&(r=r.v),!r)return void he(i,1,n)}while(!r.then);r.then(c).then(void 0,s)}else he(i,1,n)}}(function(){function a(e){return o?e:Promise.resolve(oe(1500)).then(function(){s++})}var c=me(function(){return Promise.resolve(r(i.aquariusURL+"/api/aquarius/assets/ddo/"+e,{method:"GET",headers:{"Content-Type":"application/json"},signal:n})).then(function(e){return function(){if(e.ok)return Promise.resolve(e.json()).then(function(e){return t?e.event&&e.event.txid===t?(o=1,e):void 0:(o=1,e)})}()})},function(){});return c&&c.then?c.then(a):a(c)},function(){return!o&&s<100});return Promise.resolve(a&&a.then?a.then(function(e){return o?e:null}):o?a:null)}catch(e){return Promise.reject(e)}},t.validate=function(e,t){try{var n,o=this,i={valid:!1},s=me(function(){return Promise.resolve(r(o.aquariusURL+"/api/aquarius/assets/ddo/validate",{method:"POST",body:JSON.stringify(e),headers:{"Content-Type":"application/octet-stream"},signal:t})).then(function(e){return Promise.resolve(e.json()).then(function(t){n=t,200===e.status?(i.valid=!0,i.hash=n.hash,i.proof={validatorAddress:n.publicKey,r:n.r[0],s:n.s[0],v:n.v}):(i.errors=n,g.error("validate Metadata failed:",e.status,i.errors))})})},function(e){g.error("Error validating metadata: ",e)});return Promise.resolve(s&&s.then?s.then(function(){return i}):i)}catch(e){return Promise.reject(e)}},t.getAssetMetadata=function(e,t){try{var n=this.aquariusURL+"/api/aquarius/assets/metadata/"+e;return Promise.resolve(me(function(){return Promise.resolve(r(n,{method:"GET",headers:{"Content-Type":"application/json"},signal:t})).then(function(e){if(e.ok)return e.json();throw new Error("getAssetMetadata failed: "+e.status+e.statusText)})},function(e){throw g.error("Error getting metadata: ",e),new Error("Error getting metadata: "+e)}))}catch(e){return Promise.reject(e)}},t.querySearch=function(e,t){try{var n=this.aquariusURL+"/api/aquarius/assets/query";return Promise.resolve(me(function(){return Promise.resolve(r(n,{method:"POST",body:JSON.stringify(e),headers:{"Content-Type":"application/json"},signal:t})).then(function(e){if(e.ok)return e.json();throw new Error("querySearch failed: "+e.status+e.statusText)})},function(e){throw g.error("Error querying metadata: ",e),new Error("Error querying metadata: "+e)}))}catch(e){return Promise.reject(e)}},e}();function Pe(e,t){try{var r=e()}catch(e){return t(e)}return r&&r.then?r.then(void 0,t):r}var ge="115792089237316195423570985008687907853269984665640564039457584007913129639934",pe=/*#__PURE__*/function(){function e(e,t,r,n){void 0===r&&(r=null),this.poolAbi=void 0,this.web3=void 0,this.config=void 0,this.poolAbi=r||s.abi,this.web3=e,this.config=n||(new _).getConfig(t||"unknown")}var r=e.prototype;return r.amountToUnits=function(e,t,r){try{return Promise.resolve(k(this.web3,e,t,r))}catch(e){return Promise.reject(e)}},r.unitsToAmount=function(e,t,r){try{return Promise.resolve(T(this.web3,e,t,r))}catch(e){return Promise.reject(e)}},r.sharesBalance=function(e,t){try{var r=this,n=null,o=Pe(function(){var o=x(new r.web3.eth.Contract(r.poolAbi,t),r.config);return Promise.resolve(o.methods.balanceOf(e).call()).then(function(e){n=r.web3.utils.fromWei(e)})},function(e){g.error("ERROR: Failed to get shares of pool : "+e.message)});return Promise.resolve(o&&o.then?o.then(function(){return n}):n)}catch(e){return Promise.reject(e)}},r.estSetSwapFee=function(e,t,r,n){try{var o=n||x(new this.web3.eth.Contract(a.abi,t),this.config);return Promise.resolve(A(e,o.methods.setSwapFee,r))}catch(e){return Promise.reject(e)}},r.setSwapFee=function(e,t,r){try{var n=this,o=x(new n.web3.eth.Contract(n.poolAbi,t,{from:e}),n.config),i=null;return Promise.resolve(A(e,o.methods.setSwapFee,r)).then(function(t){var s=Pe(function(){var s=o.methods.setSwapFee(n.web3.utils.toWei(r)),a=s.send;return Promise.resolve(F(n.web3,n.config)).then(function(r){return Promise.resolve(a.call(s,{from:e,gas:t,gasPrice:r})).then(function(e){i=e})})},function(e){g.error("ERROR: Failed to set pool swap fee: "+e.message)});return s&&s.then?s.then(function(){return i}):i})}catch(e){return Promise.reject(e)}},r.getNumTokens=function(e){try{var t=this,r=x(new t.web3.eth.Contract(t.poolAbi,e),t.config),n=null,o=Pe(function(){return Promise.resolve(r.methods.getNumTokens().call()).then(function(e){n=e})},function(e){g.error("ERROR: Failed to get number of tokens: "+e.message)});return Promise.resolve(o&&o.then?o.then(function(){return n}):n)}catch(e){return Promise.reject(e)}},r.getPoolSharesTotalSupply=function(e){try{var t=this,r=x(new t.web3.eth.Contract(t.poolAbi,e),t.config),n=null,o=Pe(function(){return Promise.resolve(r.methods.totalSupply().call()).then(function(e){n=t.web3.utils.fromWei(e)})},function(e){g.error("ERROR: Failed to get total supply of pool shares: "+e.message)});return Promise.resolve(o&&o.then?o.then(function(){return n}):n)}catch(e){return Promise.reject(e)}},r.getCurrentTokens=function(e){try{var t=this,r=x(new t.web3.eth.Contract(t.poolAbi,e),t.config),n=null,o=Pe(function(){return Promise.resolve(r.methods.getCurrentTokens().call()).then(function(e){n=e})},function(e){g.error("ERROR: Failed to get tokens composing this pool: "+e.message)});return Promise.resolve(o&&o.then?o.then(function(){return n}):n)}catch(e){return Promise.reject(e)}},r.getFinalTokens=function(e){try{var t=this,r=x(new t.web3.eth.Contract(t.poolAbi,e),t.config),n=null,o=Pe(function(){return Promise.resolve(r.methods.getFinalTokens().call()).then(function(e){n=e})},function(e){g.error("ERROR: Failed to get the final tokens composing this pool "+e.message)});return Promise.resolve(o&&o.then?o.then(function(){return n}):n)}catch(e){return Promise.reject(e)}},r.getController=function(e){try{var t=this,r=x(new t.web3.eth.Contract(t.poolAbi,e),t.config),n=null,o=Pe(function(){return Promise.resolve(r.methods.getController().call()).then(function(e){n=e})},function(e){g.error("ERROR: Failed to get pool controller address: "+e.message)});return Promise.resolve(o&&o.then?o.then(function(){return n}):n)}catch(e){return Promise.reject(e)}},r.getBaseToken=function(e){try{var t=this,r=x(new t.web3.eth.Contract(t.poolAbi,e),t.config),n=null,o=Pe(function(){return Promise.resolve(r.methods.getBaseTokenAddress().call()).then(function(e){n=e})},function(e){g.error("ERROR: Failed to get baseToken address: "+e.message)});return Promise.resolve(o&&o.then?o.then(function(){return n}):n)}catch(e){return Promise.reject(e)}},r.getDatatoken=function(e){try{var t=this,r=x(new t.web3.eth.Contract(t.poolAbi,e),t.config),n=null,o=Pe(function(){return Promise.resolve(r.methods.getDatatokenAddress().call()).then(function(e){n=e})},function(e){g.error("ERROR: Failed to get datatoken address: "+e.message)});return Promise.resolve(o&&o.then?o.then(function(){return n}):n)}catch(e){return Promise.reject(e)}},r.getMarketFee=function(e){try{var t=function(){return r.web3.utils.fromWei(o).toString()},r=this,n=x(new r.web3.eth.Contract(r.poolAbi,e),r.config),o=null,i=Pe(function(){return Promise.resolve(n.methods.getMarketFee().call()).then(function(e){o=e})},function(e){g.error("ERROR: Failed to get getMarketFee: "+e.message)});return Promise.resolve(i&&i.then?i.then(t):t())}catch(e){return Promise.reject(e)}},r.getMarketFeeCollector=function(e){try{var t=this,r=x(new t.web3.eth.Contract(t.poolAbi,e),t.config),n=null,o=Pe(function(){return Promise.resolve(r.methods._publishMarketCollector().call()).then(function(e){n=e})},function(e){g.error("ERROR: Failed to get marketFeeCollector address: "+e.message)});return Promise.resolve(o&&o.then?o.then(function(){return n}):n)}catch(e){return Promise.reject(e)}},r.isBound=function(e,t){try{var r=this,n=x(new r.web3.eth.Contract(r.poolAbi,e),r.config),o=null,i=Pe(function(){return Promise.resolve(n.methods.isBound(t).call()).then(function(e){o=e})},function(e){g.error("ERROR: Failed to check whether a token bounded to a pool. "+e.message)});return Promise.resolve(i&&i.then?i.then(function(){return o}):o)}catch(e){return Promise.reject(e)}},r.getReserve=function(e,t,r){try{var n=function(){return i.toString()},o=this,i=null,s=Pe(function(){var n=x(new o.web3.eth.Contract(o.poolAbi,e),o.config);return Promise.resolve(n.methods.getBalance(t).call()).then(function(e){return Promise.resolve(o.unitsToAmount(t,e,r)).then(function(e){i=e})})},function(e){g.error("ERROR: Failed to get how many tokens are in the pool: "+e.message)});return Promise.resolve(s&&s.then?s.then(n):n())}catch(e){return Promise.reject(e)}},r.isFinalized=function(e){try{var t=this,r=x(new t.web3.eth.Contract(t.poolAbi,e),t.config),n=null,o=Pe(function(){return Promise.resolve(r.methods.isFinalized().call()).then(function(e){n=e})},function(e){g.error("ERROR: Failed to check whether pool is finalized: "+e.message)});return Promise.resolve(o&&o.then?o.then(function(){return n}):n)}catch(e){return Promise.reject(e)}},r.getSwapFee=function(e){try{var t=this,r=x(new t.web3.eth.Contract(t.poolAbi,e),t.config),n=null,o=Pe(function(){return Promise.resolve(r.methods.getSwapFee().call()).then(function(e){n=t.web3.utils.fromWei(e)})},function(e){g.error("ERROR: Failed to get pool fee: "+e.message)});return Promise.resolve(o&&o.then?o.then(function(){return n}):n)}catch(e){return Promise.reject(e)}},r.getNormalizedWeight=function(e,t){try{var r=this,n=x(new r.web3.eth.Contract(r.poolAbi,e),r.config),o=null,i=Pe(function(){return Promise.resolve(n.methods.getNormalizedWeight(t).call()).then(function(e){o=r.web3.utils.fromWei(e)})},function(e){g.error("ERROR: Failed to get normalized weight of a token: "+e.message)});return Promise.resolve(i&&i.then?i.then(function(){return o}):o)}catch(e){return Promise.reject(e)}},r.getDenormalizedWeight=function(e,t){try{var r=this,n=x(new r.web3.eth.Contract(r.poolAbi,e),r.config),o=null,i=Pe(function(){return Promise.resolve(n.methods.getDenormalizedWeight(t).call()).then(function(e){o=r.web3.utils.fromWei(e)})},function(e){g.error("ERROR: Failed to get denormalized weight of a token in pool "+e.message)});return Promise.resolve(i&&i.then?i.then(function(){return o}):o)}catch(e){return Promise.reject(e)}},r.getTotalDenormalizedWeight=function(e){try{var t=this,r=x(new t.web3.eth.Contract(t.poolAbi,e),t.config),n=null,o=Pe(function(){return Promise.resolve(r.methods.getTotalDenormalizedWeight().call()).then(function(e){n=t.web3.utils.fromWei(e)})},function(e){g.error("ERROR: Failed to get total denormalized weight in pool "+e.message)});return Promise.resolve(o&&o.then?o.then(function(){return n}):n)}catch(e){return Promise.reject(e)}},r.getMarketFees=function(e,t,r){try{var n=this,o=x(new n.web3.eth.Contract(n.poolAbi,e),n.config),i=null,s=Pe(function(){return Promise.resolve(o.methods.publishMarketFees(t).call()).then(function(e){return Promise.resolve(n.unitsToAmount(t,e,r)).then(function(e){i=e})})},function(e){g.error("ERROR: Failed to get market fees for a token: "+e.message)});return Promise.resolve(s&&s.then?s.then(function(){return i}):i)}catch(e){return Promise.reject(e)}},r.getCurrentMarketFees=function(e){try{var t=this,r=x(new t.web3.eth.Contract(t.poolAbi,e),t.config);return Promise.resolve(Pe(function(){return Promise.resolve(r.methods.getCurrentOPCFees().call())},function(e){g.error("ERROR: Failed to get community fees for a token: "+e.message)}))}catch(e){return Promise.reject(e)}},r.getCurrentOPCFees=function(e){try{var t=this,r=x(new t.web3.eth.Contract(t.poolAbi,e),t.config);return Promise.resolve(Pe(function(){return Promise.resolve(r.methods.getCurrentOPCFees().call())},function(e){g.error("ERROR: Failed to get community fees for a token: "+e.message)}))}catch(e){return Promise.reject(e)}},r.getCommunityFees=function(e,t,r){try{var n=this,o=x(new n.web3.eth.Contract(n.poolAbi,e),n.config),i=null,s=Pe(function(){return Promise.resolve(o.methods.communityFees(t).call()).then(function(e){return Promise.resolve(n.unitsToAmount(t,e,r)).then(function(e){i=e})})},function(e){g.error("ERROR: Failed to get community fees for a token: "+e.message)});return Promise.resolve(s&&s.then?s.then(function(){return i}):i)}catch(e){return Promise.reject(e)}},r.estCollectOPC=function(e,t,r){try{var n=this,o=r||x(new n.web3.eth.Contract(n.poolAbi,t),n.config);return Promise.resolve(A(e,o.methods.collectOPC))}catch(e){return Promise.reject(e)}},r.collectOPC=function(e,t){try{var r=this,n=x(new r.web3.eth.Contract(r.poolAbi,t),r.config),o=null;return Promise.resolve(A(e,n.methods.collectOPC)).then(function(t){var i=Pe(function(){var i=n.methods.collectOPC(),s=i.send;return Promise.resolve(F(r.web3,r.config)).then(function(r){return Promise.resolve(s.call(i,{from:e,gas:t+1,gasPrice:r})).then(function(e){o=e})})},function(e){g.error("ERROR: Failed to swap exact amount in : "+e.message)});return i&&i.then?i.then(function(){return o}):o})}catch(e){return Promise.reject(e)}},r.estCollectMarketFee=function(e,t,r){try{var n=this,o=r||x(new n.web3.eth.Contract(n.poolAbi,t),n.config);return Promise.resolve(A(e,o.methods.collectMarketFee))}catch(e){return Promise.reject(e)}},r.collectMarketFee=function(e,t){try{var r=this;return Promise.resolve(r.getMarketFeeCollector(t)).then(function(n){if(n!==e)throw new Error("Caller is not MarketFeeCollector");var o=x(new r.web3.eth.Contract(r.poolAbi,t),r.config),i=null;return Promise.resolve(A(e,o.methods.collectMarketFee)).then(function(t){var n=Pe(function(){var n=o.methods.collectMarketFee(),s=n.send;return Promise.resolve(F(r.web3,r.config)).then(function(r){return Promise.resolve(s.call(n,{from:e,gas:t+1,gasPrice:r})).then(function(e){i=e})})},function(e){g.error("ERROR: Failed to swap exact amount in : "+e.message)});return n&&n.then?n.then(function(){return i}):i})})}catch(e){return Promise.reject(e)}},r.estUpdatePublishMarketFee=function(e,t,r,n,o){try{var i=this,s=o||x(new i.web3.eth.Contract(i.poolAbi,t),i.config);return Promise.resolve(A(e,s.methods.updatePublishMarketFee,r,i.web3.utils.toWei(n)))}catch(e){return Promise.reject(e)}},r.updatePublishMarketFee=function(e,t,r,n){try{var o=this;return Promise.resolve(o.getMarketFeeCollector(t)).then(function(i){if(i!==e)throw new Error("Caller is not MarketFeeCollector");var s=x(new o.web3.eth.Contract(o.poolAbi,t),o.config),a=null;return Promise.resolve(A(e,s.methods.updatePublishMarketFee,r,o.web3.utils.toWei(n))).then(function(t){var i=Pe(function(){var i=s.methods.updatePublishMarketFee(r,o.web3.utils.toWei(n)),c=i.send;return Promise.resolve(F(o.web3,o.config)).then(function(r){return Promise.resolve(c.call(i,{from:e,gas:t+1,gasPrice:r})).then(function(e){a=e})})},function(e){g.error("ERROR: Failed to updatePublishMarketFee : "+e.message)});return i&&i.then?i.then(function(){return a}):a})})}catch(e){return Promise.reject(e)}},r.estSwapExactAmountIn=function(e,t,r,n,o){try{var i=this,s=o||x(new i.web3.eth.Contract(i.poolAbi,t),i.config);return Promise.resolve(i.amountToUnits(r.tokenIn,n.tokenAmountIn,r.tokenInDecimals)).then(function(o){return Promise.resolve(i.amountToUnits(r.tokenOut,n.minAmountOut,r.tokenOutDecimals)).then(function(a){function c(t){var c=u?l.call(i,t,n.maxPrice):t;return A(e,s.methods.swapExactAmountIn,[r.tokenIn,r.tokenOut,r.marketFeeAddress],[o,a,c,i.web3.utils.toWei(n.swapMarketFee)])}var u=n.maxPrice,l=u&&i.amountToUnits;return u?Promise.resolve(i.getBaseToken(t)).then(c):c(ge)})})}catch(e){return Promise.reject(e)}},r.swapExactAmountIn=function(e,t,r,n){try{var o=this,s=x(new o.web3.eth.Contract(o.poolAbi,t),o.config);return Promise.resolve(ae(o,t,r.tokenIn)).then(function(a){if(new i(n.tokenAmountIn).greaterThan(a))throw new Error("tokenAmountIn is greater than "+a.toString());return Promise.resolve(o.amountToUnits(r.tokenIn,n.tokenAmountIn,r.tokenInDecimals)).then(function(i){return Promise.resolve(o.amountToUnits(r.tokenOut,n.minAmountOut,r.tokenOutDecimals)).then(function(a){function c(e){return l?Promise.resolve(m.call(o,e,n.maxPrice)).then(u):e}function u(t){return Promise.resolve(A(e,s.methods.swapExactAmountIn,[r.tokenIn,r.tokenOut,r.marketFeeAddress],[i,a,t,o.web3.utils.toWei(n.swapMarketFee)])).then(function(c){var u=null,l=Pe(function(){var l=s.methods.swapExactAmountIn([r.tokenIn,r.tokenOut,r.marketFeeAddress],[i,a,t,o.web3.utils.toWei(n.swapMarketFee)]),m=l.send;return Promise.resolve(F(o.web3,o.config)).then(function(t){return Promise.resolve(m.call(l,{from:e,gas:c+1,gasPrice:t})).then(function(e){u=e})})},function(e){g.error("ERROR: Failed to swap exact amount in : "+e.message)});return l&&l.then?l.then(function(){return u}):u})}var l=n.maxPrice,m=l&&o.amountToUnits;return l?Promise.resolve(o.getBaseToken(t)).then(c):c(u(ge))})})})}catch(e){return Promise.reject(e)}},r.estSwapExactAmountOut=function(e,t,r,n,o){try{var i=this,s=o||x(new i.web3.eth.Contract(i.poolAbi,t),i.config);return Promise.resolve(i.amountToUnits(r.tokenIn,n.maxAmountIn,r.tokenInDecimals)).then(function(o){return Promise.resolve(i.amountToUnits(r.tokenOut,n.tokenAmountOut,r.tokenOutDecimals)).then(function(a){function c(e){return l?Promise.resolve(m.call(i,e,n.maxPrice)).then(u):e}function u(t){return A(e,s.methods.swapExactAmountOut,[r.tokenIn,r.tokenOut,r.marketFeeAddress],[o,a,t,i.web3.utils.toWei(n.swapMarketFee)])}var l=n.maxPrice,m=l&&i.amountToUnits;return l?Promise.resolve(i.getBaseToken(t)).then(c):c(u(ge))})})}catch(e){return Promise.reject(e)}},r.swapExactAmountOut=function(e,t,r,n){try{var o=this,s=x(new o.web3.eth.Contract(o.poolAbi,t),o.config),a=null;return Promise.resolve(ce(o,t,r.tokenOut)).then(function(c){if(new i(n.tokenAmountOut).greaterThan(c))throw new Error("tokenAmountOut is greater than "+c.toString());return Promise.resolve(o.amountToUnits(r.tokenIn,n.maxAmountIn,r.tokenInDecimals)).then(function(i){return Promise.resolve(o.amountToUnits(r.tokenOut,n.tokenAmountOut,r.tokenOutDecimals)).then(function(c){function u(t){var u=l?m.call(o,t,n.maxPrice):t;return Promise.resolve(A(e,s.methods.swapExactAmountOut,[r.tokenIn,r.tokenOut,r.marketFeeAddress],[i,c,u,o.web3.utils.toWei(n.swapMarketFee)])).then(function(t){var l=Pe(function(){var l=s.methods.swapExactAmountOut([r.tokenIn,r.tokenOut,r.marketFeeAddress],[i,c,u,o.web3.utils.toWei(n.swapMarketFee)]),m=l.send;return Promise.resolve(F(o.web3,o.config)).then(function(r){return Promise.resolve(m.call(l,{from:e,gas:t+1,gasPrice:r})).then(function(e){a=e})})},function(e){g.error("ERROR: Failed to swap exact amount out: "+e.message)});return l&&l.then?l.then(function(){return a}):a})}var l=n.maxPrice,m=l&&o.amountToUnits;return l?Promise.resolve(o.getBaseToken(t)).then(u):u(ge)})})})}catch(e){return Promise.reject(e)}},r.estJoinswapExternAmountIn=function(e,t,r,n,o){try{var i=this,s=o||x(new i.web3.eth.Contract(i.poolAbi,t),i.config);return Promise.resolve(A(e,s.methods.joinswapExternAmountIn,r,n))}catch(e){return Promise.reject(e)}},r.joinswapExternAmountIn=function(e,t,r,n,o){try{var s=this,a=x(new s.web3.eth.Contract(s.poolAbi,t),s.config),c=null;return Promise.resolve(s.getBaseToken(t)).then(function(u){return Promise.resolve(se(s,t,u)).then(function(t){if(new i(r).greaterThan(t))throw new Error("tokenAmountOut is greater than "+t.toString());return Promise.resolve(s.amountToUnits(u,r,o)).then(function(t){return Promise.resolve(A(e,a.methods.joinswapExternAmountIn,t,s.web3.utils.toWei(n))).then(function(r){var o=Pe(function(){var o=a.methods.joinswapExternAmountIn(t,s.web3.utils.toWei(n)),i=o.send;return Promise.resolve(F(s.web3,s.config)).then(function(t){return Promise.resolve(i.call(o,{from:e,gas:r+1,gasPrice:t})).then(function(e){c=e})})},function(e){g.error("ERROR: Failed to pay tokens in order to join the pool: "+e.message)});return o&&o.then?o.then(function(){return c}):c})})})})}catch(e){return Promise.reject(e)}},r.estExitswapPoolAmountIn=function(e,t,r,n,o){try{var i=this,s=o||x(new i.web3.eth.Contract(i.poolAbi,t),i.config);return Promise.resolve(A(e,s.methods.exitswapPoolAmountIn,r,n))}catch(e){return Promise.reject(e)}},r.exitswapPoolAmountIn=function(e,t,r,n,o){try{var s=this,a=x(new s.web3.eth.Contract(s.poolAbi,t),s.config),c=null;return Promise.resolve(s.getBaseToken(t)).then(function(u){return Promise.resolve(s.calcSingleOutGivenPoolIn(t,u,r)).then(function(l){return Promise.resolve(ie(s,t,u)).then(function(u){if(new i(l).greaterThan(u))throw new Error("tokenAmountOut is greater than "+u.toString());var m=s.amountToUnits;return Promise.resolve(s.getBaseToken(t)).then(function(t){return Promise.resolve(m.call(s,t,n,o)).then(function(t){return Promise.resolve(A(e,a.methods.exitswapPoolAmountIn,s.web3.utils.toWei(r),t)).then(function(n){var o=Pe(function(){var o=a.methods.exitswapPoolAmountIn(s.web3.utils.toWei(r),t),i=o.send;return Promise.resolve(F(s.web3,s.config)).then(function(t){return Promise.resolve(i.call(o,{from:e,gas:n+1,gasPrice:t})).then(function(e){c=e})})},function(e){g.error("ERROR: Failed to pay pool shares into the pool: "+e.message)});return o&&o.then?o.then(function(){return c}):c})})})})})})}catch(e){return Promise.reject(e)}},r.getSpotPrice=function(e,r,n,o){try{var i=function(){function e(){function e(){var e;return u>l?(e=u-l,i=new t(i/Math.pow(10,e)),i/=Math.pow(10,l)):(e=l-u,i=new t(i*Math.pow(10,2*e)),i/=Math.pow(10,l)),i.toString()}var i=null,a=Pe(function(){return Promise.resolve(c.methods.getSpotPrice(r,n,s.web3.utils.toWei(o)).call()).then(function(e){i=new t((i=e).toString())})},function(){g.error("ERROR: Failed to get spot price of swapping tokenIn to tokenOut")});return a&&a.then?a.then(e):e()}var i=Pe(function(){return Promise.resolve(h.methods.decimals().call()).then(function(e){l=e})},function(e){g.error("ERROR: FAILED TO CALL DECIMALS(), USING 18 "+e.message)});return i&&i.then?i.then(e):e()},s=this,c=x(new s.web3.eth.Contract(s.poolAbi,e),s.config),u=18,l=18,m=x(new s.web3.eth.Contract(a.abi,r),s.config),h=x(new s.web3.eth.Contract(a.abi,n),s.config),f=Pe(function(){return Promise.resolve(m.methods.decimals().call()).then(function(e){u=e})},function(e){g.error("ERROR: FAILED TO CALL DECIMALS(), USING 18 "+e.message)});return Promise.resolve(f&&f.then?f.then(i):i())}catch(e){return Promise.reject(e)}},r.getAmountInExactOut=function(e,t,r,n,o,s,a){try{var c=this,u=x(new c.web3.eth.Contract(c.poolAbi,e),c.config);return Promise.resolve(ce(c,e,r)).then(function(e){if(new i(n).greaterThan(e))throw new Error("tokenAmountOut is greater than "+e.toString());return Promise.resolve(c.amountToUnits(r,n,a)).then(function(e){var n=null,i=Pe(function(){return Promise.resolve(u.methods.getAmountInExactOut(t,r,e,c.web3.utils.toWei(o)).call()).then(function(e){return Promise.resolve(c.unitsToAmount(r,e.tokenAmountIn,s)).then(function(r){return Promise.resolve(c.unitsToAmount(t,e.lpFeeAmount,s)).then(function(o){return Promise.resolve(c.unitsToAmount(t,e.oceanFeeAmount,s)).then(function(i){return Promise.resolve(c.unitsToAmount(t,e.publishMarketSwapFeeAmount,s)).then(function(a){return Promise.resolve(c.unitsToAmount(t,e.consumeMarketSwapFeeAmount,s)).then(function(e){n={tokenAmount:r,liquidityProviderSwapFeeAmount:o,oceanFeeAmount:i,publishMarketSwapFeeAmount:a,consumeMarketSwapFeeAmount:e}})})})})})})},function(e){g.error("ERROR: Failed to calcInGivenOut "+e.message)});return i&&i.then?i.then(function(){return n}):n})})}catch(e){return Promise.reject(e)}},r.getAmountOutExactIn=function(e,t,r,n,o,s,a){try{var c=this,u=x(new c.web3.eth.Contract(c.poolAbi,e),c.config);return Promise.resolve(ae(c,e,t)).then(function(e){if(new i(n).greaterThan(e))throw new Error("tokenAmountIn is greater than "+e.toString());return Promise.resolve(c.amountToUnits(t,n,s)).then(function(e){var n=null,i=Pe(function(){return Promise.resolve(u.methods.getAmountOutExactIn(t,r,e,c.web3.utils.toWei(o)).call()).then(function(e){return Promise.resolve(c.unitsToAmount(r,e.tokenAmountOut,a)).then(function(r){return Promise.resolve(c.unitsToAmount(t,e.lpFeeAmount,s)).then(function(o){return Promise.resolve(c.unitsToAmount(t,e.oceanFeeAmount,s)).then(function(i){return Promise.resolve(c.unitsToAmount(t,e.publishMarketSwapFeeAmount,s)).then(function(a){return Promise.resolve(c.unitsToAmount(t,e.consumeMarketSwapFeeAmount,s)).then(function(e){n={tokenAmount:r,liquidityProviderSwapFeeAmount:o,oceanFeeAmount:i,publishMarketSwapFeeAmount:a,consumeMarketSwapFeeAmount:e}})})})})})})},function(e){g.error("ERROR: Failed to calcOutGivenIn "+e.message)});return i&&i.then?i.then(function(){return n}):n})})}catch(e){return Promise.reject(e)}},r.calcPoolOutGivenSingleIn=function(e,t,r,n,o){try{var i=this,s=x(new i.web3.eth.Contract(i.poolAbi,e),i.config),a=null,c=Pe(function(){var c=s.methods,u=c.calcPoolOutSingleIn;return Promise.resolve(i.amountToUnits(t,r,o)).then(function(r){return Promise.resolve(u.call(c,t,r).call()).then(function(t){return Promise.resolve(i.unitsToAmount(e,t,n)).then(function(e){a=e})})})},function(e){g.error("ERROR: Failed to calculate PoolOutGivenSingleIn : "+e.message)});return Promise.resolve(c&&c.then?c.then(function(){return a}):a)}catch(e){return Promise.reject(e)}},r.calcSingleInGivenPoolOut=function(e,t,r,n,o){try{var i=this,s=x(new i.web3.eth.Contract(i.poolAbi,e),i.config),a=null;return Promise.resolve(i.amountToUnits(e,r,n)).then(function(e){var r=Pe(function(){return Promise.resolve(s.methods.calcSingleInPoolOut(t,e).call()).then(function(e){return Promise.resolve(i.unitsToAmount(t,e,o)).then(function(e){a=e})})},function(e){g.error("ERROR: Failed to calculate SingleInGivenPoolOut : "+e.message)});return r&&r.then?r.then(function(){return a}):a})}catch(e){return Promise.reject(e)}},r.calcSingleOutGivenPoolIn=function(e,t,r,n,o){try{var i=this,s=x(new i.web3.eth.Contract(i.poolAbi,e),i.config),a=null,c=Pe(function(){var c=s.methods,u=c.calcSingleOutPoolIn;return Promise.resolve(i.amountToUnits(e,r,n)).then(function(e){return Promise.resolve(u.call(c,t,e).call()).then(function(e){return Promise.resolve(i.unitsToAmount(t,e,o)).then(function(e){a=e})})})},function(e){g.error("ERROR: Failed to calculate SingleOutGivenPoolIn : "+e)});return Promise.resolve(c&&c.then?c.then(function(){return a}):a)}catch(e){return Promise.reject(e)}},r.calcPoolInGivenSingleOut=function(e,t,r,n,o){try{var i=this,s=x(new i.web3.eth.Contract(i.poolAbi,e),i.config),a=null,c=Pe(function(){var c=s.methods,u=c.calcPoolInSingleOut;return Promise.resolve(i.amountToUnits(t,r,o)).then(function(r){return Promise.resolve(u.call(c,t,r).call()).then(function(t){return Promise.resolve(i.unitsToAmount(e,t,n)).then(function(e){a=e})})})},function(e){g.error("ERROR: Failed to calculate PoolInGivenSingleOut : "+e.message)});return Promise.resolve(c&&c.then?c.then(function(){return a}):a)}catch(e){return Promise.reject(e)}},r.getSwapEventSignature=function(){var e=this.poolAbi.find(function(e){return"event"===e.type&&"LOG_SWAP"===e.name});return this.web3.eth.abi.encodeEventSignature(e)},r.getJoinEventSignature=function(){var e=this.poolAbi.find(function(e){return"event"===e.type&&"LOG_JOIN"===e.name});return this.web3.eth.abi.encodeEventSignature(e)},r.getExitEventSignature=function(){var e=this.poolAbi.find(function(e){return"event"===e.type&&"LOG_EXIT"===e.name});return this.web3.eth.abi.encodeEventSignature(e)},e}();function we(e,t){try{var r=e()}catch(e){return t(e)}return r&&r.then?r.then(void 0,t):r}var be,ye=/*#__PURE__*/function(){function e(e,t,r,n,o){void 0===r&&(r=null),void 0===n&&(n=null),this.web3=null,this.dispenserAddress=void 0,this.config=void 0,this.dispenserAbi=void 0,this.dispenserContract=void 0,this.web3=e,this.dispenserAddress=r,this.dispenserAbi=n||c.abi,this.config=o||(new _).getConfig(t||"unknown"),e&&(this.dispenserContract=x(new this.web3.eth.Contract(this.dispenserAbi,this.dispenserAddress),this.config))}var t=e.prototype;return t.status=function(e){try{var t,r=this,n=we(function(){return Promise.resolve(r.dispenserContract.methods.status(e).call()).then(function(e){return e.maxTokens=r.web3.utils.fromWei(e.maxTokens),e.maxBalance=r.web3.utils.fromWei(e.maxBalance),e.balance=r.web3.utils.fromWei(e.balance),t=1,e})},function(){g.warn("No dispenser available for datatoken: "+e)});return Promise.resolve(n&&n.then?n.then(function(e){return t?e:null}):t?n:null)}catch(e){return Promise.reject(e)}},t.estGasCreate=function(e,t,r,n,o){try{var i=this;return Promise.resolve(A(t,i.dispenserContract.methods.create,e,i.web3.utils.toWei(r),i.web3.utils.toWei(n),t,o))}catch(e){return Promise.reject(e)}},t.create=function(e,t,r,n,o){try{var i=this;return Promise.resolve(A(t,i.dispenserContract.methods.create,e,i.web3.utils.toWei(r),i.web3.utils.toWei(n),t,o)).then(function(s){var a=i.dispenserContract.methods.create(e,i.web3.utils.toWei(r),i.web3.utils.toWei(n),t,o),c=a.send;return Promise.resolve(F(i.web3,i.config)).then(function(e){return Promise.resolve(c.call(a,{from:t,gas:s+1,gasPrice:e}))})})}catch(e){return Promise.reject(e)}},t.estGasActivate=function(e,t,r,n){try{var o=this;return Promise.resolve(A(n,o.dispenserContract.methods.activate,e,o.web3.utils.toWei(t),o.web3.utils.toWei(r)))}catch(e){return Promise.reject(e)}},t.activate=function(e,t,r,n){try{var o,i=this,s=we(function(){return Promise.resolve(A(n,i.dispenserContract.methods.activate,e,i.web3.utils.toWei(t),i.web3.utils.toWei(r))).then(function(s){var a=i.dispenserContract.methods.activate(e,i.web3.utils.toWei(t),i.web3.utils.toWei(r)),c=a.send;return Promise.resolve(F(i.web3,i.config)).then(function(e){return Promise.resolve(c.call(a,{from:n,gas:s+1,gasPrice:e})).then(function(e){return o=1,e})})})},function(e){g.error("ERROR: Failed to activate dispenser: "+e.message)});return Promise.resolve(s&&s.then?s.then(function(e){return o?e:null}):o?s:null)}catch(e){return Promise.reject(e)}},t.estGasDeactivate=function(e,t){try{return Promise.resolve(A(t,this.dispenserContract.methods.deactivate,e))}catch(e){return Promise.reject(e)}},t.deactivate=function(e,t){try{var r,n=this,o=we(function(){return Promise.resolve(A(t,n.dispenserContract.methods.deactivate,e)).then(function(o){var i=n.dispenserContract.methods.deactivate(e),s=i.send;return Promise.resolve(F(n.web3,n.config)).then(function(e){return Promise.resolve(s.call(i,{from:t,gas:o+1,gasPrice:e})).then(function(e){return r=1,e})})})},function(e){g.error("ERROR: Failed to activate dispenser: "+e.message)});return Promise.resolve(o&&o.then?o.then(function(e){return r?e:null}):r?o:null)}catch(e){return Promise.reject(e)}},t.estGasSetAllowedSwapper=function(e,t,r){try{return Promise.resolve(A(t,this.dispenserContract.methods.setAllowedSwapper,e,r))}catch(e){return Promise.reject(e)}},t.setAllowedSwapper=function(e,t,r){try{var n,o=this,i=we(function(){return Promise.resolve(A(t,o.dispenserContract.methods.setAllowedSwapper,e,r)).then(function(i){var s=o.dispenserContract.methods.setAllowedSwapper(e,r),a=s.send;return Promise.resolve(F(o.web3,o.config)).then(function(e){return Promise.resolve(a.call(s,{from:t,gas:i+1,gasPrice:e})).then(function(e){return n=1,e})})})},function(e){g.error("ERROR: Failed to activate dispenser: "+e.message)});return Promise.resolve(i&&i.then?i.then(function(e){return n?e:null}):n?i:null)}catch(e){return Promise.reject(e)}},t.estGasDispense=function(e,t,r,n){void 0===r&&(r="1");try{return Promise.resolve(A(t,this.dispenserContract.methods.dispense,e,this.web3.utils.toWei(r),n))}catch(e){return Promise.reject(e)}},t.dispense=function(e,t,r,n){void 0===r&&(r="1");try{var o=this;return Promise.resolve(A(t,o.dispenserContract.methods.dispense,e,o.web3.utils.toWei(r),n)).then(function(i){var s,a=we(function(){var a=o.dispenserContract.methods.dispense(e,o.web3.utils.toWei(r),n),c=a.send;return Promise.resolve(F(o.web3,o.config)).then(function(e){return Promise.resolve(c.call(a,{from:t,gas:i+1,gasPrice:e})).then(function(e){return s=1,e})})},function(e){g.error("ERROR: Failed to dispense tokens: "+e.message)});return a&&a.then?a.then(function(e){return s?e:null}):s?a:null})}catch(e){return Promise.reject(e)}},t.estGasOwnerWithdraw=function(e,t){try{return Promise.resolve(A(t,this.dispenserContract.methods.ownerWithdraw,e))}catch(e){return Promise.reject(e)}},t.ownerWithdraw=function(e,t){try{var r=this;return Promise.resolve(A(t,r.dispenserContract.methods.ownerWithdraw,e)).then(function(n){var o,i=we(function(){var i=r.dispenserContract.methods.ownerWithdraw(e),s=i.send;return Promise.resolve(F(r.web3,r.config)).then(function(e){return Promise.resolve(s.call(i,{from:t,gas:n+1,gasPrice:e})).then(function(e){return o=1,e})})},function(e){g.error("ERROR: Failed to withdraw tokens: "+e.message)});return i&&i.then?i.then(function(e){return o?e:null}):o?i:null})}catch(e){return Promise.reject(e)}},t.isDispensable=function(e,t,r,n){void 0===n&&(n="1");try{return Promise.resolve(this.status(e)).then(function(o){return!!o&&!1!==o.active&&Promise.resolve(t.balance(e,r)).then(function(e){return!(new i(e).greaterThanOrEqualTo(o.maxBalance)||new i(String(n)).greaterThan(o.maxTokens)||!new i(o.balance).greaterThanOrEqualTo(n)&&!0!==o.isMinter)})})}catch(e){return Promise.reject(e)}},e}();function Ce(e,t){try{var r=e()}catch(e){return t(e)}return r&&r.then?r.then(void 0,t):r}!function(e){e[e.CreatingExchange=0]="CreatingExchange",e[e.ApprovingDatatoken=1]="ApprovingDatatoken"}(be||(be={}));var Re=/*#__PURE__*/function(){function e(e,t,r,n,o,i){void 0===n&&(n=null),void 0===o&&(o=null),this.oceanAddress=null,this.fixedRateAddress=void 0,this.fixedRateExchangeAbi=void 0,this.web3=void 0,this.fixedRateContract=null,this.config=void 0,this.ssAbi=void 0,this.web3=e,this.config=i||(new _).getConfig(r||"unknown"),this.fixedRateExchangeAbi=n||u.abi,this.oceanAddress=o,this.fixedRateAddress=t,this.fixedRateContract=x(new this.web3.eth.Contract(this.fixedRateExchangeAbi,this.fixedRateAddress),this.config)}var t=e.prototype;return t.amountToUnits=function(e,t,r){try{return Promise.resolve(k(this.web3,e,t,r))}catch(e){return Promise.reject(e)}},t.unitsToAmount=function(e,t,r){try{return Promise.resolve(T(this.web3,e,t,r))}catch(e){return Promise.reject(e)}},t.generateExchangeId=function(e,t){try{return Promise.resolve(this.fixedRateContract.methods.generateExchangeId(e,t).call())}catch(e){return Promise.reject(e)}},t.estBuyDT=function(e,t,r,n,o,i,s){try{return Promise.resolve(A(e,(s||this.fixedRateContract).methods.buyDT,t,r,n,o,i))}catch(e){return Promise.reject(e)}},t.buyDT=function(e,t,r,n,o,i){void 0===o&&(o=y),void 0===i&&(i="0");try{var s=this;return Promise.resolve(s.getExchange(t)).then(function(a){var c=s.web3.utils.toWei(i);return Promise.resolve(s.amountToUnits(a.datatoken,r,+a.dtDecimals)).then(function(r){return Promise.resolve(s.amountToUnits(a.baseToken,n,+a.btDecimals)).then(function(n){return Promise.resolve(A(e,s.fixedRateContract.methods.buyDT,t,r,n,o,c)).then(function(i){return Ce(function(){var a=s.fixedRateContract.methods.buyDT(t,r,n,o,c),u=a.send;return Promise.resolve(F(s.web3,s.config)).then(function(t){return Promise.resolve(u.call(a,{from:e,gas:i+1,gasPrice:t}))})},function(e){return g.error("ERROR: Failed to buy datatokens: "+e.message),null})})})})})}catch(e){return Promise.reject(e)}},t.estSellDT=function(e,t,r,n,o,i,s){try{return Promise.resolve(A(e,(s||this.fixedRateContract).methods.sellDT,t,r,n,o,i))}catch(e){return Promise.reject(e)}},t.sellDT=function(e,t,r,n,o,i){void 0===o&&(o=y),void 0===i&&(i="0");try{var s=this;return Promise.resolve(s.getExchange(t)).then(function(a){var c=s.web3.utils.toWei(i);return Promise.resolve(s.amountToUnits(a.datatoken,r,+a.dtDecimals)).then(function(r){return Promise.resolve(s.amountToUnits(a.baseToken,n,+a.btDecimals)).then(function(n){return Promise.resolve(A(e,s.fixedRateContract.methods.sellDT,t,r,n,o,c)).then(function(i){return Ce(function(){var a=s.fixedRateContract.methods.sellDT(t,r,n,o,c),u=a.send;return Promise.resolve(F(s.web3,s.config)).then(function(t){return Promise.resolve(u.call(a,{from:e,gas:i+1,gasPrice:t}))})},function(e){return g.error("ERROR: Failed to sell datatokens: "+e.message),null})})})})})}catch(e){return Promise.reject(e)}},t.getNumberOfExchanges=function(){try{return Promise.resolve(this.fixedRateContract.methods.getNumberOfExchanges().call())}catch(e){return Promise.reject(e)}},t.estSetRate=function(e,t,r,n){try{var o=(n||this.fixedRateContract).methods.setRate;return Promise.resolve(this.web3.utils.toWei(r)).then(function(r){return A(e,o,t,r)})}catch(e){return Promise.reject(e)}},t.setRate=function(e,t,r){try{var n=this;return Promise.resolve(A(e,n.fixedRateContract.methods.setRate,t,n.web3.utils.toWei(r))).then(function(o){var i=n.fixedRateContract.methods.setRate(t,n.web3.utils.toWei(r)),s=i.send;return Promise.resolve(F(n.web3,n.config)).then(function(t){return Promise.resolve(s.call(i,{from:e,gas:o+1,gasPrice:t}))})})}catch(e){return Promise.reject(e)}},t.estSetAllowedSwapper=function(e,t,r,n){try{return Promise.resolve(A(e,(n||this.fixedRateContract).methods.setAllowedSwapper,t,r))}catch(e){return Promise.reject(e)}},t.setAllowedSwapper=function(e,t,r){try{var n=this;return Promise.resolve(A(e,n.fixedRateContract.methods.setAllowedSwapper,t,r)).then(function(o){var i=n.fixedRateContract.methods.setAllowedSwapper(t,r),s=i.send;return Promise.resolve(F(n.web3,n.config)).then(function(t){return Promise.resolve(s.call(i,{from:e,gas:o+1,gasPrice:t}))})})}catch(e){return Promise.reject(e)}},t.estActivate=function(e,t,r){try{return Promise.resolve(A(e,(r||this.fixedRateContract).methods.toggleExchangeState,t))}catch(e){return Promise.reject(e)}},t.activate=function(e,t){try{var r=this;return Promise.resolve(r.getExchange(t)).then(function(n){return n?!0===n.active?null:Promise.resolve(A(e,r.fixedRateContract.methods.toggleExchangeState,t)).then(function(n){var o=r.fixedRateContract.methods.toggleExchangeState(t),i=o.send;return Promise.resolve(F(r.web3,r.config)).then(function(t){return Promise.resolve(i.call(o,{from:e,gas:n+1,gasPrice:t}))})}):null})}catch(e){return Promise.reject(e)}},t.estDeactivate=function(e,t,r){try{return Promise.resolve(A(e,(r||this.fixedRateContract).methods.toggleExchangeState,t))}catch(e){return Promise.reject(e)}},t.deactivate=function(e,t){try{var r=this;return Promise.resolve(r.getExchange(t)).then(function(n){return n?!1===n.active?null:Promise.resolve(A(e,r.fixedRateContract.methods.toggleExchangeState,t)).then(function(n){var o=r.fixedRateContract.methods.toggleExchangeState(t),i=o.send;return Promise.resolve(F(r.web3,r.config)).then(function(t){return Promise.resolve(i.call(o,{from:e,gas:n+1,gasPrice:t}))})}):null})}catch(e){return Promise.reject(e)}},t.getRate=function(e){try{var t=this;return Promise.resolve(t.fixedRateContract.methods.getRate(e).call()).then(function(e){return Promise.resolve(t.web3.utils.fromWei(e))})}catch(e){return Promise.reject(e)}},t.getDTSupply=function(e){try{var t=this;return Promise.resolve(t.fixedRateContract.methods.getDTSupply(e).call()).then(function(r){return Promise.resolve(t.getExchange(e)).then(function(e){return Promise.resolve(t.unitsToAmount(e.datatoken,r,+e.dtDecimals))})})}catch(e){return Promise.reject(e)}},t.getBTSupply=function(e){try{var t=this;return Promise.resolve(t.fixedRateContract.methods.getBTSupply(e).call()).then(function(r){return Promise.resolve(t.getExchange(e)).then(function(e){return Promise.resolve(t.unitsToAmount(e.baseToken,r,+e.btDecimals))})})}catch(e){return Promise.reject(e)}},t.getAllowedSwapper=function(e){try{return Promise.resolve(this.fixedRateContract.methods.getAllowedSwapper(e).call())}catch(e){return Promise.reject(e)}},t.calcBaseInGivenOutDT=function(e,t,r){void 0===r&&(r="0");try{var n=this;return Promise.resolve(n.getExchange(e)).then(function(o){var i=n.fixedRateContract.methods,s=i.calcBaseInGivenOutDT;return Promise.resolve(n.amountToUnits(o.datatoken,t,+o.dtDecimals)).then(function(t){return Promise.resolve(s.call(i,e,t,n.web3.utils.toWei(r)).call()).then(function(e){return Promise.resolve(n.unitsToAmount(o.baseToken,e.baseTokenAmount,+o.btDecimals)).then(function(t){return Promise.resolve(n.unitsToAmount(o.baseToken,e.marketFeeAmount,+o.btDecimals)).then(function(r){return Promise.resolve(n.unitsToAmount(o.baseToken,e.oceanFeeAmount,+o.btDecimals)).then(function(i){return Promise.resolve(n.unitsToAmount(o.baseToken,e.consumeMarketFeeAmount,+o.btDecimals)).then(function(e){return{baseTokenAmount:t,marketFeeAmount:r,oceanFeeAmount:i,consumeMarketFeeAmount:e}})})})})})})})}catch(e){return Promise.reject(e)}},t.getAmountBTOut=function(e,t,r){void 0===r&&(r="0");try{var n=this;return Promise.resolve(n.getExchange(e)).then(function(o){var i=n.fixedRateContract.methods,s=i.calcBaseOutGivenInDT;return Promise.resolve(n.amountToUnits(o.datatoken,t,+o.dtDecimals)).then(function(t){return Promise.resolve(s.call(i,e,t,n.web3.utils.toWei(r)).call()).then(function(e){return Promise.resolve(n.unitsToAmount(o.baseToken,e[0],+o.btDecimals))})})})}catch(e){return Promise.reject(e)}},t.getExchange=function(e){try{var t=this;return Promise.resolve(t.fixedRateContract.methods.getExchange(e).call()).then(function(r){return r.dtDecimals=r.dtDecimals.toString(),r.btDecimals=r.btDecimals.toString(),Promise.resolve(t.unitsToAmount(r.datatoken,r.dtBalance,+r.dtDecimals)).then(function(n){return r.dtBalance=n,Promise.resolve(t.unitsToAmount(r.baseToken,r.btBalance,+r.btDecimals)).then(function(n){return r.btBalance=n,Promise.resolve(t.unitsToAmount(r.datatoken,r.dtSupply,+r.dtDecimals)).then(function(n){return r.dtSupply=n,Promise.resolve(t.unitsToAmount(r.baseToken,r.btSupply,+r.btDecimals)).then(function(n){return r.btSupply=n,r.fixedRate=t.web3.utils.fromWei(r.fixedRate),r.exchangeId=e,r})})})})})}catch(e){return Promise.reject(e)}},t.getFeesInfo=function(e){try{var t=this;return Promise.resolve(t.fixedRateContract.methods.getFeesInfo(e).call()).then(function(r){return r.opcFee=t.web3.utils.fromWei(r.opcFee.toString()),r.marketFee=t.web3.utils.fromWei(r.marketFee.toString()),Promise.resolve(t.getExchange(e)).then(function(n){return Promise.resolve(t.unitsToAmount(n.baseToken,r.marketFeeAvailable,+n.btDecimals)).then(function(o){return r.marketFeeAvailable=o,Promise.resolve(t.unitsToAmount(n.baseToken,r.oceanFeeAvailable,+n.btDecimals)).then(function(t){return r.oceanFeeAvailable=t,r.exchangeId=e,r})})})})}catch(e){return Promise.reject(e)}},t.getExchanges=function(){try{return Promise.resolve(this.fixedRateContract.methods.getExchanges().call())}catch(e){return Promise.reject(e)}},t.isActive=function(e){try{return Promise.resolve(this.fixedRateContract.methods.isActive(e).call())}catch(e){return Promise.reject(e)}},t.estActivateMint=function(e,t,r){try{return Promise.resolve(A(e,(r||this.fixedRateContract).methods.toggleMintState,t,!0))}catch(e){return Promise.reject(e)}},t.activateMint=function(e,t){try{var r=this;return Promise.resolve(r.getExchange(t)).then(function(n){return n?!0===n.withMint?null:Promise.resolve(A(e,r.fixedRateContract.methods.toggleMintState,t,!0)).then(function(n){var o=r.fixedRateContract.methods.toggleMintState(t,!0),i=o.send;return Promise.resolve(F(r.web3,r.config)).then(function(t){return Promise.resolve(i.call(o,{from:e,gas:n+1,gasPrice:t}))})}):null})}catch(e){return Promise.reject(e)}},t.estDeactivateMint=function(e,t,r){try{return Promise.resolve(A(e,(r||this.fixedRateContract).methods.toggleMintState(t,!1),t,!1))}catch(e){return Promise.reject(e)}},t.deactivateMint=function(e,t){try{var r=this;return Promise.resolve(r.getExchange(t)).then(function(n){return n?!1===n.withMint?null:Promise.resolve(A(e,r.fixedRateContract.methods.toggleMintState,t,!1)).then(function(n){var o=r.fixedRateContract.methods.toggleMintState(t,!1),i=o.send;return Promise.resolve(F(r.web3,r.config)).then(function(t){return Promise.resolve(i.call(o,{from:e,gas:n+1,gasPrice:t}))})}):null})}catch(e){return Promise.reject(e)}},t.estCollectBT=function(e,t,r,n){try{var o=this,i=n||o.fixedRateContract;return Promise.resolve(o.fixedRateContract.methods.getExchange(t).call()).then(function(n){return Promise.resolve(o.amountToUnits(n.baseToken,r,+n.btDecimals)).then(function(r){return A(e,i.methods.collectBT,t,r)})})}catch(e){return Promise.reject(e)}},t.collectBT=function(e,t,r){try{var n=this;return Promise.resolve(n.getExchange(t)).then(function(o){return o?Promise.resolve(n.fixedRateContract.methods.getExchange(t).call()).then(function(o){return Promise.resolve(n.amountToUnits(o.baseToken,r,+o.btDecimals)).then(function(r){return Promise.resolve(A(e,n.fixedRateContract.methods.collectBT,t,r)).then(function(o){var i=n.fixedRateContract.methods.collectBT(t,r),s=i.send;return Promise.resolve(F(n.web3,n.config)).then(function(t){return Promise.resolve(s.call(i,{from:e,gas:o+1,gasPrice:t}))})})})}):null})}catch(e){return Promise.reject(e)}},t.estCollectDT=function(e,t,r,n){try{var o=this,i=n||o.fixedRateContract;return Promise.resolve(o.fixedRateContract.methods.getExchange(t).call()).then(function(n){return Promise.resolve(o.amountToUnits(n.datatoken,r,+n.dtDecimals)).then(function(r){return A(e,i.methods.collectDT,t,r)})})}catch(e){return Promise.reject(e)}},t.collectDT=function(e,t,r){try{var n=this;return Promise.resolve(n.getExchange(t)).then(function(o){return o?Promise.resolve(n.fixedRateContract.methods.getExchange(t).call()).then(function(o){return Promise.resolve(n.amountToUnits(o.datatoken,r,+o.dtDecimals)).then(function(r){return Promise.resolve(A(e,n.fixedRateContract.methods.collectDT,t,r)).then(function(o){var i=n.fixedRateContract.methods.collectDT(t,r),s=i.send;return Promise.resolve(F(n.web3,n.config)).then(function(t){return Promise.resolve(s.call(i,{from:e,gas:o+1,gasPrice:t}))})})})}):null})}catch(e){return Promise.reject(e)}},t.estCollectMarketFee=function(e,t,r){try{return Promise.resolve(A(e,(r||this.fixedRateContract).methods.collectMarketFee,t))}catch(e){return Promise.reject(e)}},t.collectMarketFee=function(e,t){try{var r=this;return Promise.resolve(r.getExchange(t)).then(function(n){return n?Promise.resolve(A(e,r.fixedRateContract.methods.collectMarketFee,t)).then(function(n){var o=r.fixedRateContract.methods.collectMarketFee(t),i=o.send;return Promise.resolve(F(r.web3,r.config)).then(function(t){return Promise.resolve(i.call(o,{from:e,gas:n+1,gasPrice:t}))})}):null})}catch(e){return Promise.reject(e)}},t.estCollectOceanFee=function(e,t,r){try{return Promise.resolve(A(e,(r||this.fixedRateContract).methods.collectMarketFee,t))}catch(e){return Promise.reject(e)}},t.collectOceanFee=function(e,t){try{var r=this;return Promise.resolve(r.getExchange(t)).then(function(n){return n?Promise.resolve(A(e,r.fixedRateContract.methods.collectOceanFee,t)).then(function(n){var o=r.fixedRateContract.methods.collectOceanFee(t),i=o.send;return Promise.resolve(F(r.web3,r.config)).then(function(t){return Promise.resolve(i.call(o,{from:e,gas:n+1,gasPrice:t}))})}):null})}catch(e){return Promise.reject(e)}},t.getOPCCollector=function(){try{var e=this,t=null,r=Ce(function(){return Promise.resolve(e.fixedRateContract.methods.opcCollector().call()).then(function(e){t=e})},function(e){g.error("ERROR: Failed to get OPC Collector address: "+e.message)});return Promise.resolve(r&&r.then?r.then(function(){return t}):t)}catch(e){return Promise.reject(e)}},t.getRouter=function(){try{var e=this,t=null,r=Ce(function(){return Promise.resolve(e.fixedRateContract.methods.router().call()).then(function(e){t=e})},function(e){g.error("ERROR: Failed to get Router address: "+e.message)});return Promise.resolve(r&&r.then?r.then(function(){return t}):t)}catch(e){return Promise.reject(e)}},t.getExchangeOwner=function(e){try{var t=this,r=null,n=Ce(function(){return Promise.resolve(t.getExchange(e)).then(function(e){return Promise.resolve(e.exchangeOwner).then(function(e){r=e})})},function(e){g.error("ERROR: Failed to get OPF Collector address: "+e.message)});return Promise.resolve(n&&n.then?n.then(function(){return r}):r)}catch(e){return Promise.reject(e)}},t.estUpdateMarketFee=function(e,t,r,n){try{return Promise.resolve(A(e,(n||this.fixedRateContract).methods.updateMarketFee,t,r))}catch(e){return Promise.reject(e)}},t.updateMarketFee=function(e,t,r){try{var n=this;return Promise.resolve(A(e,n.fixedRateContract.methods.updateMarketFee,t,n.web3.utils.toWei(r))).then(function(o){var i=n.fixedRateContract.methods.updateMarketFee(t,n.web3.utils.toWei(r)),s=i.send;return Promise.resolve(F(n.web3,n.config)).then(function(t){return Promise.resolve(s.call(i,{from:e,gas:o+1,gasPrice:t}))})})}catch(e){return Promise.reject(e)}},t.estUpdateMarketFeeCollector=function(e,t,r,n){try{return Promise.resolve(A(e,(n||this.fixedRateContract).methods.updateMarketFeeCollector,t,r))}catch(e){return Promise.reject(e)}},t.updateMarketFeeCollector=function(e,t,r){try{var n=this;return Promise.resolve(A(e,n.fixedRateContract.methods.updateMarketFeeCollector,t,r)).then(function(o){var i=n.fixedRateContract.methods.updateMarketFeeCollector(t,r),s=i.send;return Promise.resolve(F(n.web3,n.config)).then(function(t){return Promise.resolve(s.call(i,{from:e,gas:o+1,gasPrice:t}))})})}catch(e){return Promise.reject(e)}},e}();function Ae(e,t){try{var r=e()}catch(e){return t(e)}return r&&r.then?r.then(void 0,t):r}var ke=/*#__PURE__*/function(){function e(e,t,r,n){void 0===r&&(r=null),this.ssAbi=void 0,this.web3=void 0,this.config=void 0,this.ssAbi=r||l.abi,this.web3=e,this.config=n||(new _).getConfig(t||"unknown")}var t=e.prototype;return t.unitsToAmount=function(e,t,r){try{return Promise.resolve(T(this.web3,e,t,r))}catch(e){return Promise.reject(e)}},t.getDatatokenCirculatingSupply=function(e,t){try{var r=function(){return o.toString()},n=new this.web3.eth.Contract(this.ssAbi,e),o=null,i=Ae(function(){return Promise.resolve(n.methods.getDatatokenCirculatingSupply(t).call()).then(function(e){o=e})},function(e){g.error("ERROR: Failed to get: "+e.message)});return Promise.resolve(i&&i.then?i.then(r):r())}catch(e){return Promise.reject(e)}},t.getDatatokenCurrentCirculatingSupply=function(e,t){try{var r=this;return Promise.resolve(Ae(function(){var n=new r.web3.eth.Contract(r.ssAbi,e);return Promise.resolve(n.methods.getDatatokenCurrentCirculatingSupply(t).call()).then(function(e){return e.toString()})},function(e){g.error("ERROR: Failed to get: "+e.message)}))}catch(e){return Promise.reject(e)}},t.getPublisherAddress=function(e,t){try{var r=new this.web3.eth.Contract(this.ssAbi,e),n=null,o=Ae(function(){return Promise.resolve(r.methods.getPublisherAddress(t).call()).then(function(e){n=e})},function(e){g.error("ERROR: Failed to get: "+e.message)});return Promise.resolve(o&&o.then?o.then(function(){return n}):n)}catch(e){return Promise.reject(e)}},t.getBaseToken=function(e,t){try{var r=new this.web3.eth.Contract(this.ssAbi,e),n=null,o=Ae(function(){return Promise.resolve(r.methods.getBaseTokenAddress(t).call()).then(function(e){n=e})},function(e){g.error("ERROR: Failed to get: "+e.message)});return Promise.resolve(o&&o.then?o.then(function(){return n}):n)}catch(e){return Promise.reject(e)}},t.getPoolAddress=function(e,t){try{var r=new this.web3.eth.Contract(this.ssAbi,e),n=null,o=Ae(function(){return Promise.resolve(r.methods.getPoolAddress(t).call()).then(function(e){n=e})},function(e){g.error("ERROR: Failed to get: "+e.message)});return Promise.resolve(o&&o.then?o.then(function(){return n}):n)}catch(e){return Promise.reject(e)}},t.getBaseTokenBalance=function(e,t){try{var r=new this.web3.eth.Contract(this.ssAbi,e),n=null,o=Ae(function(){return Promise.resolve(r.methods.getBaseTokenBalance(t).call()).then(function(e){n=e})},function(e){g.error("ERROR: Failed to get: "+e.message)});return Promise.resolve(o&&o.then?o.then(function(){return n}):n)}catch(e){return Promise.reject(e)}},t.getDatatokenBalance=function(e,t,r){try{var n=function(){return Promise.resolve(o.unitsToAmount(t,s,r)).then(function(e){return s=e})},o=this,i=new o.web3.eth.Contract(o.ssAbi,e),s=null,a=Ae(function(){return Promise.resolve(i.methods.getDatatokenBalance(t).call()).then(function(e){s=e})},function(e){g.error("ERROR: Failed to get: "+e.message)});return Promise.resolve(a&&a.then?a.then(n):n())}catch(e){return Promise.reject(e)}},t.getvestingEndBlock=function(e,t){try{var r=new this.web3.eth.Contract(this.ssAbi,e),n=null,o=Ae(function(){return Promise.resolve(r.methods.getvestingEndBlock(t).call()).then(function(e){n=e})},function(e){g.error("ERROR: Failed to get: "+e.message)});return Promise.resolve(o&&o.then?o.then(function(){return n}):n)}catch(e){return Promise.reject(e)}},t.getvestingAmount=function(e,t,r){try{var n=function(){return Promise.resolve(o.unitsToAmount(t,s,r)).then(function(e){return s=e})},o=this,i=new o.web3.eth.Contract(o.ssAbi,e),s=null,a=Ae(function(){return Promise.resolve(i.methods.getvestingAmount(t).call()).then(function(e){s=e})},function(e){g.error("ERROR: Failed to get: "+e.message)});return Promise.resolve(a&&a.then?a.then(n):n())}catch(e){return Promise.reject(e)}},t.getvestingLastBlock=function(e,t){try{var r=new this.web3.eth.Contract(this.ssAbi,e),n=null,o=Ae(function(){return Promise.resolve(r.methods.getvestingLastBlock(t).call()).then(function(e){n=e})},function(e){g.error("ERROR: Failed to get: "+e.message)});return Promise.resolve(o&&o.then?o.then(function(){return n}):n)}catch(e){return Promise.reject(e)}},t.getvestingAmountSoFar=function(e,t,r){try{var n=function(){return Promise.resolve(o.unitsToAmount(t,s,r)).then(function(e){return s=e})},o=this,i=new o.web3.eth.Contract(o.ssAbi,e),s=null,a=Ae(function(){return Promise.resolve(i.methods.getvestingAmountSoFar(t).call()).then(function(e){s=e})},function(e){g.error("ERROR: Failed to get: "+e.message)});return Promise.resolve(a&&a.then?a.then(n):n())}catch(e){return Promise.reject(e)}},t.estGetVesting=function(e,t,r,n){try{var o=n||new this.web3.eth.Contract(this.ssAbi,t);return Promise.resolve(A(e,o.methods.getVesting,r))}catch(e){return Promise.reject(e)}},t.getVesting=function(e,t,r){try{var n=this,o=new n.web3.eth.Contract(n.ssAbi,t),i=null;return Promise.resolve(A(e,o.methods.getVesting,r)).then(function(t){var s=Ae(function(){var s=o.methods.getVesting(r),a=s.send;return Promise.resolve(F(n.web3,n.config)).then(function(r){return Promise.resolve(a.call(s,{from:e,gas:t+1,gasPrice:r})).then(function(e){i=e})})},function(){g.error("ERROR: Failed to join swap pool amount out")});return s&&s.then?s.then(function(){return i}):i})}catch(e){return Promise.reject(e)}},t.estSetPoolSwapFee=function(e,t,r,n,o,i){try{var s=i||new this.web3.eth.Contract(this.ssAbi,t);return Promise.resolve(A(e,s.methods.setPoolSwapFee,r,n,o))}catch(e){return Promise.reject(e)}},t.setPoolSwapFee=function(e,t,r,n,o){try{var i=this,s=new i.web3.eth.Contract(i.ssAbi,t),a=null;return Promise.resolve(A(e,s.methods.setPoolSwapFee,r,n,o)).then(function(t){var c=Ae(function(){var c=s.methods.setPoolSwapFee(r,n,o),u=c.send;return Promise.resolve(F(i.web3,i.config)).then(function(r){return Promise.resolve(u.call(c,{from:e,gas:t+1,gasPrice:r})).then(function(e){a=e})})},function(){g.error("ERROR: Failed to join swap pool amount out")});return c&&c.then?c.then(function(){return a}):a})}catch(e){return Promise.reject(e)}},t.getRouter=function(e){try{var t=new this.web3.eth.Contract(this.ssAbi,e),r=null,n=Ae(function(){return Promise.resolve(t.methods.router().call()).then(function(e){r=e})},function(e){g.error("ERROR: Failed to get Router address: "+e.message)});return Promise.resolve(n&&n.then?n.then(function(){return r}):r)}catch(e){return Promise.reject(e)}},e}(),Te=/*#__PURE__*/function(){function e(e,t,r,n,o){this.routerAddress=void 0,this.RouterAbi=void 0,this.web3=void 0,this.config=void 0,this.router=void 0,this.routerAddress=e,this.RouterAbi=n||m.abi,this.web3=t,this.config=o||(new _).getConfig(r||"unknown"),this.router=x(new this.web3.eth.Contract(this.RouterAbi,this.routerAddress),this.config)}var t=e.prototype;return t.estGasBuyDTBatch=function(e,t){try{return Promise.resolve(A(e,this.router.methods.buyDTBatch,t))}catch(e){return Promise.reject(e)}},t.buyDTBatch=function(e,t){try{var r=this;return Promise.resolve(A(e,r.router.methods.buyDTBatch,t)).then(function(n){var o=r.router.methods.buyDTBatch(t),i=o.send;return Promise.resolve(F(r.web3,r.config)).then(function(t){return Promise.resolve(i.call(o,{from:e,gas:n+1,gasPrice:t}))})})}catch(e){return Promise.reject(e)}},t.isApprovedToken=function(e){try{return Promise.resolve(this.router.methods.isApprovedToken(e).call())}catch(e){return Promise.reject(e)}},t.isSideStaking=function(e){try{return Promise.resolve(this.router.methods.isSSContract(e).call())}catch(e){return Promise.reject(e)}},t.isFixedPrice=function(e){try{return Promise.resolve(this.router.methods.isFixedRateContract(e).call())}catch(e){return Promise.reject(e)}},t.getOwner=function(){try{return Promise.resolve(this.router.methods.routerOwner().call())}catch(e){return Promise.reject(e)}},t.getNFTFactory=function(){try{return Promise.resolve(this.router.methods.factory().call())}catch(e){return Promise.reject(e)}},t.isPoolTemplate=function(e){try{return Promise.resolve(this.router.methods.isPoolTemplate(e).call())}catch(e){return Promise.reject(e)}},t.estGasAddApprovedToken=function(e,t,r){try{return Promise.resolve(A(e,this.router.methods.addApprovedToken,t))}catch(e){return Promise.reject(e)}},t.addApprovedToken=function(e,t){try{var r=this;return Promise.resolve(r.getOwner()).then(function(n){if(n!==e)throw new Error("Caller is not Router Owner");return Promise.resolve(A(e,r.router.methods.addApprovedToken,t)).then(function(n){var o=r.router.methods.addApprovedToken(t),i=o.send;return Promise.resolve(F(r.web3,r.config)).then(function(t){return Promise.resolve(i.call(o,{from:e,gas:n+1,gasPrice:t}))})})})}catch(e){return Promise.reject(e)}},t.estGasRemoveApprovedToken=function(e,t,r){try{return Promise.resolve(A(e,this.router.methods.removeApprovedToken,t))}catch(e){return Promise.reject(e)}},t.removeApprovedToken=function(e,t){try{var r=this;return Promise.resolve(r.getOwner()).then(function(n){if(n!==e)throw new Error("Caller is not Router Owner");return Promise.resolve(A(e,r.router.methods.removeApprovedToken,t)).then(function(n){var o=r.router.methods.removeApprovedToken(t),i=o.send;return Promise.resolve(F(r.web3,r.config)).then(function(t){return Promise.resolve(i.call(o,{from:e,gas:n+1,gasPrice:t}))})})})}catch(e){return Promise.reject(e)}},t.estGasAddSSContract=function(e,t){try{return Promise.resolve(A(e,this.router.methods.addSSContract,t))}catch(e){return Promise.reject(e)}},t.addSSContract=function(e,t){try{var r=this;return Promise.resolve(r.getOwner()).then(function(n){if(n!==e)throw new Error("Caller is not Router Owner");return Promise.resolve(A(e,r.router.methods.addSSContract,t)).then(function(n){var o=r.router.methods.addSSContract(t),i=o.send;return Promise.resolve(F(r.web3,r.config)).then(function(t){return Promise.resolve(i.call(o,{from:e,gas:n+1,gasPrice:t}))})})})}catch(e){return Promise.reject(e)}},t.estGasRemoveSSContract=function(e,t){try{return Promise.resolve(A(e,this.router.methods.removeSSContract,t))}catch(e){return Promise.reject(e)}},t.removeSSContract=function(e,t){try{var r=this;return Promise.resolve(r.getOwner()).then(function(n){if(n!==e)throw new Error("Caller is not Router Owner");return Promise.resolve(A(e,r.router.methods.removeSSContract,t)).then(function(n){var o=r.router.methods.removeSSContract(t),i=o.send;return Promise.resolve(F(r.web3,r.config)).then(function(t){return Promise.resolve(i.call(o,{from:e,gas:n+1,gasPrice:t}))})})})}catch(e){return Promise.reject(e)}},t.estGasAddFixedRateContract=function(e,t){try{return Promise.resolve(A(e,this.router.methods.addFixedRateContract,t))}catch(e){return Promise.reject(e)}},t.addFixedRateContract=function(e,t){try{var r=this;return Promise.resolve(r.getOwner()).then(function(n){if(n!==e)throw new Error("Caller is not Router Owner");return Promise.resolve(A(e,r.router.methods.addFixedRateContract,t)).then(function(n){var o=r.router.methods.addFixedRateContract(t),i=o.send;return Promise.resolve(F(r.web3,r.config)).then(function(t){return Promise.resolve(i.call(o,{from:e,gas:n+1,gasPrice:t}))})})})}catch(e){return Promise.reject(e)}},t.estGasRemoveFixedRateContract=function(e,t){try{return Promise.resolve(A(e,this.router.methods.removeFixedRateContract,t))}catch(e){return Promise.reject(e)}},t.removeFixedRateContract=function(e,t){try{var r=this;return Promise.resolve(r.getOwner()).then(function(n){if(n!==e)throw new Error("Caller is not Router Owner");return Promise.resolve(A(e,r.router.methods.removeFixedRateContract,t)).then(function(n){var o=r.router.methods.removeFixedRateContract(t),i=o.send;return Promise.resolve(F(r.web3,r.config)).then(function(t){return Promise.resolve(i.call(o,{from:e,gas:n+1,gasPrice:t}))})})})}catch(e){return Promise.reject(e)}},t.estGasAddDispenserContract=function(e,t){try{return Promise.resolve(A(e,this.router.methods.addDispenserContract,t))}catch(e){return Promise.reject(e)}},t.addDispenserContract=function(e,t){try{var r=this;return Promise.resolve(r.getOwner()).then(function(n){if(n!==e)throw new Error("Caller is not Router Owner");return Promise.resolve(A(e,r.router.methods.addDispenserContract,t)).then(function(n){var o=r.router.methods.addDispenserContract(t),i=o.send;return Promise.resolve(F(r.web3,r.config)).then(function(t){return Promise.resolve(i.call(o,{from:e,gas:n+1,gasPrice:t}))})})})}catch(e){return Promise.reject(e)}},t.estGasRemoveDispenserContract=function(e,t){try{return Promise.resolve(A(e,this.router.methods.removeDispenserContract,t))}catch(e){return Promise.reject(e)}},t.removeDispenserContract=function(e,t){try{var r=this;return Promise.resolve(r.getOwner()).then(function(n){if(n!==e)throw new Error("Caller is not Router Owner");return Promise.resolve(A(e,r.router.methods.removeDispenserContract,t)).then(function(n){var o=r.router.methods.removeDispenserContract(t),i=o.send;return Promise.resolve(F(r.web3,r.config)).then(function(t){return Promise.resolve(i.call(o,{from:e,gas:n+1,gasPrice:t}))})})})}catch(e){return Promise.reject(e)}},t.getOPCFee=function(e){try{return Promise.resolve(this.router.methods.getOPCFee(e).call())}catch(e){return Promise.reject(e)}},t.getCurrentOPCFee=function(){try{return Promise.resolve(this.router.methods.swapOceanFee().call())}catch(e){return Promise.reject(e)}},t.estGasUpdateOPCFee=function(e,t,r,n,o){try{return Promise.resolve(A(e,this.router.methods.updateOPCFee,t,r,n,o))}catch(e){return Promise.reject(e)}},t.updateOPCFee=function(e,t,r,n,o){try{var i=this;return Promise.resolve(i.getOwner()).then(function(s){if(s!==e)throw new Error("Caller is not Router Owner");return Promise.resolve(A(e,i.router.methods.updateOPCFee,t,r,n,o)).then(function(s){var a=i.router.methods.updateOPCFee(t,r,n,o),c=a.send;return Promise.resolve(F(i.web3,i.config)).then(function(t){return Promise.resolve(c.call(a,{from:e,gas:s+1,gasPrice:t}))})})})}catch(e){return Promise.reject(e)}},t.estGasAddPoolTemplate=function(e,t){try{return Promise.resolve(A(e,this.router.methods.addPoolTemplate,t))}catch(e){return Promise.reject(e)}},t.addPoolTemplate=function(e,t){try{var r=this;return Promise.resolve(r.getOwner()).then(function(n){if(n!==e)throw new Error("Caller is not Router Owner");return Promise.resolve(A(e,r.router.methods.addPoolTemplate,t)).then(function(n){var o=r.router.methods.addPoolTemplate(t),i=o.send;return Promise.resolve(F(r.web3,r.config)).then(function(t){return Promise.resolve(i.call(o,{from:e,gas:n+1,gasPrice:t}))})})})}catch(e){return Promise.reject(e)}},t.estGasRemovePoolTemplate=function(e,t){try{return Promise.resolve(A(e,this.router.methods.removePoolTemplate,t))}catch(e){return Promise.reject(e)}},t.removePoolTemplate=function(e,t){try{var r=this;return Promise.resolve(r.getOwner()).then(function(n){if(n!==e)throw new Error("Caller is not Router Owner");return Promise.resolve(A(e,r.router.methods.removePoolTemplate,t)).then(function(n){var o=r.router.methods.removePoolTemplate(t),i=o.send;return Promise.resolve(F(r.web3,r.config)).then(function(t){return Promise.resolve(i.call(o,{from:e,gas:n+1,gasPrice:t}))})})})}catch(e){return Promise.reject(e)}},e}(),Ee=/*#__PURE__*/function(){function e(e,t,r,n){this.factory721Address=void 0,this.factory721Abi=void 0,this.nftAbi=void 0,this.web3=void 0,this.startBlock=void 0,this.config=void 0,this.nftAbi=r||f.abi,this.web3=e,this.config=n||(new _).getConfig(t||"unknown")}var t=e.prototype;return t.estGasCreateErc20=function(e,t,r,n,o,i,s,a,c,u,l,m){try{var h=this,f=m||x(new h.web3.eth.Contract(h.nftAbi,e),h.config);return Promise.resolve(A(t,f.methods.createERC20,l,[c,u],[r,n,o,i],[h.web3.utils.toWei(a),h.web3.utils.toWei(s)],[]))}catch(e){return Promise.reject(e)}},t.createErc20=function(e,t,r,n,o,i,s,a,c,u,l){try{var m=this;return Promise.resolve(m.getNftPermissions(e,t)).then(function(h){if(!0!==h.deployERC20)throw new Error("Caller is not ERC20Deployer");if(l||(l=1),!c||!u){var f=w();c=f.name,u=f.symbol}var d=x(new m.web3.eth.Contract(m.nftAbi,e),m.config);return Promise.resolve(A(t,d.methods.createERC20,l,[c,u],[r,n,o,i],[m.web3.utils.toWei(a),m.web3.utils.toWei(s)],[])).then(function(e){var h=d.methods.createERC20(l,[c,u],[r,n,o,i],[m.web3.utils.toWei(a),m.web3.utils.toWei(s)],[]),f=h.send;return Promise.resolve(F(m.web3,m.config)).then(function(r){return Promise.resolve(f.call(h,{from:t,gas:e+1,gasPrice:r})).then(function(e){var t=null;try{t=e.events.TokenCreated.returnValues[0]}catch(e){g.error("ERROR: Failed to create datatoken : "+e.message)}return t})})})})}catch(e){return Promise.reject(e)}},t.estGasAddManager=function(e,t,r,n){try{var o=this,i=n||x(new o.web3.eth.Contract(o.nftAbi,e),o.config);return Promise.resolve(A(t,i.methods.addManager,r))}catch(e){return Promise.reject(e)}},t.addManager=function(e,t,r){try{var n=this,o=x(new n.web3.eth.Contract(n.nftAbi,e),n.config);return Promise.resolve(n.getNftOwner(e)).then(function(e){if(e!==t)throw new Error("Caller is not NFT Owner");return Promise.resolve(A(t,o.methods.addManager,r)).then(function(e){var i=o.methods.addManager(r),s=i.send;return Promise.resolve(F(n.web3,n.config)).then(function(r){return Promise.resolve(s.call(i,{from:t,gas:e+1,gasPrice:r}))})})})}catch(e){return Promise.reject(e)}},t.estGasRemoveManager=function(e,t,r,n){try{var o=this,i=n||x(new o.web3.eth.Contract(o.nftAbi,e),o.config);return Promise.resolve(A(t,i.methods.removeManager,r))}catch(e){return Promise.reject(e)}},t.removeManager=function(e,t,r){try{var n=this,o=x(new n.web3.eth.Contract(n.nftAbi,e),n.config);return Promise.resolve(n.getNftOwner(e)).then(function(e){if(e!==t)throw new Error("Caller is not NFT Owner");return Promise.resolve(A(t,o.methods.removeManager,r)).then(function(e){var i=o.methods.removeManager(r),s=i.send;return Promise.resolve(F(n.web3,n.config)).then(function(r){return Promise.resolve(s.call(i,{from:t,gas:e+1,gasPrice:r}))})})})}catch(e){return Promise.reject(e)}},t.estGasAddErc20Deployer=function(e,t,r,n){try{var o=this,i=n||x(new o.web3.eth.Contract(o.nftAbi,e),o.config);return Promise.resolve(A(t,i.methods.addToCreateERC20List,r))}catch(e){return Promise.reject(e)}},t.addErc20Deployer=function(e,t,r){try{var n=this,o=x(new n.web3.eth.Contract(n.nftAbi,e),n.config);return Promise.resolve(n.getNftPermissions(e,t)).then(function(e){if(!0!==e.manager)throw new Error("Caller is not Manager");return Promise.resolve(A(t,o.methods.addToCreateERC20List,r)).then(function(e){var i=o.methods.addToCreateERC20List(r),s=i.send;return Promise.resolve(F(n.web3,n.config)).then(function(r){return Promise.resolve(s.call(i,{from:t,gas:e+1,gasPrice:r}))})})})}catch(e){return Promise.reject(e)}},t.estGasRemoveErc20Deployer=function(e,t,r,n){try{var o=this,i=n||x(new o.web3.eth.Contract(o.nftAbi,e),o.config);return Promise.resolve(A(t,i.methods.removeFromCreateERC20List,r))}catch(e){return Promise.reject(e)}},t.removeErc20Deployer=function(e,t,r){try{var n=this,o=x(new n.web3.eth.Contract(n.nftAbi,e),n.config);return Promise.resolve(n.getNftPermissions(e,t)).then(function(i){function s(e){if(a||t===r&&!0!==e.deployERC20)throw new Error("Caller is not Manager nor ERC20Deployer");return Promise.resolve(A(t,o.methods.removeFromCreateERC20List,r)).then(function(e){var i=o.methods.removeFromCreateERC20List(r),s=i.send;return Promise.resolve(F(n.web3,n.config)).then(function(r){return Promise.resolve(s.call(i,{from:t,gas:e+1,gasPrice:r}))})})}var a=!0!==i.manager;return a||t!==r?s(a||t===r&&n.getNftPermissions(e,t)):Promise.resolve(a||t===r&&n.getNftPermissions(e,t)).then(s)})}catch(e){return Promise.reject(e)}},t.estGasAddMetadataUpdater=function(e,t,r,n){try{var o=this,i=n||x(new o.web3.eth.Contract(o.nftAbi,e),o.config);return Promise.resolve(A(t,i.methods.addToMetadataList,r))}catch(e){return Promise.reject(e)}},t.addMetadataUpdater=function(e,t,r){try{var n=this,o=x(new n.web3.eth.Contract(n.nftAbi,e),n.config);return Promise.resolve(n.getNftPermissions(e,t)).then(function(e){if(!0!==e.manager)throw new Error("Caller is not Manager");return Promise.resolve(A(t,o.methods.addToMetadataList,r)).then(function(e){var i=o.methods.addToMetadataList(r),s=i.send;return Promise.resolve(F(n.web3,n.config)).then(function(r){return Promise.resolve(s.call(i,{from:t,gas:e+1,gasPrice:r}))})})})}catch(e){return Promise.reject(e)}},t.esGasRemoveMetadataUpdater=function(e,t,r,n){try{var o=this,i=n||x(new o.web3.eth.Contract(o.nftAbi,e),o.config);return Promise.resolve(A(t,i.methods.removeFromMetadataList,r))}catch(e){return Promise.reject(e)}},t.removeMetadataUpdater=function(e,t,r){try{var n=this,o=x(new n.web3.eth.Contract(n.nftAbi,e),n.config);return Promise.resolve(n.getNftPermissions(e,t)).then(function(i){function s(i){if(a||t!==r&&!0!==i.updateMetadata)throw new Error("Caller is not Manager nor Metadata Updater");return Promise.resolve(n.esGasRemoveMetadataUpdater(e,t,r,o)).then(function(e){var i=o.methods.removeFromMetadataList(r),s=i.send;return Promise.resolve(F(n.web3,n.config)).then(function(r){return Promise.resolve(s.call(i,{from:t,gas:e+1,gasPrice:r}))})})}var a=!0!==i.manager;return a||t===r?s(a||t!==r&&n.getNftPermissions(e,t)):Promise.resolve(a||t!==r&&n.getNftPermissions(e,t)).then(s)})}catch(e){return Promise.reject(e)}},t.estGasAddStoreUpdater=function(e,t,r,n){try{var o=this,i=n||x(new o.web3.eth.Contract(o.nftAbi,e),o.config);return Promise.resolve(A(t,i.methods.addTo725StoreList,r))}catch(e){return Promise.reject(e)}},t.addStoreUpdater=function(e,t,r){try{var n=this,o=x(new n.web3.eth.Contract(n.nftAbi,e),n.config);return Promise.resolve(n.getNftPermissions(e,t)).then(function(e){if(!0!==e.manager)throw new Error("Caller is not Manager");return Promise.resolve(A(t,o.methods.addTo725StoreList,r)).then(function(e){var i=o.methods.addTo725StoreList(r),s=i.send;return Promise.resolve(F(n.web3,n.config)).then(function(r){return Promise.resolve(s.call(i,{from:t,gas:e+1,gasPrice:r}))})})})}catch(e){return Promise.reject(e)}},t.estGasRemoveStoreUpdater=function(e,t,r,n){try{var o=this,i=n||x(new o.web3.eth.Contract(o.nftAbi,e),o.config);return Promise.resolve(A(t,i.methods.removeFrom725StoreList,r))}catch(e){return Promise.reject(e)}},t.removeStoreUpdater=function(e,t,r){try{var n=this,o=x(new n.web3.eth.Contract(n.nftAbi,e),n.config);return Promise.resolve(n.getNftPermissions(e,t)).then(function(i){function s(e){if(a||t!==r&&!0!==e.store)throw new Error("Caller is not Manager nor storeUpdater");return Promise.resolve(A(t,o.methods.removeFrom725StoreList,r)).then(function(e){var i=o.methods.removeFrom725StoreList(r),s=i.send;return Promise.resolve(F(n.web3,n.config)).then(function(r){return Promise.resolve(s.call(i,{from:t,gas:e+1,gasPrice:r}))})})}var a=!0!==i.manager;return a||t===r?s(a||t!==r&&n.getNftPermissions(e,t)):Promise.resolve(a||t!==r&&n.getNftPermissions(e,t)).then(s)})}catch(e){return Promise.reject(e)}},t.estGasCleanPermissions=function(e,t,r){try{var n=this,o=r||x(new n.web3.eth.Contract(n.nftAbi,e),n.config);return Promise.resolve(A(t,o.methods.cleanPermissions))}catch(e){return Promise.reject(e)}},t.cleanPermissions=function(e,t){try{var r=this,n=x(new r.web3.eth.Contract(r.nftAbi,e),r.config);return Promise.resolve(r.getNftOwner(e)).then(function(e){if(e!==t)throw new Error("Caller is not NFT Owner");return Promise.resolve(A(t,n.methods.cleanPermissions)).then(function(e){var o=n.methods.cleanPermissions(),i=o.send;return Promise.resolve(F(r.web3,r.config)).then(function(r){return Promise.resolve(i.call(o,{from:t,gas:e+1,gasPrice:r}))})})})}catch(e){return Promise.reject(e)}},t.estGasTransferNft=function(e,t,r,n,o){try{var i=this,s=o||x(new i.web3.eth.Contract(i.nftAbi,e),i.config);return Promise.resolve(A(t,s.methods.transferFrom,t,r,n))}catch(e){return Promise.reject(e)}},t.transferNft=function(e,t,r,n){try{var o=this,i=x(new o.web3.eth.Contract(o.nftAbi,e),o.config);return Promise.resolve(o.getNftOwner(e)).then(function(e){if(e!==t)throw new Error("Caller is not NFT Owner");var s=n||1;return Promise.resolve(A(t,i.methods.transferFrom,t,r,s)).then(function(e){var n=i.methods.transferFrom(t,r,s),a=n.send;return Promise.resolve(F(o.web3,o.config)).then(function(r){return Promise.resolve(a.call(n,{from:t,gas:e+1,gasPrice:r}))})})})}catch(e){return Promise.reject(e)}},t.estGasSafeTransferNft=function(e,t,r,n,o){try{var i=this,s=o||x(new i.web3.eth.Contract(i.nftAbi,e),i.config);return Promise.resolve(A(t,s.methods.safeTransferFrom,t,r,n))}catch(e){return Promise.reject(e)}},t.safeTransferNft=function(e,t,r,n){try{var o=this,i=x(new o.web3.eth.Contract(o.nftAbi,e),o.config);return Promise.resolve(o.getNftOwner(e)).then(function(e){if(e!==t)throw new Error("Caller is not NFT Owner");var s=n||1;return Promise.resolve(A(t,i.methods.safeTransferFrom,t,r,s)).then(function(e){var n=i.methods.safeTransferFrom(t,r,s),a=n.send;return Promise.resolve(F(o.web3,o.config)).then(function(r){return Promise.resolve(a.call(n,{from:t,gas:e+1,gasPrice:r}))})})})}catch(e){return Promise.reject(e)}},t.estGasSetMetadata=function(e,t,r,n,o,i,s,a,c,u){try{var l=this,m=u||x(new l.web3.eth.Contract(l.nftAbi,e),l.config);return c||(c=[]),Promise.resolve(A(t,m.methods.setMetaData,r,n,o,i,s,a,c))}catch(e){return Promise.reject(e)}},t.setMetadata=function(e,t,r,n,o,i,s,a,c){try{var u=this,l=x(new u.web3.eth.Contract(u.nftAbi,e),u.config);return c||(c=[]),Promise.resolve(u.getNftPermissions(e,t)).then(function(e){if(!e.updateMetadata)throw new Error("Caller is not Metadata updater");return Promise.resolve(A(t,l.methods.setMetaData,r,n,o,i,s,a,c)).then(function(e){var m=l.methods.setMetaData(r,n,o,i,s,a,c),h=m.send;return Promise.resolve(F(u.web3,u.config)).then(function(r){return Promise.resolve(h.call(m,{from:t,gas:e+1,gasPrice:r}))})})})}catch(e){return Promise.reject(e)}},t.estGasSetMetadataAndTokenURI=function(e,t,r,n){try{var o=this,i=n||x(new o.web3.eth.Contract(o.nftAbi,e),o.config),s=G({},r,{metadataProofs:r.metadataProofs||[]});return Promise.resolve(A(t,i.methods.setMetaDataAndTokenURI,s))}catch(e){return Promise.reject(e)}},t.setMetadataAndTokenURI=function(e,t,r){try{var n=this,o=x(new n.web3.eth.Contract(n.nftAbi,e),n.config);return Promise.resolve(n.getNftPermissions(e,t)).then(function(e){if(!e.updateMetadata)throw new Error("Caller is not Metadata updater");var i=G({},r,{metadataProofs:r.metadataProofs||[]});return Promise.resolve(A(t,o.methods.setMetaDataAndTokenURI,i)).then(function(e){var r=o.methods.setMetaDataAndTokenURI(i),s=r.send;return Promise.resolve(F(n.web3,n.config)).then(function(n){return Promise.resolve(s.call(r,{from:t,gas:e+1,gasPrice:n}))})})})}catch(e){return Promise.reject(e)}},t.estGasSetMetadataState=function(e,t,r,n){try{var o=this,i=n||x(new o.web3.eth.Contract(o.nftAbi,e),o.config);return Promise.resolve(A(t,i.methods.setMetaDataState,r))}catch(e){return Promise.reject(e)}},t.setMetadataState=function(e,t,r){try{var n=this,o=x(new n.web3.eth.Contract(n.nftAbi,e),n.config);return Promise.resolve(n.getNftPermissions(e,t)).then(function(e){if(!e.updateMetadata)throw new Error("Caller is not Metadata updater");return Promise.resolve(A(t,o.methods.setMetaDataState,r)).then(function(e){var i=o.methods.setMetaDataState(r),s=i.send;return Promise.resolve(F(n.web3,n.config)).then(function(r){return Promise.resolve(s.call(i,{from:t,gas:e+1,gasPrice:r}))})})})}catch(e){return Promise.reject(e)}},t.estSetTokenURI=function(e,t,r){try{var n=this,o=x(new n.web3.eth.Contract(n.nftAbi,e),n.config);return Promise.resolve(A(t,o.methods.setTokenURI,"1",r))}catch(e){return Promise.reject(e)}},t.setTokenURI=function(e,t,r){try{var n=this,o=x(new n.web3.eth.Contract(n.nftAbi,e),n.config);return Promise.resolve(A(t,o.methods.setTokenURI,"1",r)).then(function(e){var i=o.methods.setTokenURI("1",r),s=i.send;return Promise.resolve(F(n.web3,n.config)).then(function(r){return Promise.resolve(s.call(i,{from:t,gas:e+1,gasPrice:r}))})})}catch(e){return Promise.reject(e)}},t.setData=function(e,t,r,n){try{var o=this;return Promise.resolve(o.getNftPermissions(e,t)).then(function(i){if(!0!==i.store)throw new Error("User is not ERC20 store updater");var s=x(new o.web3.eth.Contract(o.nftAbi,e),o.config),a=o.web3.utils.keccak256(r),c=o.web3.utils.asciiToHex(n);return Promise.resolve(A(t,s.methods.setNewData,a,c)).then(function(e){var r=s.methods.setNewData(a,c),n=r.send;return Promise.resolve(F(o.web3,o.config)).then(function(o){return Promise.resolve(n.call(r,{from:t,gas:e+1,gasPrice:o}))})})})}catch(e){return Promise.reject(e)}},t.getNftOwner=function(e){try{var t=this,r=x(new t.web3.eth.Contract(t.nftAbi,e),t.config);return Promise.resolve(r.methods.ownerOf(1).call())}catch(e){return Promise.reject(e)}},t.getNftPermissions=function(e,t){try{var r=this,n=x(new r.web3.eth.Contract(r.nftAbi,e),r.config);return Promise.resolve(n.methods.getPermissions(t).call())}catch(e){return Promise.reject(e)}},t.getMetadata=function(e){try{var t=this,r=x(new t.web3.eth.Contract(t.nftAbi,e),t.config);return Promise.resolve(r.methods.getMetaData().call())}catch(e){return Promise.reject(e)}},t.isErc20Deployer=function(e,t){try{var r=this,n=x(new r.web3.eth.Contract(r.nftAbi,e),r.config);return Promise.resolve(n.methods.isERC20Deployer(t).call())}catch(e){return Promise.reject(e)}},t.getData=function(e,t){try{var r=this,n=x(new r.web3.eth.Contract(r.nftAbi,e),r.config),o=r.web3.utils.keccak256(t);return Promise.resolve(n.methods.getData(o).call()).then(function(e){return e?r.web3.utils.hexToAscii(e):null})}catch(e){return Promise.reject(e)}},t.getTokenURI=function(e,t){try{var r=this,n=x(new r.web3.eth.Contract(r.nftAbi,e),r.config);return Promise.resolve(n.methods.tokenURI(t).call())}catch(e){return Promise.reject(e)}},e}();function je(e,t){try{var r=e()}catch(e){return t(e)}return r&&r.then?r.then(void 0,t):r}var Fe=/*#__PURE__*/function(){function e(e,t,r,n,o){this.factoryAddress=void 0,this.factoryABI=void 0,this.datatokensAbi=void 0,this.datatokensEnterpriseAbi=void 0,this.web3=void 0,this.config=void 0,this.nft=void 0,this.web3=e,this.datatokensAbi=r||a.abi,this.datatokensEnterpriseAbi=n||h.abi,this.config=o||(new _).getConfig(t||"unknown"),this.nft=new Ee(this.web3)}var t=e.prototype;return t.estGasApprove=function(e,t,r,n,o){try{var i=this,s=o||x(new i.web3.eth.Contract(i.datatokensAbi,e),i.config);return Promise.resolve(A(n,s.methods.approve,t,i.web3.utils.toWei(r)))}catch(e){return Promise.reject(e)}},t.approve=function(e,t,r,n){try{var o=this,i=x(new o.web3.eth.Contract(o.datatokensAbi,e),o.config);return Promise.resolve(A(n,i.methods.approve,t,o.web3.utils.toWei(r))).then(function(e){var s=i.methods.approve(t,o.web3.utils.toWei(r)),a=s.send;return Promise.resolve(F(o.web3,o.config)).then(function(t){return Promise.resolve(a.call(s,{from:n,gas:e+1,gasPrice:t}))})})}catch(e){return Promise.reject(e)}},t.estGasMint=function(e,t,r,n,o){try{var i=this,s=o||x(new i.web3.eth.Contract(i.datatokensAbi,e),i.config);return Promise.resolve(A(t,s.methods.mint,n||t,i.web3.utils.toWei(r)))}catch(e){return Promise.reject(e)}},t.estGasCreateFixedRate=function(e,t,r,n){try{var o=this,i=n||x(new o.web3.eth.Contract(o.datatokensAbi,e),o.config);return r.allowedConsumer||(r.allowedConsumer=y),Promise.resolve(A(t,i.methods.createFixedRate,r.fixedRateAddress,[r.baseTokenAddress,t,r.marketFeeCollector,r.allowedConsumer],[r.baseTokenDecimals,r.datatokenDecimals,r.fixedRate,r.marketFee,r.withMint?1:0]))}catch(e){return Promise.reject(e)}},t.createFixedRate=function(e,t,r){try{var n=this,o=x(new n.web3.eth.Contract(n.datatokensAbi,e),n.config);return Promise.resolve(n.isERC20Deployer(e,t)).then(function(e){if(!e)throw new Error("User is not ERC20 Deployer");r.allowedConsumer||(r.allowedConsumer=y);var i=r.withMint?1:0;return Promise.resolve(A(t,o.methods.createFixedRate,r.fixedRateAddress,[r.baseTokenAddress,r.owner,r.marketFeeCollector,r.allowedConsumer],[r.baseTokenDecimals,r.datatokenDecimals,r.fixedRate,r.marketFee,i])).then(function(e){var s=o.methods.createFixedRate(r.fixedRateAddress,[r.baseTokenAddress,r.owner,r.marketFeeCollector,r.allowedConsumer],[r.baseTokenDecimals,r.datatokenDecimals,r.fixedRate,r.marketFee,i]),a=s.send;return Promise.resolve(F(n.web3,n.config)).then(function(r){return Promise.resolve(a.call(s,{from:t,gas:e+1,gasPrice:r}))})})})}catch(e){return Promise.reject(e)}},t.estGasCreateDispenser=function(e,t,r,n,o){try{var i=this,s=o||x(new i.web3.eth.Contract(i.datatokensAbi,e),i.config);return n.allowedSwapper||(n.allowedSwapper=y),n.withMint||(n.withMint=!1),Promise.resolve(A(t,s.methods.createDispenser,r,n.maxTokens,n.maxBalance,n.withMint,n.allowedSwapper))}catch(e){return Promise.reject(e)}},t.createDispenser=function(e,t,r,n){try{var o=this;return Promise.resolve(o.isERC20Deployer(e,t)).then(function(i){if(!i)throw new Error("User is not ERC20 Deployer");var s=x(new o.web3.eth.Contract(o.datatokensAbi,e),o.config);return n.allowedSwapper||(n.allowedSwapper=y),n.withMint||(n.withMint=!1),Promise.resolve(A(t,s.methods.createDispenser,r,n.maxTokens,n.maxBalance,n.withMint,n.allowedSwapper)).then(function(e){var i=s.methods.createDispenser(r,n.maxTokens,n.maxBalance,n.withMint,n.allowedSwapper),a=i.send;return Promise.resolve(F(o.web3,o.config)).then(function(r){return Promise.resolve(a.call(i,{from:t,gas:e+1,gasPrice:r}))})})})}catch(e){return Promise.reject(e)}},t.mint=function(e,t,r,n){try{var o=this,s=x(new o.web3.eth.Contract(o.datatokensAbi,e),o.config);return Promise.resolve(o.getDTPermissions(e,t)).then(function(a){if(!0!==a.minter)throw new Error("Caller is not Minter");return Promise.resolve(o.getCap(e)).then(function(e){if(new i(e).gte(r))return Promise.resolve(A(t,s.methods.mint,n||t,o.web3.utils.toWei(r))).then(function(e){var i=s.methods.mint(n||t,o.web3.utils.toWei(r)),a=i.send;return Promise.resolve(F(o.web3,o.config)).then(function(r){return Promise.resolve(a.call(i,{from:t,gas:e+1,gasPrice:r}))})});throw new Error("Mint amount exceeds cap available")})})}catch(e){return Promise.reject(e)}},t.estGasAddMinter=function(e,t,r,n){try{var o=this,i=n||x(new o.web3.eth.Contract(o.datatokensAbi,e),o.config);return Promise.resolve(A(t,i.methods.addMinter,r))}catch(e){return Promise.reject(e)}},t.addMinter=function(e,t,r){try{var n=this,o=x(new n.web3.eth.Contract(n.datatokensAbi,e),n.config);return Promise.resolve(n.isERC20Deployer(e,t)).then(function(e){if(!0!==e)throw new Error("Caller is not ERC20Deployer");return Promise.resolve(A(t,o.methods.addMinter,r)).then(function(e){var i=o.methods.addMinter(r),s=i.send;return Promise.resolve(F(n.web3,n.config)).then(function(r){return Promise.resolve(s.call(i,{from:t,gas:e+1,gasPrice:r}))})})})}catch(e){return Promise.reject(e)}},t.estGasRemoveMinter=function(e,t,r,n){try{var o=this,i=n||x(new o.web3.eth.Contract(o.datatokensAbi,e),o.config);return Promise.resolve(A(t,i.methods.removeMinter,r))}catch(e){return Promise.reject(e)}},t.removeMinter=function(e,t,r){try{var n=this,o=x(new n.web3.eth.Contract(n.datatokensAbi,e),n.config);return Promise.resolve(n.isERC20Deployer(e,t)).then(function(e){if(!0!==e)throw new Error("Caller is not ERC20Deployer");return Promise.resolve(A(t,o.methods.removeMinter,r)).then(function(e){var i=o.methods.removeMinter(r),s=i.send;return Promise.resolve(F(n.web3,n.config)).then(function(r){return Promise.resolve(s.call(i,{from:t,gas:e+1,gasPrice:r}))})})})}catch(e){return Promise.reject(e)}},t.estGasAddPaymentManager=function(e,t,r,n){try{var o=this,i=n||x(new o.web3.eth.Contract(o.datatokensAbi,e),o.config);return Promise.resolve(A(t,i.methods.addPaymentManager,r))}catch(e){return Promise.reject(e)}},t.addPaymentManager=function(e,t,r){try{var n=this,o=x(new n.web3.eth.Contract(n.datatokensAbi,e),n.config);return Promise.resolve(n.isERC20Deployer(e,t)).then(function(e){if(!0!==e)throw new Error("Caller is not ERC20Deployer");return Promise.resolve(A(t,o.methods.addPaymentManager,r)).then(function(e){var i=o.methods.addPaymentManager(r),s=i.send;return Promise.resolve(F(n.web3,n.config)).then(function(r){return Promise.resolve(s.call(i,{from:t,gas:e+1,gasPrice:r}))})})})}catch(e){return Promise.reject(e)}},t.estGasRemovePaymentManager=function(e,t,r,n){try{var o=this,i=n||x(new o.web3.eth.Contract(o.datatokensAbi,e),o.config);return Promise.resolve(A(t,i.methods.removePaymentManager,r))}catch(e){return Promise.reject(e)}},t.removePaymentManager=function(e,t,r){try{var n=this,o=x(new n.web3.eth.Contract(n.datatokensAbi,e),n.config);return Promise.resolve(n.isERC20Deployer(e,t)).then(function(e){if(!0!==e)throw new Error("Caller is not ERC20Deployer");return Promise.resolve(A(t,o.methods.removePaymentManager,r)).then(function(e){var i=o.methods.removePaymentManager(r),s=i.send;return Promise.resolve(F(n.web3,n.config)).then(function(r){return Promise.resolve(s.call(i,{from:t,gas:e+1,gasPrice:r}))})})})}catch(e){return Promise.reject(e)}},t.estGasSetPaymentCollector=function(e,t,r,n){try{var o=this,i=n||x(new o.web3.eth.Contract(o.datatokensAbi,e),o.config);return Promise.resolve(A(t,i.methods.setPaymentCollector,r))}catch(e){return Promise.reject(e)}},t.setPaymentCollector=function(e,t,r){try{var n=this,o=x(new n.web3.eth.Contract(n.datatokensAbi,e),n.config);return Promise.resolve(n.getDTPermissions(e,t)).then(function(i){function s(e){function i(i){function s(e){if(!a&&!c&&!(null==e?void 0:e.deployERC20))throw new Error("Caller is not Fee Manager, owner or erc20 Deployer");return Promise.resolve(A(t,o.methods.setPaymentCollector,r)).then(function(e){var i=o.methods.setPaymentCollector(r),s=i.send;return Promise.resolve(F(n.web3,n.config)).then(function(r){return Promise.resolve(s.call(i,{from:t,gas:e+1,gasPrice:r}))})})}var c=e&&i===t;return e&&!c?Promise.resolve(e&&!c&&n.nft.getNftPermissions(e,t)).then(s):s(e&&!c&&n.nft.getNftPermissions(e,t))}return e?Promise.resolve(n.nft.getNftOwner(e)).then(i):i(e)}var a=i.paymentManager;return a?s(!a&&n.getNFTAddress(e)):Promise.resolve(!a&&n.getNFTAddress(e)).then(s)})}catch(e){return Promise.reject(e)}},t.getPaymentCollector=function(e){try{var t=this,r=x(new t.web3.eth.Contract(t.datatokensAbi,e),t.config);return Promise.resolve(r.methods.getPaymentCollector().call())}catch(e){return Promise.reject(e)}},t.transfer=function(e,t,r,n){try{var o=this.web3.utils.toWei(r);return Promise.resolve(this.transferWei(e,t,o,n))}catch(e){return Promise.reject(e)}},t.estGasTransfer=function(e,t,r,n,o){try{var i=this,s=o||x(new i.web3.eth.Contract(i.datatokensAbi,e),i.config);return Promise.resolve(A(n,s.methods.transfer,t,r))}catch(e){return Promise.reject(e)}},t.transferWei=function(e,t,r,n){try{var o=this,i=x(new o.web3.eth.Contract(o.datatokensAbi,e),o.config);return Promise.resolve(je(function(){return Promise.resolve(A(n,i.methods.transfer,t,r)).then(function(e){var s=i.methods.transfer(t,r),a=s.send;return Promise.resolve(F(o.web3,o.config)).then(function(t){return Promise.resolve(a.call(s,{from:n,gas:e+1,gasPrice:t}))})})},function(e){throw g.error("ERROR: Failed to transfer tokens: "+e.message),new Error("Failed Failed to transfer tokens: "+e.message)}))}catch(e){return Promise.reject(e)}},t.estGasStartOrder=function(e,t,r,n,o,i,s){try{var a=this,c=s||x(new a.web3.eth.Contract(a.datatokensAbi,e),a.config);return Promise.resolve(A(t,c.methods.startOrder,r,n,o,i))}catch(e){return Promise.reject(e)}},t.startOrder=function(e,t,r,n,o,i){try{var s=this,a=x(new s.web3.eth.Contract(s.datatokensAbi,e),s.config);return i||(i={consumeMarketFeeAddress:y,consumeMarketFeeToken:y,consumeMarketFeeAmount:"0"}),Promise.resolve(je(function(){return Promise.resolve(A(t,a.methods.startOrder,r,n,o,i)).then(function(e){var c=a.methods.startOrder(r,n,o,i),u=c.send;return Promise.resolve(F(s.web3,s.config)).then(function(r){return Promise.resolve(u.call(c,{from:t,gas:e+1,gasPrice:r}))})})},function(e){throw g.error("ERROR: Failed to start order : "+e.message),new Error("Failed to start order: "+e.message)}))}catch(e){return Promise.reject(e)}},t.estGasReuseOrder=function(e,t,r,n,o){try{var i=this,s=o||x(new i.web3.eth.Contract(i.datatokensAbi,e),i.config);return Promise.resolve(A(t,s.methods.reuseOrder,r,n))}catch(e){return Promise.reject(e)}},t.reuseOrder=function(e,t,r,n){try{var o=this,i=x(new o.web3.eth.Contract(o.datatokensAbi,e),o.config);return Promise.resolve(je(function(){return Promise.resolve(A(t,i.methods.reuseOrder,r,n)).then(function(e){var s=i.methods.reuseOrder(r,n),a=s.send;return Promise.resolve(F(o.web3,o.config)).then(function(r){return Promise.resolve(a.call(s,{from:t,gas:e+1,gasPrice:r}))})})},function(e){throw g.error("ERROR: Failed to call reuse order order : "+e.message),new Error("Failed to start order: "+e.message)}))}catch(e){return Promise.reject(e)}},t.estGasBuyFromFreAndOrder=function(e,t,r,n,o){try{var i=o||new this.web3.eth.Contract(this.datatokensEnterpriseAbi,e);return Promise.resolve(A(t,i.methods.buyFromFreAndOrder,r,n))}catch(e){return Promise.reject(e)}},t.buyFromFreAndOrder=function(e,t,r,n){try{var o=this,i=new o.web3.eth.Contract(o.datatokensEnterpriseAbi,e);return Promise.resolve(je(function(){return Promise.resolve(j(o.web3,n)).then(function(e){return Promise.resolve(A(t,i.methods.buyFromFreAndOrder,r,e)).then(function(n){var s=i.methods.buyFromFreAndOrder(r,e),a=s.send;return Promise.resolve(F(o.web3,o.config)).then(function(e){return Promise.resolve(a.call(s,{from:t,gas:n+1,gasPrice:e}))})})})},function(e){throw g.error("ERROR: Failed to buy DT From Fre And Order : "+e.message),new Error("Failed to buy DT From Fre And Order: "+e.message)}))}catch(e){return Promise.reject(e)}},t.estGasBuyFromDispenserAndOrder=function(e,t,r,n,o){try{var i=o||new this.web3.eth.Contract(this.datatokensEnterpriseAbi,e);return Promise.resolve(A(t,i.methods.buyFromDispenserAndOrder,r,n))}catch(e){return Promise.reject(e)}},t.buyFromDispenserAndOrder=function(e,t,r,n){try{var o=this,i=new o.web3.eth.Contract(o.datatokensEnterpriseAbi,e);return Promise.resolve(je(function(){return Promise.resolve(A(t,i.methods.buyFromDispenserAndOrder,r,n)).then(function(e){var s=i.methods.buyFromDispenserAndOrder(r,n),a=s.send;return Promise.resolve(F(o.web3,o.config)).then(function(r){return Promise.resolve(a.call(s,{from:t,gas:e+1,gasPrice:r}))})})},function(e){throw g.error("ERROR: Failed to buy DT From Fre And Order : "+e.message),new Error("Failed to buy DT From Fre And Order: "+e.message)}))}catch(e){return Promise.reject(e)}},t.estGasSetData=function(e,t,r,n){try{var o=this,i=n||x(new o.web3.eth.Contract(o.datatokensAbi,e),o.config);return Promise.resolve(A(t,i.methods.setData,r))}catch(e){return Promise.reject(e)}},t.setData=function(e,t,r){try{var n=this;return Promise.resolve(n.isERC20Deployer(e,t)).then(function(o){if(!o)throw new Error("User is not ERC20 Deployer");var i=x(new n.web3.eth.Contract(n.datatokensAbi,e),n.config),s=n.web3.utils.asciiToHex(r);return Promise.resolve(A(t,i.methods.setData,s)).then(function(e){var r=i.methods.setData(s),o=r.send;return Promise.resolve(F(n.web3,n.config)).then(function(n){return Promise.resolve(o.call(r,{from:t,gas:e+1,gasPrice:n}))})})})}catch(e){return Promise.reject(e)}},t.estGasCleanPermissions=function(e,t,r){try{var n=this,o=r||x(new n.web3.eth.Contract(n.datatokensAbi,e),n.config);return Promise.resolve(A(t,o.methods.cleanPermissions))}catch(e){return Promise.reject(e)}},t.cleanPermissions=function(e,t){try{var r=this,n=r.nft,o=n.getNftOwner;return Promise.resolve(r.getNFTAddress(e)).then(function(i){return Promise.resolve(o.call(n,i)).then(function(n){if(n!==t)throw new Error("Caller is NOT Nft Owner");var o=x(new r.web3.eth.Contract(r.datatokensAbi,e),r.config);return Promise.resolve(A(t,o.methods.cleanPermissions)).then(function(e){var n=o.methods.cleanPermissions(),i=n.send;return Promise.resolve(F(r.web3,r.config)).then(function(r){return Promise.resolve(i.call(n,{from:t,gas:e+1,gasPrice:r}))})})})})}catch(e){return Promise.reject(e)}},t.getDTPermissions=function(e,t){try{var r=this,n=x(new r.web3.eth.Contract(r.datatokensAbi,e),r.config);return Promise.resolve(n.methods.permissions(t).call())}catch(e){return Promise.reject(e)}},t.getCap=function(e){try{var t=this,r=x(new t.web3.eth.Contract(t.datatokensAbi,e),t.config);return Promise.resolve(r.methods.cap().call()).then(function(e){return t.web3.utils.fromWei(e)})}catch(e){return Promise.reject(e)}},t.getDecimals=function(e){try{var t=this,r=x(new t.web3.eth.Contract(t.datatokensAbi,e),t.config);return Promise.resolve(r.methods.decimals().call())}catch(e){return Promise.reject(e)}},t.getNFTAddress=function(e){try{var t=this,r=x(new t.web3.eth.Contract(t.datatokensAbi,e),t.config);return Promise.resolve(r.methods.getERC721Address().call())}catch(e){return Promise.reject(e)}},t.isERC20Deployer=function(e,t){try{var r=this,n=x(new r.web3.eth.Contract(r.datatokensAbi,e),r.config);return Promise.resolve(n.methods.isERC20Deployer(t).call())}catch(e){return Promise.reject(e)}},t.balance=function(e,t){try{var r=this,n=new r.web3.eth.Contract(r.datatokensAbi,e,{from:t});return Promise.resolve(n.methods.balanceOf(t).call()).then(function(e){return r.web3.utils.fromWei(e)})}catch(e){return Promise.reject(e)}},t.estGasSetPublishingMarketFee=function(e,t,r,n,o){try{var i=new this.web3.eth.Contract(this.datatokensAbi,e,{from:o});return Promise.resolve(A(o,i.methods.setPublishingMarketFee,t,r,n))}catch(e){return Promise.reject(e)}},t.setPublishingMarketFee=function(e,t,r,n,o){try{var i=this,s=new i.web3.eth.Contract(i.datatokensAbi,e,{from:o});return Promise.resolve(s.methods.getPublishingMarketFee().call()).then(function(a){if(a[0]!==o)throw new Error("Caller is not the Publishing Market Fee Address");return Promise.resolve(i.estGasSetPublishingMarketFee(e,t,r,n,o)).then(function(e){var a=s.methods.setPublishingMarketFee(t,r,n),c=a.send;return Promise.resolve(F(i.web3,i.config)).then(function(t){return Promise.resolve(c.call(a,{from:o,gas:e+1,gasPrice:t})).then(function(){})})})})}catch(e){return Promise.reject(e)}},t.getPublishingMarketFee=function(e,t){try{var r=new this.web3.eth.Contract(this.datatokensAbi,e,{from:t});return Promise.resolve(r.methods.getPublishingMarketFee().call()).then(function(e){return{publishMarketFeeAddress:e[0],publishMarketFeeToken:e[1],publishMarketFeeAmount:e[2]}})}catch(e){return Promise.reject(e)}},e}(),xe=/*#__PURE__*/function(){function t(e,t,r,n,o){this.factory721Address=void 0,this.factory721Abi=void 0,this.web3=void 0,this.config=void 0,this.factory721=void 0,this.factory721Address=e,this.factory721Abi=n||d.abi,this.web3=t,this.config=o||(new _).getConfig(r||"unknown"),this.factory721=x(new this.web3.eth.Contract(this.factory721Abi,this.factory721Address),this.config)}var r=t.prototype;return r.estGasCreateNFT=function(e,t){try{return Promise.resolve(A(e,this.factory721.methods.deployERC721Contract,t.name,t.symbol,t.templateIndex,y,y,t.tokenURI,t.transferable,t.owner))}catch(e){return Promise.reject(e)}},r.createNFT=function(e,t){try{var r=this;if(t.templateIndex||(t.templateIndex=1),!t.name||!t.symbol){var n=w(),o=n.symbol;t.name=n.name,t.symbol=o}var i=t.templateIndex;return Promise.resolve(r.getCurrentNFTTemplateCount()).then(function(n){if(i>n)throw new Error("Template index doesnt exist");if(0===t.templateIndex)throw new Error("Template index cannot be ZERO");return Promise.resolve(r.getNFTTemplate(t.templateIndex)).then(function(n){if(!1===n.isActive)throw new Error("Template is not active");return Promise.resolve(A(e,r.factory721.methods.deployERC721Contract,t.name,t.symbol,t.templateIndex,y,y,t.tokenURI,t.transferable,t.owner)).then(function(n){var o=r.factory721.methods.deployERC721Contract(t.name,t.symbol,t.templateIndex,y,y,t.tokenURI,t.transferable,t.owner),i=o.send;return Promise.resolve(F(r.web3,r.config)).then(function(t){return Promise.resolve(i.call(o,{from:e,gas:n+1,gasPrice:t})).then(function(e){var t=null;try{t=e.events.NFTCreated.returnValues[0]}catch(e){g.error("ERROR: Failed to create datatoken : "+e.message)}return t})})})})})}catch(e){return Promise.reject(e)}},r.getCurrentNFTCount=function(){try{return Promise.resolve(this.factory721.methods.getCurrentNFTCount().call())}catch(e){return Promise.reject(e)}},r.getCurrentTokenCount=function(){try{return Promise.resolve(this.factory721.methods.getCurrentTokenCount().call())}catch(e){return Promise.reject(e)}},r.getOwner=function(){try{return Promise.resolve(this.factory721.methods.owner().call())}catch(e){return Promise.reject(e)}},r.getCurrentNFTTemplateCount=function(){try{return Promise.resolve(this.factory721.methods.getCurrentNFTTemplateCount().call())}catch(e){return Promise.reject(e)}},r.getCurrentTokenTemplateCount=function(){try{return Promise.resolve(this.factory721.methods.getCurrentTemplateCount().call())}catch(e){return Promise.reject(e)}},r.getNFTTemplate=function(e){try{var t=this;return Promise.resolve(t.getCurrentNFTTemplateCount()).then(function(r){if(e>r)throw new Error("Template index doesnt exist");if(0===e)throw new Error("Template index cannot be ZERO");return Promise.resolve(t.factory721.methods.getNFTTemplate(e).call())})}catch(e){return Promise.reject(e)}},r.getTokenTemplate=function(e){try{return Promise.resolve(this.factory721.methods.getTokenTemplate(e).call())}catch(e){return Promise.reject(e)}},r.checkDatatoken=function(e){try{return Promise.resolve(this.factory721.methods.erc20List(e).call())}catch(e){return Promise.reject(e)}},r.checkNFT=function(e){try{return Promise.resolve(this.factory721.methods.erc721List(e).call())}catch(e){return Promise.reject(e)}},r.estGasAddNFTTemplate=function(e,t){try{return Promise.resolve(A(e,this.factory721.methods.add721TokenTemplate,t))}catch(e){return Promise.reject(e)}},r.addNFTTemplate=function(e,t){try{var r=this;return Promise.resolve(r.getOwner()).then(function(n){if(n!==e)throw new Error("Caller is not Factory Owner");if(t===y)throw new Error("Template cannot be ZERO address");return Promise.resolve(A(e,r.factory721.methods.add721TokenTemplate,t)).then(function(n){var o=r.factory721.methods.add721TokenTemplate(t),i=o.send;return Promise.resolve(F(r.web3,r.config)).then(function(t){return Promise.resolve(i.call(o,{from:e,gas:n+1,gasPrice:t}))})})})}catch(e){return Promise.reject(e)}},r.estGasDisableNFTTemplate=function(e,t){try{return Promise.resolve(A(e,this.factory721.methods.disable721TokenTemplate,t))}catch(e){return Promise.reject(e)}},r.disableNFTTemplate=function(e,t){try{var r=this;return Promise.resolve(r.getOwner()).then(function(n){if(n!==e)throw new Error("Caller is not Factory Owner");return Promise.resolve(r.getCurrentNFTTemplateCount()).then(function(n){if(t>n)throw new Error("Template index doesnt exist");if(0===t)throw new Error("Template index cannot be ZERO");return Promise.resolve(A(e,r.factory721.methods.disable721TokenTemplate,t)).then(function(n){var o=r.factory721.methods.disable721TokenTemplate(t),i=o.send;return Promise.resolve(F(r.web3,r.config)).then(function(t){return Promise.resolve(i.call(o,{from:e,gas:n+1,gasPrice:t}))})})})})}catch(e){return Promise.reject(e)}},r.estGasReactivateNFTTemplate=function(e,t){try{return Promise.resolve(A(e,this.factory721.methods.reactivate721TokenTemplate,t))}catch(e){return Promise.reject(e)}},r.reactivateNFTTemplate=function(e,t){try{var r=this;return Promise.resolve(r.getOwner()).then(function(n){if(n!==e)throw new Error("Caller is not Factory Owner");return Promise.resolve(r.getCurrentNFTTemplateCount()).then(function(n){if(t>n)throw new Error("Template index doesnt exist");if(0===t)throw new Error("Template index cannot be ZERO");return Promise.resolve(A(e,r.factory721.methods.reactivate721TokenTemplate,t)).then(function(n){var o=r.factory721.methods.reactivate721TokenTemplate(t),i=o.send;return Promise.resolve(F(r.web3,r.config)).then(function(t){return Promise.resolve(i.call(o,{from:e,gas:n+1,gasPrice:t}))})})})})}catch(e){return Promise.reject(e)}},r.estGasAddTokenTemplate=function(e,t){try{return Promise.resolve(A(e,this.factory721.methods.addTokenTemplate,t))}catch(e){return Promise.reject(e)}},r.addTokenTemplate=function(e,t){try{var r=this;return Promise.resolve(r.getOwner()).then(function(n){if(n!==e)throw new Error("Caller is not Factory Owner");if(t===y)throw new Error("Template cannot be address ZERO");return Promise.resolve(A(e,r.factory721.methods.addTokenTemplate,t)).then(function(n){var o=r.factory721.methods.addTokenTemplate(t),i=o.send;return Promise.resolve(F(r.web3,r.config)).then(function(t){return Promise.resolve(i.call(o,{from:e,gas:n+1,gasPrice:t}))})})})}catch(e){return Promise.reject(e)}},r.estGasDisableTokenTemplate=function(e,t){try{return Promise.resolve(A(e,this.factory721.methods.disableTokenTemplate,t))}catch(e){return Promise.reject(e)}},r.disableTokenTemplate=function(e,t){try{var r=this;return Promise.resolve(r.getOwner()).then(function(n){if(n!==e)throw new Error("Caller is not Factory Owner");return Promise.resolve(r.getCurrentTokenTemplateCount()).then(function(n){if(t>n)throw new Error("Template index doesnt exist");if(0===t)throw new Error("Template index cannot be ZERO");return Promise.resolve(r.getTokenTemplate(t)).then(function(n){if(!1===n.isActive)throw new Error("Template is already disabled");return Promise.resolve(A(e,r.factory721.methods.disableTokenTemplate,t)).then(function(n){var o=r.factory721.methods.disableTokenTemplate(t),i=o.send;return Promise.resolve(F(r.web3,r.config)).then(function(t){return Promise.resolve(i.call(o,{from:e,gas:n+1,gasPrice:t}))})})})})})}catch(e){return Promise.reject(e)}},r.estGasReactivateTokenTemplate=function(e,t){try{return Promise.resolve(A(e,this.factory721.methods.reactivateTokenTemplate,t))}catch(e){return Promise.reject(e)}},r.reactivateTokenTemplate=function(e,t){try{var r=this;return Promise.resolve(r.getOwner()).then(function(n){if(n!==e)throw new Error("Caller is not Factory Owner");return Promise.resolve(r.getCurrentTokenTemplateCount()).then(function(n){if(t>n)throw new Error("Template index doesnt exist");if(0===t)throw new Error("Template index cannot be ZERO");return Promise.resolve(r.getTokenTemplate(t)).then(function(n){if(!0===n.isActive)throw new Error("Template is already active");return Promise.resolve(A(e,r.factory721.methods.reactivateTokenTemplate,t)).then(function(n){var o=r.factory721.methods.reactivateTokenTemplate(t),i=o.send;return Promise.resolve(F(r.web3,r.config)).then(function(t){return Promise.resolve(i.call(o,{from:e,gas:n+1,gasPrice:t}))})})})})})}catch(e){return Promise.reject(e)}},r.estGasStartMultipleTokenOrder=function(e,t){try{return Promise.resolve(A(e,this.factory721.methods.startMultipleTokenOrder,t))}catch(e){return Promise.reject(e)}},r.startMultipleTokenOrder=function(e,t){try{var r=this;if(t.length>50)throw new Error("Too many orders");return Promise.resolve(A(e,r.factory721.methods.startMultipleTokenOrder,t)).then(function(n){var o=r.factory721.methods.startMultipleTokenOrder(t),i=o.send;return Promise.resolve(F(r.web3,r.config)).then(function(t){return Promise.resolve(i.call(o,{from:e,gas:n+1,gasPrice:t}))})})}catch(e){return Promise.reject(e)}},r.estGasCreateNftWithErc20=function(e,t,r){try{var n=O(r);return Promise.resolve(A(e,this.factory721.methods.createNftWithErc20,t,n))}catch(e){return Promise.reject(e)}},r.createNftWithErc20=function(e,t,r){try{var n=this,o=O(r);return Promise.resolve(A(e,n.factory721.methods.createNftWithErc20,t,o)).then(function(r){var i=n.factory721.methods.createNftWithErc20(t,o),s=i.send;return Promise.resolve(F(n.web3,n.config)).then(function(t){return Promise.resolve(s.call(i,{from:e,gas:r+1,gasPrice:t}))})})}catch(e){return Promise.reject(e)}},r.estGasCreateNftErc20WithPool=function(e,t,r,n){try{var o=this,i=O(r);return Promise.resolve(E(o.web3,n)).then(function(r){return A(e,o.factory721.methods.createNftWithErc20WithPool,t,i,r)})}catch(e){return Promise.reject(e)}},r.createNftErc20WithPool=function(e,t,r,n){try{var o=this,i=O(r);return Promise.resolve(E(o.web3,n)).then(function(r){return Promise.resolve(A(e,o.factory721.methods.createNftWithErc20WithPool,t,i,r)).then(function(n){var s=o.factory721.methods.createNftWithErc20WithPool(t,i,r),a=s.send;return Promise.resolve(F(o.web3,o.config)).then(function(t){return Promise.resolve(a.call(s,{from:e,gas:n+1,gasPrice:t}))})})})}catch(e){return Promise.reject(e)}},r.estGasCreateNftErc20WithFixedRate=function(e,t,r,n){try{var o=this,i=O(r);return Promise.resolve(S(n)).then(function(r){return A(e,o.factory721.methods.createNftWithErc20WithFixedRate,t,i,r)})}catch(e){return Promise.reject(e)}},r.createNftErc20WithFixedRate=function(e,t,r,n){try{var o=this,i=O(r),s=S(n);return Promise.resolve(A(e,o.factory721.methods.createNftWithErc20WithFixedRate,t,i,s)).then(function(r){var n=o.factory721.methods.createNftWithErc20WithFixedRate(t,i,s),a=n.send;return Promise.resolve(F(o.web3,o.config)).then(function(t){return Promise.resolve(a.call(n,{from:e,gas:r+1,gasPrice:t}))})})}catch(e){return Promise.reject(e)}},r.estGasCreateNftErc20WithDispenser=function(e,t,r,n){try{var o=O(r);return Promise.resolve(A(e,this.factory721.methods.createNftWithErc20WithDispenser,t,o,n))}catch(e){return Promise.reject(e)}},r.createNftErc20WithDispenser=function(t,r,n,o){try{var i=this,s=O(n);return o.maxBalance=e.utils.toWei(o.maxBalance),o.maxTokens=e.utils.toWei(o.maxTokens),Promise.resolve(A(t,i.factory721.methods.createNftWithErc20WithDispenser,r,s,o)).then(function(e){var n=i.factory721.methods.createNftWithErc20WithDispenser(r,s,o),a=n.send;return Promise.resolve(F(i.web3,i.config)).then(function(r){return Promise.resolve(a.call(n,{from:t,gas:e+1,gasPrice:r}))})})}catch(e){return Promise.reject(e)}},t}(),Oe=function(){this.nodeUri=void 0,this.providerAddress=void 0,this.metadataCacheUri=void 0,this.providerUri=void 0,this.web3Provider=void 0,this.oceanTokenAddress=void 0,this.erc721FactoryAddress=void 0,this.erc721FFactoryABI=void 0,this.datatokensABI=void 0,this.poolTemplateAddress=void 0,this.poolFactoryABI=void 0,this.poolABI=void 0,this.fixedRateExchangeAddress=void 0,this.fixedRateExchangeAddressABI=void 0,this.dispenserAddress=void 0,this.dispenserABI=void 0,this.opfCommunityFeeCollector=void 0,this.sideStakingAddress=void 0,this.startBlock=void 0,this.verbose=void 0,this.authMessage=void 0,this.authTokenExpiration=void 0,this.parityUri=void 0,this.threshold=void 0,this.chainId=void 0,this.network=void 0,this.subgraphUri=void 0,this.explorerUri=void 0,this.oceanTokenSymbol=void 0,this.transactionBlockTimeout=void 0,this.transactionConfirmationBlocks=void 0,this.transactionPollingTimeout=void 0,this.gasFeeMultiplier=void 0},Se=function(e){return function(e,t){void 0===e&&(e="");var r=function(e,t,r){if("string"!=typeof e)throw g.debug("Not input string:"),g.debug(e),new Error("[zeroXTransformer] Expected string, input type: "+typeof e);var n=e.match(/^(?:0x)*([a-f0-9]+)$/i);return n?{valid:!0,output:n[1]}:(g.warn("[zeroXTransformer] Input transformation failed."),{valid:!1,output:e})}(e);return""+r.output}(e)};function Me(e,t){try{var r=e()}catch(e){return t(e)}return r&&r.then?r.then(void 0,t):r}var De=/*#__PURE__*/function(){function e(){}var t=e.prototype;return t.getEndpoints=function(e){try{return Promise.resolve(Me(function(){return Promise.resolve(U(e)).then(function(e){return Promise.resolve(e.json())})},function(e){return g.error("Finding the service endpoints failed:",e),null}))}catch(e){return Promise.reject(e)}},t.getEndpointURL=function(e,t){return e?e.find(function(e){return e.serviceName===t}):null},t.getServiceEndpoints=function(e,t){try{var r=[];for(var n in t.serviceEndpoints)r.push({serviceName:n,method:t.serviceEndpoints[n][0],urlPath:e+t.serviceEndpoints[n][1]});return Promise.resolve(r)}catch(e){return Promise.reject(e)}},t.getNonce=function(e,t,n,o,i){try{var s=function(){function s(){var e=a.getEndpointURL(i,"nonce")?a.getEndpointURL(i,"nonce").urlPath:null;return e?Me(function(){return Promise.resolve(r(e+"?userAddress="+t,{method:"GET",headers:{"Content-Type":"application/json"},signal:n})).then(function(e){return Promise.resolve(e.json()).then(function(e){return e.nonce.toString()})})},function(e){throw g.error(e),new Error("HTTP request failed")}):null}var c=function(){if(!i)return Promise.resolve(a.getServiceEndpoints(e,o)).then(function(e){i=e})}();return c&&c.then?c.then(s):s()},a=this,c=function(){if(!o)return Promise.resolve(a.getEndpoints(e)).then(function(e){o=e})}();return Promise.resolve(c&&c.then?c.then(s):s())}catch(e){return Promise.reject(e)}},t.signProviderRequest=function(e,t,r,n){try{var o=e.utils.soliditySha3({t:"bytes",v:e.utils.utf8ToHex(r)});return Promise.resolve(e&&e.currentProvider&&e.currentProvider.isMetaMask?e.eth.personal.sign(o,t,n):e.eth.sign(o,t))}catch(e){return Promise.reject(e)}},t.encrypt=function(e,t,n){try{var o=this;return Promise.resolve(o.getEndpoints(t)).then(function(i){return Promise.resolve(o.getServiceEndpoints(t,i)).then(function(t){var i=o.getEndpointURL(t,"encrypt")?o.getEndpointURL(t,"encrypt").urlPath:null;return i?Me(function(){return Promise.resolve(r(i,{method:"POST",body:JSON.stringify(e),headers:{"Content-Type":"application/octet-stream"},signal:n})).then(function(e){return Promise.resolve(e.text())})},function(e){throw g.error(e),new Error("HTTP request failed")}):null})})}catch(e){return Promise.reject(e)}},t.checkDidFiles=function(e,t,n,o,i){void 0===o&&(o=!1);try{var s=this;return Promise.resolve(s.getEndpoints(n)).then(function(a){return Promise.resolve(s.getServiceEndpoints(n,a)).then(function(n){var a={did:e,serviceId:t,checksum:o},c=[],u=s.getEndpointURL(n,"fileinfo")?s.getEndpointURL(n,"fileinfo").urlPath:null;return u?Me(function(){return Promise.resolve(r(u,{method:"POST",body:JSON.stringify(a),headers:{"Content-Type":"application/json"},signal:i})).then(function(e){return Promise.resolve(e.json()).then(function(e){for(var t,r=L(e);!(t=r()).done;)c.push(t.value);return c})})},function(){return null}):null})})}catch(e){return Promise.reject(e)}},t.checkFileUrl=function(e,t,n){try{var o=this;return Promise.resolve(o.getEndpoints(t)).then(function(i){return Promise.resolve(o.getServiceEndpoints(t,i)).then(function(t){var i={url:e,type:"url"},s=[],a=o.getEndpointURL(t,"fileinfo")?o.getEndpointURL(t,"fileinfo").urlPath:null;return a?Me(function(){return Promise.resolve(r(a,{method:"POST",body:JSON.stringify(i),headers:{"Content-Type":"application/json"},signal:n})).then(function(e){return Promise.resolve(e.json()).then(function(e){for(var t,r=L(e);!(t=r()).done;)s.push(t.value);return s})})},function(){return null}):null})})}catch(e){return Promise.reject(e)}},t.getComputeEnvironments=function(e,t){try{var n=this;return Promise.resolve(n.getEndpoints(e)).then(function(o){return Promise.resolve(n.getServiceEndpoints(e,o)).then(function(e){var o,i=null==(o=n.getEndpointURL(e,"computeEnvironments"))?void 0:o.urlPath;return i?Me(function(){return Promise.resolve(r(i,{method:"GET",headers:{"Content-Type":"application/json"},signal:t})).then(function(e){return Promise.resolve(e.json())})},function(e){return g.error(e.message),null}):null})})}catch(e){return Promise.reject(e)}},t.initialize=function(e,t,n,o,i,s,a,c,u){try{var l=this;return Promise.resolve(l.getEndpoints(i)).then(function(m){return Promise.resolve(l.getServiceEndpoints(i,m)).then(function(i){var m=l.getEndpointURL(i,"initialize")?l.getEndpointURL(i,"initialize").urlPath:null;return m?(m+="?documentId="+e,m+="&serviceId="+t,m+="&fileIndex="+n,m+="&consumerAddress="+o,a&&(m+="&userdata="+encodeURI(JSON.stringify(a))),c&&(m+="&environment="+encodeURI(c)),u&&(m+="&validUntil="+u),Me(function(){return Promise.resolve(r(m,{method:"GET",headers:{"Content-Type":"application/json"},signal:s})).then(function(e){return Promise.resolve(e.json())})},function(e){throw g.error(e),new Error("Asset URL not found or not available.")})):null})})}catch(e){return Promise.reject(e)}},t.initializeCompute=function(e,t,n,o,i,s,a){try{var c=this;return Promise.resolve(c.getEndpoints(i)).then(function(u){return Promise.resolve(c.getServiceEndpoints(i,u)).then(function(i){var u={datasets:e,algorithm:t,compute:{env:n,validUntil:o},consumerAddress:s},l=c.getEndpointURL(i,"initializeCompute")?c.getEndpointURL(i,"initializeCompute").urlPath:null;return l?Me(function(){return Promise.resolve(r(l,{method:"POST",body:JSON.stringify(u),headers:{"Content-Type":"application/json"},signal:a})).then(function(e){return Promise.resolve(e.json())})},function(e){throw g.error(e),new Error("ComputeJob cannot be initialized")}):null})})}catch(e){return Promise.reject(e)}},t.getDownloadUrl=function(e,t,r,n,o,i,s,a){try{var c=this;return Promise.resolve(c.getEndpoints(i)).then(function(u){return Promise.resolve(c.getServiceEndpoints(i,u)).then(function(i){var u=c.getEndpointURL(i,"download")?c.getEndpointURL(i,"download").urlPath:null;if(!u)return null;var l=Date.now();return Promise.resolve(c.signProviderRequest(s,t,e+l)).then(function(i){var s=u;return s+="?fileIndex="+n,s+="&documentId="+e,s+="&transferTxId="+o,s+="&serviceId="+r,s+="&consumerAddress="+t,s+="&nonce="+l,s+="&signature="+i,a&&(s+="&userdata="+encodeURI(JSON.stringify(a))),s})})})}catch(e){return Promise.reject(e)}},t.computeStart=function(e,t,n,o,i,s,a,c,u){try{var l=this;return Promise.resolve(l.getEndpoints(e)).then(function(m){return Promise.resolve(l.getServiceEndpoints(e,m)).then(function(e){var m=l.getEndpointURL(e,"computeStart")?l.getEndpointURL(e,"computeStart").urlPath:null,h=Date.now(),f=n;return f+=i.documentId,f+=h,Promise.resolve(l.signProviderRequest(t,n,f)).then(function(e){var t=Object();return t.consumerAddress=n,t.signature=e,t.nonce=h,t.environment=o,t.dataset=i,t.algorithm=s,t.additionalDatasets&&(t.additionalDatasets=c),u&&(t.output=u),m?Me(function(){return Promise.resolve(r(m,{method:"POST",body:JSON.stringify(t),headers:{"Content-Type":"application/json"},signal:a})).then(function(e){var r;function n(n){return r?n:(g.error("Compute start failed: ",e.status,e.statusText),g.error("Payload was:",t),null)}var o=function(){if(null!=e&&e.ok)return Promise.resolve(e.json()).then(function(e){return r=1,e})}();return o&&o.then?o.then(n):n(o)})},function(e){return g.error("Compute start failed:"),g.error(e),g.error("Payload was:",t),null}):null})})})}catch(e){return Promise.reject(e)}},t.computeStop=function(e,t,n,o,i,s){try{var a=this;return Promise.resolve(a.getEndpoints(o)).then(function(c){return Promise.resolve(a.getServiceEndpoints(o,c)).then(function(u){var l=a.getEndpointURL(u,"computeStop")?a.getEndpointURL(u,"computeStop").urlPath:null;return Promise.resolve(a.getNonce(o,t,s,c,u)).then(function(o){var c=t;return c+=n||"",c+=e&&""+Se(e)||"",c+=o,Promise.resolve(a.signProviderRequest(i,t,c)).then(function(o){var i=Object();return i.signature=o,i.documentId=Se(e),i.consumerAddress=t,n&&(i.jobId=n),l?Me(function(){return Promise.resolve(r(l,{method:"PUT",body:JSON.stringify(i),headers:{"Content-Type":"application/json"},signal:s})).then(function(e){var t;function r(r){return t?r:(g.error("Compute stop failed:",e.status,e.statusText),g.error("Payload was:",i),null)}var n=function(){if(null!=e&&e.ok)return Promise.resolve(e.json()).then(function(e){return t=1,e})}();return n&&n.then?n.then(r):r(n)})},function(e){return g.error("Compute stop failed:"),g.error(e),g.error("Payload was:",i),null}):null})})})})}catch(e){return Promise.reject(e)}},t.computeStatus=function(e,t,n,o,i){try{var s=this;return Promise.resolve(s.getEndpoints(e)).then(function(a){return Promise.resolve(s.getServiceEndpoints(e,a)).then(function(e){var a=s.getEndpointURL(e,"computeStatus")?s.getEndpointURL(e,"computeStatus").urlPath:null,c="?consumerAddress="+t;return c+=o&&"&documentId="+Se(o)||"",c+=n&&"&jobId="+n||"",a?Me(function(){return Promise.resolve(r(a+c,{method:"GET",headers:{"Content-Type":"application/json"},signal:i})).then(function(e){var t;function r(r){return t?r:(g.error("Get compute status failed:",e.status,e.statusText),null)}var n=function(){if(null!=e&&e.ok)return Promise.resolve(e.json()).then(function(e){return t=1,e})}();return n&&n.then?n.then(r):r(n)})},function(e){return g.error("Get compute status failed"),g.error(e),null}):null})})}catch(e){return Promise.reject(e)}},t.getComputeResultUrl=function(e,t,r,n,o){try{var i=this;return Promise.resolve(i.getEndpoints(e)).then(function(s){return Promise.resolve(i.getServiceEndpoints(e,s)).then(function(e){var s=i.getEndpointURL(e,"computeResult")?i.getEndpointURL(e,"computeResult").urlPath:null,a=Date.now(),c=r;return c+=n,c+=o.toString(),c+=a,Promise.resolve(i.signProviderRequest(t,r,c)).then(function(e){if(!s)return null;var t=s;return t+="?consumerAddress="+r,t+="&jobId="+n,t+="&index="+o.toString(),(t+="&nonce="+a)+(e&&"&signature="+e||"")})})})}catch(e){return Promise.reject(e)}},t.computeDelete=function(e,t,n,o,i,s){try{var a=this;return Promise.resolve(a.getEndpoints(o)).then(function(c){return Promise.resolve(a.getServiceEndpoints(o,c)).then(function(u){var l=a.getEndpointURL(u,"computeDelete")?a.getEndpointURL(u,"computeDelete").urlPath:null;return Promise.resolve(a.getNonce(o,t,s,c,u)).then(function(o){var c=t;return c+=n||"",c+=e&&""+Se(e)||"",c+=o,Promise.resolve(a.signProviderRequest(i,t,c)).then(function(o){var i=Object();return i.documentId=Se(e),i.consumerAddress=t,i.jobId=n,o&&(i.signature=o),l?Me(function(){return Promise.resolve(r(l,{method:"DELETE",body:JSON.stringify(i),headers:{"Content-Type":"application/json"},signal:s})).then(function(e){var t;function r(r){return t?r:(g.error("Delete compute job failed:",e.status,e.statusText),g.error("Payload was:",i),null)}var n=function(){if(null!=e&&e.ok)return Promise.resolve(e.json()).then(function(e){return t=1,e})}();return n&&n.then?n.then(r):r(n)})},function(e){return g.error("Delete compute job failed:"),g.error(e),g.error("Payload was:",i),null}):null})})})})}catch(e){return Promise.reject(e)}},t.isValidProvider=function(e,t){try{return Promise.resolve(Me(function(){return Promise.resolve(r(e,{method:"GET",headers:{"Content-Type":"application/json"},signal:t})).then(function(e){var t,r=function(){if(null!=e&&e.ok)return Promise.resolve(e.json()).then(function(e){if(e&&e.providerAddress)return t=!0})}();return r&&r.then?r.then(function(e){return!!t&&e}):!!t&&r})},function(e){return g.error("Error validating provider: "+e.message),!1}))}catch(e){return Promise.reject(e)}},e}(),Ue=new De;export{ve as Aquarius,Oe as Config,_ as ConfigHelper,Fe as Datatoken,ye as Dispenser,be as FixedRateCreateProgressStep,Re as FixedRateExchange,C as GASLIMIT_DEFAULT,v as LogLevel,P as Logger,g as LoggerInstance,Ee as Nft,xe as NftFactory,pe as Pool,De as Provider,Ue as ProviderInstance,Te as Router,ke as SideStaking,y as ZERO_ADDRESS,$ as allowance,K as allowanceWei,k as amountToUnits,re as approve,te as approveWei,Q as balance,le as calcMaxExactIn,ue as calcMaxExactOut,z as configHelperNetworks,X as decimals,I as downloadFile,N as downloadFileBrowser,ne as estApprove,ee as estTransfer,A as estimateGas,W as fetchData,J as generateDid,w as generateDtName,U as getData,O as getErcCreationParams,F as getFairGasPrice,S as getFreCreationParams,j as getFreOrderParams,H as getHash,se as getMaxAddLiquidity,ie as getMaxRemoveLiquidity,ae as getMaxSwapExactIn,ce as getMaxSwapExactOut,E as getPoolCreationParams,M as postData,x as setContractDefaults,V as signHash,oe as sleep,Y as transfer,T as unitsToAmount};
2
2
  //# sourceMappingURL=lib.module.js.map